diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 487ce17aeab..c28e9463dde 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-01-05 Richard Guenther + + 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 PR tree-optimization/51760 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 7850829108a..95ce166a204 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2012-01-05 Richard Guenther + + PR middle-end/51764 + * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here + from common.opt. + 2011-12-30 Paolo Carlini PR c++/51316 diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index 42c9a0dfc66..447c88f761a 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 2a2c679cc13..6cfe17a15d3 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 f2ca43490ae..c145af48fb9 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 44e29891386..f204e2a064c 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