summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 21:50:10 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 21:50:10 +0000
commit6fff0335f84b4fbc80fe510b02694c2bb4c2d73b (patch)
tree19d0a572c3e27e5190c6222479a445537eaaf039 /gcc
parentd20ef498d9e65d6d7f33e075e926df7b22d346cc (diff)
downloadppe42-gcc-6fff0335f84b4fbc80fe510b02694c2bb4c2d73b.tar.gz
ppe42-gcc-6fff0335f84b4fbc80fe510b02694c2bb4c2d73b.zip
PR c/6809
* print-rtl.c (print_mem_expr): Don't crash on unnamed fields. * gcc.dg/20020530-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54463 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/print-rtl.c5
-rw-r--r--gcc/testsuite/ChangeLog2
-rw-r--r--gcc/testsuite/gcc.dg/20020530-1.c20
4 files changed, 30 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd4663b875f..347b5bacc13 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2002-06-10 Jakub Jelinek <jakub@redhat.com>
+ PR c/6809
+ * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
+
+2002-06-10 Jakub Jelinek <jakub@redhat.com>
+
PR optimization/6842
* combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
operand subreg cannot be simplified.
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index da8a0520a05..f4c92d4ca62 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -88,8 +88,9 @@ print_mem_expr (outfile, expr)
print_mem_expr (outfile, TREE_OPERAND (expr, 0));
else
fputs (" <variable>", outfile);
- fprintf (outfile, ".%s",
- IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (expr, 1))));
+ if (DECL_NAME (TREE_OPERAND (expr, 1)))
+ fprintf (outfile, ".%s",
+ IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (expr, 1))));
}
else if (DECL_NAME (expr))
fprintf (outfile, " %s", IDENTIFIER_POINTER (DECL_NAME (expr)));
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a0a0de58aae..91db3bc36ab 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -6,6 +6,8 @@
* gcc.dg/20020531-1.c: New test.
+ * gcc.dg/20020530-1.c: New test.
+
2002-06-07 Roger Sayle <roger@eyesopen.com>
* gcc.dg/20020607-2.c: New test case.
diff --git a/gcc/testsuite/gcc.dg/20020530-1.c b/gcc/testsuite/gcc.dg/20020530-1.c
new file mode 100644
index 00000000000..b2d0ecda511
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20020530-1.c
@@ -0,0 +1,20 @@
+/* PR c/6809
+ Test -fverbose-asm with unnamed fields. */
+/* { dg-do compile } */
+/* { dg-options "-fverbose-asm" } */
+
+typedef union U
+{
+ struct
+ {
+ unsigned int a;
+ int b;
+ };
+ long long c;
+} *T;
+
+int foo (T x)
+{
+ int r = x->a + x->b;
+ return r;
+}
OpenPOWER on IntegriCloud