aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMikhail Maltsev <maltsevm@gmail.com>2015-10-13 21:31:48 +0000
committerJeff Law <law@gcc.gnu.org>2015-10-13 15:31:48 -0600
commit179b8d05e9b773510208660d57f7e78504e75a9d (patch)
tree7699f1d55a547fca431e8154b9a40dc1c868fc72 /gcc
parent141aa58b53d979d2ffa38e072691ecf55a5a5b04 (diff)
downloadgcc-179b8d05e9b773510208660d57f7e78504e75a9d.zip
gcc-179b8d05e9b773510208660d57f7e78504e75a9d.tar.gz
gcc-179b8d05e9b773510208660d57f7e78504e75a9d.tar.bz2
[PATCH 1/9] ENABLE_CHECKING refactoring
[PATCH 1/9] ENABLE_CHECKING refactoring gcc/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * common.opt: Add flag_checking. * system.h (CHECKING_P): Define. libcpp/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * system.h (CHECKING_P, gcc_checking_assert): Define. From-SVN: r228787
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