about summary refs log tree commit diff
path: root/src/test/run-fail
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-03-02 14:51:24 -0800
committerAlex Crichton <alex@alexcrichton.com>2015-03-05 14:51:38 -0800
commitd5d834551cd5a7e7d89ac9f2ae642a93409ed989 (patch)
tree8b6899fc59d1e34bd93cedf3ad15dafae37be8a9 /src/test/run-fail
parent68740b405404a3f885e388c8d31722797d519c30 (diff)
downloadrust-d5d834551cd5a7e7d89ac9f2ae642a93409ed989.tar.gz
rust-d5d834551cd5a7e7d89ac9f2ae642a93409ed989.zip
rustc: Add a debug_assertions #[cfg] directive
This commit is an implementation of [RFC 563][rfc] which adds a new
`cfg(debug_assertions)` directive which is specially recognized and calculated
by the compiler. The flag is turned off at any optimization level greater than 1
and may also be explicitly controlled through the `-C debug-assertions`
flag.

[rfc]: https://github.com/rust-lang/rfcs/pull/563

The `debug_assert!` and `debug_assert_eq!` macros now respect this instead of
the `ndebug` variable and `ndebug` no longer holds any meaning to the standard
library.

Code which was previously relying on `not(ndebug)` to gate expensive code should
be updated to rely on `debug_assertions` instead.

Closes #22492
[breaking-change]
Diffstat (limited to 'src/test/run-fail')
-rw-r--r--src/test/run-fail/overflowing-add.rs1
-rw-r--r--src/test/run-fail/overflowing-mul.rs1
-rw-r--r--src/test/run-fail/overflowing-sub.rs1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/test/run-fail/overflowing-add.rs b/src/test/run-fail/overflowing-add.rs
index 34a03e5f008..cd13b817c2b 100644
--- a/src/test/run-fail/overflowing-add.rs
+++ b/src/test/run-fail/overflowing-add.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 // error-pattern:thread '<main>' panicked at 'arithmetic operation overflowed'
+// compile-flags: -C debug-assertions
 
 // (Work around constant-evaluation)
 fn value() -> u8 { 200 }
diff --git a/src/test/run-fail/overflowing-mul.rs b/src/test/run-fail/overflowing-mul.rs
index b18d99cd232..5d2f5396240 100644
--- a/src/test/run-fail/overflowing-mul.rs
+++ b/src/test/run-fail/overflowing-mul.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 // error-pattern:thread '<main>' panicked at 'arithmetic operation overflowed'
+// compile-flags: -C debug-assertions
 
 // (Work around constant-evaluation)
 fn value() -> u8 { 200 }
diff --git a/src/test/run-fail/overflowing-sub.rs b/src/test/run-fail/overflowing-sub.rs
index ee32291eca6..b089dccbaa5 100644
--- a/src/test/run-fail/overflowing-sub.rs
+++ b/src/test/run-fail/overflowing-sub.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 // error-pattern:thread '<main>' panicked at 'arithmetic operation overflowed'
+// compile-flags: -C debug-assertions
 
 // (Work around constant-evaluation)
 fn value() -> u8 { 42 }