c/100547 - reject overly large vector_size attributes
authorRichard Biener <rguenther@suse.de>
Wed, 12 May 2021 07:20:17 +0000 (09:20 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 18 May 2021 07:03:24 +0000 (09:03 +0200)
commit4054472b3fa15e11ccd48190f5e3ecfc89d65af9
tree0262bbd39afb7f883b8a48e4dfbd73d582069b88
parent7e75d62442fc3707c96c53d22f6c185fdf893c72
c/100547 - reject overly large vector_size attributes

This rejects a number of vector components that does not fit an 'int'
which is an internal limitation of RTVEC.  This requires adjusting
gcc.dg/attr-vector_size.c which checks for much larger
supported vectors.  Note that the RTVEC limitation is a host specific
limitation (unless we change this 'int' to int32_t), but should be
32bits in practice everywhere.

2021-05-12  Richard Biener  <rguenther@suse.de>

PR c/100547
gcc/c-family/
* c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
Reword existing nunit diagnostic.

gcc/testsuite/
* gcc.dg/pr100547.c: New testcase.
* gcc.dg/attr-vector_size.c: Adjust.
gcc/c-family/c-attribs.c
gcc/testsuite/gcc.dg/attr-vector_size.c
gcc/testsuite/gcc.dg/pr100547.c [new file with mode: 0644]