On Fri, Jul 24, 2020 at 2:08 PM Sunil K Pandey <skpg...@gmail.com> wrote: > > This test case, extracted from PR 95645, was failing because alignment > of local long long variable got lowered from 8 bytes to 4 bytes in > adjust alignment pass, which triggered assert failure. > > This test case passes now because PR 95237 fix only allows lowering of > alignment of local variables in the front end. As a result, alignment > of local long long variable no longer gets lowered in adjust alignment > pass. > > gcc/testsuite/ChangeLog: > > PR target/96192 > * c-c++-common/pr96192-1.c: New test. > --- > gcc/testsuite/c-c++-common/pr96192-1.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > create mode 100644 gcc/testsuite/c-c++-common/pr96192-1.c > > diff --git a/gcc/testsuite/c-c++-common/pr96192-1.c > b/gcc/testsuite/c-c++-common/pr96192-1.c > new file mode 100644 > index 00000000000..4d9be06a045 > --- /dev/null > +++ b/gcc/testsuite/c-c++-common/pr96192-1.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile { target ia32 } } */ > +/* { dg-options "-mpreferred-stack-boundary=2 -Os -w" } */ > + > +int a; > + > +long long > +b (void) > +{ > +} > + > +void > +c (void) > +{ > + if (b()) > + a = 1; > +} > -- > 2.25.4 >
I am checking in this patch for Sunil. -- H.J.