]> git.ipfire.org Git - thirdparty/gcc.git/commit
DWARF: add a language hook for scalar biased types
authorpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Dec 2015 14:10:24 +0000 (14:10 +0000)
committerpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Dec 2015 14:10:24 +0000 (14:10 +0000)
commite0501e5ff8e317a259967c6e87f11357fd65c6d4
tree4b1283cf84906d22bbc457ae4eb42f1b824396c1
parent584cdd4fbf89854054b1a2174f2ec8f3be953199
DWARF: add a language hook for scalar biased types

Front-ends like GNAT for Ada sometimes use biased encodings for integral
types.  This change creates a new language hook so that the bias
information can make it into the debugging information back-end and
introduces an experimental DWARF attribute to hold it.

gcc/ada/ChangeLog:

* gcc-interface/misc.c (gnat_get_type_bias): New.
(LANG_HOOKS_GET_TYPE_BIAS): Redefine macro to implement the
get_type_bias language hook.

gcc/ChangeLog:

* langhooks.h (struct lang_hooks_for_types): New get_bias_field.
* langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the
get_bias_field.
* dwarf2out.c
(base_type_die): In non-strict DWARF mode, invoke the
get_type_bias language hook for INTEGER_TYPE nodes.  If it
returns a bias, emit an attribute for it.
(subrange_type_die): Change signature to handle bias.  If
non-strict DWARF mode, emit an attribute for it, if one passed.
(modified_type_die): For subrange types, invoke the
get_type_bias langage hook and pass the bias to
subrange_type_die.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231767 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/misc.c
gcc/dwarf2out.c
gcc/langhooks-def.h
gcc/langhooks.h