[PATCH] D80794: [flang] Fix release build flags.
David Truby via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 29 06:29:17 PDT 2020
DavidTruby created this revision.
DavidTruby added reviewers: Andrzej, tskeith, sscalpone.
Herald added subscribers: llvm-commits, mgorny.
Herald added a project: LLVM.
This patch removes the custom CMAKE_RELEASE_CXX_FLAGS variable.
This variable being set was having the effect of removing other important
Release flags, notably `-DNDEBUG`.
This patch may need to be accompanied by fixes for the macOS issues that
the removed comment mentions; I don't have a mac to test this on though so
hopefully a reviewer can help with that.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D80794
Files:
flang/CMakeLists.txt
Index: flang/CMakeLists.txt
===================================================================
--- flang/CMakeLists.txt
+++ 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80794.267211.patch
Type: text/x-patch
Size: 1373 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200529/7977f6e3/attachment.bin>
More information about the llvm-commits
mailing list