aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-12-08 19:03:40 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-12-08 19:03:40 +0100
commit4e37eb44cee16c38d36802f4748bb175be2aadb8 (patch)
tree4b32010721bc7d4d4caef10a35f123a3c0bf3887 /gcc
parent179d2f74d481593a39387918f89ef5766d9c64ea (diff)
downloadgcc-4e37eb44cee16c38d36802f4748bb175be2aadb8.zip
gcc-4e37eb44cee16c38d36802f4748bb175be2aadb8.tar.gz
gcc-4e37eb44cee16c38d36802f4748bb175be2aadb8.tar.bz2
re PR c/35442 (Completely broken diagnostic with view_convert_expr)
PR c/35442 * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle VIEW_CONVERT_EXPR the same as CASE_CONVERT. * gcc.dg/pr35442.c: New test. From-SVN: r142558
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-pretty-print.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr35442.c11
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2489791..4a35cf4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/35442
+ * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
+ VIEW_CONVERT_EXPR the same as CASE_CONVERT.
+
2008-12-08 Richard Henderson <rth@redhat.com>
PR 38240
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index cf1c6c3..cc36679 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -1629,6 +1629,7 @@ pp_c_cast_expression (c_pretty_printer *pp, tree e)
case FLOAT_EXPR:
case FIX_TRUNC_EXPR:
CASE_CONVERT:
+ case VIEW_CONVERT_EXPR:
pp_c_type_cast (pp, TREE_TYPE (e));
pp_c_cast_expression (pp, TREE_OPERAND (e, 0));
break;
@@ -2020,6 +2021,7 @@ pp_c_expression (c_pretty_printer *pp, tree e)
case FLOAT_EXPR:
case FIX_TRUNC_EXPR:
CASE_CONVERT:
+ case VIEW_CONVERT_EXPR:
pp_c_cast_expression (pp, e);
break;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 696d82a..84fd621 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/35442
+ * gcc.dg/pr35442.c: New test.
+
2008-12-07 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/string_comparison.adb: New test.
diff --git a/gcc/testsuite/gcc.dg/pr35442.c b/gcc/testsuite/gcc.dg/pr35442.c
new file mode 100644
index 0000000..4f1e3cc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr35442.c
@@ -0,0 +1,11 @@
+/* PR c/35442 */
+/* { dg-bogus "not supported by" "" { target *-*-* } 0 } */
+
+typedef char A __attribute__ ((vector_size (64)));
+typedef int B __attribute__ ((vector_size (64)));
+
+void
+foo (A a)
+{
+ ((B) a) (); /* { dg-error "is not a function" } */
+}