rs6000.c (rs6000_handle_altivec_attribute): Propagate all type qualifiers from elemen...
authorUlrich Weigand <uweigand@de.ibm.com>
Mon, 25 Aug 2008 18:51:24 +0000 (18:51 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 25 Aug 2008 18:51:24 +0000 (18:51 +0000)
ChangeLog:

* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate
all type qualifiers from element type to vector type.

testsuite/ChangeLog:

* gcc.target/powerpc/altivec-volatile.c: New test.

Co-Authored-By: Andrew Pinski <andrew_pinski@playstation.sony.com>
From-SVN: r139569

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog

index be61419..bd4b67b 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-25  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate
+       all type qualifiers from element type to vector type.
+
 2008-08-25  David Daney  <ddaney@avtrex.com>
 
        * config/mips/mips.md (immediate_insn): Move up in file, fix
index 0f2779e..79ca119 100644 (file)
@@ -20294,8 +20294,10 @@ rs6000_handle_altivec_attribute (tree *node,
     default: break;
     }
 
-  if (result && result != type && TYPE_READONLY (type))
-    result = build_qualified_type (result, TYPE_QUAL_CONST);
+  /* Propagate qualifiers attached to the element type
+     onto the vector type.  */
+  if (result && result != type && TYPE_QUALS (type))
+    result = build_qualified_type (result, TYPE_QUALS (type));
 
   *no_add_attrs = true;  /* No need to hang on to the attribute.  */
 
index 4406270..f2202f4 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-25  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+           Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * gcc.target/powerpc/altivec-volatile.c: New test.
+
 2008-08-25  Daniel Kraft  <d@domob.eu>
 
        * gfortran.dg/extends_7.f03: New test.