public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* Re: 19990328 snapshot has problem loading FP constant on sparc
@ 1999-03-30 10:19 Brad Lucier
  1999-04-30 23:15 ` Jeffrey A Law
  0 siblings, 1 reply; 4+ messages in thread
From: Brad Lucier @ 1999-03-30 10:19 UTC (permalink / raw)
  To: egcs-bugs; +Cc: lucier

I read "How to submit a bug report" in the FAQ, and will try to include
the information requested there.

Here is crap.c:

extern double cos(double);
extern double sin(double);
extern double atan(double);

static  long   ___lp;  

typedef int jmp_buf[12 ];

typedef struct ___jmpbuf_struct
  {
    jmp_buf buf;
  } ___jmpbuf_struct;


typedef struct ___processor_state_struct
{
    long *stack,
        *stack_base,
        *stack_limit,
        *stack_trip,
        *stack_break,
        *fp;
    long *heap,
        *heap_limit,
        *hp;
    long r[20],
         pc,
         temp1,
         temp2,
         temp3,
         temp4;
    int na,
        np;
    int intr_enabled,
        intr_flag[3];
    long glo_list_head,
         glo_list_tail;
    long handler_break,
         handler_stack_limit,
         handler_heap_limit, handler_not_proc,
         handler_not_proc_glo, handler_wrong_nargs,
         handler_get_rest, handler_get_key,
         handler_get_key_rest, handler_force,
         handler_clam_conv_error, handler_cdef_conv_error,
         handler_return_to_c, initial_continuation;
    long executable_wills,
         non_executable_wills;
    ___jmpbuf_struct *catcher;
}                         ___processor_state_struct, *___processor_state;

static long ___H_makect(___processor_state ___ps)
{
    register long ___pc,
         ___temp;
    register unsigned long long ___temp64;
    register long ___start = ___lp + ((28) * 4 * (1 << 2));
    register long *___hp;
    register long *___fp;
    register long ___r0;
    register long ___r1;
    register long ___r2;
    register long ___r3;
    register long ___r4;
    register long ___r5;
    register long ___r7;
    double ___F64R1;
    double ___F64R4;
    double ___F64R5;
    double ___F64R6;
    double ___F64R7;
    ___hp = ___ps->hp;
    ___fp = ___ps->fp;
    ___r0 = ___ps->r[0];
    ___r1 = ___ps->r[1];
    ___r2 = ___ps->r[2];
    ___r3 = ___ps->r[3];
    ___r4 = ___ps->r[4];
    ___r5 = ___ps->r[5];
    ___r7 = ___ps->r[7];
    ___pc = ___ps->pc;
___jump:switch ((___pc -= ___start) / (4 * (1 << 2)))
    {
      case 28 - 28 + 0:
___L0_makect:
	if (___ps->na == 3)
	{
	}
	else
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 0) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_wrong_nargs;
		goto ___jumpext;
	    }
	}
___L_makect:
	*(long *) (((long) (((long *) (___r2 - 1)) + 1)) + ((((long) (1L) << 2)) << (2 - 2))) = ___r1;
	if (!(___r1 > ((long) (1L) << 2)))
	{
	    goto ___L3_makect;
	}
	___r2 = (((___r1 >> (((long) (1L) << 2) >> 2)) & ~((1 << 2) - 1)));
	___F64R4 = (___r2 >> 2);
	___F64R5 = atan(1.);
	___F64R4 = (___F64R5 / ___F64R4);
	___F64R5 = (___r2 >> 2);
	___F64R5 = (___F64R4 * ___F64R5);
	___F64R5 = cos(___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2))) = ___F64R5;
	___F64R5 = *(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2)));
	___F64R5 = (.5 * ___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((___r2) << (3 - 2))) = ___F64R5;
	___r4 = ((___hp += 2 + 2, ((long) ___hp & 7) == 0 ? (*(___hp - 2 - 1) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 1) + 1) = ___F64R4, ((long) (___hp - 2 - 1) + 1)) : (*(___hp - 2 - 2) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 2) + 1) = ___F64R4, ((long) (___hp - 2 - 2) + 1))));
	___fp[-(1)] = (___r4);
	___r4 = (___r3);
	___r3 = (___r2);
	___r2 = (___r1);
	___r1 = (___fp[-(1)]);
	___r5 = (((long) (1L) << 2));
	if (___hp > ___ps->heap_limit)
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 1) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_heap_limit;
		goto ___jumpext;
	    }
	}
      case 28 - 28 + 1:
___L1_makect:
	if ((___r5 == ___r3))
	{
	    goto ___L3_makect;
	}
___L2_makect:
	___F64R6 = (___r5 >> 2);
	___F64R1 = (*(double *) ((((long *) (___r1 - 1)) + 1)));
	___F64R6 = (___F64R1 * ___F64R6);
	___F64R7 = cos(___F64R6);
	___F64R7 = (.5 * ___F64R7);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r5) << (3 - 2))) = ___F64R7;
	___r7 = (((long) (___r2 - ___r5)));
	___F64R6 = sin(___F64R6);
	___F64R6 = (.5 * ___F64R6);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r7) << (3 - 2))) = ___F64R6;
	___r5 = (((long) (___r5 + ((long) (1L) << 2))));
	if (!(___r5 == ___r3))
	{
	    goto ___L2_makect;
	}
___L3_makect:
	___r1 = ((((long) -5 << 2) + 2));
	{
	    ___pc = ___r0;
	    goto ___jump;
	}
    } ___pc += ___start;
___jumpext:
    ___ps->pc = ___pc;
    ___ps->hp = ___hp;
    ___ps->r[1] = ___r1;
    ___ps->r[2] = ___r2;
    ___ps->r[3] = ___r3;
    ___ps->r[4] = ___r4;
    ___ps->r[5] = ___r5;
    ___ps->r[7] = ___r7;
    return ___pc;
}

and the compile command, with the output:

bessel-112% /opt/egcs-19990328/bin/gcc -v --save-temps -g -fPIC -O1 -mcpu=supersparc -mtune=ultrasparc -c crap.c
Reading specs from /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/specs
gcc version egcs-2.93.14 19990328 (gcc2 ss-980929 experimental)
 /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/cpp -lang-c -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=93 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__OPTIMIZE__ -g -D__supersparc__ -D__sparc_v8__ -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) crap.c crap.i
GNU CPP version egcs-2.93.14 19990328 (gcc2 ss-980929 experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/../../../../sparc-sun-solaris2.5.1/include
 /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
 /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/../../../../include/g++-2
End of omitted list.
 /opt/egcs-19990328/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.93.14/cc1 crap.i -quiet -dumpbase crap.c -mcpu=supersparc -mtune=ultrasparc -g -O1 -version -fPIC -o crap.s
GNU C version egcs-2.93.14 19990328 (gcc2 ss-980929 experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.93.14 19990328 (gcc2 ss-980929 experimental).
 /usr/ccs/bin/as -V -Qy -s -K PIC -o crap.o crap.s
/usr/ccs/bin/as: WorkShop Compilers 4.2 dev 13 May 1996

crap.i is

# 1 "crap.c"
extern double cos(double);
extern double sin(double);
extern double atan(double);

static  long   ___lp;  

typedef int jmp_buf[12 ];

typedef struct ___jmpbuf_struct
  {
    jmp_buf buf;
  } ___jmpbuf_struct;


typedef struct ___processor_state_struct
{
    long *stack,
        *stack_base,
        *stack_limit,
        *stack_trip,
        *stack_break,
        *fp;
    long *heap,
        *heap_limit,
        *hp;
    long r[20],
         pc,
         temp1,
         temp2,
         temp3,
         temp4;
    int na,
        np;
    int intr_enabled,
        intr_flag[3];
    long glo_list_head,
         glo_list_tail;
    long handler_break,
         handler_stack_limit,
         handler_heap_limit, handler_not_proc,
         handler_not_proc_glo, handler_wrong_nargs,
         handler_get_rest, handler_get_key,
         handler_get_key_rest, handler_force,
         handler_clam_conv_error, handler_cdef_conv_error,
         handler_return_to_c, initial_continuation;
    long executable_wills,
         non_executable_wills;
    ___jmpbuf_struct *catcher;
}                         ___processor_state_struct, *___processor_state;

static long ___H_makect(___processor_state ___ps)
{
    register long ___pc,
         ___temp;
    register unsigned long long ___temp64;
    register long ___start = ___lp + ((28) * 4 * (1 << 2));
    register long *___hp;
    register long *___fp;
    register long ___r0;
    register long ___r1;
    register long ___r2;
    register long ___r3;
    register long ___r4;
    register long ___r5;
    register long ___r7;
    double ___F64R1;
    double ___F64R4;
    double ___F64R5;
    double ___F64R6;
    double ___F64R7;
    ___hp = ___ps->hp;
    ___fp = ___ps->fp;
    ___r0 = ___ps->r[0];
    ___r1 = ___ps->r[1];
    ___r2 = ___ps->r[2];
    ___r3 = ___ps->r[3];
    ___r4 = ___ps->r[4];
    ___r5 = ___ps->r[5];
    ___r7 = ___ps->r[7];
    ___pc = ___ps->pc;
___jump:switch ((___pc -= ___start) / (4 * (1 << 2)))
    {
      case 28 - 28 + 0:
___L0_makect:
	if (___ps->na == 3)
	{
	}
	else
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 0) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_wrong_nargs;
		goto ___jumpext;
	    }
	}
___L_makect:
	*(long *) (((long) (((long *) (___r2 - 1)) + 1)) + ((((long) (1L) << 2)) << (2 - 2))) = ___r1;
	if (!(___r1 > ((long) (1L) << 2)))
	{
	    goto ___L3_makect;
	}
	___r2 = (((___r1 >> (((long) (1L) << 2) >> 2)) & ~((1 << 2) - 1)));
	___F64R4 = (___r2 >> 2);
	___F64R5 = atan(1.);
	___F64R4 = (___F64R5 / ___F64R4);
	___F64R5 = (___r2 >> 2);
	___F64R5 = (___F64R4 * ___F64R5);
	___F64R5 = cos(___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2))) = ___F64R5;
	___F64R5 = *(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2)));
	___F64R5 = (.5 * ___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((___r2) << (3 - 2))) = ___F64R5;
	___r4 = ((___hp += 2 + 2, ((long) ___hp & 7) == 0 ? (*(___hp - 2 - 1) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 1) + 1) = ___F64R4, ((long) (___hp - 2 - 1) + 1)) : (*(___hp - 2 - 2) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 2) + 1) = ___F64R4, ((long) (___hp - 2 - 2) + 1))));
	___fp[-(1)] = (___r4);
	___r4 = (___r3);
	___r3 = (___r2);
	___r2 = (___r1);
	___r1 = (___fp[-(1)]);
	___r5 = (((long) (1L) << 2));
	if (___hp > ___ps->heap_limit)
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 1) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_heap_limit;
		goto ___jumpext;
	    }
	}
      case 28 - 28 + 1:
___L1_makect:
	if ((___r5 == ___r3))
	{
	    goto ___L3_makect;
	}
___L2_makect:
	___F64R6 = (___r5 >> 2);
	___F64R1 = (*(double *) ((((long *) (___r1 - 1)) + 1)));
	___F64R6 = (___F64R1 * ___F64R6);
	___F64R7 = cos(___F64R6);
	___F64R7 = (.5 * ___F64R7);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r5) << (3 - 2))) = ___F64R7;
	___r7 = (((long) (___r2 - ___r5)));
	___F64R6 = sin(___F64R6);
	___F64R6 = (.5 * ___F64R6);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r7) << (3 - 2))) = ___F64R6;
	___r5 = (((long) (___r5 + ((long) (1L) << 2))));
	if (!(___r5 == ___r3))
	{
	    goto ___L2_makect;
	}
___L3_makect:
	___r1 = ((((long) -5 << 2) + 2));
	{
	    ___pc = ___r0;
	    goto ___jump;
	}
    } ___pc += ___start;
___jumpext:
    ___ps->pc = ___pc;
    ___ps->hp = ___hp;
    ___ps->r[1] = ___r1;
    ___ps->r[2] = ___r2;
    ___ps->r[3] = ___r3;
    ___ps->r[4] = ___r4;
    ___ps->r[5] = ___r5;
    ___ps->r[7] = ___r7;
    return ___pc;
}

and crap.s is

	.file	"crap.c"
.stabs "/home/c/lucier/programs/gambc30/bigtests/16-64/",100,0,0,.LLtext0
.stabs "crap.c",100,0,0,.LLtext0
.section	".text"
.LLtext0:
	.stabs	"gcc2_compiled.", 0x3c, 0, 0, 0
.stabs "int:t(0,1)=r(0,1);0020000000000;0017777777777;",128,0,0,0
.stabs "char:t(0,2)=r(0,2);0;127;",128,0,0,0
.stabs "long int:t(0,3)=r(0,1);0020000000000;0017777777777;",128,0,0,0
.stabs "unsigned int:t(0,4)=r(0,1);0000000000000;0037777777777;",128,0,0,0
.stabs "long unsigned int:t(0,5)=r(0,1);0000000000000;0037777777777;",128,0,0,0
.stabs "long long int:t(0,6)=r(0,1);01000000000000000000000;0777777777777777777777;",128,0,0,0
.stabs "long long unsigned int:t(0,7)=r(0,1);0000000000000;01777777777777777777777;",128,0,0,0
.stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
.stabs "short unsigned int:t(0,9)=r(0,9);0;65535;",128,0,0,0
.stabs "signed char:t(0,10)=r(0,10);-128;127;",128,0,0,0
.stabs "unsigned char:t(0,11)=r(0,11);0;255;",128,0,0,0
.stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0
.stabs "double:t(0,13)=r(0,1);8;0;",128,0,0,0
.stabs "long double:t(0,14)=r(0,1);16;0;",128,0,0,0
.stabs "complex int:t(0,15)=s8real:(0,1),0,32;imag:(0,1),32,32;;",128,0,0,0
.stabs "complex float:t(0,16)=r(0,16);4;0;",128,0,0,0
.stabs "complex double:t(0,17)=r(0,17);8;0;",128,0,0,0
.stabs "complex long double:t(0,18)=r(0,18);16;0;",128,0,0,0
.stabs "void:t(0,19)=(0,19)",128,0,0,0
.stabs "jmp_buf:t(0,20)=(0,21)=ar(0,1);0;11;(0,1)",128,0,7,0
.stabs "___jmpbuf_struct:T(0,22)=s48buf:(0,20),0,384;;",128,0,0,0
.stabs "___jmpbuf_struct:t(0,23)=(0,22)",128,0,12,0
.stabs "___processor_state_struct:T(0,24)=s236stack:(0,25)=*(0,3),0,32;stack_base:(0,25),32,32;stack_limit:(0,25),64,32;stack_trip:(0,25),96,32;stack_break:(0,25),128,32;fp:(0,25),160,32;heap:(0,25),192,32;heap_limit:(0,25),224,32;hp:(0,25),256,32;r:(0,26)=ar(0,1);0;19;(0,3),288,640;pc:(0,3),928,32;temp1:(0,3),960,32;temp2:(0,3),992,32;temp3:(0,3),1024,32;temp4:(0,3),1056,32;na:(0,1),1088,32;np:(0,1),1120,32;intr_enabled:(0,1),1152,32;intr_flag:(0,27)=ar(0,1);0;2;(0,1),1184,96;glo_list_head:(0,3),1280,32;glo_list_tail:(0,3),1312,32;handler_break:(0,3),1344,32;handler_stack_limit:(0,3),1376,32;\\",128,0,0,0
.stabs "handler_heap_limit:(0,3),1408,32;handler_not_proc:(0,3),1440,32;handler_not_proc_glo:(0,3),1472,32;handler_wrong_nargs:(0,3),1504,32;handler_get_rest:(0,3),1536,32;handler_get_key:(0,3),1568,32;handler_get_key_rest:(0,3),1600,32;handler_force:(0,3),1632,32;handler_clam_conv_error:(0,3),1664,32;handler_cdef_conv_error:(0,3),1696,32;handler_return_to_c:(0,3),1728,32;initial_continuation:(0,3),1760,32;executable_wills:(0,3),1792,32;non_executable_wills:(0,3),1824,32;catcher:(0,28)=*(0,23),1856,32;;",128,0,0,0
.stabs "___processor_state_struct:t(0,29)=(0,24)",128,0,49,0
.stabs "___processor_state:t(0,30)=(0,31)=*(0,24)",128,0,49,0
	.align 32
.LLGETPC0:
	retl
	add %o7,%l7,%l7
.section	".rodata"
	.align 8
.LLC0:
	.uaword	0x3ff00000 ! ~1.00000000000000000000e0
	.uaword	0x0
	.align 8
.LLC1:
	.uaword	0x3fe00000 ! ~5.00000000000000000000e-1
	.uaword	0x0
.section	".text"
	.align 32
.stabs "___H_makect:f(0,3)",36,0,52,___H_makect
.stabs "___ps:P(0,30)",64,0,51,17
	.type	 ___H_makect,#function
	.proc	04
___H_makect:
.stabn 68,0,52,.LM1-___H_makect
.LM1:
	!#PROLOGUE# 0
	save	%sp, -136, %sp
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLGETPC0
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	mov	%i0, %l1
.stabn 68,0,53,.LM2-___H_makect
.LM2:
.LLBB2:
.stabn 68,0,56,.LM3-___H_makect
.LM3:
	sethi	%hi(___lp), %o0
	or	%o0, %lo(___lp), %o0
	ld	[%l7+%o0], %o0
	ld	[%o0], %o0
	add	%o0, 448, %i1
.stabn 68,0,71,.LM4-___H_makect
.LM4:
	ld	[%l1+32], %l2
.stabn 68,0,72,.LM5-___H_makect
.LM5:
	ld	[%l1+20], %i3
.stabn 68,0,73,.LM6-___H_makect
.LM6:
	ld	[%l1+36], %i4
.stabn 68,0,74,.LM7-___H_makect
.LM7:
	ld	[%l1+40], %l5
.stabn 68,0,75,.LM8-___H_makect
.LM8:
	ld	[%l1+44], %l4
.stabn 68,0,76,.LM9-___H_makect
.LM9:
	ld	[%l1+48], %l6
.stabn 68,0,77,.LM10-___H_makect
.LM10:
	ld	[%l1+52], %l3
.stabn 68,0,78,.LM11-___H_makect
.LM11:
	ld	[%l1+56], %l0
.stabn 68,0,79,.LM12-___H_makect
.LM12:
	ld	[%l1+64], %i2
.stabn 68,0,80,.LM13-___H_makect
.LM13:
	ld	[%l1+116], %i0
.LL3:
.stabn 68,0,81,.LM14-___H_makect
.LM14:
	sub	%i0, %i1, %i0
	cmp	%i0, 0
	bge	.LL23
	mov	%i0, %o0
	add	%i0, 15, %o0
.LL23:
	sra	%o0, 4, %o0
	cmp	%o0, 0
	be	.LL6
	cmp	%o0, 1
	be	.LL24
	add	%i0, %i1, %i0
	b	.LL25
	st	%i0, [%l1+116]
.LL6:
.stabn 68,0,85,.LM15-___H_makect
.LM15:
	ld	[%l1+136], %o0
	cmp	%o0, 3
	be	.LL10
	cmp	%l5, 4
.stabn 68,0,90,.LM16-___H_makect
.LM16:
	st	%i1, [%l1+120]
.stabn 68,0,93,.LM17-___H_makect
.LM17:
	b	.LL9
	ld	[%l1+188], %i0
.LL10:
.stabn 68,0,98,.LM18-___H_makect
.LM18:
	ble	.LL12
	st	%l5, [%l4+7]
.stabn 68,0,102,.LM19-___H_makect
.LM19:
	sra	%l5, 1, %l4
	and	%l4, -4, %l4
.stabn 68,0,103,.LM20-___H_makect
.LM20:
	sra	%l4, 2, %o0
	st	%o0, [%fp-36]
	ld	[%fp-36], %f3
	fitod	%f3, %f2
	std	%f2, [%fp-24]
.stabn 68,0,104,.LM21-___H_makect
.LM21:
	sethi	%hi(.LLC0), %o0
	or	%o0, %lo(.LLC0), %o0
	ld	[%l7+%o0], %o0
	call	atan, 0
	ldd	[%o0], %o0
.stabn 68,0,105,.LM22-___H_makect
.LM22:
	ldd	[%fp-24], %f4
	fdivd	%f0, %f4, %f4
	std	%f4, [%fp-24]
.stabn 68,0,106,.LM23-___H_makect
.LM23:
	ld	[%fp-36], %f5
	fitod	%f5, %f0
.stabn 68,0,108,.LM24-___H_makect
.LM24:
	ldd	[%fp-24], %f2
	fmuld	%f0, %f2, %f2
	std	%f2, [%fp-16]
	call	cos, 0
	ldd	[%fp-16], %o0
.stabn 68,0,109,.LM25-___H_makect
.LM25:
	st	%f0, [%l6+3]
	st	%f1, [%l6+7]
.stabn 68,0,111,.LM26-___H_makect
.LM26:
	sethi	%hi(.LLC1), %o0
	or	%o0, %lo(.LLC1), %o0
	ld	[%l7+%o0], %o0
	ldd	[%o0], %f2
	fmuld	%f0, %f2, %f0
.stabn 68,0,112,.LM27-___H_makect
.LM27:
	sll	%l4, 1, %o0
	add	%o0, %l6, %o0
	st	%f0, [%o0+3]
.stabn 68,0,113,.LM28-___H_makect
.LM28:
	add	%l2, 16, %l2
	andcc	%l2, 7, %g0
	bne	.LL13
	st	%f1, [%o0+7]
	mov	2288, %o0
	st	%o0, [%l2-12]
	ldd	[%fp-24], %o0
	std	%o0, [%l2-8]
	b	.LL14
	add	%l2, -11, %l3
.LL13:
	mov	2288, %o0
	st	%o0, [%l2-16]
	ldd	[%fp-24], %o2
	st	%o2, [%l2-12]
	st	%o3, [%l2-8]
	add	%l2, -15, %l3
.LL14:
.stabn 68,0,114,.LM29-___H_makect
.LM29:
	st	%l3, [%i3-4]
.stabn 68,0,115,.LM30-___H_makect
.LM30:
	mov	%l6, %l3
.stabn 68,0,116,.LM31-___H_makect
.LM31:
	mov	%l4, %l6
.stabn 68,0,117,.LM32-___H_makect
.LM32:
	mov	%l5, %l4
.stabn 68,0,118,.LM33-___H_makect
.LM33:
	ld	[%i3-4], %l5
.stabn 68,0,120,.LM34-___H_makect
.LM34:
	ld	[%l1+28], %o0
	cmp	%l2, %o0
	bleu	.LL24
	mov	4, %l0
.stabn 68,0,122,.LM35-___H_makect
.LM35:
	add	%i1, 16, %o0
	st	%o0, [%l1+120]
.stabn 68,0,125,.LM36-___H_makect
.LM36:
	b	.LL9
	ld	[%l1+176], %i0
.LL19:
.stabn 68,0,135,.LM37-___H_makect
.LM37:
	st	%o0, [%fp-16]
	ld	[%fp-16], %f3
	fitod	%f3, %f2
	std	%f2, [%fp-32]
.stabn 68,0,136,.LM38-___H_makect
.LM38:
	ld	[%l5+3], %f2
	ld	[%l5+7], %f3
.stabn 68,0,137,.LM39-___H_makect
.LM39:
	ldd	[%fp-32], %f4
	fmuld	%f4, %f2, %f4
	std	%f4, [%fp-32]
.stabn 68,0,138,.LM40-___H_makect
.LM40:
	call	cos, 0
	ldd	[%fp-32], %o0
.stabn 68,0,139,.LM41-___H_makect
.LM41:
	sethi	%hi(.LLC1), %o0
	ldd	[%o0+%lo(.LLC1)], %f2
	fmuld	%f0, %f2, %f0
.stabn 68,0,140,.LM42-___H_makect
.LM42:
	sll	%l0, 1, %o0
	add	%o0, %l3, %o0
	st	%f0, [%o0+3]
	st	%f1, [%o0+7]
.stabn 68,0,141,.LM43-___H_makect
.LM43:
	sub	%l4, %l0, %i2
.stabn 68,0,142,.LM44-___H_makect
.LM44:
	call	sin, 0
	ldd	[%fp-32], %o0
.stabn 68,0,143,.LM45-___H_makect
.LM45:
	sethi	%hi(.LLC1), %o0
	ldd	[%o0+%lo(.LLC1)], %f2
	fmuld	%f0, %f2, %f0
	std	%f0, [%fp-32]
.stabn 68,0,144,.LM46-___H_makect
.LM46:
	sll	%i2, 1, %o0
	add	%o0, %l3, %o0
	ldd	[%fp-32], %o2
	st	%o2, [%o0+3]
	st	%o3, [%o0+7]
.stabn 68,0,145,.LM47-___H_makect
.LM47:
	add	%l0, 4, %l0
.stabn 68,0,146,.LM48-___H_makect
.LM48:
.LL24:
	cmp	%l0, %l6
	bne	.LL19
	sra	%l0, 2, %o0
.LL12:
.stabn 68,0,151,.LM49-___H_makect
.LM49:
	mov	-18, %l5
.stabn 68,0,154,.LM50-___H_makect
.LM50:
	b	.LL3
	mov	%i4, %i0
.LL9:
.stabn 68,0,158,.LM51-___H_makect
.LM51:
	st	%i0, [%l1+116]
.stabn 68,0,159,.LM52-___H_makect
.LM52:
.LL25:
	st	%l2, [%l1+32]
.stabn 68,0,160,.LM53-___H_makect
.LM53:
	st	%l5, [%l1+40]
.stabn 68,0,161,.LM54-___H_makect
.LM54:
	st	%l4, [%l1+44]
.stabn 68,0,162,.LM55-___H_makect
.LM55:
	st	%l6, [%l1+48]
.stabn 68,0,163,.LM56-___H_makect
.LM56:
	st	%l3, [%l1+52]
.stabn 68,0,164,.LM57-___H_makect
.LM57:
	st	%l0, [%l1+56]
.stabn 68,0,165,.LM58-___H_makect
.LM58:
	st	%i2, [%l1+64]
.stabn 68,0,166,.LM59-___H_makect
.LM59:
.stabn 68,0,167,.LM60-___H_makect
.LM60:
.LLBE2:
	ret
	restore
.LLfe1:
	.size	 ___H_makect,.LLfe1-___H_makect
.stabs "___pc:r(0,3)",64,0,53,24
.stabs "___start:r(0,3)",64,0,56,25
.stabs "___hp:r(0,25)",64,0,57,18
.stabs "___fp:r(0,25)",64,0,58,27
.stabs "___r0:r(0,3)",64,0,59,28
.stabs "___r1:r(0,3)",64,0,60,21
.stabs "___r2:r(0,3)",64,0,61,20
.stabs "___r3:r(0,3)",64,0,62,22
.stabs "___r4:r(0,3)",64,0,63,19
.stabs "___r5:r(0,3)",64,0,64,16
.stabs "___r7:r(0,3)",64,0,65,26
.stabs "___F64R1:r(0,13)",64,0,66,34
.stabs "___F64R4:(0,13)",128,0,67,-24
.stabs "___F64R5:r(0,13)",64,0,68,32
.stabs "___F64R6:(0,13)",128,0,69,-32
.stabs "___F64R7:r(0,13)",64,0,70,32
.stabn 192,0,0,.LLBB2-___H_makect
.stabn 224,0,0,.LLBE2-___H_makect
.LLscope0:
.stabs "",36,0,0,.LLscope0-___H_makect
.stabs "___lp:S(0,3)",40,0,5,___lp
	.local	___lp
	.common	___lp,4,4
	.text
	.stabs "",100,0,0,Letext
Letext:
	.ident	"GCC: (GNU) egcs-2.93.14 19990328 (gcc2 ss-980929 experimental)"

The previous analysis applies; search for

.LM45:

.LM41:

after which the floating point constant 0.5 is loaded incorrectly.

Brad Lucier    lucier@math.purdue.edu
>From pedwards@ball.com Tue Mar 30 10:47:00 1999
From: "Edwards, Phil" <pedwards@ball.com>
To: egcs-bugs@egcs.cygnus.com
Subject: RE: 1.1.2 on Solaris 2.5: bootstrap failure in libio
Date: Tue, 30 Mar 1999 10:47:00 -0000
Message-id: <B7A6155A71B6D211BB2D0008C7B250B70905A8@daytonmsg.ball.com>
X-SW-Source: 1999-03/msg00969.html
Content-length: 1362

Recap:  we were experiencing the same error, but building 1.1.1 instead,
also on Solaris 2.5.

Fix:  We weren't using GNU sed at all.  However, placing /usr/xpg4/bin
before /usr/bin resulted in a different sed (the X/Open standard one instead
of Sun's), and that seems to have fixed it.  The differences in command-line
options between the two are summarized in the sed man page, but I don't know
whether it was one of those options that caused EGCS to fail.

Much thanks goes to the usual collection of genuises (it's more fun to say
genii than genuises, even though it's incorrect) here.
Phil


+ -----Original Message-----
+ From: J.H.M. Dassen [ mailto:jdassen@wi.leidenuniv.nl ]
+ Sent: Wednesday, March 24, 1999 6:47 AM
+ To: egcs-bugs@egcs.cygnus.com
+ Cc: Edwards, Phil; Per Bothner
+ Subject: Re: 1.1.2 on Solaris 2.5: bootstrap failure in libio
+ 
+ 
+ On Wed, Mar 24, 1999 at 05:32:30 -0300, Alexandre Oliva wrote:
+ > Meanwhile, put /usr/bin/sed before GNU sed in your path...
+ 
+ On Wed, Mar 24, 1999 at 01:21:53 -0700, Jeffrey A Law wrote:
+ > Throw away gnu-sed 3.00 and see what happens.
+ 
+ I installed 3.02 locally, and the build went fine! Thanks!
+ 
+ EGCS seems to work, but unfortunately there's not enough 
+ memory to compile
+ aspell as a testcase.
+ 
+ Ray
+ -- 
+ Tevens ben ik van mening dat Nederland overdekt dient te worden.
+ 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 19990328 snapshot has problem loading FP constant on sparc
  1999-03-30 10:19 19990328 snapshot has problem loading FP constant on sparc Brad Lucier
@ 1999-04-30 23:15 ` Jeffrey A Law
  0 siblings, 0 replies; 4+ messages in thread
From: Jeffrey A Law @ 1999-04-30 23:15 UTC (permalink / raw)
  To: Brad Lucier; +Cc: egcs-bugs

  In message <199903301819.NAA25681@polya.math.purdue.edu>you write:
  > I read "How to submit a bug report" in the FAQ, and will try to include
  > the information requested there.
[ ... ]
Is this derived from gtk?  I've got a similar looking bug report for gtk
that is quite a bit larger.  Obviously I'd prefer to debug the smaller
testcase and ignore the big one :-) :-)

jeff


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 19990328 snapshot has problem loading FP constant on sparc
@ 1999-04-09  6:46 Brad Lucier
  0 siblings, 0 replies; 4+ messages in thread
From: Brad Lucier @ 1999-04-09  6:46 UTC (permalink / raw)
  To: lucier, law; +Cc: egcs-bugs

>   In message <199903301819.NAA25681@polya.math.purdue.edu>you write:
>   > I read "How to submit a bug report" in the FAQ, and will try to include
>   > the information requested there.
> [ ... ]
> Is this derived from gtk?  I've got a similar looking bug report for gtk
> that is quite a bit larger.  Obviously I'd prefer to debug the smaller
> testcase and ignore the big one :-) :-)

No; the code was produced by Gambit-C, a Scheme->C compiler.  It's
part of an fft code written in Scheme.

Brad
>From ghazi@caip.rutgers.edu Fri Apr 09 07:36:00 1999
From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
To: ghazi@caip.rutgers.edu, law@cygnus.com
Cc: egcs-bugs@egcs.cygnus.com, matthias@ica1.uni-stuttgart.de, rth@cygnus.com, toon@moene.indiv.nluug.nl
Subject: Re: A new bootstrap failure on alpha OSF4, as0: Overflow:
Date: Fri, 09 Apr 1999 07:36:00 -0000
Message-id: <199904091436.KAA01401@snafu.rutgers.edu>
X-SW-Source: 1999-04/msg00251.html
Content-length: 1281

 > From: Jeffrey A Law <law@upchuck.cygnus.com>
 >  
 >   In message < 199904031542.KAA29053@caip.rutgers.edu >you write:
 >   >     When bootstrapping the latest cvs on alphaev5-dec-osf4.0b, I
 >   > get the following error in stage2:
 >   > 
 >   >  > stage1/xgcc -Bstage1/ -B/usr/local/alphaev5-dec-osf4.0b/bin/ -c
 >   >  >  -DIN_GCC -DHAIFA -W -Wall -O2 -g -DHAVE_CONFIG_H
 >   >  >  -I. -I. -I./config -I./../include tree.c
 >   >  > as0: Error: tree.c, line 6: Overflow: 0x01000000000000000010842109
 >   >  >       .quad 0x1000000000000000010842109
 >   >  > as0: Error: tree.c, line 6: Overflow: 0x01000000000000000110842109
 >   >  >       .quad 0x1000000000000000110842109
 >   >  > make[2]: *** [tree.o] Error 1
 >   > 
 >   >     I used native binutils and cc for stage1.
 > 
 > Is this still happening with the current CVS sources?  I've got a
 > build started on an alpha running osf4, but at the rate it's going
 > it'll be running for at least 24hours.  The linux build 3-staged just
 > fine without any warnings or errors related to .quad stuff.
 > jeff


	I was able to bootstrap on OSF4 as of a cvs checkout
downloaded late on Wednesday night.  Thanks.

--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Qwest Internet Solutions
>From plai@Lynx.COM Fri Apr 09 08:47:00 1999
From: plai@Lynx.COM (Paul Lai)
To: law@cygnus.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: internal compiler error (egcs-1.1.1 & egcs-1.1.2), cc1
Date: Fri, 09 Apr 1999 08:47:00 -0000
Message-id: <199904091547.IAA14233@aristocat.Lynx.COM>
X-SW-Source: 1999-04/msg00252.html
Content-length: 1404

Could I get a patch of this fix?  Optimization could be important and I
haven't found the patch on the public sites.

Thanks,
-Paul

>From law@upchuck.cygnus.com Fri Apr  9 01:34:25 1999
>To: Paul Lai <plai@Lynx.COM>
>Cc: egcs-bugs@egcs.cygnus.com
>Subject: Re: internal compiler error (egcs-1.1.1 & egcs-1.1.2), cc1 
>Reply-To: law@cygnus.com
>Date: Fri, 09 Apr 1999 02:22:47 -0600
>Message-Id: < 20063.923646167@upchuck >
>From: Jeffrey A Law <law@upchuck.cygnus.com>
>Status: R
>
>
>  In message <37012884.44F7C9A1@lynx.com>you write:
>  > This is a multi-part message in MIME format.
>  > --------------F2A0B864A02D11D7BF9978F9
>  > Content-Type: text/plain; charset=us-ascii
>  > Content-Transfer-Encoding: 7bit
>  > 
>  > The attached simple testcase causes an internal compiler error.
>  > egcs-1.1.1 & egcs-1.1.2 are both being tested under i386-pc-linux
>  > (redhat 5.1).
>  > FSF 2.8.1 does not emit an error with this testcase.
>  > 
>  > The problem appears to be in
>  >     egcs-1.1.2/gcc/expr.c:expand_expr()     lines       6189 -- 6216
>  >     These lines do not appear in FSF 281 and when removed, seem to make
>  > the compiler happier.
>  >     But, what is lost if these lines are removed (besides the compiler
>  > internal error)?
>Thanks, this bug has been fixed in the mainline sources.
>
>You merely lose optimziations by removing those lines in your local sources.
>
>jeff
>
>From matthias@ica1.uni-stuttgart.de Fri Apr 09 09:08:00 1999
From: Matthias Mueller <matthias@ica1.uni-stuttgart.de>
To: law@cygnus.com
Cc: "Kaveh R. Ghazi" <ghazi@snafu.Rutgers.EDU>, egcs-bugs@egcs.cygnus.com, Matthias Mueller <matthias@ica1.uni-stuttgart.de>, rth@cygnus.com, Toon Moene <toon@moene.indiv.nluug.nl>
Subject: Re: A new bootstrap failure on alpha OSF4, as0: Overflow: 
Date: Fri, 09 Apr 1999 09:08:00 -0000
Message-id: <199904091604.SAA02234@anaconda.ica1.uni-stuttgart.de>
References: <199904031542.KAA29053@caip.rutgers.edu> <20781.923656194@upchuck> <20781.923656194@upchuck>
X-SW-Source: 1999-04/msg00253.html
Content-length: 1672

With the current CVS sources bootstrapping works fine.
I checked out at Fri Apr  9 15:00 MET DST 1999

Jeffrey A Law writes:
 > 
 >   In message < 199904031542.KAA29053@caip.rutgers.edu >you write:
 >   > 	When bootstrapping the latest cvs on alphaev5-dec-osf4.0b, I
 >   > get the following error in stage2:
 >   > 
 >   >  > stage1/xgcc -Bstage1/ -B/usr/local/alphaev5-dec-osf4.0b/bin/ -c
 >   >  > 	-DIN_GCC -DHAIFA -W -Wall -O2 -g -DHAVE_CONFIG_H
 >   >  > 	-I. -I. -I./config -I./../include tree.c
 >   >  > as0: Error: tree.c, line 6: Overflow: 0x01000000000000000010842109
 >   >  >       .quad 0x1000000000000000010842109
 >   >  > as0: Error: tree.c, line 6: Overflow: 0x01000000000000000110842109
 >   >  >       .quad 0x1000000000000000110842109
 >   >  > make[2]: *** [tree.o] Error 1
 >   > 
 >   > 	I used native binutils and cc for stage1.
 > Is this still happening with the current CVS sources?  I've got a build started
 > on an alpha running osf4, but at the rate it's going it'll be running for at
 > least 24hours.  The linux build 3-staged just fine without any warnings or
 > errors related to .quad stuff.
 > 
 > 
 > 
 > jeff
-- 
+-----------------------------------------------------------------------+
| Matthias Mueller                    matthias@ica1.uni-stuttgart.de    |
|                         http://www.ica1.uni-stuttgart.de/~matthias    |
+-----------------------------------------------------------------------+
|        ICA 1, Pfaffenwaldring 27, D-70569 Stuttgart (Germany)         |
|           Tel. 49-(0)711/685-7606, Fax. 49-(0)711/685-3658            |
+-----------------------------------------------------------------------+
>From plai@Lynx.COM Fri Apr 09 09:11:00 1999
From: plai@Lynx.COM (Paul Lai)
To: law@cygnus.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: internal compiler error (egcs-1.1.1 & egcs-1.1.2), cc1
Date: Fri, 09 Apr 1999 09:11:00 -0000
Message-id: <199904091611.JAA14522@aristocat.Lynx.COM>
X-SW-Source: 1999-04/msg00254.html
Content-length: 1393

Please ignore my previous request for a patch.  I discovered your fix
in 19980405 snapshot.  Thanks for the note.

-Paul

>From law@upchuck.cygnus.com Fri Apr  9 01:34:25 1999
>To: Paul Lai <plai@Lynx.COM>
>Cc: egcs-bugs@egcs.cygnus.com
>Subject: Re: internal compiler error (egcs-1.1.1 & egcs-1.1.2), cc1 
>Reply-To: law@cygnus.com
>Date: Fri, 09 Apr 1999 02:22:47 -0600
>Message-Id: < 20063.923646167@upchuck >
>From: Jeffrey A Law <law@upchuck.cygnus.com>
>Status: R
>
>
>  In message <37012884.44F7C9A1@lynx.com>you write:
>  > This is a multi-part message in MIME format.
>  > --------------F2A0B864A02D11D7BF9978F9
>  > Content-Type: text/plain; charset=us-ascii
>  > Content-Transfer-Encoding: 7bit
>  > 
>  > The attached simple testcase causes an internal compiler error.
>  > egcs-1.1.1 & egcs-1.1.2 are both being tested under i386-pc-linux
>  > (redhat 5.1).
>  > FSF 2.8.1 does not emit an error with this testcase.
>  > 
>  > The problem appears to be in
>  >     egcs-1.1.2/gcc/expr.c:expand_expr()     lines       6189 -- 6216
>  >     These lines do not appear in FSF 281 and when removed, seem to make
>  > the compiler happier.
>  >     But, what is lost if these lines are removed (besides the compiler
>  > internal error)?
>Thanks, this bug has been fixed in the mainline sources.
>
>You merely lose optimziations by removing those lines in your local sources.
>
>jeff
>
>From korbb@egcs.cygnus.com Fri Apr 09 09:53:00 1999
From: korbb@egcs.cygnus.com
To: egcs-bugs@egcs.cygnus.com, egcs-patches@egcs.cygnus.com
Cc: ddsinc09@ix.netcom.com
Subject: [fixinc/inclhack.??? patch] double slash & expr problem
Date: Fri, 09 Apr 1999 09:53:00 -0000
Message-id: <19990409165338.5289.qmail@egcs.cygnus.com>
X-SW-Source: 1999-04/msg00255.html
Content-length: 3325

Reply-To: ddsinc09@ix.netcom.com


This patch would address several issues in inclhack.{def|tpl}:
:
1.  the file name lists ought to be restricted to "*.h" anyway
2.  C++ files may be named .../[a-z]++/... also
3.  the original egrep pattern was not finding "__MIPSEL".
    I am not enough of a regexp person to know why.
4.  Adding copyright year and attribution to output

Is Monday enough of a delay?

Regards,
	Bruce

Index: inclhack.def
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/fixinc/inclhack.def,v
retrieving revision 1.9
diff -u -r1.9 inclhack.def
--- inclhack.def	1999/04/02 11:02:36	1.9
+++ inclhack.def	1999/04/09 16:40:33
@@ -328,11 +328,13 @@
 fix = {
     hackname = no_double_slash;
     /*
-     *  Test that the file-to-fix does not look like a C++ file
+     *  Test that the file-to-fix does not from a C++ directory
+     *  Also, only accept double slashes that are not part of URL's
+     *  and are not the end of a quoted string.
      */
-    test     = '-z "`echo ${file}|egrep \'(cxx/|\+\+$|\.hh$|\.H$|\.hxx$)\'`"';
-    select = '//[^"*]';
-    sed    = '/\/\/[^"*]/' "s|//.*$||g";
+    test   = '-z `echo ${file} | egrep \'(cxx|\+\+)/\' `';
+    select = '(^|[^:])//[^"*]';
+    sed    = '/\(^|[^:]\)\/\/[^"*]/' "s|//.*$||g";
 };
 
 
@@ -827,14 +829,12 @@
     exesel = "^#[ \t]*(if|elif).*[^a-zA-Z0-9_]"
              "("
                   "M32"
-                 "|_*("
-                       "MIPSE[LB]"
-                      "|SYSTYPE_[A-Z0-9]"
-                      "|[Rr][34]000"
-                      "|host_mips"
-                      "|i386"
-                      "|mips"
-                    ")($|[^a-zA-Z0-9_])"
+                 "|_*MIPSE[LB]"
+                 "|_*SYSTYPE_[A-Z0-9]"
+                 "|_*[Rr][34]000"
+                 "|_*host_mips"
+                 "|_*i386"
+                 "|_*mips"
                  "|bsd4"
                  "|is68k"
                  "|m[68]8k"
Index: inclhack.tpl
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/fixinc/inclhack.tpl,v
retrieving revision 1.7
diff -u -r1.7 inclhack.tpl
--- inclhack.tpl	1999/04/07 11:47:32	1.7
+++ inclhack.tpl	1999/04/09 16:48:47
@@ -15,6 +15,9 @@
 #
 # See README-fixinc for more information.
 #
+#  fixincludes copyright (c) [=_eval "date +%Y" _shell
+                                =] The Free Software Foundation, Inc.
+#
 [=_eval fixincludes "## " _gpl=]
 #
 # # # # # # # # # # # # # # # # # # # # #
@@ -334,9 +337,9 @@
   cd ${INPUT}[=
 _IF PROGRAM _env ! =]
   files=`if $LINKS; then
-    find ${FIND_BASE}/. \( -type f -o \( -type l -exec test ! -d {} \; \) \) -print
+    find ${FIND_BASE}/. -name '*.h' \( -type f -o -type l \) -print
   else
-    find ${FIND_BASE}/. -type f -print
+    find ${FIND_BASE}/. -name '*.h' -type f -print
   fi | \
     sed -e 's;/\./;/;g' -e 's;//*;/;g' `
 [=
@@ -347,9 +350,9 @@
 
 =]
   required="$required `if $LINKS; then
-    find ${FIND_BASE}/. \( -type f -o -type l \) -print
+    find ${FIND_BASE}/. -name '*.h' \( -type f -o -type l \) -print
   else
-    find ${FIND_BASE}/. -type f -print
+    find ${FIND_BASE}/. -name '*.h' -type f -print
   fi | \
     sed -e 's;/\./;/;g' -e 's;//*;/;g' | \
     ${FIXINCL}`"[=
>From nathan@acm.org Fri Apr 09 10:26:00 1999
From: Nathan Sidwell <nathan@acm.org>
To: Martin Berger <mb4@doc.ic.ac.uk>
Cc: egcs-bugs@cygnus.com
Subject: Re: internal compiler error wioth local classes
Date: Fri, 09 Apr 1999 10:26:00 -0000
Message-id: <370E370A.FB02EB1E@acm.org>
References: <370742C2.E86B0A16@doc.ic.ac.uk>
X-SW-Source: 1999-04/msg00256.html
Content-length: 597

Martin Berger wrote:
> [ICE]
This compiles without error on the current snapshot (19990405), I don't know
about the current release (1.1.2), you should give that a go (FWIW, the code
looked legal to me).

> ~/c++/threadTemplates> g++ --version
> egcs-2.90.27 980315 (egcs-1.0.2 release)
1.0.2 is quite old now, you really should consider getting the current release.

nathan

-- 
Dr Nathan Sidwell :: Computer Science Department :: Bristol University
      You can up the bandwidth, but you can't up the speed of light      
nathan@acm.org  http://www.cs.bris.ac.uk/~nathan/  nathan@cs.bris.ac.uk
>From korbb@egcs.cygnus.com Fri Apr 09 10:33:00 1999
From: korbb@egcs.cygnus.com
To: egcs-bugs@egcs.cygnus.com, egcs-patches@egcs.cygnus.com
Cc: ddsinc09@ix.netcom.com
Subject: [fixinc/fixincl.tpl patch] comments & counting regexprs
Date: Fri, 09 Apr 1999 10:33:00 -0000
Message-id: <19990409173318.8308.qmail@egcs.cygnus.com>
X-SW-Source: 1999-04/msg00257.html
Content-length: 5474

Reply-To: ddsinc09@ix.netcom.com


This patch would address several issues in fixincl.tpl

1.  Add copyright date and attribution
2.  Clarify a bunch of comments
3.  Remove dead template text
4.  Correct the counting of regular expressions

Index: fixincl.tpl
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/fixinc/fixincl.tpl,v
retrieving revision 1.4
diff -u -r1.4 fixincl.tpl
--- fixincl.tpl	1999/04/07 11:47:34	1.4
+++ fixincl.tpl	1999/04/09 17:21:15
@@ -7,13 +7,15 @@
  * files which are fixed to work correctly with ANSI C and placed in a
  * directory that GNU C will search.
  *
- * This script contains [=_eval fix _count =] fixup scripts.
+ * This file contains [=_eval fix _count =] fixup descriptions.
  *
  * See README-fixinc for more information.
  *
+ *  inclhack copyright (c) [=_eval "date +%Y" _shell
+                                =] The Free Software Foundation, Inc.
+ *
 [=_eval inclhack "# *  " _gpl=]
- *[=
-
+ *[=_EVAL "re_ct=0" _shell=][=
 
 _FOR fix =]
  *
@@ -52,7 +54,9 @@
   _IF exesel _exist=]
 
 /*
- *  content selection pattern
+ *  content selection pattern - do fix if pattern found
+ *  This is a special pattern that not all egrep commands
+ *  are capable of coping with.  We use the GNU library, tho :)
  */[=
     _FOR exesel =]
 tSCC z[=hackname _cap=]Select[=_eval _index=][] =
@@ -62,7 +66,7 @@
   _ELIF select _exist=]
 
 /*
- *  content selection pattern
+ *  content selection pattern - do fix if pattern found
  */[=
     _FOR select =]
 tSCC z[=hackname _cap=]Select[=_eval _index=][] =
@@ -73,7 +77,7 @@
   _IF bypass _exist=]
 
 /*
- *  content bypass pattern
+ *  content bypass pattern - skip fix if pattern found
  */[=
     _FOR bypass =]
 tSCC z[=hackname _cap=]Bypass[=_eval _index=][] =
@@ -84,49 +88,69 @@
   _IF test _exist=]
 
 /*
- *  content test pattern.  A shell will deal with it later.
+ *  perform the 'test' shell command - do fix on success
  */[=
     _FOR test =]
 tSCC z[=hackname _cap=]Test[=_eval _index=][] =
        [=test _str=];[=
     /test =][=
   _ENDIF =][=
+
+
+#  Build the array of test descriptions for this fix: =][=
 
-  _IF exesel _exist select _exist bypass _exist test _exist | | |
+  _IF exesel       _exist
+      select       _exist |
+      bypass       _exist |
+      test         _exist |
 =]
 
 #define    [=hackname _up =]_TEST_CT  [=
+    _IF exesel _exist =][=
+       _eval exesel       _count
+      	     bypass       _count +
+      	     test         _count + =][=
+    _ELSE =][=
+       _eval select       _count
+      	     bypass       _count +
+      	     test         _count + =][=
+    _ENDIF =]
+#define    [=hackname _up =]_RE_CT    [=
     _IF exesel _exist =][=
-       _eval test _count bypass _count exesel _count + + =][=
+       _eval exesel _count bypass _count
+             "#2$ct=`expr %d + %d` ; re_ct=`expr $ct + $re_ct` ; echo $ct"
+             _printf _shell =][=
     _ELSE =][=
-       _eval test _count bypass _count select _count + + =][=
+       _eval select _count bypass _count
+             "#2$ct=`expr %d + %d` ; re_ct=`expr $ct + $re_ct` ; echo $ct"
+             _printf _shell =][=
     _ENDIF =]
 tTestDesc a[=hackname _cap=]Tests[] = {[=
 
-    _IF test _exist =][=
-      _FOR test=]
-    { TT_TEST,   z[=hackname _cap=]Test[=_eval _index=], 0 /* unused */ },[=
-      /test =][=
-    _ENDIF =][=
-
-    _IF bypass _exist =][=
-      _FOR bypass=]
-    { TT_NEGREP, z[=hackname _cap=]Bypass[=_eval _index=], (regex_t*)NULL },[=
-      /bypass =][=
-    _ENDIF =][=
+    _FOR test =]
+  { TT_TEST,   z[=hackname _cap=]Test[=_eval _index=],     0 /* unused */ },[=
+    /test =][=
+
+    _FOR bypass =]
+  { TT_NEGREP, z[=hackname _cap=]Bypass[=_eval _index=],   (regex_t*)NULL },[=
+    /bypass =][=
 
+    #  IF there is an exesel, then use that (those) selection
+          expressions, instead of the regular select expressions
+    =][=
     _IF exesel _exist =][=
-      _FOR exesel ,=]
-    { TT_EGREP,  z[=hackname _cap=]Select[=_eval _index=], (regex_t*)NULL }[=
+      _FOR exesel =]
+  { TT_EGREP,  z[=hackname _cap=]Select[=_eval _index=],   (regex_t*)NULL },[=
       /exesel =][=
 
-    _ELIF select _exist =][=
-      _FOR select ,=]
-    { TT_EGREP,  z[=hackname _cap=]Select[=_eval _index=], (regex_t*)NULL }[=
+    _ELSE =][=
+      _FOR select =]
+  { TT_EGREP,  z[=hackname _cap=]Select[=_eval _index=],   (regex_t*)NULL },[=
       /select =][=
     _ENDIF =] };[=
   _ELSE =]
 #define [=hackname _up=]_TEST_CT  0
+#define [=hackname _up=]_RE_CT    0
 #define a[=hackname _cap=]Tests   (tTestDesc*)NULL[=
   _ENDIF =]
 
@@ -136,12 +160,8 @@
 const char* apz[=hackname _cap=]Patch[] = {[=
     _IF   sed         _exist =] "sed"[=_FOR sed=],
     "-e", [=sed _str=][=/sed=][=
-    _ELIF replacement _exist =] "sed",
-    "s@[=select[]=]@[=replacement=]@"[=
     _ELIF shell       _exist =] "sh", "-c",
     [=shell _str=][=
-    _ELSE =][=_ERROR hackname _get "Error:  %s has two fixup specifications"
-                 _printf =][=
     _ENDIF=],
     (char*)NULL };
 
@@ -150,10 +170,9 @@
  *
  *  List of all fixes
  */
-#define  REGEX_COUNT  [=_eval fix.select _count
-                              fix.bypass _count + =]
+#define  REGEX_COUNT  [=_eval "echo $re_ct" _shell =]
 #define  FIX_COUNT    [=_eval fix _count =]
-tFixDesc fixDescList[ [=_eval fix _count =] ] = {[=
+tFixDesc fixDescList[ FIX_COUNT ] = {[=
 
 
 _FOR fix ",\n" =]
>From nathan@acm.org Fri Apr 09 10:36:00 1999
From: Nathan Sidwell <nathan@acm.org>
To: Ravi Khanna <ravi@siam.md.essd.northgrum.com>
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: Serious bug in 1.1.2--see attachment
Date: Fri, 09 Apr 1999 10:36:00 -0000
Message-id: <370E39B7.2EA7523C@acm.org>
References: <370CC5C3.298B8C9@siam.md.essd.northgrum.com>
X-SW-Source: 1999-04/msg00258.html
Content-length: 876

Ravi Khanna wrote:
> 
> Attached is a tar ball of code and compiler output that shows a bug
> where the wrong method is called.
> 
> You should only be able to pass a STATIC method or a function as a
> function parameter.  The compiler always chooses the last method
> declared to be sent to "Callback" whether it is static or not OR whether
> 
> it has the right parameters or not.  This behavior breaks all my code!
> If there are any work arounds please e-mail me.
The current snapshot compiles this without warning, so the problem appears
fixed in the development tree. BTW, the .ii file you provided did not come from
the .cc file you gave.

nathan

-- 
Dr Nathan Sidwell :: Computer Science Department :: Bristol University
      You can up the bandwidth, but you can't up the speed of light      
nathan@acm.org  http://www.cs.bris.ac.uk/~nathan/  nathan@cs.bris.ac.uk
>From nathan@acm.org Fri Apr 09 10:41:00 1999
From: Nathan Sidwell <nathan@acm.org>
To: egcs-bugs@egcs.cygnus.com
Subject: Bug: C++ access checking
Date: Fri, 09 Apr 1999 10:41:00 -0000
Message-id: <370E3BAB.B4EEA87E@acm.org>
X-SW-Source: 1999-04/msg00259.html
Content-length: 1143

Hi,
I believe this to be a bug, but it's possibly my misunderstanding of 11.2/4.

struct A
{
  protected:
  int m;
};
  
struct C : A
{
  void foo(A *);
  void baz(C *);
};
  
void C::foo(A *ptr)
{
  ptr->m;
}
 
void C::baz(C *ptr)
{
  ptr->m;
}

the 19990405 snapshot says,

nathan@manao:161>ss-g++ -c access.C 
access.C: In method `void C::foo(A *)':
access.C:4: `int A::m' is protected
access.C:15: within this context

I think A::m is accessible in C::foo, even though we're not accessing this's
A::m, but some random A *'s. The third case given in 11.2/4 says,
 "m as a member of N if protected, and the reference occurs ... in a member of
friend of a class P derived from N, where m as a member of P is private or
protected."

In this case N is A, and P is C. m is protected in C and we're in a member of
C. It doesn't mention that the object we're fetching m from has to be a P.

Or am I missing something?

nathan
-- 
Dr Nathan Sidwell :: Computer Science Department :: Bristol University
      You can up the bandwidth, but you can't up the speed of light      
nathan@acm.org  http://www.cs.bris.ac.uk/~nathan/  nathan@cs.bris.ac.uk
>From mark@codesourcery.com Fri Apr 09 10:51:00 1999
From: Mark Mitchell <mark@codesourcery.com>
To: nathan@cs.bris.ac.uk
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: Bug: C++ access checking
Date: Fri, 09 Apr 1999 10:51:00 -0000
Message-id: <199904091754.KAA01612@adsl-206-170-148-33.dsl.pacbell.net>
References: <370E3BAB.B4EEA87E@acm.org> <370E3BAB.B4EEA87E@acm.org>
X-SW-Source: 1999-04/msg00260.html
Content-length: 1004

>>>>> "Nathan" == Nathan Sidwell <nathan@acm.org> writes:

    Nathan> In this case N is A, and P is C. m is protected in C and
    Nathan> we're in a member of C. It doesn't mention that the object
    Nathan> we're fetching m from has to be a P.

    Nathan> Or am I missing something?

  [class.protected]

  When  a  friend  or  a member function of a derived class references a
  protected nonstatic member of a base class, an access check applies in
  addition to those described earlier in clause _class.access_.4) Except
  when forming a pointer to member (_expr.unary.op_), the access must be
  through a pointer to, reference to, or object  of  the  derived  class
  itself  (or  any  class derived from that class) (_expr.ref_).  If the
  access is to form a pointer to member, the nested-name-specifier shall
  name the derived class (or any class derived from that class).

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com
>From rth@cygnus.com Fri Apr 09 10:53:00 1999
From: Richard Henderson <rth@cygnus.com>
To: law@cygnus.com, "Kaveh R. Ghazi" <ghazi@snafu.Rutgers.EDU>
Cc: egcs-bugs@egcs.cygnus.com, Matthias Mueller <matthias@ica1.uni-stuttgart.de>, Toon Moene <toon@moene.indiv.nluug.nl>
Subject: Re: A new bootstrap failure on alpha OSF4, as0: Overflow:
Date: Fri, 09 Apr 1999 10:53:00 -0000
Message-id: <19990409105258.A28005@cygnus.com>
References: <199904031542.KAA29053@caip.rutgers.edu> <20781.923656194@upchuck> <20781.923656194@upchuck>
X-SW-Source: 1999-04/msg00261.html
Content-length: 530

On Fri, Apr 09, 1999 at 05:09:54AM -0600, Jeffrey A Law wrote:
>   >  > as0: Error: tree.c, line 6: Overflow: 0x01000000000000000110842109
>   >  >       .quad 0x1000000000000000110842109
>   >  > make[2]: *** [tree.o] Error 1
>   > 
>   > 	I used native binutils and cc for stage1.
> Is this still happening with the current CVS sources?

Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>

        * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
        Clear third and following slots, if they exist.



r~
>From oliva@dcc.unicamp.br Fri Apr 09 11:38:00 1999
From: Alexandre Oliva <oliva@dcc.unicamp.br>
To: "Aki Niimura" <akineko@worldnet.att.net>
Cc: <egcs-bugs@egcs.cygnus.com>
Subject: Re: egcs 1.1.2 (egcs-2.91.66) Assembler error(?)
Date: Fri, 09 Apr 1999 11:38:00 -0000
Message-id: <orogkxwsot.fsf@dcc.unicamp.br>
References: <01be81f1$d8f52b00$c0a80101@Evelyn>
X-SW-Source: 1999-04/msg00262.html
Content-length: 806

On Apr  8, 1999, "Aki Niimura" <akineko@worldnet.att.net> wrote:

> I'm getting assembler syntax errors when I complied under Solaris x86 the
> program which is complied w/o errors under Solaris Sparc.
> I know '$' character is causing this. However, I'm wondering why it
> works with Sparc but doesn't work with Solaris x86.
> Because gcc uses an unified assembler.

Not really.  Whether gcc supports `$' or not in identifiers depend on
which assembler you're using.  As Jeff said, GNU as supports `$',
whereas Sun's may not.

-- 
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Brasil
{oliva,Alexandre.Oliva}@dcc.unicamp.br  aoliva@{acm.org,computer.org}
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
*** E-mail about software projects will be forwarded to mailing lists


^ permalink raw reply	[flat|nested] 4+ messages in thread

* 19990328 snapshot has problem loading FP constant on sparc
@ 1999-03-29 10:34 Brad Lucier
  0 siblings, 0 replies; 4+ messages in thread
From: Brad Lucier @ 1999-03-29 10:34 UTC (permalink / raw)
  To: egcs-bugs; +Cc: lucier

I bootstraped egcs-19990328 on sparc-sun-solaris2.5.1, no problem
(except that it wouldn't "make -j bootstrap", but I don't want to get
into that here).

The following code doesn't compile correctly with

gcc -g -fPIC -O1 -mcpu=supersparc -mtune=ultrasparc -c -o routines.o routines.c

It seems to be a problem with loading FP constants.  When it loads the 1.
for the call to atan, the assembly reads

	sethi	%hi(.LLC80), %o0
	or	%o0, %lo(.LLC80), %o0
	ld	[%l7+%o0], %o0
	call	atan, 0
	ldd	[%o0], %o0

which seems OK.  When it loads .5 the first time, it generates

	sethi	%hi(.LLC81), %o0
	or	%o0, %lo(.LLC81), %o0
	ld	[%l7+%o0], %o0
	ldd	[%o0], %f2

which again seems OK, but when it loads .5 the second and third times, it does

	sethi	%hi(.LLC81), %o0
	ldd	[%o0+%lo(.LLC81)], %f2

which doesn't seem right.  This is where it bombs with SIGBUS.

Sorry I don't have a shorter example.

Brad Lucier    lucier@math.purdue.edu

extern double cos(double);
extern double sin(double);
extern double atan(double);

typedef struct ___processor_state_struct
{
    long *stack,
        *stack_base,
        *stack_limit,
        *stack_trip,
        *stack_break,
        *fp;
    long *heap,
        *heap_limit,
        *hp;
    long r[20],
         pc,
         temp1,
         temp2,
         temp3,
         temp4;
    int na,
        np;
    int intr_enabled,
        intr_flag[3];
    long glo_list_head,
         glo_list_tail;
    long handler_break,
         handler_stack_limit,
         handler_heap_limit, handler_not_proc,
         handler_not_proc_glo, handler_wrong_nargs,
         handler_get_rest, handler_get_key,
         handler_get_key_rest, handler_force,
         handler_clam_conv_error, handler_cdef_conv_error,
         handler_return_to_c, initial_continuation;
    long executable_wills,
         non_executable_wills;
    ___jmpbuf_struct *catcher;
}                         ___processor_state_struct, *___processor_state;

static long ___H_makect(___processor_state ___ps)
{
    register long ___pc,
         ___temp;
    register unsigned long long ___temp64;
    register long ___start = ___lp + ((28) * 4 * (1 << 2));
    register long *___hp;
    register long *___fp;
    register long ___r0;
    register long ___r1;
    register long ___r2;
    register long ___r3;
    register long ___r4;
    register long ___r5;
    register long ___r7;
    double ___F64R1;
    double ___F64R4;
    double ___F64R5;
    double ___F64R6;
    double ___F64R7;
    ___hp = ___ps->hp;
    ___fp = ___ps->fp;
    ___r0 = ___ps->r[0];
    ___r1 = ___ps->r[1];
    ___r2 = ___ps->r[2];
    ___r3 = ___ps->r[3];
    ___r4 = ___ps->r[4];
    ___r5 = ___ps->r[5];
    ___r7 = ___ps->r[7];
    ___pc = ___ps->pc;
___jump:switch ((___pc -= ___start) / (4 * (1 << 2)))
    {
      case 28 - 28 + 0:
___L0_makect:
	if (___ps->na == 3)
	{
	}
	else
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 0) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_wrong_nargs;
		goto ___jumpext;
	    }
	}
___L_makect:
	*(long *) (((long) (((long *) (___r2 - 1)) + 1)) + ((((long) (1L) << 2)) << (2 - 2))) = ___r1;
	if (!(___r1 > ((long) (1L) << 2)))
	{
	    goto ___L3_makect;
	}
	___r2 = (((___r1 >> (((long) (1L) << 2) >> 2)) & ~((1 << 2) - 1)));
	___F64R4 = (___r2 >> 2);
	___F64R5 = atan(1.);
	___F64R4 = (___F64R5 / ___F64R4);
	___F64R5 = (___r2 >> 2);
	___F64R5 = (___F64R4 * ___F64R5);
	___F64R5 = cos(___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2))) = ___F64R5;
	___F64R5 = *(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((((long) (0L) << 2)) << (3 - 2)));
	___F64R5 = (.5 * ___F64R5);
	*(double *) (((long) (((long *) (___r3 - 1)) + 1)) + ((___r2) << (3 - 2))) = ___F64R5;
	___r4 = ((___hp += 2 + 2, ((long) ___hp & 7) == 0 ? (*(___hp - 2 - 1) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 1) + 1) = ___F64R4, ((long) (___hp - 2 - 1) + 1)) : (*(___hp - 2 - 2) = (((2 << 2) << (3 + 5)) + (30 << 3) + 0), *(double *) ((___hp - 2 - 2) + 1) = ___F64R4, ((long) (___hp - 2 - 2) + 1))));
	___fp[-(1)] = (___r4);
	___r4 = (___r3);
	___r3 = (___r2);
	___r2 = (___r1);
	___r1 = (___fp[-(1)]);
	___r5 = (((long) (1L) << 2));
	if (___hp > ___ps->heap_limit)
	{
	    ___ps->temp1 = ___start + ((28 - 28 + 1) * 4 * (1 << 2));
	    {
		___pc = ___ps->handler_heap_limit;
		goto ___jumpext;
	    }
	}
      case 28 - 28 + 1:
___L1_makect:
	if ((___r5 == ___r3))
	{
	    goto ___L3_makect;
	}
___L2_makect:
	___F64R6 = (___r5 >> 2);
	___F64R1 = (*(double *) ((((long *) (___r1 - 1)) + 1)));
	___F64R6 = (___F64R1 * ___F64R6);
	___F64R7 = cos(___F64R6);
	___F64R7 = (.5 * ___F64R7);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r5) << (3 - 2))) = ___F64R7;
	___r7 = (((long) (___r2 - ___r5)));
	___F64R6 = sin(___F64R6);
	___F64R6 = (.5 * ___F64R6);
	*(double *) (((long) (((long *) (___r4 - 1)) + 1)) + ((___r7) << (3 - 2))) = ___F64R6;
	___r5 = (((long) (___r5 + ((long) (1L) << 2))));
	if (!(___r5 == ___r3))
	{
	    goto ___L2_makect;
	}
___L3_makect:
	___r1 = ((((long) -5 << 2) + 2));
	{
	    ___pc = ___r0;
	    goto ___jump;
	}
    } ___pc += ___start;
___jumpext:
    ___ps->pc = ___pc;
    ___ps->hp = ___hp;
    ___ps->r[1] = ___r1;
    ___ps->r[2] = ___r2;
    ___ps->r[3] = ___r3;
    ___ps->r[4] = ___r4;
    ___ps->r[5] = ___r5;
    ___ps->r[7] = ___r7;
    return ___pc;
}
>From jtaylor@creaf.com Mon Mar 29 11:30:00 1999
From: Jon Taylor <jtaylor@creaf.com>
To: egcs-bugs@egcs.cygnus.com
Subject: Bug w/EGCS 1.1.2 and latest Mesa CVS sources
Date: Mon, 29 Mar 1999 11:30:00 -0000
Message-id: <36FF6498.61E62323@creaf.com>
X-SW-Source: 1999-03/msg00953.html
Content-length: 1386

mkdir lib
mkdir: cannot make directory `lib': File exists
make: [linux-ggi] Error 1 (ignored)
touch src/depend
touch src-glu/depend
if [ -d src-glut ] ; then touch src-glut/depend ; fi
if [ -d ggi ] ; then touch ggi/depend ; fi
cd src ; make linux-ggi
make[1]: Entering directory `/home/mesadevel/mesacvs/src'
make -w targets \
"GL_LIB = libMesaGL.so" \
"GLU_LIB = libMesaGLU.so" \
"GLUT_LIB = libglut.so" \
"CC = gcc"  \
"CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE
-I/usr/X11R6/include -DSHM -DGGI -DCDECL=" \
"MAKELIB = ../mklib.ggi" \
"XLIBS = -L/usr/X11/lib -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi
-lSM -lICE -lggi"
make[2]: Entering directory `/home/mesadevel/mesacvs/src'
gcc -c -I. -I../include -O3 -fPIC -ffast-math -D_SVID_SOURCE
-D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DGGI -DCDECL= fog.c -o fog.o
fog_tmp.h: In function `fog_rgba_vertices_raw':
In file included from fog.c:126:
fog_tmp.h:135: Could not find a spill register
(insn:HI 237 235 238 (set (subreg:SF (reg:QI 73) 0)
        (plus:SF (reg/v:SF 14 %st(6))
            (reg:SF 12 %st(4)))) 371 {strlensi-3} (nil)
    (nil))
toplev.c:1367: Internal compiler error in function fatal_insn
make[2]: *** [fog.o] Error 1
make[2]: Leaving directory `/home/mesadevel/mesacvs/src'
make[1]: *** [linux-ggi] Error 2
make[1]: Leaving directory `/home/mesadevel/mesacvs/src'
make: *** [linux-ggi] Error 2
>From takano@mxj.mesh.ne.jp Mon Mar 29 12:22:00 1999
From: "=?iso-2022-jp?B?GyRCOWJMbhsoQg==?=" <takano@mxj.mesh.ne.jp>
To: <egcs-bugs@egcs.cygnus.com>
Subject: gcc's UNICODE translation bug
Date: Mon, 29 Mar 1999 12:22:00 -0000
Message-id: <002f01be7a22$623a0980$3c1493d2@ubn95309>
X-SW-Source: 1999-03/msg00954.html
Content-length: 361

I think unicode operation(i.e. TEXT("abcd..") -> L"abcd...")is incorrect.

I think gcc using 'mbstowcs'.
Mbstowcs of crtdll.dll doesn't translate multi-bytes character correctly.
It only translate single-byte character(i.e.
0,1,2,...,a,b,c,d,...,A,B,C,D,...etc).
So I think it should use MultiByteToWideChar(WIN32 API).

Tomohiro Takano
<takano@mxj.mesh.ne.jp>
>From kthomas@gwdg.de Mon Mar 29 12:44:00 1999
From: kthomas@gwdg.de (Philipp Thomas)
To: manfred@s-direktnet.de, mh@exept.de
Cc: egcs-bugs@egcs.cygnus.com, egcs-patches@egcs.cygnus.com
Subject: Re: PATCH for Re: bootstrap error with --enable-cpplib and --enable-nls
Date: Mon, 29 Mar 1999 12:44:00 -0000
Message-id: <3700de6d.82859226@mailer.gwdg.de>
References: <14078.12143.662831.680698@bolero> <14079.13631.123356.259534@exept.exept.de> <14079.13631.123356.259534@exept.exept.de>
X-SW-Source: 1999-03/msg00955.html
Content-length: 455

On Mon, 29 Mar 1999 10:16:52 +0200 (MEST), you wrote:

>	* Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.

I cant't look into the source just now, but why the dependency on
intl.o ? Correct me if I'm wrong, but IMO the failure with
--enable-nls is that the definition of localedir (as $(datadir)/locale
) is missing in Makefile.in, as well as passing it as define in
DRIVER_DEFINES.

Philipp Thomas

-- 
caffeine low .... brain halted
>From kthomas@gwdg.de Mon Mar 29 12:47:00 1999
From: kthomas@gwdg.de (Philipp Thomas)
To: Jon Taylor <jtaylor@creaf.com>
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: Bug w/EGCS 1.1.2 and latest Mesa CVS sources
Date: Mon, 29 Mar 1999 12:47:00 -0000
Message-id: <3702e1ac.83689986@mailer.gwdg.de>
References: <36FF6498.61E62323@creaf.com> <36FF6498.61E62323@creaf.com>
X-SW-Source: 1999-03/msg00956.html
Content-length: 332

John,

On Mon, 29 Mar 1999 11:31:36 +0000, you wrote:

>toplev.c:1367: Internal compiler error in function fatal_insn

Please see http://egcs.cygnus.com/faq.html#bugreport on how to submit
bug reports. Without such information there isn't much chance that the
bug is fixed soon.


Philipp Thomas

-- 
caffeine low .... brain halted
>From gold@aros.net Mon Mar 29 16:25:00 1999
From: Lawrence Gold <gold@aros.net>
To: egcs-bugs@egcs.cygnus.com
Subject: Re: Internal compiler error, GIMP 1.1.3
Date: Mon, 29 Mar 1999 16:25:00 -0000
Message-id: <199903300025.RAA63932@shell.aros.net>
X-SW-Source: 1999-03/msg00957.html
Content-length: 261

> I've made the .i file, the .c file, and the output of the command
> available by anonymous ftp from
>
>         ftp://ftp.aros.net/home/gold
>
> in gimp-error.tar.bz2.

I gave a bad url in my previous post.  It should be

	ftp://ftp.aros.net/pub/users/gold



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1999-04-30 23:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-30 10:19 19990328 snapshot has problem loading FP constant on sparc Brad Lucier
1999-04-30 23:15 ` Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1999-04-09  6:46 Brad Lucier
1999-03-29 10:34 Brad Lucier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).