Hi! As mentioned in the PR, my C FE rvalue folding patch allows folding const variable initializers into the uses of those variables in rvalue contexts more than before, and so we get warnings about UB in the test, because an unprototyped function is cast to a function type with ellipsis in it.
It isn't entirely clear what exactly the test wants to test, as mentioned in the PR, this is one of the options how to solve it, by dropping the const it can't be optimized in the FEs (the optimizers can still figure out the static vars are never written to). Another option would be just add -w to dg-options, another one is const volatile. Regtested on x86_64-linux and i686-linux, ok for trunk? 2017-11-27 Jakub Jelinek <ja...@redhat.com> PR c/83117 * gcc.target/x86_64/abi/ms-sysv/gen.cc (make_do_tests_decl): Drop const from do_test_{u,v}*. --- gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/gen.cc.jj 2017-05-22 10:49:45.000000000 +0200 +++ gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/gen.cc 2017-11-27 11:57:14.889570915 +0100 @@ -392,7 +392,7 @@ static void make_do_tests_decl (const ve continue; comma.reset (); - out << "static __attribute__ ((ms_abi)) long (*const do_test_" + out << "static __attribute__ ((ms_abi)) long (*do_test_" << (unaligned ? "u" : "") << (varargs ? "v" : "") << i << ") ("; Jakub