diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/dwarf2out.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc5f1a3..09b82ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -26,6 +26,9 @@ 2005-04-11 Geoffrey Keating <geoffk@apple.com> + * dwarf2out.c (output_line_info): Don't try to dereference + a NULL current_function_decl. + * config/t-slibgcc-darwin: Don't put shared libraries in directories other than $(slibdir). * config/rs6000/darwin.h: Find -m64 libgcc under the name the diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index a7b2b86..aebefd4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7662,7 +7662,7 @@ output_line_info (void) long line_delta; unsigned long current_file; unsigned long function; - struct function *cfun = DECL_STRUCT_FUNCTION (current_function_decl); + struct function *cfun; ASM_GENERATE_INTERNAL_LABEL (l1, LINE_NUMBER_BEGIN_LABEL, 0); ASM_GENERATE_INTERNAL_LABEL (l2, LINE_NUMBER_END_LABEL, 0); @@ -7732,6 +7732,11 @@ output_line_info (void) a series of state machine operations. */ current_file = 1; current_line = 1; + + if (current_function_decl) + cfun = DECL_STRUCT_FUNCTION (current_function_decl); + else + cfun = NULL; if (last_text_section == in_unlikely_executed_text || (last_text_section == in_named && last_text_section_name == cfun->unlikely_text_section_name)) |
