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,