diff options
author | Richard Trieu <rtrieu@google.com> | 2016-04-21 21:04:55 +0000 |
---|---|---|
committer | Richard Trieu <rtrieu@google.com> | 2016-04-21 21:04:55 +0000 |
commit | be234c30ada79e38b47ee7b58abf4c87d419a60f (patch) | |
tree | fa97f34720cb6aeda17f9e2eebcea2b93f003a55 /llvm/lib/Object/MachOObjectFile.cpp | |
parent | 1725bde4cc55419ee8758b6f8fd42eec32fb0513 (diff) | |
download | bcm5719-llvm-be234c30ada79e38b47ee7b58abf4c87d419a60f.tar.gz bcm5719-llvm-be234c30ada79e38b47ee7b58abf4c87d419a60f.zip |
Split interesting warnings off from -Wfloat-conversion
Restructure the implict floating point to integer conversions so that
interesting sub-groups are under different flags. Breakdown of warnings:
No warning:
Exact conversions from floating point to integer:
int x = 10.0;
int x = 1e10;
-Wliteral-conversion - Floating point literal to integer with rounding:
int x = 5.5;
int x = -3.4;
-Wfloat-conversion - All conversions not covered by the above two:
int x = GetFloat();
int x = 5.5 + 3.5;
-Wfloat-zero-conversion - The expression converted has a non-zero floating
point value that gets converted to a zero integer value, excluded the cases
falling under -Wliteral-conversion. Subset of -Wfloat-conversion.
int x = 1.0 / 2.0;
-Wfloat-overflow-conversion - The floating point value is outside the range
of the integer type, exluding cases from -Wliteral conversion. Subset of
-Wfloat-conversion.
char x = 500;
char x = -1000;
-Wfloat-bool-conversion - Any conversion of a floating point type to bool.
Subset of -Wfloat-conversion.
if (GetFloat()) {}
bool x = 5.0;
-Wfloat-bool-constant-conversion - Conversion of a compile time evaluatable
floating point value to bool. Subset of -Wfloat-bool-conversion.
bool x = 1.0;
bool x = 4.0 / 20.0;
Also add EvaluateAsFloat to Sema, which is similar to EvaluateAsInt, but for
floating point values.
llvm-svn: 267054
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions