Opened 9 years ago
Closed 7 years ago
#9014 closed Bugs (fixed)
Warnings when compiling api_test_helpers.hpp
| Reported by: | Owned by: | timblechmann | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | atomic |
| Version: | Boost Release Branch | Severity: | Cosmetic |
| Keywords: | Cc: |
Description
Hello,
clang 3.3 warns about about the truncation of the larger constant:
clang-linux.compile.c++.without-pth ../../../bin.v2/libs/atomic/test/native_api.test/clang-linux-3.3/debug/threading-multi/native_api.o
In file included from native_api.cpp:12:
./api_test_helpers.hpp:268:35: warning: implicit conversion from 'int' to 'unsigned char' changes value from 32640 to 128 [-Wconstant-conversion]
test_additive_wrap<T>(((T)-1) << (sizeof(T) * 8 - 1));
~~~~~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
native_api.cpp:20:5: note: in instantiation of function template specialization 'test_integral_api<unsigned char>' requested here
test_integral_api<unsigned char>();
^
In file included from native_api.cpp:12:
./api_test_helpers.hpp:269:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from -32641 to 127 [-Wconstant-conversion]
test_additive_wrap<T>(~ (((T)-1) << (sizeof(T) * 8 - 1)));
~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./api_test_helpers.hpp:268:35: warning: implicit conversion from 'int' to 'unsigned short' changes value from 2147450880 to 32768 [-Wconstant-conversion]
test_additive_wrap<T>(((T)-1) << (sizeof(T) * 8 - 1));
~~~~~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
native_api.cpp:24:5: note: in instantiation of function template specialization 'test_integral_api<unsigned short>' requested here
test_integral_api<unsigned short>();
^
In file included from native_api.cpp:12:
./api_test_helpers.hpp:269:27: warning: implicit conversion from 'int' to 'unsigned short' changes value from -2147450881 to 32767 [-Wconstant-conversion]
test_additive_wrap<T>(~ (((T)-1) << (sizeof(T) * 8 - 1)));
~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
Thanks, Gregor
Note:
See TracTickets
for help on using tickets.

Should be fixed in https://github.com/boostorg/atomic/commit/b1bb36c5b338ad6c259f1a252ee885733d626471.