Replace match.pd DEFINE_MATH_FNs with auto-generated lists
commitff690865f1bd81b60e0479701db3ac0303d2fef2
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Nov 2015 18:49:10 +0000 (17 18:49 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Nov 2015 18:49:10 +0000 (17 18:49 +0000)
treef6a69b77920259ec90eb2b68484d7e14ca6135ff
parent9bac11b75df2ea37ee667b39bef3015aef857332
Replace match.pd DEFINE_MATH_FNs with auto-generated lists

This patch autogenerates the operator lists for maths functions
like SQRT, adding an additional entry for internal functions.
E.g.:

        (define_operator_list SQRT
            BUILT_IN_SQRTF
            BUILT_IN_SQRT
            BUILT_IN_SQRTL
            IFN_SQRT)

and:

        (define_operator_list CABS
            BUILT_IN_CABSF
            BUILT_IN_CABS
            BUILT_IN_CABSL
            null)

(since there's no internal function for CABS).

Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.

gcc/
* Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd.
(generated_files): Likewise.
(s-cfn-operators, cfn-operators.pd): New rules.
(s-match): Depend on cfn-operators.pd.
* gencfn-macros.c: Expand comment to describe -o behavior.
(print_define_operator_list): New function.
(main): Accept -o.  Call print_define_operator_list.
* genmatch.c (main): Add the current directory to the include path.
* match.pd (DEFINE_MATH_FN): Delete.  Include cfn-operators.pd
instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230486 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/gencfn-macros.c
gcc/genmatch.c
gcc/match.pd