🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #631

g++-1.36.1, sun4os4, unrecognizable insn

#631
From: Michael Tiemann
Date: Tue, 28 Nov 1989 01:41
35 lines
1952 bytes
Here was the problem:

Mon Nov 27 06:30:53 1989  Michael Tiemann  (tiemann at arkesden)

	* expr.c (save_noncopied_parts): Deal with case of having
	`assign_stack_local' return an invalid memory reference.

Here is the fix.  GCC'ers, your line numbers will vary.  These line
numbers are against test release 1.36.2 from this morning.

    arkesden% diff -c2 expr.c~ expr.c
    *** expr.c~	Sat Oct 14 16:06:47 1989
    --- expr.c	Mon Nov 27 17:37:43 1989
    ***************
    *** 2124,2129 ****
	    tree part_type = TREE_TYPE (part);
	    tree to_be_saved = build (COMPONENT_REF, part_type, lhs, part, 0);
	    parts = tree_cons (to_be_saved,
    ! 			   build (RTL_EXPR, part_type, 0, (tree) assign_stack_local (TYPE_MODE (part_type), int_size_in_bytes (part_type))),
			       parts);
	    store_expr (TREE_PURPOSE (parts), RTL_EXPR_RTL (TREE_VALUE (parts)), 0);
    --- 2124,2133 ----
	    tree part_type = TREE_TYPE (part);
	    tree to_be_saved = build (COMPONENT_REF, part_type, lhs, part, 0);
    + 	rtx target = assign_stack_local (TYPE_MODE (part_type),
    + 					 int_size_in_bytes (part_type));
    + 	if (! memory_address_p (TYPE_MODE (part_type), XEXP (target, 0)))
    + 	  target = change_address (target, TYPE_MODE (part_type), 0);
	    parts = tree_cons (to_be_saved,
    ! 			   build (RTL_EXPR, part_type, 0, (tree) target),
			       parts);
	    store_expr (TREE_PURPOSE (parts), RTL_EXPR_RTL (TREE_VALUE (parts)), 0);
    arkesden% 

Michael
Technical Details
Message-ID: <8911280141.AA00601@arkesden.sun.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!arkesden.eng.sun.com!tiemann

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!arkesden.eng.sun.com!tiemann
From: tiemann@arkesden.eng.sun.com (Michael Tiemann)
Newsgroups: gnu.g++.bug
Subject: g++-1.36.1, sun4os4, unrecognizable insn
Message-ID: <8911280141.AA00601@arkesden.sun.com>
Date: 28 Nov 89 01:41:37 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: tiemann@sun.com
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 35