aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNikhil Benesch <nikhil.benesch@gmail.com>2019-01-15 23:54:37 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-01-15 23:54:37 +0000
commit5686a6b7a67691dcbe5bd669f826f5ce09dd9fc2 (patch)
tree798d1a4753896287ebe7d1578be8232ee6b35293 /gcc
parent1abb44f863d32ef738d28144d2c984603e27721a (diff)
downloadgcc-5686a6b7a67691dcbe5bd669f826f5ce09dd9fc2.zip
gcc-5686a6b7a67691dcbe5bd669f826f5ce09dd9fc2.tar.gz
gcc-5686a6b7a67691dcbe5bd669f826f5ce09dd9fc2.tar.bz2
godump.c (go_output_typedef): When outputting a typedef...
gcc/: * godump.c (go_output_typedef): When outputting a typedef, refer to the underlying type by its name and not its structure. gcc/testsuite: * gcc.misc-tests/godump-1.c: Add test case for typedef before struct. From-SVN: r267958
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/godump.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.misc-tests/godump-1.c5
4 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e1ae217..153a5ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
+
+ * godump.c (go_output_typedef): When outputting a typedef, refer
+ to the underlying type by its name and not its structure.
+
2019-01-15 David Malcolm <dmalcolm@redhat.com>
PR c++/88795
diff --git a/gcc/godump.c b/gcc/godump.c
index 17390b8..617a9648 100644
--- a/gcc/godump.c
+++ b/gcc/godump.c
@@ -1181,7 +1181,7 @@ go_output_typedef (struct godump_container *container, tree decl)
return;
*slot = CONST_CAST (void *, (const void *) type);
- if (!go_format_type (container, TREE_TYPE (decl), false, false, NULL,
+ if (!go_format_type (container, TREE_TYPE (decl), true, false, NULL,
false))
{
fprintf (go_dump_file, "// ");
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d226aa5..f032b48 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
+
+ * gcc.misc-tests/godump-1.c: Add test case for typedef before
+ struct.
+
2019-01-15 David Malcolm <dmalcolm@redhat.com>
PR c++/88795
diff --git a/gcc/testsuite/gcc.misc-tests/godump-1.c b/gcc/testsuite/gcc.misc-tests/godump-1.c
index ee984e5..f97bbec 100644
--- a/gcc/testsuite/gcc.misc-tests/godump-1.c
+++ b/gcc/testsuite/gcc.misc-tests/godump-1.c
@@ -468,6 +468,11 @@ struct { double d; uint8_t : 0; } sd_not_equiv;
typedef struct s_undef_t s_undef_t2;
+typedef struct s_fwd *s_fwd_p;
+/* { dg-final { scan-file godump-1.out "(?n)^type _s_fwd_p \\*_s_fwd$" } } */
+
+struct s_fwd { };
+/* { dg-final { scan-file godump-1.out "(?n)^type _s_fwd struct \{ \}$" } } */
/*** nested structs ***/
typedef struct { struct { uint8_t ca[3]; } s; uint32_t i; } tsn;