OSDN Git Service

* tree-complex.c (expand_complex_libcall): New.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Feb 2005 00:26:57 +0000 (00:26 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Feb 2005 00:26:57 +0000 (00:26 +0000)
commit0dfc45b5614725c49ee4d16ad5cd04dde5fb1912
treed07cd0c8b8b5189a1a0ffc5396fe8bf7003febf4
parent94a53c2d0659a2871fb6c3df953df115a1673d04
    * tree-complex.c (expand_complex_libcall): New.
        (expand_complex_multiplication): Use it for c99 compliance.
        (expand_complex_division): Likewise.
        * fold-const.c (fold_complex_add, fold_complex_mult): New.
        (fold): Call them.
        * builtins.c (built_in_names): Remove const.
        * tree.c (build_common_builtin_nodes): Build complex arithmetic
        builtins.
        * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
        (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
        (built_in_names): Remove const.
        * c-common.c (c_common_type_for_mode): Handle complex modes.
        * flags.h, toplev.c (flag_complex_method): Rename from
        flag_complex_divide_method.
        * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
        __mulsc3, __muldc3, __mulxc3, __multc3): New.
        * libgcc2.h: Declare them.
        * libgcc-std.ver: Export them.
        * mklibgcc.in (lib2funcs): Build them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94909 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/c-common.c
gcc/flags.h
gcc/fold-const.c
gcc/libgcc-std.ver
gcc/libgcc2.c
gcc/libgcc2.h
gcc/mklibgcc.in
gcc/toplev.c
gcc/tree-complex.c
gcc/tree.c
gcc/tree.h