* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Nov 2002 07:32:43 +0000 (07:32 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Nov 2002 07:32:43 +0000 (07:32 +0000)
as FUNCTION_ARG_PASS_BY_REFERENCE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58970 138bc75d-0d04-0410-961f-82ee72b054a4

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

index e07c1c0..de77168 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 cfc6d93..a46a551 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;