aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2013-09-08 06:16:24 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2013-09-08 07:16:24 +0100
commit0af94e6f263316ba608487859827f87696bbf377 (patch)
tree0f2eee7eebbfbdf1341ac9855aa139be01e1a520 /gcc/cp
parentdde03143093de0c0fff6f424dd0676ab5d005bbb (diff)
downloadgcc-0af94e6f263316ba608487859827f87696bbf377.zip
gcc-0af94e6f263316ba608487859827f87696bbf377.tar.gz
gcc-0af94e6f263316ba608487859827f87696bbf377.tar.bz2
c-common.c (same_scalar_type_ignoring_signedness): Delete.
gcc/c-family: * c-common.c (same_scalar_type_ignoring_signedness): Delete. (vector_types_compatible_elements_p): New function. * c-common.h: (same_scalar_type_ignoring_signedness): Delete declaration. (vector_types_compatible_elements_p): Declare. gcc/c: * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p. gcc/cp: * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p. gcc/testsuite: * c-c++-common/opaque-vector.c: New test. From-SVN: r202364
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/typeck.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index be8258d..af230f57 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
+
2013-09-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/24926
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index b4abbc5..6c48f24 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -4554,7 +4554,8 @@ cp_build_binary_op (location_t location,
vector_compare:
tree intt;
if (!same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (type0),
- TREE_TYPE (type1)))
+ TREE_TYPE (type1))
+ && !vector_types_compatible_elements_p (type0, type1))
{
if (complain & tf_error)
{
@@ -4670,8 +4671,7 @@ cp_build_binary_op (location_t location,
if (code0 == VECTOR_TYPE && code1 == VECTOR_TYPE)
{
if (!tree_int_cst_equal (TYPE_SIZE (type0), TYPE_SIZE (type1))
- || !same_scalar_type_ignoring_signedness (TREE_TYPE (type0),
- TREE_TYPE (type1)))
+ || !vector_types_compatible_elements_p (type0, type1))
{
if (complain & tf_error)
binary_op_error (location, code, type0, type1);