From: Chris Lattner Date: Thu, 20 May 2010 23:33:51 +0000 (+0000) Subject: Don't warn about use of hex floats in c++ mode by default, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac0f5e5ed0a45ac96a5958e5832e4bdb45734324;p=clang Don't warn about use of hex floats in c++ mode by default, matching G++'s behavior. Warn when -pedantic or -Wc++-hex-floats is passed, and don't warn if -pedantic -Wno-c++-hex-floats are both passed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104295 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td index 3f765bdfb3..dfe7de5796 100644 --- a/include/clang/Basic/DiagnosticLexKinds.td +++ b/include/clang/Basic/DiagnosticLexKinds.td @@ -84,9 +84,9 @@ def err_exponent_has_no_digits : Error<"exponent has no digits">; def ext_imaginary_constant : Extension<"imaginary constants are an extension">; def err_hexconstant_requires_exponent : Error< "hexadecimal floating constants require an exponent">; -def ext_hexconstant_cplusplus : ExtWarn< +def ext_hexconstant_cplusplus : Extension< "hexadecimal floating constants are a C99 feature that is incompatible with " - "C++0x">; + "C++0x">, InGroup>; def ext_hexconstant_invalid : Extension< "hexadecimal floating constants are a C99 feature">; def ext_binary_literal : Extension< diff --git a/test/Lexer/hexfloat.cpp b/test/Lexer/hexfloat.cpp index 5a62556ff6..a3b230e78f 100644 --- a/test/Lexer/hexfloat.cpp +++ b/test/Lexer/hexfloat.cpp @@ -1,5 +1,5 @@ -//RUN: %clang_cc1 -fsyntax-only -verify -//RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify +// RUN: %clang_cc1 -fsyntax-only -verify -pedantic +// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify #ifndef __GXX_EXPERIMENTAL_CXX0X__ float f = 0x1p+1; // expected-warning {{incompatible with C++0x}}