varasm.c (make_decl_rtl_for_debug): Also clear flag_mudflap for the duration of make_...
authorJakub Jelinek <jakub@redhat.com>
Mon, 22 Mar 2010 10:30:27 +0000 (11:30 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 22 Mar 2010 10:30:27 +0000 (11:30 +0100)
* varasm.c (make_decl_rtl_for_debug): Also clear
flag_mudflap for the duration of make_decl_rtl call.

From-SVN: r157621

gcc/ChangeLog
gcc/varasm.c

index 2fa71a6f68c281df04d3a4b61b3fe956c31e9f7f..4131a497af3d7e1532117fbf0d5cb0c4c9c81ca7 100644 (file)
@@ -1,5 +1,8 @@
 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
 
+       * varasm.c (make_decl_rtl_for_debug): Also clear
+       flag_mudflap for the duration of make_decl_rtl call.
+
        PR debug/43443
        * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
        locs from preserved VALUEs.
index 31007b8af864174a56b2f5dfe756cd396e195267..424d704aa86bc478d32878842cd5dd2bd3078ce4 100644 (file)
@@ -1484,7 +1484,7 @@ make_decl_rtl (tree decl)
 rtx
 make_decl_rtl_for_debug (tree decl)
 {
-  unsigned int save_aliasing_flag;
+  unsigned int save_aliasing_flag, save_mudflap_flag;
   rtx rtl;
 
   if (DECL_RTL_SET_P (decl))
@@ -1495,9 +1495,12 @@ make_decl_rtl_for_debug (tree decl)
      we do not want to create alias sets that will throw the alias
      numbers off in the comparison dumps.  So... clearing
      flag_strict_aliasing will keep new_alias_set() from creating a
-     new set.  */
+     new set.  It is undesirable to register decl with mudflap
+     in this case as well.  */
   save_aliasing_flag = flag_strict_aliasing;
   flag_strict_aliasing = 0;
+  save_mudflap_flag = flag_mudflap;
+  flag_mudflap = 0;
 
   rtl = DECL_RTL (decl);
   /* Reset DECL_RTL back, as various parts of the compiler expects
@@ -1505,6 +1508,7 @@ make_decl_rtl_for_debug (tree decl)
   SET_DECL_RTL (decl, NULL);
 
   flag_strict_aliasing = save_aliasing_flag;
+  flag_mudflap = save_mudflap_flag;
 
   return rtl;
 }