X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa83891035a7985986f404284b5b586545301996..5089a0a98b27f5eeee62321dff4f025f1648f025:/tools/cmake/Flags.cmake diff --git a/tools/cmake/Flags.cmake b/tools/cmake/Flags.cmake index b9a1b61c7d..e752365d85 100644 --- a/tools/cmake/Flags.cmake +++ b/tools/cmake/Flags.cmake @@ -23,10 +23,12 @@ if(enable_compile_warnings) endif() if (CMAKE_CXX_COMPILER_ID MATCHES "Intel") # ignore remark #1418: external function definition with no prior declaration + # 2196: routine is both "inline" and "noinline" # 3179: deprecated conversion of string literal to char* (should be const char*) # 191: type qualifier is meaningless on cast type # 597: entity-kind "entity" will not be called for implicit or explicit conversions - set(warnCFLAGS "${warnCFLAGS} -wd1418 -wd191 -wd3179 -ww597") + # 2330: argument of type "type" is incompatible with parameter of type "type" (dropping qualifiers) + set(warnCFLAGS "${warnCFLAGS} -wd1418 -wd191 -wd2196 -wd3179 -ww597 -ww2330") endif() set(warnCXXFLAGS "${warnCFLAGS} -Wall -Wextra -Wunused -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing") @@ -47,8 +49,11 @@ if(enable_compile_warnings) if(CMAKE_Fortran_COMPILER_ID MATCHES "GCC|PGI") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wall") - endif() - if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel") + elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Flang") + # flang >= 7 has a bug with common and debug flags. Ignore cmake-added -g in this case. + # https://github.com/flang-compiler/flang/issues/671 + set(CMAKE_Fortran_FLAGS "-Wall") + elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -warn all") endif() set(CMAKE_JAVA_COMPILE_FLAGS "-Xlint") @@ -58,6 +63,9 @@ endif() if(enable_compile_warnings AND enable_debug) set(warnCFLAGS "${warnCFLAGS} -Werror") set(warnCXXFLAGS "${warnCXXFLAGS} -Werror") + if(CMAKE_Fortran_COMPILER_ID MATCHES "GCC") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Werror -Werror=format-security") + endif() endif() # Activate the warnings on #if FOOBAR when FOOBAR has no value @@ -150,15 +158,8 @@ if(enable_model-checking AND enable_compile_optimizations) set(optCFLAGS "-O0 ") # But you can still optimize this: foreach(s - src/kernel/lmm/fair_bottleneck.cpp src/kernel/lmm/lagrange.cpp src/kernel/lmm/maxmin.cpp - src/xbt/mmalloc/mm.c - src/xbt/log.c src/xbt/xbt_log_appender_file.c - src/xbt/xbt_log_layout_format.c src/xbt/xbt_log_layout_simple.c - src/xbt/dict.cpp src/xbt/dict_elm.c src/xbt/dict_cursor.c - src/xbt/dynar.cpp - src/xbt/xbt_str.cpp src/xbt/snprintf.c - src/xbt/xbt_os_time.c src/xbt/xbt_os_thread.c - src/xbt/backtrace_linux.cpp + src/simix/popping.cpp src/simix/popping_generated.cpp src/simix/smx_global.cpp + ${SURF_SRC} ${TRACING_SRC} ${XBT_SRC} ${MC_SRC_BASE} ${MC_SRC}) set (mcCFLAGS "-O3 -funroll-loops -fno-strict-aliasing") if(CMAKE_COMPILER_IS_GNUCC) @@ -200,6 +201,7 @@ if(enable_coverage) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fprofile-arcs -ftest-coverage") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCOVERAGE") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") add_definitions(-fprofile-arcs -ftest-coverage) endif()