[cfe-commits] r151401 - in /cfe/trunk: include/clang/Basic/DiagnosticParseKinds.td lib/Parse/ParseDeclCXX.cpp test/SemaCXX/decltype-98.cpp
Richard Smith
richard-llvm at metafoo.co.uk
Fri Feb 24 14:30:05 PST 2012
Author: rsmith
Date: Fri Feb 24 16:30:04 2012
New Revision: 151401
URL: http://llvm.org/viewvc/llvm-project?rev=151401&view=rev
Log:
Back out __decltype warning from r151377: we should either warn on all the GNU
__keywords or none of them.
Modified:
cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
cfe/trunk/lib/Parse/ParseDeclCXX.cpp
cfe/trunk/test/SemaCXX/decltype-98.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=151401&r1=151400&r2=151401&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Fri Feb 24 16:30:04 2012
@@ -254,9 +254,6 @@
"C requires a comma prior to the ellipsis in a variadic function type">;
def err_unexpected_typedef_ident : Error<
"unexpected type name %0: expected identifier">;
-def ext_gnu_decltype : Extension<
- "'__decltype' type specifier is a GNU extension">,
- InGroup<GNU>, DefaultIgnore;
def warn_cxx98_compat_decltype : Warning<
"'decltype' type specifier is incompatible with C++98">,
InGroup<CXX98Compat>, DefaultIgnore;
Modified: cfe/trunk/lib/Parse/ParseDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDeclCXX.cpp?rev=151401&r1=151400&r2=151401&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseDeclCXX.cpp (original)
+++ cfe/trunk/lib/Parse/ParseDeclCXX.cpp Fri Feb 24 16:30:04 2012
@@ -653,8 +653,8 @@
return EndLoc;
}
} else {
- Diag(Tok, Tok.getIdentifierInfo()->isStr("decltype")
- ? diag::warn_cxx98_compat_decltype : diag::ext_gnu_decltype);
+ if (Tok.getIdentifierInfo()->isStr("decltype"))
+ Diag(Tok, diag::warn_cxx98_compat_decltype);
ConsumeToken();
Modified: cfe/trunk/test/SemaCXX/decltype-98.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/decltype-98.cpp?rev=151401&r1=151400&r2=151401&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/decltype-98.cpp (original)
+++ cfe/trunk/test/SemaCXX/decltype-98.cpp Fri Feb 24 16:30:04 2012
@@ -1,3 +1,3 @@
-// RUN: %clang_cc1 -std=c++98 -fsyntax-only -verify %s -Wgnu
+// RUN: %clang_cc1 -std=c++98 -fsyntax-only -verify %s
extern int x;
-__decltype(1) x = 3; // expected-warning {{is a GNU extension}}
+__decltype(1) x = 3;
More information about the cfe-commits
mailing list