aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/common.opt5
-rw-r--r--gcc/system.h3
3 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 750c73a..dc9b1f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * common.opt: Add flag_checking.
+ * system.h (CHECKING_P): Define.
+
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Ilya Verbin <ilya.verbin@intel.com>
diff --git a/gcc/common.opt b/gcc/common.opt
index b0f70fb..5060208 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -46,6 +46,11 @@ int optimize_fast
Variable
bool in_lto_p = false
+; Enable additional checks of internal state consistency, which may slow
+; the compiler down.
+Variable
+bool flag_checking = CHECKING_P
+
; 0 means straightforward implementation of complex divide acceptable.
; 1 means wide ranges of inputs must work for complex divide.
; 2 means C99-like requirements for complex multiply and divide.
diff --git a/gcc/system.h b/gcc/system.h
index f1694b9..61790d7 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -716,8 +716,11 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
#ifdef ENABLE_CHECKING
#define gcc_checking_assert(EXPR) gcc_assert (EXPR)
+#define CHECKING_P 1
#else
+/* N.B.: in release build EXPR is not evaluated. */
#define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
+#define CHECKING_P 1
#endif
/* Use gcc_unreachable() to mark unreachable locations (like an