/cp
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Jan 2008 02:30:31 +0000 (02:30 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Jan 2008 02:30:31 +0000 (02:30 +0000)
2008-01-20  Paolo Carlini  <pcarlini@suse.de>

        PR c++/34891
        * error.c (dump_expr): Deal with VIEW_CONVERT_EXPR.

/testsuite
2008-01-20  Paolo Carlini  <pcarlini@suse.de>

        PR c++/34891
        * g++.dg/ext/vector9.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131687 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/error.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/vector9.C [new file with mode: 0644]

index 453ad48..7d3e339 100644 (file)
@@ -1,5 +1,10 @@
 2008-01-20  Paolo Carlini  <pcarlini@suse.de>
 
+        PR c++/34891
+        * error.c (dump_expr): Deal with VIEW_CONVERT_EXPR.
+
+2008-01-20  Paolo Carlini  <pcarlini@suse.de>
+
         PR c++/34776
        PR c++/34486
         * name-lookup.c (do_class_using_decl): Do not call constructor_name_p
index b589fd2..41a83bf 100644 (file)
@@ -1785,6 +1785,7 @@ dump_expr (tree t, int flags)
 
     case NOP_EXPR:
     case CONVERT_EXPR:
+    case VIEW_CONVERT_EXPR:
       {
        tree op = TREE_OPERAND (t, 0);
 
index f45329e..f3e4f01 100644 (file)
@@ -1,5 +1,10 @@
 2008-01-20  Paolo Carlini  <pcarlini@suse.de>
 
+        PR c++/34891
+        * g++.dg/ext/vector9.C: New.
+
+2008-01-20  Paolo Carlini  <pcarlini@suse.de>
+
         PR c++/34776
        PR c++/34486
         * g++.dg/template/crash75.C: New.
diff --git a/gcc/testsuite/g++.dg/ext/vector9.C b/gcc/testsuite/g++.dg/ext/vector9.C
new file mode 100644 (file)
index 0000000..8691cf1
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/34891
+
+typedef float v4f __attribute__((vector_size(8)));
+typedef int   v4i __attribute__((vector_size(8)));
+
+void foo()
+{
+  v4f v;
+  !(v4i)v; // { dg-error "int __vector__|argument" }
+}