diff options
author | David Li <davidxl@google.com> | 2012-12-13 18:33:50 +0000 |
---|---|---|
committer | David Li <davidxl@google.com> | 2012-12-13 18:33:50 +0000 |
commit | 07d54223568714dbf61ac81cae3f079159c58d10 (patch) | |
tree | 29b24b17cb79ef3b84fc9541d395ff52097297df | |
parent | 8ef7aca5ad25513efad7a7a89ed964438bb3cf95 (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.c | 1 | ||||
-rw-r--r-- | gcc/l-ipo.c | 5 |
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)); |