summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4f6bdf9)
raw | patch | inline | side by side (parent: 4f6bdf9)
author | Duncan Sands <baldrick@free.fr> | |
Wed, 7 Jul 2010 07:48:00 +0000 (07:48 +0000) | ||
committer | Duncan Sands <baldrick@free.fr> | |
Wed, 7 Jul 2010 07:48:00 +0000 (07:48 +0000) |
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
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
diff --git a/Makefile b/Makefile
index 2b2c97dd4af43c261c2c4fe3fff378384d9bf756..1ecdc2c585be311d3846730fb970f93761f6a337 100644 (file)
--- a/Makefile
+++ b/Makefile
# 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
diff --git a/Makefile.rules b/Makefile.rules
index 14b5ce9719d410d4be1be5a9e184991805d89e04..dc15c921ffcdebad46ece8633667211df1d81216 100644 (file)
--- a/Makefile.rules
+++ b/Makefile.rules
# 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
index c0ad6c9381325f16ea7731df9d561995a893e87d..933b158793b7b82fbf11b2907314a7438c091dd1 100644 (file)
<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.
index b1f8292831ee1ffb883c221492e06970f0557aae..5838250f0ae3afee529dae491a63cd923f0b7eb2 100644 (file)
--- a/docs/MakefileGuide.html
+++ b/docs/MakefileGuide.html
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>
index 74bb2c85ced1cda33e173255b09007e99cc9f295..55d5e2ac4ab8e72fa4035b053410c3bbe6ed3dbe 100644 (file)
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.
index 4287cc1da5436543f1d47fce016d02ecb44a48f8..1b48168262a5f3354628b900b4b0ce76a1bb3bcb 100755 (executable)
--- a/utils/NewNightlyTest.pl
+++ b/utils/NewNightlyTest.pl
# -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