diff options
author | Jan Hubicka <jh@suse.cz> | 2003-10-22 22:20:19 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-10-22 20:20:19 +0000 |
commit | ae0f347754397f3a7c3f63c6ce305bbd8ba0f057 (patch) | |
tree | 8e6f8fdc4504eb41afc181b4d9d8be23f3d7dbcd | |
parent | eab09cdf1a45d70f86d48138d81c8541bae9b2d4 (diff) | |
download | gcc-ae0f347754397f3a7c3f63c6ce305bbd8ba0f057.zip gcc-ae0f347754397f3a7c3f63c6ce305bbd8ba0f057.tar.gz gcc-ae0f347754397f3a7c3f63c6ce305bbd8ba0f057.tar.bz2 |
dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check presence of DW_AT_inline.
* dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check presence of DW_AT_inline.
(gen_subprogram_die): Likewise; do not abort instead of emitting DW_AT_not_inline
From-SVN: r72821
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd9d632..853980a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2003-10-22 Jan Hubicka <jh@suse.cz> + * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check presence of DW_AT_inline. + (gen_subprogram_die): Likewise; do not abort instead of emitting DW_AT_not_inline + +2003-10-22 Jan Hubicka <jh@suse.cz> + * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when global info is not ready. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 32b9332..96eb7c4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10525,7 +10525,7 @@ dwarf2out_abstract_function (tree decl) decl = DECL_ORIGIN (decl); old_die = lookup_decl_die (decl); - if (old_die && get_AT_unsigned (old_die, DW_AT_inline)) + if (old_die && get_AT (old_die, DW_AT_inline)) /* We've already generated the abstract instance. */ return; @@ -10602,7 +10602,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) /* We can have a normal definition following an inline one in the case of redefinition of GNU C extern inlines. It seems reasonable to use AT_specification in this case. */ - && !get_AT_unsigned (old_die, DW_AT_inline)) + && !get_AT (old_die, DW_AT_inline)) { /* ??? This can happen if there is a bug in the program, for instance, if it has duplicate function definitions. Ideally, @@ -10672,7 +10672,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) if (declaration) { - if (!old_die || !get_AT_unsigned (old_die, DW_AT_inline)) + if (!old_die || !get_AT (old_die, DW_AT_inline)) { add_AT_flag (subr_die, DW_AT_declaration, 1); @@ -10698,14 +10698,14 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) if (cgraph_function_possibly_inlined_p (decl)) add_AT_unsigned (subr_die, DW_AT_inline, DW_INL_inlined); else - abort (); + add_AT_unsigned (subr_die, DW_AT_inline, DW_INL_not_inlined); } equate_decl_number_to_die (decl, subr_die); } else if (!DECL_EXTERNAL (decl)) { - if (!old_die || !get_AT_unsigned (old_die, DW_AT_inline)) + if (!old_die || !get_AT (old_die, DW_AT_inline)) equate_decl_number_to_die (decl, subr_die); ASM_GENERATE_INTERNAL_LABEL (label_id, FUNC_BEGIN_LABEL, |