summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/implicit-int-float-narrowing.cpp
diff options
context:
space:
mode:
authorZiang Wan <ziangw2@illinois.edu>2019-08-01 00:16:43 +0000
committerZiang Wan <ziangw2@illinois.edu>2019-08-01 00:16:43 +0000
commit87b668befe19d47dd14919b2f322a81f1478e49d (patch)
treef9931482012c959d866e42a7972bd23b7e7be852 /clang/test/Sema/implicit-int-float-narrowing.cpp
parent153f20057c2f17d48c4feb08514811e61a86d0a8 (diff)
downloadbcm5719-llvm-87b668befe19d47dd14919b2f322a81f1478e49d.tar.gz
bcm5719-llvm-87b668befe19d47dd14919b2f322a81f1478e49d.zip
[Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss
Issue an warning when the code tries to do an implicit int -> float conversion, where the float type ha a narrower significant than the float type. The new warning is controlled by flag -Wimplicit-int-float-conversion, under -Wimplicit-float-conversion and -Wconversion. It is also silenced when c++11 narrowing warning is issued. Differential Revision: https://reviews.llvm.org/D64666 llvm-svn: 367497
Diffstat (limited to 'clang/test/Sema/implicit-int-float-narrowing.cpp')
-rw-r--r--clang/test/Sema/implicit-int-float-narrowing.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Sema/implicit-int-float-narrowing.cpp b/clang/test/Sema/implicit-int-float-narrowing.cpp
new file mode 100644
index 00000000000..6de637e78c5
--- /dev/null
+++ b/clang/test/Sema/implicit-int-float-narrowing.cpp
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 %s -verify -Wno-conversion -Wno-c++11-narrowing -Wimplicit-int-float-conversion
+
+void testNoWarningOnNarrowing() {
+ // Test that we do not issue duplicated warnings for
+ // C++11 narrowing.
+ float a = {222222222222L}; // expected-no-diagnostics
+
+ long b = 222222222222L;
+ float c = {b}; // expected-no-diagnostics
+}
OpenPOWER on IntegriCloud