-Wbad-literal seems like a poor name, would -Wfloat-literal be better? - Daniel
On Fri, Feb 26, 2010 at 3:45 PM, Chris Lattner <[email protected]> wrote: > > On Feb 26, 2010, at 3:35 PM, John McCall wrote: > >> Author: rjmccall >> Date: Fri Feb 26 17:35:57 2010 >> New Revision: 97284 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=97284&view=rev >> Log: >> At sabre's request, drop the FP bounds diagnostics down to warnings and file >> them under -Wbad-literal. They're still on by default. > > If you'd like, you can still default them to error, that allows people to > shut it up with -Wno-error=bad-literal Also, please add the BadLiteral > group to the "NotGCC" group. > > -Chris > >> >> >> Modified: >> cfe/trunk/include/clang/Basic/DiagnosticGroups.td >> cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td >> cfe/trunk/lib/Sema/SemaExpr.cpp >> cfe/trunk/test/Lexer/constants.c >> >> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=97284&r1=97283&r2=97284&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) >> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Fri Feb 26 17:35:57 >> 2010 >> @@ -24,6 +24,7 @@ >> def : DiagGroup<"aggregate-return">; >> def : DiagGroup<"attributes">; >> def : DiagGroup<"bad-function-cast">; >> +def BadLiteral : DiagGroup<"bad-literal">; // not in gcc >> def : DiagGroup<"c++-compat">; >> def : DiagGroup<"cast-align">; >> def : DiagGroup<"cast-qual">; >> >> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=97284&r1=97283&r2=97284&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original) >> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Fri Feb 26 17:35:57 >> 2010 >> @@ -29,10 +29,12 @@ >> // Semantic analysis of constant literals. >> def ext_predef_outside_function : Warning< >> "predefined identifier is only valid inside function">; >> -def err_float_overflow : Error< >> - "magnitude of floating-point constant too large for type %0; maximum is >> %1">; >> -def err_float_underflow : Error< >> - "magnitude of floating-point constant too small for type %0; minimum is >> %1">; >> +def warn_float_overflow : Warning< >> + "magnitude of floating-point constant too large for type %0; maximum is >> %1">, >> + InGroup<BadLiteral>; >> +def warn_float_underflow : Warning< >> + "magnitude of floating-point constant too small for type %0; minimum is >> %1">, >> + InGroup<BadLiteral>; >> >> // C99 Designated Initializers >> def err_array_designator_negative : Error< >> >> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=97284&r1=97283&r2=97284&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Fri Feb 26 17:35:57 2010 >> @@ -1736,10 +1736,10 @@ >> unsigned diagnostic; >> llvm::SmallVector<char, 20> buffer; >> if (result & APFloat::opOverflow) { >> - diagnostic = diag::err_float_overflow; >> + diagnostic = diag::warn_float_overflow; >> APFloat::getLargest(Format).toString(buffer); >> } else { >> - diagnostic = diag::err_float_underflow; >> + diagnostic = diag::warn_float_underflow; >> APFloat::getSmallest(Format).toString(buffer); >> } >> >> >> Modified: cfe/trunk/test/Lexer/constants.c >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/constants.c?rev=97284&r1=97283&r2=97284&view=diff >> ============================================================================== >> --- cfe/trunk/test/Lexer/constants.c (original) >> +++ cfe/trunk/test/Lexer/constants.c Fri Feb 26 17:35:57 2010 >> @@ -38,20 +38,20 @@ >> float t0[] = { >> 1.9e20f, >> 1.9e-20f, >> - 1.9e50f, // expected-error {{too large}} >> - 1.9e-50f, // expected-error {{too small}} >> + 1.9e50f, // expected-warning {{too large}} >> + 1.9e-50f, // expected-warning {{too small}} >> -1.9e20f, >> -1.9e-20f, >> - -1.9e50f, // expected-error {{too large}} >> - -1.9e-50f // expected-error {{too small}} >> + -1.9e50f, // expected-warning {{too large}} >> + -1.9e-50f // expected-warning {{too small}} >> }; >> double t1[] = { >> 1.9e50, >> 1.9e-50, >> - 1.9e500, // expected-error {{too large}} >> - 1.9e-500, // expected-error {{too small}} >> + 1.9e500, // expected-warning {{too large}} >> + 1.9e-500, // expected-warning {{too small}} >> -1.9e50, >> -1.9e-50, >> - -1.9e500, // expected-error {{too large}} >> - -1.9e-500 // expected-error {{too small}} >> + -1.9e500, // expected-warning {{too large}} >> + -1.9e-500 // expected-warning {{too small}} >> }; >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
