diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-05-03 08:45:29 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-05-03 08:45:29 +0200 |
commit | 4041b42a3b146af00af167a486608c8da5febf55 (patch) | |
tree | c315b794a7b26a9fc9e7d759a2c6a65864b1f22e /gcc/c | |
parent | 67fef366b039fcd7655c57a9bb098d31391fb3b9 (diff) | |
download | gcc-4041b42a3b146af00af167a486608c8da5febf55.zip gcc-4041b42a3b146af00af167a486608c8da5febf55.tar.gz gcc-4041b42a3b146af00af167a486608c8da5febf55.tar.bz2 |
backport: re PR c/80468 (ICE on invalid AVX512 code with -m32)
Backported from mainline
2017-04-21 Jakub Jelinek <jakub@redhat.com>
PR c/80468
* c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
enabled, set specs->type to integer_type_node.
* gcc.dg/pr80468.c: New test.
From-SVN: r247534
Diffstat (limited to 'gcc/c')
-rw-r--r-- | gcc/c/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/c/c-decl.c | 9 |
2 files changed, 15 insertions, 3 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 2324203..922e190 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,12 @@ +2017-05-03 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2017-04-21 Jakub Jelinek <jakub@redhat.com> + + PR c/80468 + * c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not + enabled, set specs->type to integer_type_node. + 2017-05-02 Release Manager * GCC 7.1.0 released. diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index 53c390c..64a11079 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -10929,9 +10929,12 @@ finish_declspecs (struct c_declspecs *specs) case cts_int_n: gcc_assert (!specs->long_p && !specs->short_p && !specs->long_long_p); gcc_assert (!(specs->signed_p && specs->unsigned_p)); - specs->type = (specs->unsigned_p - ? int_n_trees[specs->int_n_idx].unsigned_type - : int_n_trees[specs->int_n_idx].signed_type); + if (! int_n_enabled_p[specs->int_n_idx]) + specs->type = integer_type_node; + else + specs->type = (specs->unsigned_p + ? int_n_trees[specs->int_n_idx].unsigned_type + : int_n_trees[specs->int_n_idx].signed_type); if (specs->complex_p) { pedwarn (specs->locations[cdw_complex], OPT_Wpedantic, |