]> gcc.gnu.org Git - gcc.git/commit - gcc/calls.c
re PR c++/11326 (C++ IA64 ABI: 3.1.4: sometimes pointer to temporary return value...
authorMark Mitchell <mark@codesourcery.com>
Tue, 17 Feb 2004 18:32:45 +0000 (18:32 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 17 Feb 2004 18:32:45 +0000 (18:32 +0000)
commit57782ad852862c891585dbafea03ef854790e89b
tree85a8a16852397c2880c3b5467fc1063168a77fb7
parent3977a4a1eec95645a03f78d85ed1f118cc7cfcbd
re PR c++/11326 (C++ IA64 ABI: 3.1.4: sometimes pointer to temporary return value is implicit first parameter preceding "this")

PR c++/11326
* c-common.c (flag_abi_version): Remove.
* c-common.h (flag_abi_version): Likewise.
* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
* c.opt (fabi-version): Remove.
* calls.c (expand_call): Always pass a function type to
struct_value_rtx.  Use convert_memory_address.
* common.opt (fabi-version): Add it.
* flags.h (flag_abi_version): Likewise.
(abi_version_at_least): New macro.
* opts.c (common_handle_option): Add OPT_fabi_version.
* toplev.c (flag_abi_version): Define it.
* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
New function.
(ia64_output_mi_thunk): Use it.
(ia64_struct_value_rtx): Likewise.

PR c++/11326
* cp-tree.h (abi_version_at_least): Remove.
* mangle.c: Include flags.h.

PR c++/11326
* g++.dg/abi/structret1.C: New test.

From-SVN: r77968
16 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-opts.c
gcc/c.opt
gcc/calls.c
gcc/common.opt
gcc/config/ia64/ia64.c
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/mangle.c
gcc/flags.h
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/structret1.C [new file with mode: 0644]
gcc/toplev.c
This page took 0.054746 seconds and 5 git commands to generate.