commit ce10469d661e72d3d322eda9a42983d7df0d96ca
parent f7e8f6751739ba47f952da6eb4b2afdb84f77bec
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Mon, 2 Nov 2015 16:38:33 +0100
Fix overflow warning on integral constant (C4307)
Warning due to unexpected int/log identity on Win64
Fixed using C99 %lld and %llu formats
Diffstat:
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -177,6 +177,10 @@ if(NOT NO_TEST)
COMPILE_DEFINITIONS TEST_LIBRARY_BUILD_LIB
DEBUG_POSTFIX "")
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set_target_properties(test_cstr PROPERTIES COMPILE_FLAGS "-std=c99")
+ endif()
+
if(NOT OPENMP_FOUND)
message(STATUS "No OpenMP support: multi-threaded tests cannot be generated")
else(NOT OPENMP_FOUND)
@@ -192,6 +196,7 @@ if(NOT NO_TEST)
endif(CMAKE_COMPILER_IS_GNUCC)
endif(NOT OPENMP_FOUND)
+
endif(NOT NO_TEST)
################################################################################
diff --git a/src/test_cstr.c b/src/test_cstr.c
@@ -87,9 +87,9 @@ main(int argc, char** argv)
sprintf(buf, "%d", INT_MIN);
CHECK(cstr_to_int(buf, &i), RES_OK);
CHECK(i, INT_MIN);
- sprintf(buf, "%ld", (long)INT_MAX+1);
+ sprintf(buf, "%lld", (long long)INT_MAX+1);
CHECK(cstr_to_int(buf, &i), RES_BAD_ARG);
- sprintf(buf, "%ld", (long)INT_MIN-1);
+ sprintf(buf, "%lld", (long long)INT_MIN-1);
CHECK(cstr_to_int(buf, &i), RES_BAD_ARG);
CHECK(cstr_to_uint(NULL, &u), RES_BAD_ARG);
@@ -105,7 +105,7 @@ main(int argc, char** argv)
sprintf(buf, "%u", UINT_MAX);
CHECK(cstr_to_uint(buf, &u), RES_OK);
CHECK(u, UINT_MAX);
- sprintf(buf, "%lu", (unsigned long)UINT_MAX+1);
+ sprintf(buf, "%llu", (unsigned long long)UINT_MAX+1);
CHECK(cstr_to_uint(buf, &u), RES_BAD_ARG);
CHECK(cstr_to_list_double(NULL, dlist, NULL, 3), RES_BAD_ARG);