diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2016-11-13 17:37:35 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2016-11-13 17:37:35 +0000 |
commit | 4be719cdc2bc900370de83e1cce1f3c7eb4a8ba6 (patch) | |
tree | 3537b60c1c3fed6aaa55f61e5a866f181e9baa4c /gcc | |
parent | 4ebd491f2aed6d174c976f07d67c4b957f71391d (diff) | |
download | gcc-4be719cdc2bc900370de83e1cce1f3c7eb4a8ba6.zip gcc-4be719cdc2bc900370de83e1cce1f3c7eb4a8ba6.tar.gz gcc-4be719cdc2bc900370de83e1cce1f3c7eb4a8ba6.tar.bz2 |
c-ada-spec.c (print_ada_declaration): For typedef declarations...
* c-ada-spec.c (print_ada_declaration): For typedef declarations, look
for nested types only if the type is a record or union and dump SLOC.
From-SVN: r242356
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-ada-spec.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/dump-ada-spec-6.c | 10 |
4 files changed, 22 insertions, 2 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 55c2e60..8c99b75 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2016-11-13 Eric Botcazou <ebotcazou@adacore.com> + + * c-ada-spec.c (print_ada_declaration): For typedef declarations, look + for nested types only if the type is a record or union and dump SLOC. + 2016-11-09 Jason Merrill <jason@redhat.com> * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c index a5395b6..42a2cd3 100644 --- a/gcc/c-family/c-ada-spec.c +++ b/gcc/c-family/c-ada-spec.c @@ -2813,7 +2813,7 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc) } else { - if (!TREE_VISITED (stub) + if (RECORD_OR_UNION_TYPE_P (typ) && DECL_SOURCE_FILE (stub) == source_file_base) dump_nested_types (buffer, stub, stub, true, spc); @@ -2821,7 +2821,8 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc) dump_generic_ada_node (buffer, t, type, spc, false, true); pp_string (buffer, " is "); dump_generic_ada_node (buffer, typ, type, spc, false, true); - pp_semicolon (buffer); + pp_string (buffer, "; -- "); + dump_sloc (buffer, t); } TREE_VISITED (t) = 1; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 37ddec7..ee0282c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2016-11-13 Eric Botcazou <ebotcazou@adacore.com> + * c-c++-common/dump-ada-spec-6.c: New test. + +2016-11-13 Eric Botcazou <ebotcazou@adacore.com> + * gnat.dg/lto21.adb: New test. * gnat.dg/lto21_pkg1.ads: New helper. * gnat.dg/lto21_pkg2.ad[sb]: Likewise. diff --git a/gcc/testsuite/c-c++-common/dump-ada-spec-6.c b/gcc/testsuite/c-c++-common/dump-ada-spec-6.c new file mode 100644 index 0000000..fb31b3b --- /dev/null +++ b/gcc/testsuite/c-c++-common/dump-ada-spec-6.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-fdump-ada-spec" } */ + +typedef enum { + Zero +} MyEnum; + +typedef MyEnum SomethingElse; + +/* { dg-final { cleanup-ada-spec } } */ |