On 10/29/24 11:29 AM, Joseph Myers wrote:
On Thu, 24 Oct 2024, Joseph Myers wrote:
Among the changes of test results with a -std=gnu23 default were two
tests changing from PASS to UNSUPPORTED:
UNSUPPORTED: gcc.dg/simulate-thread/speculative-store.c -O2 -g thread
simulation test
UNSUPPORTED: gcc.dg/simulate-thread/speculative-store.c -O3 -g thread
simulation test
It appears that functions defined with () becoming prototyped affects
inlining, and changing the code to use (void) allows UNSUPPORTED
results to be reproduced with -std=gnu17. Add __attribute__
((noinline)) on one more function to avoid the UNSUPPORTED results;
some of the tests in this directory already have such an attribute on
some functions.
Tested for x86_64-pc-linux-gnu. OK to commit?
* gcc.dg/simulate-thread/simulate-thread.h
(simulate_thread_wrapper_final_verify): Mark noinline.
Linaro CI reported regressions for this on arm-linux-gnueabihf:
| FAIL: gcc.dg/simulate-thread/atomic-load-longlong.c -O2 -g thread
simulation test
| FAIL: gcc.dg/simulate-thread/atomic-load-longlong.c -O3 -g thread
simulation test
Examining the logs shows they are "Testcase exceeded maximum instruction
count threshold", and that there is already such a failure the Linaro CI
is considering expected for the -O0 test and for several other
simulate-thread tests.
Thus, I propose that we do not consider the failures reported by Linaro CI
as something to block this testsuite patch (which still needs review, as
does my -std=gnu17 patch for gcc.dg/pr114115.c) but rather as a reasonable
consequence of adding a noinline attribute to a test that already seems
marginal on this target system for whether it can complete within the
resource limits.
Agreed.
jeff