builds to "Release". The default build is unchanged (optimization on,
assertions on), however it is now called Release+Asserts. The intent
is that future LLVM releases released via llvm.org will be Release builds
in the new sense, i.e. will have assertions disabled (currently they have
assertions enabled, for a more than 20% slowdown). This will bring them
in line with MacOS releases, which ship with assertions disabled. It also
means that "Release" now means the same things in make and cmake builds:
cmake already disables assertions for "Release" builds AFAICS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107758
91177308-0d34-0410-b5e6-
96231b3b80d8
# that it gets executed last.
ifneq ($(BUILD_DIRS_ONLY),1)
all::
- $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build
+ $(Echo) '*****' Completed $(BuildMode) Build
ifeq ($(BuildMode),Debug)
$(Echo) '*****' Note: Debug build can be 10 times slower than an
$(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to
# If DISABLE_ASSERTIONS=1 is specified (make command line or configured),
# then disable assertions by defining the appropriate preprocessor symbols.
-ifdef DISABLE_ASSERTIONS
- # Indicate that assertions are turned off using a minus sign
- BuildMode := $(BuildMode)-Asserts
- CPP.Defines += -DNDEBUG
-else
+ifndef DISABLE_ASSERTIONS
+ BuildMode := $(BuildMode)+Asserts
CPP.Defines += -D_DEBUG
+else
+ CPP.Defines += -DNDEBUG
endif
# If ENABLE_EXPENSIVE_CHECKS=1 is specified (make command line or
<div class="doc_text">
The build of <tt>llvm</tt>, <tt>llvm-gcc</tt>, and <tt>clang</tt> must be free
-of errors and warnings in both debug, release, and release-asserts builds.
+of errors and warnings in both debug, release+asserts, and release builds.
If all builds are clean, then the release passes build qualification.
<ol>
<li>debug: ENABLE_OPTIMIZED=0</li>
-<li>release: ENABLE_OPTIMIZED=1</li>
-<li>release-asserts: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1</li>
+<li>release+asserts: ENABLE_OPTIMIZED=1</li>
+<li>release: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1</li>
</ol>
</div>
<div class="doc_subsubsection"><a name="build">Build LLVM</a></div>
<div class="doc_text">
<p>
- Build both debug, release (optimized), and release-asserts versions of
+ Build both debug, release+asserts (optimized), and release versions of
LLVM on all supported platforms. Direction to build llvm are
<a href="http://llvm.org/docs/GettingStarted.html#quickstart">here</a>.
</p>
Binary Distribution</a></div>
<div class="doc_text">
<p>
- Creating the Clang binary distribution (debug/release/release-asserts) requires
+ Creating the Clang binary distribution (debug/release/release) requires
performing the following steps for each supported platform:
</p>
</a></div>
<div class="doc_text">
<p>
- The final stages of the release process involving taging the release branch,
+ The final stages of the release process involving tagging the release branch,
updating documentation that refers to the release, and updating the demo
page.</p>
<p>FIXME: Add a note if anything needs to be done to the clang website.
the profiled tools (<tt>gmon.out</tt>).</dd>
<dt><a name="DISABLE_ASSERTIONS"><tt>DISABLE_ASSERTIONS</tt></a></dt>
<dd>If set to any value, causes the build to disable assertions, even if
- building a release or profile build. This will exclude all assertion check
+ building a debug or profile build. This will exclude all assertion check
code from the build. LLVM will execute faster, but with little help when
things go wrong.</dd>
<dt><a name="EXPERIMENTAL_DIRS"><tt>EXPERIMENTAL_DIRS</tt></a></dt>
switch(Ty1->getTypeID()) {
default:
llvm_unreachable("Unknown type!");
- // Fall through in Release-Asserts mode.
+ // Fall through in Release mode.
case Type::IntegerTyID:
case Type::OpaqueTyID:
// Ty1 == Ty2 would have returned true earlier.
# -noclean Do not run 'make clean' before building.
# -nobuild Do not build llvm. If tests are enabled perform them
# on the llvm build specified in the build directory
-# -release Build an LLVM Release version
-# -release-asserts Build an LLVM ReleaseAsserts version
+# -release Build an LLVM Release+Asserts version
+# -release-asserts Build an LLVM Release version
# -disable-bindings Disable building LLVM bindings.
# -with-clang Checkout Clang source into tools/clang.
# -compileflags Next argument specifies extra options passed to make when