diff options
author | Michal Gorny <mgorny@gentoo.org> | 2017-01-17 21:08:25 +0000 |
---|---|---|
committer | Michal Gorny <mgorny@gentoo.org> | 2017-01-17 21:08:25 +0000 |
commit | 7b97bf233f01d7526e18676cd3be161a310ce657 (patch) | |
tree | 1bcd4419150703ac72a49675576f740a02ab60be /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 729a039ec23295f03b841a10e2cd4d05ce716f0c (diff) | |
download | bcm5719-llvm-7b97bf233f01d7526e18676cd3be161a310ce657.tar.gz bcm5719-llvm-7b97bf233f01d7526e18676cd3be161a310ce657.zip |
[test] [builtins] Remove obsolete/UB tests in __fixuns?fdi based
Remove the failing tests for __fixunssfdi() and __fixunsdfdi() that
relied on undefined (and most likely obsolete in terms of compiler-rt
implementation behavior).
Both tests presumed that 0x1.p+64 would be converted to
0xFFFFFFFFFFFFFFFFLL, that is the largest value in uint64 range.
However, the C/C++ standards do not specify the behavior for converting
a floating-point value to an integer of smaller range, and in this case
both libgcc and compiler-rt implementations return 0 instead.
Since the current behavior is correct with regards to standards
and there is no good way of expressing 0xFFFFFFFFFFFFFFFFLL in single-
or double-precision float, I've removed the failing test altogether.
Differential Revision: https://reviews.llvm.org/D28146
llvm-svn: 292257
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions