Commit 5720c0dc by Richard Guenther Committed by Richard Biener

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
parent be223aaf
2012-01-05 Richard Guenther <rguenther@suse.de> 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 PR tree-optimization/51760
* tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT, * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
not VARYING. not VARYING.
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> 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51316 PR c++/51316
......
...@@ -489,6 +489,10 @@ Wmissing-prototypes ...@@ -489,6 +489,10 @@ Wmissing-prototypes
C ObjC Var(warn_missing_prototypes) Warning C ObjC Var(warn_missing_prototypes) Warning
Warn about global functions without prototypes 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 Wmultichar
C ObjC C++ ObjC++ Warning C ObjC C++ ObjC++ Warning
Warn about use of multi-character character constants Warn about use of multi-character character constants
...@@ -865,6 +869,18 @@ fms-extensions ...@@ -865,6 +869,18 @@ fms-extensions
C ObjC C++ ObjC++ Var(flag_ms_extensions) C ObjC C++ ObjC++ Var(flag_ms_extensions)
Don't warn about uses of Microsoft 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- fname-mangling-version-
C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported) C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
......
...@@ -570,10 +570,6 @@ Wmissing-noreturn ...@@ -570,10 +570,6 @@ Wmissing-noreturn
Common Var(warn_missing_noreturn) Warning Common Var(warn_missing_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn)) 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 Woverflow
Common Var(warn_overflow) Init(1) Warning Common Var(warn_overflow) Init(1) Warning
Warn about overflow in arithmetic expressions Warn about overflow in arithmetic expressions
...@@ -1465,18 +1461,6 @@ fmove-loop-invariants ...@@ -1465,18 +1461,6 @@ fmove-loop-invariants
Common Report Var(flag_move_loop_invariants) Init(1) Optimization Common Report Var(flag_move_loop_invariants) Init(1) Optimization
Move loop invariant computations out of loops 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 fdce
Common Var(flag_dce) Init(1) Optimization Common Var(flag_dce) Init(1) Optimization
Use the RTL dead code elimination pass Use the RTL dead code elimination pass
......
...@@ -1325,6 +1325,9 @@ process_options (void) ...@@ -1325,6 +1325,9 @@ process_options (void)
"and -ftree-loop-linear)"); "and -ftree-loop-linear)");
#endif #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. */ /* One region RA really helps to decrease the code size. */
if (flag_ira_region == IRA_REGION_AUTODETECT) if (flag_ira_region == IRA_REGION_AUTODETECT)
flag_ira_region flag_ira_region
......
...@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
static void static void
nogo (void) nogo (void)
{ {
internal_error ("mudflap: this language is not supported"); sorry ("mudflap: this language is not supported");
} }
void void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment