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.
>

Reply via email to