aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-11-19 16:00:41 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-11-19 15:00:41 +0000
commitf615cb162df6f026d7f8798a74f0241df43251b1 (patch)
treefc1e22c90dcdf5436ad0f5164e3bad31ae6dc0d9
parent4cb3570c8c453a830589b717d8519daa31ec7468 (diff)
downloadgcc-f615cb162df6f026d7f8798a74f0241df43251b1.zip
gcc-f615cb162df6f026d7f8798a74f0241df43251b1.tar.gz
gcc-f615cb162df6f026d7f8798a74f0241df43251b1.tar.bz2
Fix condition in lto-symtab.c (PR lto/88077).
2018-11-19 Martin Liska <mliska@suse.cz> PR lto/88077 * lto-symtab.c (lto_symtab_merge): Transform the condition before r256989. 2018-11-19 Martin Liska <mliska@suse.cz> PR lto/88077 * gcc.dg/lto/pr88077_0.c: New test. * gcc.dg/lto/pr88077_1.c: New test. From-SVN: r266277
-rw-r--r--gcc/lto/ChangeLog6
-rw-r--r--gcc/lto/lto-symtab.c5
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr88077_0.c3
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr88077_1.c6
5 files changed, 24 insertions, 2 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 4798663..4731e3f 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,9 @@
+2018-11-19 Martin Liska <mliska@suse.cz>
+
+ PR lto/88077
+ * lto-symtab.c (lto_symtab_merge): Transform the
+ condition before r256989.
+
2018-11-16 Martin Liska <mliska@suse.cz>
PR lto/88004
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index 18437eb..d018a16 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -374,8 +374,9 @@ lto_symtab_merge (symtab_node *prevailing, symtab_node *entry)
int a[]={1,2,3};
here the first declaration is COMMON
and sizeof(a) == sizeof (int). */
- else if (TREE_CODE (type) == ARRAY_TYPE)
- return (TYPE_SIZE (decl) == TYPE_SIZE (TREE_TYPE (type)));
+ else if (TREE_CODE (type) != ARRAY_TYPE
+ || (TYPE_SIZE (type) != TYPE_SIZE (TREE_TYPE (type))))
+ return false;
}
return true;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0c86721..2b9f0c4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -19,6 +19,12 @@
2018-11-19 Martin Liska <mliska@suse.cz>
+ PR lto/88077
+ * gcc.dg/lto/pr88077_0.c: New test.
+ * gcc.dg/lto/pr88077_1.c: New test.
+
+2018-11-19 Martin Liska <mliska@suse.cz>
+
* g++.dg/gcov/pr84548.C: Remove remove-gcda.
* g++.dg/gcov/ternary.C: Likewise.
* lib/gcov.exp: Support pattern of following form:
diff --git a/gcc/testsuite/gcc.dg/lto/pr88077_0.c b/gcc/testsuite/gcc.dg/lto/pr88077_0.c
new file mode 100644
index 0000000..9e464b6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr88077_0.c
@@ -0,0 +1,3 @@
+/* { dg-lto-do link } */
+
+int HeaderStr;
diff --git a/gcc/testsuite/gcc.dg/lto/pr88077_1.c b/gcc/testsuite/gcc.dg/lto/pr88077_1.c
new file mode 100644
index 0000000..fd3de3e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr88077_1.c
@@ -0,0 +1,6 @@
+char HeaderStr[1];
+
+int main()
+{
+ return 0;
+}