re PR target/86662 (msp430-elf segfault with -flto and -mlarge)

PR target/86662

        * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array
        with all enabled __intN types.

        * gcc/testsuite/gcc.target/msp430/pr86662.c: New test.

From-SVN: r263332
This commit is contained in:
Jozef Lawrynowicz 2018-08-06 10:29:17 +00:00 committed by Jozef Lawrynowicz
parent 8df47bdf99
commit edbbb166f7
3 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2018-08-06 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR target/86662
* gcc/tree.c (build_common_tree_nodes): Initialize integer_types array
with all enabled __intN types.
* gcc/testsuite/gcc.target/msp430/pr86662.c: New test.
2018-08-06 Alan Hayward <alan.hayward@arm.com>
* alias.c (record_set): Check for clobber high.

View File

@ -0,0 +1,13 @@
/* PR/86662 */
/* { dg-do link } */
/* -nostdlib prevents link errors due to mismatched code models for
libgloss objects. */
/* { dg-options "-mlarge -flto -nostdlib" } */
/* { dg-skip-if "" { *-*-* } { "-mcpu=msp430" } } */
int main(void)
{
__int20 n = 5;
return 0;
}

View File

@ -9802,8 +9802,7 @@ build_common_tree_nodes (bool signed_char)
int_n_trees[i].signed_type = make_signed_type (int_n_data[i].bitsize);
int_n_trees[i].unsigned_type = make_unsigned_type (int_n_data[i].bitsize);
if (int_n_data[i].bitsize > LONG_LONG_TYPE_SIZE
&& int_n_enabled_p[i])
if (int_n_enabled_p[i])
{
integer_types[itk_intN_0 + i * 2] = int_n_trees[i].signed_type;
integer_types[itk_unsigned_intN_0 + i * 2] = int_n_trees[i].unsigned_type;