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
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<DiagGroup<"c++-hex-floats">>;
def ext_hexconstant_invalid : Extension<
"hexadecimal floating constants are a C99 feature">;
def ext_binary_literal : Extension<
-//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}}