[cfe-commits] r139103 - in /cfe/trunk: lib/Parse/ParseDecl.cpp test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
Richard Smith
richard-llvm at metafoo.co.uk
Sun Sep 4 13:24:20 PDT 2011
Author: rsmith
Date: Sun Sep 4 15:24:20 2011
New Revision: 139103
URL: http://llvm.org/viewvc/llvm-project?rev=139103&view=rev
Log:
PR10458: Last part of providing 'auto' type specifier as an extension in C++98: permit it within type-ids.
Modified:
cfe/trunk/lib/Parse/ParseDecl.cpp
cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
Modified: cfe/trunk/lib/Parse/ParseDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=139103&r1=139102&r2=139103&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseDecl.cpp (original)
+++ cfe/trunk/lib/Parse/ParseDecl.cpp Sun Sep 4 15:24:20 2011
@@ -2265,7 +2265,11 @@
// C++0x auto support.
case tok::kw_auto:
- if (!getLang().CPlusPlus0x)
+ // This is only called in situations where a storage-class specifier is
+ // illegal, so we can assume an auto type specifier was intended even in
+ // C++98. In C++98 mode, DeclSpec::Finish will produce an appropriate
+ // extension diagnostic.
+ if (!getLang().CPlusPlus)
return false;
isInvalid = DS.SetTypeSpecType(DeclSpec::TST_auto, Loc, PrevSpec, DiagID);
Modified: cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp?rev=139103&r1=139102&r2=139103&view=diff
==============================================================================
--- cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp (original)
+++ cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp Sun Sep 4 15:24:20 2011
@@ -20,10 +20,7 @@
for (; auto a = false; ) {
}
- // FIXME: support 'auto' error recovery here in pre-C++0x mode.
-#if __has_feature(cxx_auto_type)
new const auto (0);
-#endif
new (auto) (0.0);
int arr[] = {1, 2, 3};
More information about the cfe-commits
mailing list