Can we arrange for this warning to also be controlled by the -Wgnu-binary-literal option, as it is outside C++ mode?
On Fri, Sep 18, 2015 at 4:18 PM, Richard Trieu via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rtrieu > Date: Fri Sep 18 18:18:39 2015 > New Revision: 248064 > > URL: http://llvm.org/viewvc/llvm-project?rev=248064&view=rev > Log: > Split off the binary literal warning into a subgroup of C++14 warnings > > Binary literals predate C++14, but they are listed as a C++14 extension > since > this was the first time they were standardized in the language. Move the > warning into a subgroup so it can be selectively disabled when checking for > other C++14 features. > > Added: > cfe/trunk/test/Lexer/warn_binary_literals.cpp > Modified: > cfe/trunk/include/clang/Basic/DiagnosticGroups.td > cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td > > Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=248064&r1=248063&r2=248064&view=diff > > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Fri Sep 18 18:18:39 > 2015 > @@ -29,6 +29,7 @@ def ArrayBoundsPointerArithmetic : DiagG > def Availability : DiagGroup<"availability">; > def Section : DiagGroup<"section">; > def AutoImport : DiagGroup<"auto-import">; > +def CXX14BinaryLiteral : DiagGroup<"c++14-binary-literal">; > def GNUBinaryLiteral : DiagGroup<"gnu-binary-literal">; > def GNUCompoundLiteralInitializer : > DiagGroup<"gnu-compound-literal-initializer">; > def BitFieldConstantConversion : > DiagGroup<"bitfield-constant-conversion">; > @@ -680,7 +681,7 @@ def CXX11 : DiagGroup<"c++11-extensions" > > // A warning group for warnings about using C++14 features as extensions > in > // earlier C++ versions. > -def CXX14 : DiagGroup<"c++14-extensions">; > +def CXX14 : DiagGroup<"c++14-extensions", [CXX14BinaryLiteral]>; > > // A warning group for warnings about using C++1z features as extensions > in > // earlier C++ versions. > > Modified: cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=248064&r1=248063&r2=248064&view=diff > > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td Fri Sep 18 > 18:18:39 2015 > @@ -184,7 +184,7 @@ def ext_hexconstant_invalid : Extension< > def ext_binary_literal : Extension< > "binary integer literals are a GNU extension">, > InGroup<GNUBinaryLiteral>; > def ext_binary_literal_cxx14 : Extension< > - "binary integer literals are a C++14 extension">, InGroup<CXX14>; > + "binary integer literals are a C++14 extension">, > InGroup<CXX14BinaryLiteral>; > def warn_cxx11_compat_binary_literal : Warning< > "binary integer literals are incompatible with C++ standards before > C++14">, > InGroup<CXXPre14CompatPedantic>, DefaultIgnore; > > Added: cfe/trunk/test/Lexer/warn_binary_literals.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/warn_binary_literals.cpp?rev=248064&view=auto > > ============================================================================== > --- cfe/trunk/test/Lexer/warn_binary_literals.cpp (added) > +++ cfe/trunk/test/Lexer/warn_binary_literals.cpp Fri Sep 18 18:18:39 2015 > @@ -0,0 +1,5 @@ > +// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s > -Wc++14-binary-literal > +// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -Wc++14-extensions > + > +int x = 0b11; > +// expected-warning@-1{{binary integer literals are a C++14 extension}} > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits