------- Comment #6 from hjl at gcc dot gnu dot org 2009-03-27 22:22 ------- Subject: Bug 39472
Author: hjl Date: Fri Mar 27 22:22:30 2009 New Revision: 145133 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145133 Log: gcc/ 2009-03-27 H.J. Lu <hongjiu...@intel.com> PR target/39472 * config/i386/i386.c (ix86_abi): New. (override_options): Handle -mabi=. (ix86_function_arg_regno_p): Replace DEFAULT_ABI with ix86_abi. (ix86_call_abi_override): Likewise. (init_cumulative_args): Likewise. (function_arg_advance): Likewise. (function_arg_64): Likewise. (function_arg): Likewise. (ix86_pass_by_reference): Likewise. (ix86_function_value_regno_p): Likewise. (ix86_build_builtin_va_list_abi): Likewise. (setup_incoming_varargs_64): Likewise. (is_va_list_char_pointer): Likewise. (ix86_init_machine_status): Likewise. (ix86_reg_parm_stack_space): Use enum calling_abi on call_abi. (ix86_function_type_abi): Return enum calling_abi. Rewrite for 64bit. Replace DEFAULT_ABI with ix86_abi. (ix86_function_abi): Make it static and return enum calling_abi. (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI with ix86_abi. (ix86_fn_abi_va_list): Updated. * config/i386/i386.h (ix86_abi): New. (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi. (CONDITIONAL_REGISTER_USAGE): Likewise. (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi. (machine_function): Likewise. * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI with ix86_abi. * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise. (STACK_BOUNDARY): Likewise. * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise. * config/i386/i386.opt (mabi=): New. * config/i386/i386-protos.h (ix86_cfun_abi): Changed to return enum calling_abi. (ix86_function_type_abi): Likewise. (ix86_function_abi): Removed. * doc/invoke.texi: Document -mabi= option for x86. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu...@intel.com> PR target/39472 * gcc.target/x86_64/abi/callabi/func-2a.c: New. * gcc.target/x86_64/abi/callabi/func-2b.c: Likewise. * gcc.target/x86_64/abi/callabi/func-indirect-2a.c: Likewise. * gcc.target/x86_64/abi/callabi/func-indirect-2b.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-4a.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-4b.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-5a.c: Likewise. * gcc.target/x86_64/abi/callabi/vaarg-5b.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2a.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2b.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2a.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2b.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4a.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4b.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5a.c trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5b.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/cygming.h trunk/gcc/config/i386/i386-protos.h trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.h trunk/gcc/config/i386/i386.md trunk/gcc/config/i386/i386.opt trunk/gcc/config/i386/mingw32.h trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39472