r206832 - Move the warning of implicit cast of a floating point to an integer out of

Richard Trieu rtrieu at google.com
Mon Apr 21 18:01:05 PDT 2014


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}}
+}
+





More information about the cfe-commits mailing list