diff options
author | Andrew Pinski <andrew_pinski@playstation.sony.com> | 2009-01-05 22:27:48 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2009-01-05 14:27:48 -0800 |
commit | e4e5261f2007b11c1136df16fee633caeeb10154 (patch) | |
tree | 71687dd989b69df6ba933cc02fd86a6983bf67fe /gcc/c-common.c | |
parent | 381009fe75fca1b2c0440e101fa46a2decdbb0fa (diff) | |
download | gcc-e4e5261f2007b11c1136df16fee633caeeb10154.zip gcc-e4e5261f2007b11c1136df16fee633caeeb10154.tar.gz gcc-e4e5261f2007b11c1136df16fee633caeeb10154.tar.bz2 |
re PR c/34911 (ICE with vectors of bool)
2009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c/34911
* c-common.c (handle_vector_size_attribute): Also reject BOOLEAN_TYPE types.
2009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c/34911
* gcc.dg/vector-3.c: New testcase.
* g++.dg/ext/vector15.C: New test.
From-SVN: r143099
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index d08a25b..b94ac1b 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -6544,7 +6544,8 @@ handle_vector_size_attribute (tree *node, tree name, tree args, || (!SCALAR_FLOAT_MODE_P (orig_mode) && GET_MODE_CLASS (orig_mode) != MODE_INT && !ALL_SCALAR_FIXED_POINT_MODE_P (orig_mode)) - || !host_integerp (TYPE_SIZE_UNIT (type), 1)) + || !host_integerp (TYPE_SIZE_UNIT (type), 1) + || TREE_CODE (type) == BOOLEAN_TYPE) { error ("invalid vector type for attribute %qE", name); return NULL_TREE; |