diff --git a/clang/lib/Sema/SemaExceptionSpec.cpp b/clang/lib/Sema/SemaExceptionSpec.cpp --- a/clang/lib/Sema/SemaExceptionSpec.cpp +++ b/clang/lib/Sema/SemaExceptionSpec.cpp @@ -35,10 +35,12 @@ return T->getAs(); } -/// HACK: libstdc++ has a bug where it shadows std::swap with a member -/// swap function then tries to call std::swap unqualified from the exception -/// specification of that function. This function detects whether we're in -/// such a case and turns off delay-parsing of exception specifications. +/// HACK: 2014-11-14 libstdc++ had a bug where it shadows std::swap with a +/// member swap function then tries to call std::swap unqualified from the +/// exception specification of that function. This function detects whether +/// we're in such a case and turns off delay-parsing of exception +/// specifications. Libstdc++ 6.1 (released 2016-04-27) appears to have +/// resolved it as side-effect of commit ddb63209a8d (2015-06-05). bool Sema::isLibstdcxxEagerExceptionSpecHack(const Declarator &D) { auto *RD = dyn_cast(CurContext);