diff gcc/debug.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents 855418dad1a3
children f6334be47118
line wrap: on
line diff
--- a/gcc/debug.h	Sun Feb 07 18:28:00 2010 +0900
+++ b/gcc/debug.h	Fri Feb 12 23:39:51 2010 +0900
@@ -63,12 +63,12 @@
      though the BLOCK information is messed up.  Defaults to true.  */
   bool (* ignore_block) (const_tree);
 
-  /* Record a source file location at (FILE, LINE).  */
-  void (* source_line) (unsigned int line, const char *file);
+  /* Record a source file location at (FILE, LINE, DISCRIMINATOR).  */
+  void (* source_line) (unsigned int line, const char *file,
+                        int discriminator, bool is_stmt);
 
   /* Called at start of prologue code.  LINE is the first line in the
-     function.  This has been given the same prototype as source_line,
-     so that the source_line hook can be substituted if appropriate.  */
+     function.  */
   void (* begin_prologue) (unsigned int line, const char *file);
 
   /* Called at end of prologue code.  LINE is the first line in the
@@ -130,6 +130,35 @@
      text sections.  */
   void (* switch_text_section) (void);
 
+  /* Records a direct call to the function DECL, noting the point of call
+     and the debug info for the function.  Called from final_scan_insn
+     when ICF debugging is enabled.  */
+  void (* direct_call) (tree decl);
+
+  /* Records the OBJ_TYPE_REF_TOKEN for a virtual call through ADDR, which
+     for C++ is the vtable slot index, noting the INSN_UID for the call
+     instruction.  Called from calls.c:emit_call_1 when ICF debugging is
+     enabled.  It's necessary to do this during lowering because the
+     call instruction and the OBJ_TYPE_REF become separated after that
+     point.  */
+  void (* virtual_call_token) (tree addr, int insn_uid);
+
+  /* Copies the OBJ_TYPE_REF_TOKEN for a virtual call from OLD_INSN to
+     NEW_INSN.  Called from emit-rtl.c:try_split when a CALL_INSN is
+     split, so that the vtable slot index remains associated with the
+     new CALL_INSN.  */
+  void (* copy_call_info) (rtx old_insn, rtx new_insn);
+
+  /* Records a virtual call given INSN_UID, which is the UID of the call
+     instruction.  The UID is then mapped to the vtable slot index noted
+     during the lowering phase.  Called from final_scan_insn when ICF
+     debugging is enabled.  */
+  void (* virtual_call) (int insn_uid);
+
+  /* Called from grokdeclarator.  Replaces the anonymous name with the
+     type name.  */
+  void (* set_name) (tree, tree);
+
   /* This is 1 if the debug writer wants to see start and end commands for the
      main source files, and 0 otherwise.  */
   int start_end_main_source_file;
@@ -141,13 +170,18 @@
 extern void debug_nothing_void (void);
 extern void debug_nothing_charstar (const char *);
 extern void debug_nothing_int_charstar (unsigned int, const char *);
+extern void debug_nothing_int_charstar_int_bool (unsigned int, const char *,
+                                                 int, bool);
 extern void debug_nothing_int (unsigned int);
 extern void debug_nothing_int_int (unsigned int, unsigned int);
 extern void debug_nothing_tree (tree);
+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_uid (int);
 
 /* Hooks for various debug formats.  */
 extern const struct gcc_debug_hooks do_nothing_debug_hooks;