re PR target/78849 (ICE on initialization of global struct containing __int20 array at varasm.c:4968)
PR target/78849 * gcc/tree.c (build_common_tree_nodes): Dont set TYPE_SIZE for __intN types. PR target/78849 * gcc.target/msp430/msp430.exp: Remove -pedantic-errors from DEFAULT_CFLAGS. * gcc.target/msp430/pr78849.c: New test. From-SVN: r260627
This commit is contained in:
parent
54fd159056
commit
2aece9c199
@ -1,4 +1,10 @@
|
||||
2017-05-23 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
2018-05-23 Jozef Lawrynowicz <jozef.l@somniumtech.com>
|
||||
|
||||
PR target/78849
|
||||
* gcc/tree.c (build_common_tree_nodes): Dont set TYPE_SIZE for __intN
|
||||
types.
|
||||
|
||||
2018-05-23 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
* doc/sourcebuild.texi (Endianness): New subsubsection.
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
2018-05-23 Jozef Lawrynowicz <jozef.l@somniumtech.com>
|
||||
|
||||
PR target/78849
|
||||
* gcc.target/msp430/msp430.exp: Remove -pedantic-errors from
|
||||
DEFAULT_CFLAGS.
|
||||
* gcc.target/msp430/pr78849.c: New test.
|
||||
|
||||
2018-05-23 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
* g++.dg/cpp2a/range-for8.C: New test.
|
||||
|
@ -24,10 +24,15 @@ if { ![istarget msp430-*-*] } then {
|
||||
# Load support procs.
|
||||
load_lib gcc-dg.exp
|
||||
|
||||
# If a testcase doesn't have special options, use these.
|
||||
# The '-pedantic-errors' option in the global variable DEFAULT_CFLAGS that is
|
||||
# set by other drivers causes an error when the __int20 type is used, so remove
|
||||
# this option from DEFAULT_CFLAGS for the msp430 tests.
|
||||
global DEFAULT_CFLAGS
|
||||
if ![info exists DEFAULT_CFLAGS] then {
|
||||
set DEFAULT_CFLAGS ""
|
||||
if [info exists DEFAULT_CFLAGS] then {
|
||||
set MSP430_DEFAULT_CFLAGS \
|
||||
[ string map { "-pedantic-errors" "" } $DEFAULT_CFLAGS ]
|
||||
} else {
|
||||
set MSP430_DEFAULT_CFLAGS ""
|
||||
}
|
||||
|
||||
# Initialize `dg'.
|
||||
@ -35,7 +40,7 @@ dg-init
|
||||
|
||||
# Main loop.
|
||||
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
|
||||
"" $DEFAULT_CFLAGS
|
||||
"" $MSP430_DEFAULT_CFLAGS
|
||||
|
||||
# All done.
|
||||
dg-finish
|
||||
|
50
gcc/testsuite/gcc.target/msp430/pr78849.c
Normal file
50
gcc/testsuite/gcc.target/msp430/pr78849.c
Normal file
@ -0,0 +1,50 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-final { scan-assembler ".size.*instance.*52" } } */
|
||||
|
||||
struct t_inner
|
||||
{
|
||||
__int20 a;
|
||||
char val1;
|
||||
__int20 b[3];
|
||||
char val2;
|
||||
};
|
||||
|
||||
struct t_full
|
||||
{
|
||||
__int20 array[2];
|
||||
char val1;
|
||||
struct t_inner bb[2];
|
||||
char val2;
|
||||
};
|
||||
|
||||
struct t_full instance =
|
||||
{
|
||||
{
|
||||
4231,
|
||||
3212,
|
||||
},
|
||||
5,
|
||||
{
|
||||
{
|
||||
87680,
|
||||
20,
|
||||
{
|
||||
2534,
|
||||
3,
|
||||
41,
|
||||
},
|
||||
55,
|
||||
},
|
||||
{
|
||||
567,
|
||||
4,
|
||||
{
|
||||
43522,
|
||||
5433,
|
||||
454,
|
||||
},
|
||||
88,
|
||||
},
|
||||
},
|
||||
8,
|
||||
};
|
@ -9785,8 +9785,6 @@ 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);
|
||||
TYPE_SIZE (int_n_trees[i].signed_type) = bitsize_int (int_n_data[i].bitsize);
|
||||
TYPE_SIZE (int_n_trees[i].unsigned_type) = bitsize_int (int_n_data[i].bitsize);
|
||||
|
||||
if (int_n_data[i].bitsize > LONG_LONG_TYPE_SIZE
|
||||
&& int_n_enabled_p[i])
|
||||
|
Loading…
x
Reference in New Issue
Block a user