aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Li <davidxl@google.com>2012-12-13 18:33:50 +0000
committerDavid Li <davidxl@google.com>2012-12-13 18:33:50 +0000
commit07d54223568714dbf61ac81cae3f079159c58d10 (patch)
tree29b24b17cb79ef3b84fc9541d395ff52097297df
parent8ef7aca5ad25513efad7a7a89ed964438bb3cf95 (diff)
Fix b/7731863
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/google/gcc-4_7@194483 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/coverage.c1
-rw-r--r--gcc/l-ipo.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 6dabe4e4529..f8b021a9d81 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -335,6 +335,7 @@ static struct opt_desc force_matching_cg_opts[] =
{ "-fexceptions", "-fno-exceptions", true },
{ "-fsized-delete", "-fno-sized-delete", false },
{ "-frtti", "-fno-rtti", true },
+ { "-fstrict-aliasing", "-fno-strict-aliasing", true },
{ NULL, NULL, false }
};
diff --git a/gcc/l-ipo.c b/gcc/l-ipo.c
index 915adc51f59..3da3824cf97 100644
--- a/gcc/l-ipo.c
+++ b/gcc/l-ipo.c
@@ -671,8 +671,9 @@ lipo_cmp_type (tree t1, tree t2)
case COMPLEX_TYPE:
return lipo_cmp_type (TREE_TYPE (t1), TREE_TYPE (t2));
case ARRAY_TYPE:
- return (lipo_cmp_type (TYPE_DOMAIN (t1), TYPE_DOMAIN (t2))
- && lipo_cmp_type (TREE_TYPE (t1), TREE_TYPE (t2)));
+ return (TYPE_DOMAIN (t1) == NULL || TYPE_DOMAIN (t2) == NULL
+ || (lipo_cmp_type (TYPE_DOMAIN (t1), TYPE_DOMAIN (t2))
+ && lipo_cmp_type (TREE_TYPE (t1), TREE_TYPE (t2))));
case METHOD_TYPE:
return lipo_cmp_type (TYPE_METHOD_BASETYPE (t1),
TYPE_METHOD_BASETYPE (t2));