From: Richard Henderson Date: Thu, 29 Jul 2004 18:35:54 +0000 (-0700) Subject: stmtexpr2.C (alt1): Rename from expected. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4b9a3b371b16c88a732bca139e67f5591a8c64f2;p=gcc.git stmtexpr2.C (alt1): Rename from expected. * g++.dg/ext/stmtexpr2.C (alt1): Rename from expected. (alt2, which): New. (Check): Accept either alternative. From-SVN: r85313 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b82965cecde..c0b972c54d2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -2,6 +2,10 @@ * g++.dg/template/sizeof8.C: Don't assume 32bit pointers. + * g++.dg/ext/stmtexpr2.C (alt1): Rename from expected. + (alt2, which): New. + (Check): Accept either alternative. + 2004-07-29 Mark Mitchell * g++.dg/abi/inline1.C: New test. diff --git a/gcc/testsuite/g++.dg/ext/stmtexpr2.C b/gcc/testsuite/g++.dg/ext/stmtexpr2.C index 7294577348f..5301103d46d 100644 --- a/gcc/testsuite/g++.dg/ext/stmtexpr2.C +++ b/gcc/testsuite/g++.dg/ext/stmtexpr2.C @@ -4,19 +4,31 @@ extern "C" int printf (char const *, ...); extern "C" void abort (); -static unsigned int expected[] = { - 11, 10, 21, 110, 111, 121 -}; +// There are two alternate legal renderings. +static unsigned int alt1[] = { 11, 10, 21, 110, 111, 121 }; +static unsigned int alt2[] = { 10, 11, 21, 111, 110, 121 }; + static unsigned int pointer = 0; +static unsigned int *which; static void Check (unsigned t, unsigned i, void const *ptr, char const *name) { printf ("%d %d %p %s\n", t, i, ptr, name); - if (pointer > sizeof(expected)/sizeof(expected[0])) + if (pointer > sizeof(alt1)/sizeof(alt1[0])) abort (); - if (t + i != expected[pointer++]) + if (pointer == 0) + { + if (t + i == alt1[0]) + which = &alt1[0]; + else if (t + i == alt2[0]) + which = &alt2[0]; + else + abort (); + } + else if (t + i != which[pointer]) abort (); + pointer++; } struct A