diff options
author | Douglas B Rupp <rupp@gnat.com> | 2010-06-25 18:49:36 +0000 |
---|---|---|
committer | Douglas Rupp <rupp@gcc.gnu.org> | 2010-06-25 18:49:36 +0000 |
commit | 8e7745dce20f0cf618b50afab811955e37a7da10 (patch) | |
tree | 7b24c98ceafdd26537ce1ffb8a7338ee0e8b357b /gcc/dwarf2out.c | |
parent | 5c8b27d7da8d5ba797bb4156caef9ad855f4d96d (diff) | |
download | gcc-8e7745dce20f0cf618b50afab811955e37a7da10.zip gcc-8e7745dce20f0cf618b50afab811955e37a7da10.tar.gz gcc-8e7745dce20f0cf618b50afab811955e37a7da10.tar.bz2 |
dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
* config/ia64/ia64-protos.h (ia64_start_function): Declare.
* config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
to ia64_start_function. Invoke it.
* config/ia64/ia64.c (ia64_start_function): Call new function
dwarf2out_vms_debug_main_pointer.
From-SVN: r161402
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 5c4999d..ecfb37e 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17414,6 +17414,39 @@ add_name_and_src_coords_attributes (dw_die_ref die, tree decl) #endif } +#ifdef VMS_DEBUGGING_INFO + +/* Output the debug main pointer die for VMS */ + +void +dwarf2out_vms_debug_main_pointer (void) +{ + char label[MAX_ARTIFICIAL_LABEL_BYTES]; + dw_die_ref die; + + /* Allocate the VMS debug main subprogram die. */ + die = ggc_alloc_cleared_die_node (); + die->die_tag = DW_TAG_subprogram; + add_name_attribute (die, VMS_DEBUG_MAIN_POINTER); + ASM_GENERATE_INTERNAL_LABEL (label, PROLOGUE_END_LABEL, + current_function_funcdef_no); + add_AT_lbl_id (die, DW_AT_entry_pc, label); + + /* Make it the first child of comp_unit_die. */ + die->die_parent = comp_unit_die; + if (comp_unit_die->die_child) + { + die->die_sib = comp_unit_die->die_child->die_sib; + comp_unit_die->die_child->die_sib = die; + } + else + { + die->die_sib = die; + comp_unit_die->die_child = die; + } +} +#endif + /* Push a new declaration scope. */ static void |