mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same as FUNCTION_ARG_PASS_BY_REFERENCE.
authorHans-Peter Nilsson <hp@bitrange.com>
Sun, 10 Nov 2002 07:32:43 +0000 (07:32 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Sun, 10 Nov 2002 07:32:43 +0000 (07:32 +0000)
* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
as FUNCTION_ARG_PASS_BY_REFERENCE.

From-SVN: r58970

gcc/ChangeLog
gcc/config/mmix/mmix.h

index e07c1c0c67aa48009bea49864f7bcc27be3f2fe7..de77168a9a7b5815f71b72b986a122dae72be1eb 100644 (file)
@@ -1,3 +1,8 @@
+2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
+       as FUNCTION_ARG_PASS_BY_REFERENCE.
+
 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
index cfc6d93aa2ecf90ea146f293084fcd324c29d22e..a46a551897e36c63d780966f92a69fc8fcc7c8b4 100644 (file)
@@ -735,8 +735,13 @@ enum reg_class
 
 /* This *sounds* good, but does not seem to be implemented correctly to
    be a win; at least it wasn't in 2.7.2.  FIXME: Check and perhaps
-   replace with a big comment.  */
-#define FUNCTION_ARG_CALLEE_COPIES(CUM, MODE, TYPE, NAMED) 1
+   replace with a big comment.
+   The definition needs to match or be a subset of
+   FUNCTION_ARG_PASS_BY_REFERENCE, since not all callers check that before
+   usage.  Watch lots of C++ test-cases fail if set to 1, for example
+   g++.dg/init/byval1.C.  */
+#define FUNCTION_ARG_CALLEE_COPIES(CUM, MODE, TYPE, NAMED) \
+ mmix_function_arg_pass_by_reference (&(CUM), MODE, TYPE, NAMED)
 
 typedef struct { int regs; int lib; } CUMULATIVE_ARGS;