OSDN Git Service

2008-03-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Mar 2008 03:32:13 +0000 (03:32 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Mar 2008 03:32:13 +0000 (03:32 +0000)
        PR target/31588
        * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
        error_mark_node's.

2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/31588
        * g++.dg/ext/altivec-15.C: New testcase.

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

gcc/ChangeLog
gcc/config/rs6000/rs6000-c.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/altivec-15.C [new file with mode: 0644]

index 70c9ec3..824dabd 100644 (file)
@@ -1,3 +1,9 @@
+2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/31588
+       * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
+       error_mark_node's.
+
 2008-03-25  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR rtl-optimization/35232
 2008-03-25  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR rtl-optimization/35232
index 0853711..d0830bb 100644 (file)
@@ -2421,6 +2421,8 @@ rs6000_builtin_type_compatible (tree t, int id)
 {
   tree builtin_type;
   builtin_type = rs6000_builtin_type (id);
 {
   tree builtin_type;
   builtin_type = rs6000_builtin_type (id);
+  if (t == error_mark_node)
+    return false;
   if (INTEGRAL_TYPE_P (t) && INTEGRAL_TYPE_P (builtin_type))
     return true;
   else
   if (INTEGRAL_TYPE_P (t) && INTEGRAL_TYPE_P (builtin_type))
     return true;
   else
index 8ba4e6e..66c0e0c 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/31588
+       * g++.dg/ext/altivec-15.C: New testcase.
+
 2008-03-25  Andrew Pinski  <pinskia@gmail.com>
 
        PR objc/29197
 2008-03-25  Andrew Pinski  <pinskia@gmail.com>
 
        PR objc/29197
diff --git a/gcc/testsuite/g++.dg/ext/altivec-15.C b/gcc/testsuite/g++.dg/ext/altivec-15.C
new file mode 100644 (file)
index 0000000..c300348
--- /dev/null
@@ -0,0 +1,13 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
+/* { dg-options "-maltivec" } */
+
+struct SubData
+{
+    inline const Float Clamp(Float f, Float f0, Float f1) // { dg-error "" }
+    }
+    inline const void SinCos(Float angle, Float& sine, Float& cosine) // { dg-error "" }
+    {
+        C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0); // { dg-error "" }
+        C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1); // { dg-error "" }
+