From 4f538d42772a6089366a80d20fac26905bcd6749 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 25 Aug 2008 18:51:24 +0000 Subject: [PATCH] rs6000.c (rs6000_handle_altivec_attribute): Propagate all type qualifiers from element type to vector type. 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 From-SVN: r139569 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 6 ++++-- gcc/testsuite/ChangeLog | 5 +++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be61419..bd4b67b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-08-25 Ulrich Weigand + + * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate + all type qualifiers from element type to vector type. + 2008-08-25 David Daney * config/mips/mips.md (immediate_insn): Move up in file, fix diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 0f2779e..79ca119 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4406270..f2202f4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-08-25 Ulrich Weigand + Andrew Pinski + + * gcc.target/powerpc/altivec-volatile.c: New test. + 2008-08-25 Daniel Kraft * gfortran.dg/extends_7.f03: New test. -- 2.7.4