summaryrefslogtreecommitdiff
path: root/gcc/cp/semantics.c
diff options
context:
space:
mode:
authorramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-15 16:43:36 +0000
committerramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-15 16:43:36 +0000
commitbf0cb017167f62d6b1d8df4406cafbbd97a3d1ce (patch)
tree34f7a064595da572aed1a04a8148dbb4e3dc6805 /gcc/cp/semantics.c
parentd0acfa5924d9943312c9c30d36ad6c8a1fbcad25 (diff)
downloadgcc-bf0cb017167f62d6b1d8df4406cafbbd97a3d1ce.tar.gz
2012-06-15 Marc Glisse <marc.glisse@inria.fr>
PR c++/51033 * c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c. * c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h. cp/ 2012-06-15 Marc Glisse <marc.glisse@inria.fr> PR c++/51033 * semantics.c (literal_type_p): Handle VECTOR_TYPE. (potential_constant_expression_1): Handle VEC_PERM_EXPR. * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE. c-family 2012-06-15 Marc Glisse <marc.glisse@inria.fr> PR c++/51033 * c-common.h (c_build_vec_perm_expr): Move decl here. * c-common.c (c_build_vec_perm_expr): Move definition here. 2012-06-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> PR c++/51033 * c-c++-common/torture/vshuf-16.inc: Move from gcc.c-torture/execute/. * c-c++-common/torture/vshuf-2.inc: Likewise. * c-c++-common/torture/vshuf-4.inc: Likewise. * c-c++-common/torture/vshuf-8.inc: Likewise. * c-c++-common/torture/vshuf-main.inc: Likewise. * c-c++-common/torture/vshuf-v16hi.c: Likewise. * c-c++-common/torture/vshuf-v16qi.c: Likewise. * c-c++-common/torture/vshuf-v2df.c: Likewise. * c-c++-common/torture/vshuf-v2di.c: Likewise. * c-c++-common/torture/vshuf-v2sf.c: Likewise. * c-c++-common/torture/vshuf-v2si.c: Likewise. * c-c++-common/torture/vshuf-v4df.c: Likewise. * c-c++-common/torture/vshuf-v4di.c: Likewise. * c-c++-common/torture/vshuf-v4hi.c: Likewise. * c-c++-common/torture/vshuf-v4sf.c: Likewise. * c-c++-common/torture/vshuf-v4si.c: Likewise. * c-c++-common/torture/vshuf-v8hi.c: Likewise. * c-c++-common/torture/vshuf-v8qi.c: Likewise. * c-c++-common/torture/vshuf-v8si.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188671 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r--gcc/cp/semantics.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index f8ad2a5884a..ee418616992 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -5622,6 +5622,7 @@ bool
literal_type_p (tree t)
{
if (SCALAR_TYPE_P (t)
+ || TREE_CODE (t) == VECTOR_TYPE
|| TREE_CODE (t) == REFERENCE_TYPE)
return true;
if (CLASS_TYPE_P (t))
@@ -8505,6 +8506,7 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
return true;
case FMA_EXPR:
+ case VEC_PERM_EXPR:
for (i = 0; i < 3; ++i)
if (!potential_constant_expression_1 (TREE_OPERAND (t, i),
true, flags))