Name bikeshed: why -Wfloating-point-conversion and not -Wfloat-conversion? The other warnings are -Wbool-conversion and -Wint-conversion, not -Wboolean-conversion and -Winteger-conversion, and the latter covers other integer sizes as well. (Admittedly, though, you can say "unsigned short int" but not "double float".)
Jordan On Apr 21, 2014, at 18:01 , Richard Trieu <[email protected]> wrote: > Author: rtrieu > Date: Mon Apr 21 20:01:05 2014 > New Revision: 206832 > > URL: http://llvm.org/viewvc/llvm-project?rev=206832&view=rev > Log: > Move the warning of implicit cast of a floating point to an integer out of > -Wconversion and into it's own group, -Wfloating-point-conversion. > > Added: > cfe/trunk/test/SemaCXX/warn-floating-point-conversion.cpp > Modified: > cfe/trunk/include/clang/Basic/DiagnosticGroups.td > cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > > Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=206832&r1=206831&r2=206832&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Mon Apr 21 20:01:05 2014 > @@ -41,6 +41,7 @@ def PointerBoolConversion : DiagGroup<"p > def BoolConversion : DiagGroup<"bool-conversion", [ PointerBoolConversion ] >; > def IntConversion : DiagGroup<"int-conversion">; > def EnumConversion : DiagGroup<"enum-conversion">; > +def FloatingPointConversion : DiagGroup<"floating-point-conversion">; > def EnumTooLarge : DiagGroup<"enum-too-large">; > def NonLiteralNullConversion : DiagGroup<"non-literal-null-conversion">; > def NullConversion : DiagGroup<"null-conversion">; > @@ -476,6 +477,7 @@ def Conversion : DiagGroup<"conversion", > [BoolConversion, > ConstantConversion, > EnumConversion, > + FloatingPointConversion, > Shorten64To32, > IntConversion, > LiteralConversion, > > Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=206832&r1=206831&r2=206832&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon Apr 21 20:01:05 > 2014 > @@ -2319,7 +2319,7 @@ def warn_impcast_float_precision : Warni > InGroup<Conversion>, DefaultIgnore; > def warn_impcast_float_integer : Warning< > "implicit conversion turns floating-point number into integer: %0 to %1">, > - InGroup<Conversion>, DefaultIgnore; > + InGroup<FloatingPointConversion>, DefaultIgnore; > def warn_impcast_integer_sign : Warning< > "implicit conversion changes signedness: %0 to %1">, > InGroup<SignConversion>, DefaultIgnore; > > Added: cfe/trunk/test/SemaCXX/warn-floating-point-conversion.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-floating-point-conversion.cpp?rev=206832&view=auto > ============================================================================== > --- cfe/trunk/test/SemaCXX/warn-floating-point-conversion.cpp (added) > +++ cfe/trunk/test/SemaCXX/warn-floating-point-conversion.cpp Mon Apr 21 > 20:01:05 2014 > @@ -0,0 +1,38 @@ > +// RUN: %clang_cc1 -verify -fsyntax-only %s -Wfloating-point-conversion > + > +bool ReturnBool(float f) { > + return f; //expected-warning{{conversion}} > +} > + > +char ReturnChar(float f) { > + return f; //expected-warning{{conversion}} > +} > + > +int ReturnInt(float f) { > + return f; //expected-warning{{conversion}} > +} > + > +long ReturnLong(float f) { > + return f; //expected-warning{{conversion}} > +} > + > +void Convert(float f, double d, long double ld) { > + bool b; > + char c; > + int i; > + long l; > + > + b = f; //expected-warning{{conversion}} > + b = d; //expected-warning{{conversion}} > + b = ld; //expected-warning{{conversion}} > + c = f; //expected-warning{{conversion}} > + c = d; //expected-warning{{conversion}} > + c = ld; //expected-warning{{conversion}} > + i = f; //expected-warning{{conversion}} > + i = d; //expected-warning{{conversion}} > + i = ld; //expected-warning{{conversion}} > + l = f; //expected-warning{{conversion}} > + l = d; //expected-warning{{conversion}} > + l = ld; //expected-warning{{conversion}} > +} > + > > > _______________________________________________ > 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
