CRIS defines DATA_ALIGNMENT such that alignment can be applied differently to different data of the same type, when "references to it must bind to the current definition" (varasm.cc:align_variable). Here, it means that more alignment is then applied to g, but not f, so the test-case fails because another message is emitted than the expected: a same-alignment test dominates the not-discardable test, and we get "Not unifying; original and alias have incompatible alignments" rather than "Not unifying; alias cannot be created; target is discardable". Because this DATA_ALIGNMENT behavior for CRIS depends on target options, and this test is already artificial by the use of -fcommon, better skip it.
* gcc.dg/ipa/pr77653.c: Skip for cris-*-*. --- gcc/testsuite/gcc.dg/ipa/pr77653.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gcc.dg/ipa/pr77653.c b/gcc/testsuite/gcc.dg/ipa/pr77653.c index 2fddb7eab548..16df3fff6a41 100644 --- a/gcc/testsuite/gcc.dg/ipa/pr77653.c +++ b/gcc/testsuite/gcc.dg/ipa/pr77653.c @@ -1,5 +1,6 @@ /* { dg-require-alias "" } */ /* { dg-options "-O2 -fcommon -fdump-ipa-icf-details" } */ +/* { dg-skip-if "Can align g more than f" { cris-*-* } } */ int a, b, c, d, e, h, i, j, k, l; const int f; -- 2.30.2