tree.c (fld_simplified_type): Temporarily disable array simplification.

* tree.c (fld_simplified_type): Temporarily disable array
	simplification.

	* gcc.c-torture/pr88140.c: New testcase.

From-SVN: r267398
This commit is contained in:
Jan Hubicka 2018-12-24 12:21:25 +01:00 committed by Jan Hubicka
parent d840d7a2bb
commit 77e9f49535
4 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2018-12-24 Jan Hubicka <hubicka@ucw.cz>
PR lto/88140
* tree.c (fld_simplified_type): Temporarily disable array
simplification.
2018-12-24 Jan Hubicka <hubicka@ucw.cz>
* lto-symtab.c (lto_symtab_merge_decls_2): Do not report ODR violations

View File

@ -1,3 +1,8 @@
2018-12-24 Jan Hubicka <hubicka@ucw.cz>
PR lto/88140
* gcc.c-torture/pr88140.c: New testcase.
2018-12-24 Iain Sandoe <iain@sandoe.co.uk>
PR testsuite/67974

View File

@ -0,0 +1,19 @@
typedef struct {
} a;
typedef struct {
a *b[0];
} c;
void d() { ((c *)0)->b[0] = 0; }
typedef struct {
} a;
typedef struct {
a *b[0];
} c;
void d() { ((c *)0)->b[0] = 0; }

View File

@ -5372,7 +5372,8 @@ fld_simplified_type (tree t, struct free_lang_data_d *fld)
return t;
if (POINTER_TYPE_P (t))
return fld_incomplete_type_of (t, fld);
if (TREE_CODE (t) == ARRAY_TYPE)
/* FIXME: This triggers verification error, see PR88140. */
if (TREE_CODE (t) == ARRAY_TYPE && 0)
return fld_process_array_type (t, fld_simplified_type (TREE_TYPE (t), fld),
fld_simplified_types, fld);
return t;