On Mon, Nov 24, 2025 at 4:06 PM Rainer Orth <[email protected]> wrote: > > The {gcc,g++}.target/i386 tests that use dg-final { check-function-bodies } > need addititional options on Solaris/x86. So far, those tests have been > updated manually to add the required -fdwarf2-cfi-asm > -fasynchronous-unwind-tables. However, this has two issues: > > * Those Solaris-only options make dg-options harder to read, although > they do no harm on other targets. > > * Besides, the need for those options repeated got forgotten for each > new bunch of such tests. > > To avoid that problem in the future, this patch introduces a new > dg-add-options feature, check_function_bodies, that adds those options > exactly on the targets that need it. It both improves readability and > will hopefully not be forgotten again for future tests. > > Tested on i386-pc-solaris2.11 with as/ld and gas/ld, and > x86_64-pc-linux-gnu. > > Ok for trunk?
LGTM, but in fact, this is mostly a solaris patch. Thanks, Uros. > > This patch uncovered a couple of tests that still FAIL on Solaris > afterwards. I'll address those failures in follow-ups. > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University > > > 2025-11-21 Rainer Orth <[email protected]> > > gcc: > * doc/sourcebuild.texi (Add Options): Document > check_function_bodies. > > gcc/testsuite: > * lib/target-supports.exp (add_options_for_check_function_bodies): > New proc. > > * g++.target/i386/cf_check-3.C: Add dg-add-options > check_function_bodies. > * g++.target/i386/cf_check-4.C: Likewise. > * gcc.target/i386/builtin-copysign-2.c: Likewise. > * gcc.target/i386/builtin-copysign-3.c: Likewise. > * gcc.target/i386/builtin-copysign-4.c: Likewise. > * gcc.target/i386/builtin-copysign-5.c: Likewise. > * gcc.target/i386/builtin-copysign-6.c: Likewise. > * gcc.target/i386/builtin-copysign-7.c: Likewise. > * gcc.target/i386/builtin-copysign-8a.c: Likewise. > * gcc.target/i386/builtin-copysign-8b.c: Likewise. > * gcc.target/i386/builtin-fabs-1.c: Likewise. > * gcc.target/i386/builtin-memmove-10.c: Likewise. > * gcc.target/i386/builtin-memmove-11a.c: Likewise. > * gcc.target/i386/builtin-memmove-11b.c: Likewise. > * gcc.target/i386/builtin-memmove-11c.c: Likewise. > * gcc.target/i386/builtin-memmove-12.c: Likewise. > * gcc.target/i386/builtin-memmove-13.c: Likewise. > * gcc.target/i386/builtin-memmove-14.c: Likewise. > * gcc.target/i386/builtin-memmove-15.c: Likewise. > * gcc.target/i386/builtin-memmove-1a.c: Likewise. > * gcc.target/i386/builtin-memmove-1b.c: Likewise. > * gcc.target/i386/builtin-memmove-1c.c: Likewise. > * gcc.target/i386/builtin-memmove-1d.c: Likewise. > * gcc.target/i386/builtin-memmove-2a.c: Likewise. > * gcc.target/i386/builtin-memmove-2b.c: Likewise. > * gcc.target/i386/builtin-memmove-2c.c: Likewise. > * gcc.target/i386/builtin-memmove-2d.c: Likewise. > * gcc.target/i386/builtin-memmove-3a.c: Likewise. > * gcc.target/i386/builtin-memmove-3b.c: Likewise. > * gcc.target/i386/builtin-memmove-3c.c: Likewise. > * gcc.target/i386/builtin-memmove-4a.c: Likewise. > * gcc.target/i386/builtin-memmove-4b.c: Likewise. > * gcc.target/i386/builtin-memmove-4c.c: Likewise. > * gcc.target/i386/builtin-memmove-5a.c: Likewise. > * gcc.target/i386/builtin-memmove-5b.c: Likewise. > * gcc.target/i386/builtin-memmove-5c.c: Likewise. > * gcc.target/i386/builtin-memmove-6.c: Likewise. > * gcc.target/i386/builtin-memmove-7.c: Likewise. > * gcc.target/i386/builtin-memmove-8.c: Likewise. > * gcc.target/i386/builtin-memmove-9.c: Likewise. > * gcc.target/i386/cf_check-11.c: Likewise. > * gcc.target/i386/cf_check-7.c: Likewise. > * gcc.target/i386/pr120936-1.c: Likewise. > * gcc.target/i386/pr120936-11.c: Likewise. > * gcc.target/i386/pr120936-2.c: Likewise. > * gcc.target/i386/pr120936-4.c: Likewise. > * gcc.target/i386/pr120936-5.c: Likewise. > * gcc.target/i386/pr120936-9.c: Likewise. > > * g++.target/i386/memset-pr101366-1.C: Switch to dg-add-options > check_function_bodies. > * g++.target/i386/memset-pr101366-2.C: Likewise. > * g++.target/i386/memset-pr108585-1a.C: Likewise. > * g++.target/i386/memset-pr108585-1b.C: Likewise. > * g++.target/i386/memset-pr118276-1a.C: Likewise. > * g++.target/i386/memset-pr118276-1b.C: Likewise. > * g++.target/i386/memset-pr118276-1c.C: Likewise. > * gcc.target/i386/memcpy-pr120683-1.c: Likewise. > * gcc.target/i386/memcpy-pr120683-2.c: Likewise. > * gcc.target/i386/memcpy-pr120683-3.c: Likewise. > * gcc.target/i386/memcpy-pr120683-4.c: Likewise. > * gcc.target/i386/memcpy-pr120683-5.c: Likewise. > * gcc.target/i386/memcpy-pr120683-6.c: Likewise. > * gcc.target/i386/memcpy-pr120683-7.c: Likewise. > * gcc.target/i386/memcpy-strategy-12.c: Likewise. > * gcc.target/i386/memset-pr120683-1.c: Likewise. > * gcc.target/i386/memset-pr120683-10.c: Likewise. > * gcc.target/i386/memset-pr120683-11.c: Likewise. > * gcc.target/i386/memset-pr120683-12.c: Likewise. > * gcc.target/i386/memset-pr120683-13.c: Likewise. > * gcc.target/i386/memset-pr120683-14.c: Likewise. > * gcc.target/i386/memset-pr120683-15.c: Likewise. > * gcc.target/i386/memset-pr120683-16.c: Likewise. > * gcc.target/i386/memset-pr120683-17.c: Likewise. > * gcc.target/i386/memset-pr120683-18.c: Likewise. > * gcc.target/i386/memset-pr120683-19.c: Likewise. > * gcc.target/i386/memset-pr120683-2.c: Likewise. > * gcc.target/i386/memset-pr120683-20.c: Likewise. > * gcc.target/i386/memset-pr120683-21.c: Likewise. > * gcc.target/i386/memset-pr120683-22.c: Likewise. > * gcc.target/i386/memset-pr120683-23.c: Likewise. > * gcc.target/i386/memset-pr120683-3.c: Likewise. > * gcc.target/i386/memset-pr120683-4.c: Likewise. > * gcc.target/i386/memset-pr120683-5.c: Likewise. > * gcc.target/i386/memset-pr120683-6.c: Likewise. > * gcc.target/i386/memset-pr120683-7.c: Likewise. > * gcc.target/i386/memset-pr120683-8.c: Likewise. > * gcc.target/i386/memset-pr120683-9.c: Likewise. > * gcc.target/i386/memset-pr70308-1a.c: Likewise. > * gcc.target/i386/memset-pr70308-1b.c: Likewise. > * gcc.target/i386/memset-strategy-10.c: Likewise. > * gcc.target/i386/memset-strategy-13.c: Likewise. > * gcc.target/i386/memset-strategy-25.c: Likewise. > * gcc.target/i386/memset-strategy-28.c: Likewise. > * gcc.target/i386/memset-strategy-29.c: Likewise. > * gcc.target/i386/memset-strategy-30.c: Likewise. > * gcc.target/i386/pr111673.c: Likewise. > * gcc.target/i386/pr82142a.c: Likewise. > * gcc.target/i386/pr82142b.c: Likewise. > * gcc.target/i386/pr92080-17.c: Likewise. >
