]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Debug hooks: use rtx_insn and rtx_code_label
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 21 Aug 2014 08:20:43 +0000 (08:20 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Thu, 21 Aug 2014 08:20:43 +0000 (08:20 +0000)
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

* debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook
"label" from rtx to rtx_code_label *.  Strengthen param 1 of
"var_location" hook from rtx to rtx_insn *.
(debug_nothing_rtx): Delete in favor of...
(debug_nothing_rtx_code_label): New prototype.
(debug_nothing_rtx_rtx): Delete unused prototype.
(debug_nothing_rtx_insn): New prototype.

* final.c (final_scan_insn): Add checked cast to rtx_insn * when
invoking debug_hooks->var_location (in two places, one in a NOTE
case of a switch statement, the other guarded by a CALL_P
conditional.  Add checked cast to rtx_code_label * when invoking
debug_hooks->label (within CODE_LABEL case of switch statement).

* dbxout.c (dbx_debug_hooks): Update "label" hook from
debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
"var_location" from debug_nothing_rtx to debug_nothing_rtx_insn.
(xcoff_debug_hooks): Likewise.
* debug.c (do_nothing_debug_hooks): Likewise.
(debug_nothing_rtx): Delete in favor of...
(debug_nothing_rtx_insn): New function.
(debug_nothing_rtx_rtx): Delete unused function.
(debug_nothing_rtx_code_label): New function.
* dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from
debug_nothing_rtx to debug_nothing_rtx_code_label.
(dwarf2out_var_location): Strengthen param "loc_note" from rtx
to rtx_insn *.
* sdbout.c (sdb_debug_hooks): Update "var_location" hook from
debug_nothing_rtx to debug_nothing_rtx_insn.
(sdbout_label): Strengthen param "insn" from rtx to
rtx_code_label *.
* vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from
debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
"var_location" hook from debug_nothing_rtx to
debug_nothing_rtx_insn.

From-SVN: r214259

gcc/ChangeLog
gcc/dbxout.c
gcc/debug.c
gcc/debug.h
gcc/dwarf2out.c
gcc/final.c
gcc/sdbout.c
gcc/vmsdbgout.c

index 18b693150e65138f62e3a16c00bd8436b9868317..d7b5b1846a2a275bb69d86f6b4872b5fceefd005 100644 (file)
@@ -1,3 +1,41 @@
+2014-08-21  David Malcolm  <dmalcolm@redhat.com>
+
+       * debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook
+       "label" from rtx to rtx_code_label *.  Strengthen param 1 of
+       "var_location" hook from rtx to rtx_insn *.
+       (debug_nothing_rtx): Delete in favor of...
+       (debug_nothing_rtx_code_label): New prototype.
+       (debug_nothing_rtx_rtx): Delete unused prototype.
+       (debug_nothing_rtx_insn): New prototype.
+
+       * final.c (final_scan_insn): Add checked cast to rtx_insn * when
+       invoking debug_hooks->var_location (in two places, one in a NOTE
+       case of a switch statement, the other guarded by a CALL_P
+       conditional.  Add checked cast to rtx_code_label * when invoking
+       debug_hooks->label (within CODE_LABEL case of switch statement).
+
+       * dbxout.c (dbx_debug_hooks): Update "label" hook from
+       debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
+       "var_location" from debug_nothing_rtx to debug_nothing_rtx_insn.
+       (xcoff_debug_hooks): Likewise.
+       * debug.c (do_nothing_debug_hooks): Likewise.
+       (debug_nothing_rtx): Delete in favor of...
+       (debug_nothing_rtx_insn): New function.
+       (debug_nothing_rtx_rtx): Delete unused function.
+       (debug_nothing_rtx_code_label): New function.
+       * dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from
+       debug_nothing_rtx to debug_nothing_rtx_code_label.
+       (dwarf2out_var_location): Strengthen param "loc_note" from rtx
+       to rtx_insn *.
+       * sdbout.c (sdb_debug_hooks): Update "var_location" hook from
+       debug_nothing_rtx to debug_nothing_rtx_insn.
+       (sdbout_label): Strengthen param "insn" from rtx to
+       rtx_code_label *.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from
+       debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
+       "var_location" hook from debug_nothing_rtx to
+       debug_nothing_rtx_insn.
+
 2014-08-21  David Malcolm  <dmalcolm@redhat.com>
 
        * recog.h (insn_output_fn): Update this function typedef to match
index fc6b13b904a6d6baabbde4676f420fac4b827e2a..946f1d15e90cd5ad85106a284c3d425e42a4e960 100644 (file)
@@ -371,9 +371,9 @@ const struct gcc_debug_hooks dbx_debug_hooks =
   debug_nothing_tree_tree_tree_bool,    /* imported_module_or_decl */
   debug_nothing_tree,                   /* deferred_inline_function */
   debug_nothing_tree,                   /* outlining_inline_function */
-  debug_nothing_rtx,                    /* label */
+  debug_nothing_rtx_code_label,                 /* label */
   dbxout_handle_pch,                    /* handle_pch */
-  debug_nothing_rtx,                    /* var_location */
+  debug_nothing_rtx_insn,               /* var_location */
   debug_nothing_void,                    /* switch_text_section */
   debug_nothing_tree_tree,              /* set_name */
   0,                                     /* start_end_main_source_file */
@@ -407,9 +407,9 @@ const struct gcc_debug_hooks xcoff_debug_hooks =
   debug_nothing_tree_tree_tree_bool,    /* imported_module_or_decl */
   debug_nothing_tree,                   /* deferred_inline_function */
   debug_nothing_tree,                   /* outlining_inline_function */
-  debug_nothing_rtx,                    /* label */
+  debug_nothing_rtx_code_label,                 /* label */
   dbxout_handle_pch,                    /* handle_pch */
-  debug_nothing_rtx,                    /* var_location */
+  debug_nothing_rtx_insn,               /* var_location */
   debug_nothing_void,                    /* switch_text_section */
   debug_nothing_tree_tree,              /* set_name */
   0,                                     /* start_end_main_source_file */
index 173454045798d3778f839e2a3e819601b014039e..dba068cc24adc88b1072324c019df2b498b862c7 100644 (file)
@@ -48,9 +48,9 @@ const struct gcc_debug_hooks do_nothing_debug_hooks =
   debug_nothing_tree_tree_tree_bool,    /* imported_module_or_decl */
   debug_nothing_tree,                   /* deferred_inline_function */
   debug_nothing_tree,                   /* outlining_inline_function */
-  debug_nothing_rtx,                    /* label */
+  debug_nothing_rtx_code_label,                 /* label */
   debug_nothing_int,                    /* handle_pch */
-  debug_nothing_rtx,                    /* var_location */
+  debug_nothing_rtx_insn,               /* var_location */
   debug_nothing_void,                    /* switch_text_section */
   debug_nothing_tree_tree,              /* set_name */
   0,                                     /* start_end_main_source_file */
@@ -91,13 +91,12 @@ debug_true_const_tree (const_tree block ATTRIBUTE_UNUSED)
 }
 
 void
-debug_nothing_rtx (rtx insn ATTRIBUTE_UNUSED)
+debug_nothing_rtx_insn (rtx_insn *insn ATTRIBUTE_UNUSED)
 {
 }
 
 void
-debug_nothing_rtx_rtx (rtx insn ATTRIBUTE_UNUSED,
-                      rtx new_insn ATTRIBUTE_UNUSED)
+debug_nothing_rtx_code_label (rtx_code_label *label ATTRIBUTE_UNUSED)
 {
 }
 
index fc575891a2e4c3354638cc2f75aeed2a685e4c55..3ac7976c5de7e8cd90249de9100976f26750b41b 100644 (file)
@@ -119,14 +119,14 @@ struct gcc_debug_hooks
 
   /* Called from final_scan_insn for any CODE_LABEL insn whose
      LABEL_NAME is non-null.  */
-  void (* label) (rtx);
+  void (* label) (rtx_code_label *);
 
   /* Called after the start and before the end of writing a PCH file.
      The parameter is 0 if after the start, 1 if before the end.  */
   void (* handle_pch) (unsigned int);
 
   /* Called from final_scan_insn for any NOTE_INSN_VAR_LOCATION note.  */
-  void (* var_location) (rtx);
+  void (* var_location) (rtx_insn *);
 
   /* Called from final_scan_insn if there is a switch between hot and cold
      text sections.  */
@@ -160,8 +160,8 @@ extern void debug_nothing_tree_tree (tree, tree);
 extern void debug_nothing_tree_int (tree, int);
 extern void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool);
 extern bool debug_true_const_tree (const_tree);
-extern void debug_nothing_rtx (rtx);
-extern void debug_nothing_rtx_rtx (rtx, rtx);
+extern void debug_nothing_rtx_insn (rtx_insn *);
+extern void debug_nothing_rtx_code_label (rtx_code_label *);
 
 /* Hooks for various debug formats.  */
 extern const struct gcc_debug_hooks do_nothing_debug_hooks;
index 51e379e931e8676cef04880a08c66561fe27c60b..7428c9558ad25862164b390980698745bfd9489d 100644 (file)
@@ -2434,7 +2434,7 @@ static void dwarf2out_imported_module_or_decl (tree, tree, tree, bool);
 static void dwarf2out_imported_module_or_decl_1 (tree, tree, tree,
                                                 dw_die_ref);
 static void dwarf2out_abstract_function (tree);
-static void dwarf2out_var_location (rtx);
+static void dwarf2out_var_location (rtx_insn *);
 static void dwarf2out_begin_function (tree);
 static void dwarf2out_end_function (unsigned int);
 static void dwarf2out_set_name (tree, tree);
@@ -2474,7 +2474,7 @@ const struct gcc_debug_hooks dwarf2_debug_hooks =
      emitting the abstract description of inline functions until
      something tries to reference them.  */
   dwarf2out_abstract_function, /* outlining_inline_function */
-  debug_nothing_rtx,           /* label */
+  debug_nothing_rtx_code_label,        /* label */
   debug_nothing_int,           /* handle_pch */
   dwarf2out_var_location,
   dwarf2out_switch_text_section,
@@ -21285,7 +21285,7 @@ static unsigned int first_loclabel_num_not_at_text_label;
    our lookup table.  */
 
 static void
-dwarf2out_var_location (rtx loc_note)
+dwarf2out_var_location (rtx_insn *loc_note)
 {
   char loclabel[MAX_ARTIFICIAL_LABEL_BYTES + 2];
   struct var_loc_node *newloc;
index dfeec9e58157e3e39f292c456c0f537e9bddc508..2a3d6d2fa152ddb4719b831a6560f51fec8b99c6 100644 (file)
@@ -2343,7 +2343,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
        case NOTE_INSN_VAR_LOCATION:
        case NOTE_INSN_CALL_ARG_LOCATION:
          if (!DECL_IGNORED_P (current_function_decl))
-           debug_hooks->var_location (insn);
+           debug_hooks->var_location (as_a <rtx_insn *> (insn));
          break;
 
        default:
@@ -2381,7 +2381,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
       CC_STATUS_INIT;
 
       if (!DECL_IGNORED_P (current_function_decl) && LABEL_NAME (insn))
-       debug_hooks->label (insn);
+       debug_hooks->label (as_a <rtx_code_label *> (insn));
 
       app_disable ();
 
@@ -2984,7 +2984,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
                  assemble_external (t);
              }
            if (!DECL_IGNORED_P (current_function_decl))
-             debug_hooks->var_location (insn);
+             debug_hooks->var_location (as_a <rtx_insn *> (insn));
          }
 
        /* Output assembler code from the template.  */
index 144caa96a7dfa385890ebdf2015087a6e8de02d7..7b6f4573e05b6b036f7121f68182da841f0d3064 100644 (file)
@@ -125,7 +125,7 @@ static void sdbout_end_prologue             (unsigned int, const char *);
 static void sdbout_begin_function      (tree);
 static void sdbout_end_function                (unsigned int);
 static void sdbout_toplevel_data       (tree);
-static void sdbout_label               (rtx);
+static void sdbout_label               (rtx_code_label *);
 static char *gen_fake_label            (void);
 static int plain_type                  (tree);
 static int template_name_p             (tree);
@@ -302,7 +302,7 @@ const struct gcc_debug_hooks sdb_debug_hooks =
   debug_nothing_tree,                   /* outlining_inline_function */
   sdbout_label,                                 /* label */
   debug_nothing_int,                    /* handle_pch */
-  debug_nothing_rtx,                    /* var_location */
+  debug_nothing_rtx_insn,               /* var_location */
   debug_nothing_void,                    /* switch_text_section */
   debug_nothing_tree_tree,              /* set_name */
   0,                                     /* start_end_main_source_file */
@@ -1597,7 +1597,7 @@ sdbout_end_epilogue (unsigned int line ATTRIBUTE_UNUSED,
    is present.  */
 
 static void
-sdbout_label (rtx insn)
+sdbout_label (rtx_code_label *insn)
 {
   PUT_SDB_DEF (LABEL_NAME (insn));
   PUT_SDB_VAL (insn);
index 3ee44bfd559e307454652945d0c76c213a62a07c..463a4182622a7aef0f8366b54b56dfff790df0da 100644 (file)
@@ -193,9 +193,9 @@ const struct gcc_debug_hooks vmsdbg_debug_hooks
    debug_nothing_tree_tree_tree_bool, /* imported_module_or_decl */
    debug_nothing_tree,           /* deferred_inline_function */
    vmsdbgout_abstract_function,
-   debug_nothing_rtx,            /* label */
+   debug_nothing_rtx_code_label,  /* label */
    debug_nothing_int,            /* handle_pch */
-   debug_nothing_rtx,            /* var_location */
+   debug_nothing_rtx_insn,       /* var_location */
    debug_nothing_void,            /* switch_text_section */
    debug_nothing_tree_tree,      /* set_name */
    0,                             /* start_end_main_source_file */