aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-06-10 23:50:10 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-06-10 23:50:10 +0200
commit50f30e6b07fbc68fefb6ecf1e585f8087c21715d (patch)
tree19d0a572c3e27e5190c6222479a445537eaaf039
parent156755acc094b11f5f26644888536feb519c5036 (diff)
downloadgcc-50f30e6b07fbc68fefb6ecf1e585f8087c21715d.zip
gcc-50f30e6b07fbc68fefb6ecf1e585f8087c21715d.tar.gz
gcc-50f30e6b07fbc68fefb6ecf1e585f8087c21715d.tar.bz2
re PR c/6809 (GCC 3.1 cc1 crashes if -fverbose-asm is specified)
PR c/6809 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields. * gcc.dg/20020530-1.c: New test. From-SVN: r54463
-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 fd4663b..347b5ba 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 da8a052..f4c92d4 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 a0a0de5..91db3bc 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 0000000..b2d0ecd
--- /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;
+}