[Bug target/102347] "fatal error: target specific builtin not available" with MMA and LTO

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 1 18:17:30 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102347

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by William Schmidt <wschmidt@gcc.gnu.org>:

https://gcc.gnu.org/g:d683a1b3e89007211a7c800bb61647d8ac42cb6b

commit r12-5695-gd683a1b3e89007211a7c800bb61647d8ac42cb6b
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Wed Dec 1 09:20:15 2021 -0600

    rs6000: Mirror fix for PR102347 in new builtins support

    Recently Kewen fixed a problem in the old builtins support where
    rs6000_builtin_decl prematurely indicated that a target builtin is
    unavailable.  This also needs to be done for the new builtins support, but
in
    this case we have to ensure the error message is still produced from the
    overload support in rs6000-c.c.  Unfortunately, this is less
straightforward
    than it could be, because header file includes need to be adjusted to make
this
    happen.  Someday we'll consolidate all the builtin code in one file and
this
    won't have to be so ugly.

    2021-12-01  Bill Schmidt  <wschmidt@linux.ibm.com>

    gcc/
            PR target/102347
            * config/rs6000/rs6000-c.c (rs6000-builtins.h): Stop including.
            (rs6000-internal.h): Include.
            (altivec_resolve_new_overloaded_builtin): Move call to
            rs6000_invalid_new_builtin here from rs6000_new_builtin_decl.
            * config/rs6000/rs6000-call.c (rs6000-builtins.h): Stop including.
            (rs6000_invalid_new_builtin): Remove static qualifier.
            (rs6000_new_builtin_decl): Remove test for supported builtin.
            * config/rs6000/rs6000-internal.h (rs6000-builtins.h): Include.
            (rs6000_invalid_new_builtin): Declare.
            * config/rs6000/rs6000.c (rs6000-builtins.h): Don't include.


More information about the Gcc-bugs mailing list