c-ada-spec.c (dump_ada_declaration): Generate a forward declaration for a typedef independently of whether the...
* c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward declaration for a typedef independently of whether the declaration of the subtype is generated. From-SVN: r261058
This commit is contained in:
parent
67e5c59afb
commit
abc24d932c
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
|
||||
declaration for a typedef independently of whether the declaration of
|
||||
the subtype is generated.
|
||||
|
||||
2018-05-31 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/82063
|
||||
|
|
|
@ -2734,19 +2734,25 @@ dump_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc)
|
|||
|
||||
if (TYPE_NAME (typ))
|
||||
{
|
||||
/* If types have same representation, and same name (ignoring
|
||||
casing), then ignore the second type. */
|
||||
/* If the types have the same name (ignoring casing), then ignore
|
||||
the second type, but forward declare the first if need be. */
|
||||
if (type_name (typ) == type_name (TREE_TYPE (t))
|
||||
|| !strcasecmp (type_name (typ), type_name (TREE_TYPE (t))))
|
||||
{
|
||||
if (RECORD_OR_UNION_TYPE_P (typ) && !TREE_VISITED (stub))
|
||||
{
|
||||
INDENT (spc);
|
||||
dump_forward_type (buffer, typ, t, 0);
|
||||
}
|
||||
|
||||
TREE_VISITED (t) = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
INDENT (spc);
|
||||
|
||||
if (RECORD_OR_UNION_TYPE_P (typ))
|
||||
dump_forward_type (buffer, stub, t, spc);
|
||||
if (RECORD_OR_UNION_TYPE_P (typ) && !TREE_VISITED (stub))
|
||||
dump_forward_type (buffer, typ, t, spc);
|
||||
|
||||
pp_string (buffer, "subtype ");
|
||||
dump_ada_node (buffer, t, type, spc, false, true);
|
||||
|
|
Loading…
Add table
Reference in a new issue