On Tue, Dec 12, 2017 at 1:57 AM, Martin Sebor <mse...@gmail.com> wrote: > My enhancement to improve the detection of attribute collisions > introduced a regression of sorts in the g++.dg/pr53037-4.C test > on ia64. > > https://gcc.gnu.org/ml/gcc-testresults/2017-12/msg00672.html > > The regression hasn't been noticed anywhere else only because > all the other targets apparently have no low limit on function > alignment, whereas ia64 has a limit of 32. As a result of > the limit the i64 compiler would issue not one but two errors > for a function declaration with attribute warn_if_not_aligned > that specifies a value less than 32: > one for the attribute itself (because it's not allowed on > functions), > and another for the lower value. > > The attached patch fixes this by issuing the error only for > attribute aligned with a lower requirement but not attribute > warn_if_not_aligned. > > I tried to come up with a test for this that would fail on > other targets besides ia64 (those with no low bound on > function alignment) but couldn't find a way to do it. If > someone knows of a way I'd be glad to add a better test > than pr53037-4.C.
Ok. Richard. > Martin