aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-01-05 15:08:42 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-01-05 15:08:42 +0000
commit5720c0dc9cb064618394177a290c3669d9728b06 (patch)
tree367d5bb6f738516ca3efbd35212c8469083aa665
parentbe223aafde77591ddece8a2cd8f0bf776b89bbef (diff)
downloadgcc-5720c0dc9cb064618394177a290c3669d9728b06.zip
gcc-5720c0dc9cb064618394177a290c3669d9728b06.tar.gz
gcc-5720c0dc9cb064618394177a290c3669d9728b06.tar.bz2
re PR middle-end/51764 (mudflap does not work with LTO)
2012-01-05 Richard Guenther <rguenther@suse.de> PR middle-end/51764 * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move to c.opt. * toplev.c (process_options): Reject combining mudflap and LTO. * tree-nomudflap.c (nogo): Use sorry instead of internal_error. c-family/ * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here from common.opt. From-SVN: r182913
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/c-family/c.opt16
-rw-r--r--gcc/common.opt16
-rw-r--r--gcc/toplev.c3
-rw-r--r--gcc/tree-nomudflap.c2
6 files changed, 34 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 487ce17..c28e946 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2012-01-05 Richard Guenther <rguenther@suse.de>
+ PR middle-end/51764
+ * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
+ to c.opt.
+ * toplev.c (process_options): Reject combining mudflap and LTO.
+ * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/51760
* tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
not VARYING.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 7850829..95ce166 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51764
+ * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
+ from common.opt.
+
2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51316
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 42c9a0d..447c88f 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -489,6 +489,10 @@ Wmissing-prototypes
C ObjC Var(warn_missing_prototypes) Warning
Warn about global functions without prototypes
+Wmudflap
+C ObjC C++ ObjC++ Var(warn_mudflap) Init(1) Warning
+Warn about constructs not instrumented by -fmudflap
+
Wmultichar
C ObjC C++ ObjC++ Warning
Warn about use of multi-character character constants
@@ -865,6 +869,18 @@ fms-extensions
C ObjC C++ ObjC++ Var(flag_ms_extensions)
Don't warn about uses of Microsoft extensions
+fmudflap
+C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap)
+Add mudflap bounds-checking instrumentation for single-threaded program
+
+fmudflapth
+C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap,2)
+Add mudflap bounds-checking instrumentation for multi-threaded program
+
+fmudflapir
+C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap_ignore_reads)
+Ignore read operations when inserting mudflap instrumentation
+
fname-mangling-version-
C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
diff --git a/gcc/common.opt b/gcc/common.opt
index 2a2c679..6cfe17a 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -570,10 +570,6 @@ Wmissing-noreturn
Common Var(warn_missing_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn))
-Wmudflap
-Common Var(warn_mudflap) Init(1) Warning
-Warn about constructs not instrumented by -fmudflap
-
Woverflow
Common Var(warn_overflow) Init(1) Warning
Warn about overflow in arithmetic expressions
@@ -1465,18 +1461,6 @@ fmove-loop-invariants
Common Report Var(flag_move_loop_invariants) Init(1) Optimization
Move loop invariant computations out of loops
-fmudflap
-Common RejectNegative Report Var(flag_mudflap)
-Add mudflap bounds-checking instrumentation for single-threaded program
-
-fmudflapth
-Common RejectNegative Report Var(flag_mudflap,2)
-Add mudflap bounds-checking instrumentation for multi-threaded program
-
-fmudflapir
-Common RejectNegative Report Var(flag_mudflap_ignore_reads)
-Ignore read operations when inserting mudflap instrumentation
-
fdce
Common Var(flag_dce) Init(1) Optimization
Use the RTL dead code elimination pass
diff --git a/gcc/toplev.c b/gcc/toplev.c
index f2ca434..c145af4 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1325,6 +1325,9 @@ process_options (void)
"and -ftree-loop-linear)");
#endif
+ if (flag_mudflap && flag_lto)
+ sorry ("mudflap cannot be used together with link-time optimization");
+
/* One region RA really helps to decrease the code size. */
if (flag_ira_region == IRA_REGION_AUTODETECT)
flag_ira_region
diff --git a/gcc/tree-nomudflap.c b/gcc/tree-nomudflap.c
index 44e2989..f204e2a 100644
--- a/gcc/tree-nomudflap.c
+++ b/gcc/tree-nomudflap.c
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
static void
nogo (void)
{
- internal_error ("mudflap: this language is not supported");
+ sorry ("mudflap: this language is not supported");
}
void