On 10/3/19 4:57 PM, Joseph Myers wrote:
> Various built-in functions that GCC has as extensions are now standard
> functions in C2x. This patch adds DEF_C2X_BUILTIN and uses it to mark
> them as such. Some of the so-marked functions were previously
> DEF_EXT_LIB_BUILTIN, while some DFP ones were DEF_GCC_BUILTIN
> (i.e. __builtin_* only); both sets become DEF_C2X_BUILTIN. This in
> turn requires flag_isoc2x to be defined in various front ends using
> builtins.def.
>
> As the semantics of the built-in functions should already be tested,
> the tests added only verify that they are declared in C2x mode but not
> in C11 mode. The test of DFP built-in functions being declared for
> C2x goes in gcc.dg/dfp/, as while such built-in functions currently
> don't depend on whether DFP is supported, that looks like a bug to me
> (see bug 91985), so it seems best for the tests not to depend on
> exactly how that bug might be fixed.
>
> Bootstrapped with no regressions on x86_64-pc-linux-gnu. OK to
> commit?
>
> Tejas, please note that once this patch is in, future revisions of the
> fadd patch should use DEF_C2X_BUILTIN for the fadd / faddl / daddl
> built-in functions added there.
>
> gcc:
> 2019-10-03 Joseph Myers <jos...@codesourcery.com>
>
> * builtins.def (DEF_C2X_BUILTIN): New macro.
> (exp10, exp10f, exp10l, fabsd32, fabsd64, fabsd128, nand32)
> (nand64, nand128, roundeven, roundevenf, roundevenl, strdup)
> (strndup): Use DEF_C2X_BUILTIN.
> * coretypes.h (enum function_class): Add function_c2x_misc.
>
> gcc/ada:
> 2019-10-03 Joseph Myers <jos...@codesourcery.com>
>
> * gcc-interface/utils.c (flag_isoc2x): New variable.
>
> gcc/brig:
> 2019-10-03 Joseph Myers <jos...@codesourcery.com>
>
> * brig-lang.c (flag_isoc2x): New variable.
>
> gcc/lto:
> 2019-10-03 Joseph Myers <jos...@codesourcery.com>
>
> * lto-lang.c (flag_isoc2x): New variable.
>
> gcc/testsuite:
> 2019-10-03 Joseph Myers <jos...@codesourcery.com>
>
> * gcc.dg/c11-builtins-1.c, gcc.dg/c2x-builtins-1.c,
> gcc.dg/dfp/c2x-builtins-dfp-1.c: New tests.
OK
jeff