Mark Wielaard
bc3518da23
DWARFv5 Emit DW_TAG_atomic_type for C11 _Atomic.
...
This implements the DW_TAG_atomic_type for C11 _Atomic proposal as adopted
in the latest DWARF5 draft. http://dwarfstd.org/ShowIssue.php?issue=131112.1
gcc/ChangeLog
PR debug/60782
* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_ATOMIC.
gcc/testsuite/ChangeLog
PR debug/60782
* gcc.dg/debug/dwarf2/atomic.c: New test.
* gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: Likewise.
include/ChangeLog
PR debug/60782
* dwarf2.def: Add DWARFv5 DW_TAG_atomic_type.
From-SVN: r218496
2014-12-08 22:32:23 +00:00
Mark Wielaard
42bc352001
DWARF add DW_AT_noreturn on noreturn function subprogram.
...
This implements the DWARFv5 noreturn proposal:
http://dwarfstd.org/ShowIssue.php?issue=140331.1
TREE_THIS_VOLATILE on a FUNCTION_DECL node means the function does not
return normally. This catches the traditional noreturn GNU attribute,
the C11 _Noreturn keyword and the C++11 [[noreturn]] attribute.
This relies on the DW_AT_noreturn constant defined in the DWARFv5 DRAFT:
http://www.dwarfstd.org/doc/dwarf5.20141029.pdf
gcc/ChangeLog
* dwarf2out.c (gen_subprogram_die): Add DW_AT_noreturn when the
function decl has TREE_THIS_VOLATILE.
gcc/testsuite/ChangeLog
* g++.dg/debug/dwarf2/noreturn-function.C: New test.
* gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Likewise.
* gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Likewise.
include/ChangeLog
* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.
From-SVN: r218075
2014-11-26 10:10:27 +00:00
Shinichiro Hamaji
d8607f259c
* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
...
(DW_AT_APPLE_isa, DW_AT_APPLE_block)
(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
(DW_AT_APPLE_property): New macros.
From-SVN: r217578
2014-11-14 18:18:34 +01:00
Mark Wielaard
f50592234c
PR debug/63239 Add DWARF representation for C++11 deleted member function.
...
include/ChangeLog
* dwarf2.def (DW_AT_GNU_deleted): New attribute.
gcc/ChangeLog
* dwarf2out.c (gen_subprogram_die): When a member function is
explicitly deleted then add a DW_AT_GNU_deleted attribute.
* langhooks.h (struct lang_hooks_for_decls): Add
function_decl_deleted_p langhook.
* langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
(LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_DELETED_P.
gcc/cp/ChangeLog
* cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
(cp_function_decl_deleted_p): New prototype.
* cp-objcp-common.c (cp_function_deleted_p): New function.
gcc/testsuite/ChangeLog
* g++.dg/debug/dwarf2/deleted-member-function.C: New testcase.
From-SVN: r215901
2014-10-05 15:25:03 +00:00
Dehao Chen
f524d0aa99
dwarf2.def (DW_AT_GNU_discriminator): New attribute.
...
2013-08-19 Dehao Chen <dehao@google.com>
* dwarf2.def (DW_AT_GNU_discriminator): New attribute.
From-SVN: r201855
2013-08-19 20:11:09 +00:00
Cary Coutant
316b938ed7
dwarf2.def: Edit comment.
...
2012-09-06 Cary Coutant <ccoutant@google.com>
include/
* dwarf2.def: Edit comment.
From-SVN: r191046
2012-09-06 16:32:59 -07:00
Doug Evans
1810019879
* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
...
From-SVN: r188759
2012-06-18 23:35:08 +00:00
Jakub Jelinek
c6133dbed2
dwarf2.def (DW_FORM_GNU_ref_alt, [...]): New forms.
...
* dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
forms.
* dwarf2.h (enum dwarf_macro_record_type): Add
DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
and DW_MACRO_GNU_transparent_include_alt.
From-SVN: r188337
2012-06-08 20:48:46 +02:00
Gary Funck
103ab31f69
dwarf2.def: Update comment re: UPC extensions to reference DWARF4 specification.
...
toplevel/include/
* dwarf2.def: Update comment re: UPC extensions to reference
DWARF4 specification.
From-SVN: r187689
2012-05-20 00:55:05 +00:00
Cary Coutant
43f7c4322c
dwarf2.def: Remove DW_FORM_GNU_ref_index, replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.
...
include/
* dwarf2.def: Remove DW_FORM_GNU_ref_index,
replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.
From-SVN: r187061
2012-05-02 11:41:56 -07:00
Doug Evans
d028426aa1
* dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.
...
From-SVN: r186934
2012-04-28 21:37:19 +00:00
Tom Tromey
11ec770e46
dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
...
gcc
* dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
(dwarf_tag_name): Use get_DW_TAG_name.
(dwarf_attr_name): Use get_DW_AT_name.
(dwarf_form_name): Use get_DW_FORM_name.
* dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
include
* dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
(enum dwarf_location_atom, enum dwarf_type, enum
dwarf_call_frame_info): Remove.
(DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
(DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
Include dwarf2.def.
(get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
(get_DW_OP_name, get_DW_ATE_name): Declare.
* dwarf2.def: New file, from dwarf2.h.
libiberty
* dwarfnames.c: New file.
* Makefile.in (CFILES): Add dwarfnames.
(REQUIRED_OFILES): Add dwarfnames.
(./dwarfnames.$(objext)): New target.
From-SVN: r186908
2012-04-27 14:14:14 +00:00