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]

Re: reload error in current CVS gcc version


On 7 Oct 1999, Ulrich Drepper wrote:

> The current egcs^H^H^H^Hgcc crashes on x86 with a reload problem on the
> source code I've put at
> 
> 	http://www.cygnus.com/~drepper/nsFrame.ii.bz2
> 
> (In case you wonder, it's code from Mozilla.)

Fixed by the patch below, which I've committed.

Here's a smaller testcase.  Should I add that to c-torture/compile (I can
obfuscate it some more if it's still too close to mozilla source :)?

typedef struct {
  int x;
} FILE;
extern void fputs (const char *, FILE *);

int mView;
void
foo (FILE* out, int aIndent)
{
  if (0  != mView) {
    aIndent++;
    aIndent--;
	{ int __t = aIndent;    while (--__t >= 0) fputs("  ", out); }

  }
	{ int __t = aIndent;    while (--__t >= 0) fputs("  ", out); }
}


Bernd

+	* i386.md (prologue_allocate_stack): Add '=' constraint letter on
+	output operand.
+
Index: config/i386/i386.md
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.88
diff -u -p -r1.88 i386.md
--- i386.md	1999/10/05 05:00:55	1.88
+++ i386.md	1999/10/08 16:50:18
@@ -7740,7 +7740,7 @@
 ;; in proper program order.
 
 (define_insn "prologue_allocate_stack"
-  [(set (match_operand:SI 0 "register_operand" "r")
+  [(set (match_operand:SI 0 "register_operand" "=r")
 	(plus:SI (match_operand:SI 1 "register_operand" "0")
 		 (match_operand:SI 2 "nonmemory_operand" "ri")))
    (set (match_operand:SI 3 "register_operand" "r")


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