[980129]: bug in COFF's name mangling?

Jason Merrill jason@cygnus.com
Wed Feb 4 01:29:00 GMT 1998


>>>>> Manfred Hollstein <Manfred.Hollstein@ks.sel.alcatel.de> writes:

> ../../../egcs-980129/libstdc++/std/fcomplex.h:60: Internal compiler error 364.

Does this fix the problem?

Wed Feb  4 01:26:49 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* expr.c (cplus_expand_expr, PCC_STATIC_STRUCT_RETURN code):
	Call convert_from_reference sooner.

Index: expr.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/cp/expr.c,v
retrieving revision 1.8
diff -c -p -r1.8 expr.c
*** expr.c	1998/01/27 12:07:36	1.8
--- expr.c	1998/02/04 09:27:32
*************** cplus_expand_expr (exp, target, tmode, m
*** 140,145 ****
--- 140,146 ----
  	    tree init = build_decl (VAR_DECL, NULL_TREE,
  				    build_reference_type (type));
  	    DECL_RTL (init) = XEXP (return_target, 0);
+ 	    init = convert_from_reference (init);
  
  	    flag_access_control = 0;
  	    expand_aggr_init (slot, init, 0, LOOKUP_ONLYCONVERTING);
*************** cplus_expand_expr (exp, target, tmode, m
*** 147,153 ****
  
  	    if (TYPE_NEEDS_DESTRUCTOR (type))
  	      {
! 		init = maybe_build_cleanup (convert_from_reference (init));
  		if (init != NULL_TREE)
  		  expand_expr (init, const0_rtx, VOIDmode, 0);
  	      }
--- 148,154 ----
  
  	    if (TYPE_NEEDS_DESTRUCTOR (type))
  	      {
! 		init = maybe_build_cleanup (init);
  		if (init != NULL_TREE)
  		  expand_expr (init, const0_rtx, VOIDmode, 0);
  	      }



More information about the Gcc-bugs mailing list