Index: gcc/common.opt
===================================================================
--- gcc/common.opt	(revision 182908)
+++ gcc/common.opt	(working copy)
@@ -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
Index: gcc/c-family/c.opt
===================================================================
--- gcc/c-family/c.opt	(revision 182908)
+++ gcc/c-family/c.opt	(working copy)
@@ -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)
 
Index: gcc/toplev.c
===================================================================
--- gcc/toplev.c	(revision 182908)
+++ gcc/toplev.c	(working copy)
@@ -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
Index: gcc/tree-nomudflap.c
===================================================================
--- gcc/tree-nomudflap.c	(revision 182908)
+++ gcc/tree-nomudflap.c	(working copy)
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3.
 static void
 nogo (void)
 {
-  internal_error ("mudflap: this language is not supported");
+  sorry ("mudflap: this language is not supported");
 }
 
 void
