This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Committed, MMIX: Fix FUNCTION_ARG_CALLEE_COPIES.


Committed.  Fixes most C++ testsuite failures mentioned at
<URL:http://gcc.gnu.org/ml/gcc-testresults/2002-11/msg00142.html>.

	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
	as FUNCTION_ARG_PASS_BY_REFERENCE.

Index: mmix.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mmix/mmix.h,v
retrieving revision 1.45
diff -p -c -r1.45 mmix.h
*** mmix.h	26 Oct 2002 18:06:01 -0000	1.45
--- mmix.h	10 Nov 2002 07:25:38 -0000
*************** enum reg_class
*** 735,742 ****

  /* 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

  typedef struct { int regs; int lib; } CUMULATIVE_ARGS;

--- 735,747 ----

  /* 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.
!    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;

brgds, H-P


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]