]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR debug/34249 (FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use...
authorUros Bizjak <ubizjak@gmail.com>
Wed, 16 Jan 2008 11:10:27 +0000 (12:10 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 16 Jan 2008 11:10:27 +0000 (12:10 +0100)
PR debug/34249
* debug.h (dwarf2out_switch_text_section): Move declaration from ...
* dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
function global.
* final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
for DWARF2_UNWIND_INFO targets.

From-SVN: r131570

gcc/ChangeLog
gcc/debug.h
gcc/dwarf2out.c
gcc/final.c

index dd099a44055cb42156083af351266e34be5e71b6..510e56b1532f01cbbecbe2ae6a64b434420933a2 100644 (file)
@@ -1,17 +1,19 @@
+2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR debug/34249
+       * debug.h (dwarf2out_switch_text_section): Move declaration from ...
+       * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
+       function global.
+       * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
+       Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
+       for DWARF2_UNWIND_INFO targets.
+
 2008-01-16  Richard Guenther  <rguenther@suse.de>
 
        PR c/34768
        * c-typeck.c (common_pointer_type): Do not merge inconsistent
        type qualifiers for function types.
 
-2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
-
-       * tree-parloops (gen_parallel_loop): Revert my fix.
-
-2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
-
-       * tree-parloops.c (gen_parallel_loop): Fix previous change, declare li.
-
 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
index 03c80412709ed166a8cfcbdbf7cb24828d1d1280..cab1e2603e2b910716dacc20a640cb9b7feca2b2 100644 (file)
@@ -160,6 +160,7 @@ extern void dwarf2out_frame_finish (void);
 /* Decide whether we want to emit frame unwind information for the current
    translation unit.  */
 extern int dwarf2out_do_frame (void);
+extern void dwarf2out_switch_text_section (void);
 
 extern void debug_flush_symbol_queue (void);
 extern void debug_queue_symbol (tree);
index 6c7f75a251d109ce34041257756861855fb1f6c9..7df2b4626c0974c75313669a980ed18641cbea14 100644 (file)
@@ -3659,7 +3659,6 @@ static void dwarf2out_imported_module_or_decl (tree, tree);
 static void dwarf2out_abstract_function (tree);
 static void dwarf2out_var_location (rtx);
 static void dwarf2out_begin_function (tree);
-static void dwarf2out_switch_text_section (void);
 
 /* The debug hooks structure.  */
 
@@ -7094,7 +7093,7 @@ dwarf2out_note_section_used (void)
     cold_text_section_used = true;
 }
 
-static void
+void
 dwarf2out_switch_text_section (void)
 {
   dw_fde_ref fde;
index 72edbc05acc4ad1dae574382ba321c74b86700b8..a33da0cfd65c797941215e83f356cd8cfcded088 100644 (file)
@@ -1777,7 +1777,13 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
 
        case NOTE_INSN_SWITCH_TEXT_SECTIONS:
          in_cold_section_p = !in_cold_section_p;
-         (*debug_hooks->switch_text_section) ();
+#ifdef DWARF2_UNWIND_INFO
+         if (dwarf2out_do_frame ())
+           dwarf2out_switch_text_section ();
+         else
+#endif
+           (*debug_hooks->switch_text_section) ();
+
          switch_to_section (current_function_section ());
          break;