* dwarf2out.c (TYPE_DECL_IS_STUB): Extend mechanism to all types.

From-SVN: r175535
This commit is contained in:
Eric Botcazou 2011-06-27 14:54:09 +00:00 committed by Eric Botcazou
parent a7af037b11
commit 353b39fa9d
2 changed files with 11 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
* dwarf2out.c (TYPE_DECL_IS_STUB): Extend mechanism to all types.
2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
PR lto/48492

View File

@ -6207,19 +6207,19 @@ skeleton_chain_node;
#endif
/* Define a macro which returns nonzero for a TYPE_DECL which was
implicitly generated for a tagged type.
implicitly generated for a type.
Note that unlike the gcc front end (which generates a NULL named
TYPE_DECL node for each complete tagged type, each array type, and
each function type node created) the g++ front end generates a
_named_ TYPE_DECL node for each tagged type node created.
Note that, unlike the C front-end (which generates a NULL named
TYPE_DECL node for each complete tagged type, each array type,
and each function type node created) the C++ front-end generates
a _named_ TYPE_DECL node for each tagged type node created.
These TYPE_DECLs have DECL_ARTIFICIAL set, so we know not to
generate a DW_TAG_typedef DIE for them. */
generate a DW_TAG_typedef DIE for them. Likewise with the Ada
front-end, but for each type, tagged or not. */
#define TYPE_DECL_IS_STUB(decl) \
(DECL_NAME (decl) == NULL_TREE \
|| (DECL_ARTIFICIAL (decl) \
&& is_tagged_type (TREE_TYPE (decl)) \
&& ((decl == TYPE_STUB_DECL (TREE_TYPE (decl))) \
/* This is necessary for stub decls that \
appear in nested inline functions. */ \