aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-02-17 18:32:45 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-02-17 18:32:45 +0000
commit57782ad852862c891585dbafea03ef854790e89b (patch)
tree85a8a16852397c2880c3b5467fc1063168a77fb7 /gcc/cp
parent3977a4a1eec95645a03f78d85ed1f118cc7cfcbd (diff)
downloadgcc-57782ad852862c891585dbafea03ef854790e89b.zip
gcc-57782ad852862c891585dbafea03ef854790e89b.tar.gz
gcc-57782ad852862c891585dbafea03ef854790e89b.tar.bz2
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
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-tree.h6
-rw-r--r--gcc/cp/mangle.c1
3 files changed, 7 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6c5e957..48edcfd 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/11326
+ * cp-tree.h (abi_version_at_least): Remove.
+ * mangle.c: Include flags.h.
+
2004-02-15 Mark Mitchell <mark@codesourcery.com>
PR c++/13971
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 0097c42..36acc5a 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -213,12 +213,6 @@ struct diagnostic_context;
#endif
-/* Returns TRUE if generated code should match ABI version N or
- greater is in use. */
-
-#define abi_version_at_least(N) \
- (flag_abi_version == 0 || flag_abi_version >= (N))
-
/* Language-dependent contents of an identifier. */
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 70b022b..a41c141 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -58,6 +58,7 @@
#include "obstack.h"
#include "toplev.h"
#include "varray.h"
+#include "flags.h"
/* Debugging support. */