diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2013-08-19 12:21:26 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2013-08-19 12:21:26 +0000 |
commit | d33d9e47d4392e7cb82d8cd585807cf72872e11d (patch) | |
tree | 0bbcf0fb24fd01d341f129c6ba255ea19c0fa62c /gcc/config/i386/i386-interix.h | |
parent | 89138a6e3edb518628a85ce4bcb59fd6a34df208 (diff) | |
download | gcc-d33d9e47d4392e7cb82d8cd585807cf72872e11d.zip gcc-d33d9e47d4392e7cb82d8cd585807cf72872e11d.tar.gz gcc-d33d9e47d4392e7cb82d8cd585807cf72872e11d.tar.bz2 |
target.def (TARGET_LIBC_HAS_FUNCTION): New target hook.
* target.def (TARGET_LIBC_HAS_FUNCTION): New target hook.
* builtins.c (default_libc_has_function): New.
(gnu_libc_has_function): Ditto.
(no_c99_libc_has_function): Ditto.
(expand_builtin_cexpi): Using new target hook TARGET_LIBC_HAS_FUNCTION
instead of TARGET_HAS_SINCOS and TARGET_C99_FUNCTIONS.
(fold_builtin_sincos): Likewise.
(fold_builtin_cexp): Likewise.
* builtins.def (DEF_C94_BUILTIN): Likewise.
(DEF_C99_BUILTIN): Likewise.
(DEF_C99_C90RES_BUILTIN): Likewise.
(DEF_C99_COMPL_BUILTIN): New define. Change all complex c99 builtin
definitions to using this define.
* config/darwin-protos.h (darwin_libc_has_function): New.
* config/darwin.c: (darwin_libc_has_function: Ditto.
* config/alpha/linux.h: Remove TARGET_C99_FUNCTIONS and
TARGET_HAS_SINCOS. Redefine TARGET_LIBC_HAS_FUNCTION.
* config/darwin.h: Ditto.
* config/elfos.h: Ditto.
* config/freebsd.h: Ditto.
* config/i386/cygming.h: Ditto.
* config/i386/djgpp.h: Ditto.
* config/i386/i386-interix.h: Ditto.
* config/microblaze/microblaze.h: Ditto.
* config/mmix/mmix.h: Ditto.
* config/gnu-user.h: Ditto.
* config/ia64/hpux.h: Ditto.
* config/pa/pa-hpux.h: Ditto.
* config/pdp11/pdp11.h: Ditto.
* config/picochip/picochip.h: Ditto.
* config/linux.h: Ditto.
* config/netbsd.h: Ditto.
* config/openbsd.h: Ditto.
* config/rs6000/aix43.h: Ditto.
* config/rs6000/aix51.h: Ditto.
* config/rs6000/aix52.h: Ditto.
* config/rs6000/aix53.h: Ditto.
* config/rs6000/aix61.h: Ditto.
* config/rs6000/darwin.h: Ditto.
* config/rs6000/linux.h: Ditto.
* config/rs6000/linux64.h: Ditto.
* config/s390/tpf.h: Ditto.
* config/sol2-10.h: Ditto.
* config/sol2.h: Ditto.
* config/vms/vms.h: Ditto.
* config/vxworks.h: Ditto.
* config/linux-android.c (linux_android_libc_has_function):
New linux-specific implementation of TARGET_LIBC_HAS_FUNCTION.
* config/linux-protos.h (linux_android_libc_has_function):
New declaration.
* config/i386/i386.c (ix86_libc_has_function): New.
* config/i386/i386-protos.h
(ix86_libc_has_function): New declaration.
* config/i386/i386.md
("isinfxf2"): Change condition for TARGET_LIBC_HAS_FUNCTION.
("isinf<mode>2): Likewise.
* convert.c (convert_to_integer): Using new target hook
TARGET_LIBC_HAS_FUNCTION istead of TARGET_HAS_SINCOS and
TARGET_C99_FUNCTIONS.
* fortran/f95-lang.c (gfc_init_builtin_functions): Ditto.
* tree-ssa-math-opts.c (execute_cse_sincos): Ditto.
* coretypes.h (function_class): New enum for different
classes of functions.
* defaults.h: Remove TARGET_C99_FUNCTIONS and TARGET_HAS_SINCOS.
* doc/tm.texi.in (TARGET_C99_FUNCTIONS): Remove documentation.
(TARGET_HAS_SINCOS): Likewise.
(TARGET_LIBC_HAS_FUNCTION): New.
* doc/tm.texi: Regenerated.
* targhooks.h (default_libc_has_function): New declaration.
(no_c99_libc_has_function): Ditto.
(gnu_libc_has_function): Ditto.
* system.h: Add the poisoning of TARGET_C99_FUNCTIONS
and TARGET_HAS_SINCOS.
From-SVN: r201838
Diffstat (limited to 'gcc/config/i386/i386-interix.h')
-rw-r--r-- | gcc/config/i386/i386-interix.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/i386/i386-interix.h b/gcc/config/i386/i386-interix.h index c74e008..b99f4d9 100644 --- a/gcc/config/i386/i386-interix.h +++ b/gcc/config/i386/i386-interix.h @@ -143,6 +143,9 @@ do { \ #undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 +#undef TARGET_LIBC_HAS_FUNCTION +#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function + /* The following are needed for us to be able to use winnt.c, but are not otherwise meaningful to Interix. (The functions that use these are never called because we don't do DLLs.) */ |