Commit Graph

21 Commits

Author SHA1 Message Date
Richard Earnshaw 65793e420e [DWARF] New DWARF operation "DW_OP_AARCH64_operation" for AArch64
include/
	* dwarf2.def (DW_OP_AARCH64_operation): Reserve the number 0xea.
	(DW_CFA_GNU_window_save): Comments the multiplexing on AArch64.


Co-Authored-By: Jiong Wang <jiong.wang@arm.com>

From-SVN: r244055
2017-01-04 14:25:04 +00:00
Jakub Jelinek 2afd3180c5 Update copyright years.
From-SVN: r244052
2017-01-04 12:30:51 +01:00
Jakub Jelinek d8ee9c7e54 dwarf2.def (DW_FORM_ref_sup): Renamed to ...
* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
	(DW_FORM_ref_sup4): ... this.  New form.
	(DW_FORM_ref_sup8): New form.

From-SVN: r243876
2016-12-21 23:48:51 +01:00
Jakub Jelinek 558c7db061 dwarf2.h (enum dwarf_calling_convention): Add new DWARF5 calling convention codes.
* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
	calling convention codes.
	(enum dwarf_line_number_content_type): New.
	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
	codes.
	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
	(enum dwarf_name_index_attribute): New.
	(enum dwarf_range_list_entry): New.
	(enum dwarf_unit_type): New.
	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
	DW_OP_* and DW_ATE_* entries.

From-SVN: r241272
2016-10-17 19:35:33 +02:00
Jakub Jelinek 980bd53780 dwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.
* dwarf2.def (DW_AT_string_length_bit_size,
	DW_AT_string_length_byte_size): New attributes.

	* dwarf2out.c (struct checksum_attributes): Add
	at_string_length_bit_size and at_string_length_byte_size fields.
	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
	and DW_AT_string_length_byte_size.
	(die_checksum_ordered): Handle at_string_length_bit_size and
	at_string_length_byte_size.
	(gen_array_type_die): For dwarf_version >= 5 emit
	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
	(adjust_string_types): For dwarf_version >= 5 remove
	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
	(resolve_addr): Likewise.

From-SVN: r239470
2016-08-15 11:51:44 +02:00
Alexandre Oliva e366d7d807 [PR63240] generate debug info for defaulted member functions
This implements <http://dwarfstd.org/ShowIssue.php?issue=141215.3>, a
proposal already accepted for inclusion in DWARF-5, but using
DW_AT_GNU_defaulted instead of DW_AT_defaulted as the attribute name,
because the attribute id for DW_AT_defaulted is not yet publicly
available.

for  include/ChangeLog

	PR debug/63240
	* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
	* dwarf2.h (enu dwarf_defaulted_attribute): New.

for  gcc/ChangeLog

	PR debug/63240
	* langhooks-def.h
	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
	(LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
	(LANG_HOOKS_DECLS): Add it.
	* langhooks.h (struct lang_hooks_for_decls): Add
	function_decl_defaulted.  Const_tree-ify
	function_decl_explicit_p and function_decl_deleted_p.
	* dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
	attribute.  Add DW_AT_deleted instead of DW_AT_GNU_deleted,
	also at strict DWARF v5.

for  gcc/cp/ChangeLog

	PR debug/63240
	* cp-objcp-common.c (cp_function_decl_defaulted): New.
	(cp_function_decl_explicit_p): Const_tree-ify.
	(cp_function_decl_deleted_p): Likewise.
	* cp-objcp-common.h (cp_function_decl_defaulted): Declare.
	(cp_function_decl_explicit_p): Const_tree-ify.
	(cp_function_decl_deleted_p): Likewise.
	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Redefine.

for  gcc/testsuite/ChangeLog

	PR debug/63240
	* g++.dg/debug/dwarf2/defaulted-member-function-1.C: New.
	* g++.dg/debug/dwarf2/defaulted-member-function-2.C: New.
	* g++.dg/debug/dwarf2/defaulted-member-function-3.C: New.
	* g++.dg/debug/dwarf2/deleted-member-function.C: Expect
	DW_AT_deleted.

From-SVN: r239403
2016-08-12 07:11:50 +00:00
Pierre-Marie de Rodat 9d14780002 DWARF2: add extensions to handle biased types
include/ChangeLog:

	* dwarf2.def (DW_AT_GNU_bias): New attribute.

From-SVN: r226888
2015-08-14 09:48:13 +00:00
Pierre-Marie de Rodat 07d574b4dc DWARF2: add extensions to handle fixed point types
include/ChangeLog:

	* dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
	attributes.

From-SVN: r226887
2015-08-14 09:48:02 +00:00
H.J. Lu 9cefc85619 Update copyright year in include
From-SVN: r225781
2015-07-14 09:08:59 -07:00
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