diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -272,19 +272,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-nested-anon-types") endif() - # Add to or adjust build type flags. - # - # TODO: This needs some extra thought. CMake's default for release builds - # is -O3, which can cause build failures on certain platforms (and compilers) - # with the current code base -- some templated functions are inlined and don't - # become available at link time when using -O3 (with Clang under MacOS/darwin). - # If we reset CMake's default flags we also clobber any user provided settings; - # make it difficult to customize a build in this regard... The setup below - # has this side effect but enables successful builds across multiple platforms - # in release mode... + # Add to build type flags. set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUGF18") - set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -DCHECK=\"(void)\"") # do we need -O2 here? - set(CMAKE_CXX_FLAGS_RELEASE "-O2") + set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -DCHECK=\"(void)\"") # Building shared libraries is bad for performance with GCC by default # due to the need to preserve the right to override external entry points