From 07c70c29affe7c6d01ab37cc7bc725fd1351f668 Mon Sep 17 00:00:00 2001 From: Sunil K Pandey Date: Fri, 24 Jul 2020 14:08:41 -0700 Subject: [PATCH] Add testcase to show kernel issue got fixed by pr95237 [PR96192] 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 0000000..4d9be06 --- /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.7.4