Disable our non-standard delayed parsing of exception specifications. Delaying
the parsing of such things appears to be a conforming extension, but it breaks
libstdc++4.7's std::pair.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155975 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 082e335..7e2db69 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -4277,12 +4277,18 @@
IsCXX11MemberFunction);
// Parse exception-specification[opt].
+ // FIXME: Remove the code to perform delayed parsing of exception
+ // specifications.
+#if 0
bool Delayed = (D.getContext() == Declarator::MemberContext &&
D.getDeclSpec().getStorageClassSpec()
!= DeclSpec::SCS_typedef &&
!D.getDeclSpec().isFriendSpecified());
for (unsigned i = 0, e = D.getNumTypeObjects(); Delayed && i != e; ++i)
Delayed &= D.getTypeObject(i).Kind == DeclaratorChunk::Paren;
+#else
+ const bool Delayed = false;
+#endif
ESpecType = tryParseExceptionSpecification(Delayed,
ESpecRange,
DynamicExceptions,