HDTenEightyP/NetNews huggingface dataset:
From: brown@quorum.COM (Robert E. Brown)
Subject: missing optimization: remainder & register variable
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 12 Nov 1992 15:10:32 GMT

I am running GCC 2.3.1 on a Sun Sparcstation.  GCC was compiled with
"configure sun4".

When NEEDLESS_REMAINDER is not defined in the following function, GCC
optimizes away the computation of (temp % 33), but with NEEDLESS_REMAINDER
defined, the optimization doesn't happen.  Remainder is implemented in a
subroutine on my machine, so it's expensive.

If the xxx variable is assigned to a different register, the optimized
assembly code is always produced -- NEEDLESS_REMAINDER doesn't make a
difference.


% cat wow5.c
============


#ifdef NEEDLESS_REMAINDER
register long xxx asm ("%o0");
#endif


void *
foobar()
{
    long temp;
    
    temp = 1;
    temp = temp % 33;
    
    if (temp == 0)
	short_computation();
    else if (temp == 1)
	long_computation();
}



% gcc-2.3.1 -O -S wow5.c -v
===========================

Reading specs from /usr/local/lib/gcc-lib/sun4/2.3.1/specs
gcc version 2.3.1
 /usr/local/lib/gcc-lib/sun4/2.3.1/cpp -lang-c -v -undef -D__GNUC__=2 -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix -D__OPTIMIZE__ wow5.c /usr/tmp/cca04461.i
GNU CPP version 2.3.1 (sparc)
 /usr/local/lib/gcc-lib/sun4/2.3.1/cc1 /usr/tmp/cca04461.i -quiet -dumpbase wow5.c -O -version -o wow5.s
GNU C version 2.3.1 (sparc) compiled by GNU C version 2.3.1.


% cat wow5.s
============

gcc2_compiled.:
.text
	.align 4
	.global _foobar
	.proc	0120
_foobar:
	!#PROLOGUE# 0
	save %sp,-136,%sp
	!#PROLOGUE# 1
	call _long_computation,0
	nop
	ret
	restore


% gcc-2.3.1 -O -S wow5.c -v -DNEEDLESS_REMAINDER
================================================

Reading specs from /usr/local/lib/gcc-lib/sun4/2.3.1/specs
gcc version 2.3.1
 /usr/local/lib/gcc-lib/sun4/2.3.1/cpp -lang-c -v -DNEEDLESS_REMAINDER -undef -D__GNUC__=2 -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix -D__OPTIMIZE__ wow5.c /usr/tmp/cca04465.i
GNU CPP version 2.3.1 (sparc)
 /usr/local/lib/gcc-lib/sun4/2.3.1/cc1 /usr/tmp/cca04465.i -quiet -dumpbase wow5.c -O -version -o wow5.s
GNU C version 2.3.1 (sparc) compiled by GNU C version 2.3.1.
wow5.c:3: warning: call-clobbered register used for global register variable

thor [299]  cat wow5.x s
gcc2_compiled.:
.text
	.align 4
	.global _foobar
	.proc	0120
_foobar:
	!#PROLOGUE# 0
	save %sp,-136,%sp
	!#PROLOGUE# 1
	mov 1,%o1
	mov %o1,%o0
	call .rem,0
	mov 33,%o1
	call _long_computation,0
	nop
	ret
	restore

Newsgroups: gnu.gcc.bug
From: cmaeda@mc8.mach.cs.cmu.edu (Christopher Maeda)
Subject: mips/decstation gcc 2.3.1 emits _mcount in a bad place
Reply-To: cmaeda@cs.cmu.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 10 Nov 1992 22:51:06 GMT

When compiling the following code, gcc emits a call to mcount that
trashes register 2 (the value return register).  What's wrong here?

MC8 /usr0/cmaeda : cat testgcc.c
struct xxx {
  struct xxx *next;
  struct xxx *prev;
  int data;
} foo;

void
function()
{
  foo.next = foo.prev = &foo;
}
MC8 /usr0/cmaeda : gcc -v -S -O -pg testgcc.c
Reading specs from /usr/misc/.gnu-comp/lib/gcc-lib/mips-dec-mach/2.3.1/specs
gcc version 2.3.1
 /usr/misc/.gnu-comp/lib/gcc-lib/mips-dec-mach/2.3.1/cpp -lang-c -v -iprefix /afs/cs.cmu.edu/project/mach3/latest/release/@sys/lib/gcc-mips-dec-mach/2.3.1/ -undef -D__GNUC__=2 -D__ANSI_COMPAT -DMIPSEL -DR3000 -DSYSTYPE_BSD -Dbsd4_2 -Dhost_mips -Dmips -Dpmax -Dunix -DMACH -DCMU -DCMUCS -DMTXINU -D__ANSI_COMPAT -D__MIPSEL__ -D__R3000__ -D__SYSTYPE_BSD__ -D__bsd4_2__ -D__host_mips__ -D__mips__ -D__pmax__ -D__unix__ -D__MACH__ -D__CMU__ -D__CMUCS__ -D__MTXINU__ -D__ANSI_COMPAT -D__MIPSEL -D__R3000 -D__SYSTYPE_


BSD -D__bsd4_2 -D__host_mips -D__mips -D__pmax -D__unix -D__MACH -D__CMU -D__CMUCS -D__MTXINU -D__OPTIMIZE__ -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C testgcc.c /usr/tmp/cc000517.i
GNU CPP version 2.3.1 [AL 1.1, MM 28] DECstation running Mach
 /usr/misc/.gnu-comp/lib/gcc-lib/mips-dec-mach/2.3.1/cc1 /usr/tmp/cc000517.i -mgpopt -quiet -dumpbase testgcc.c -O -version -p -o testgcc.s
GNU C version 2.3.1 [AL 1.1, MM 28] DECstation running Mach compiled by GNU C version 2.3.1.
MC8 /usr0/cmaeda : cat testgcc.s
        .file   1 "testgcc.c"
        .set    nobopt

 # GNU C 2.3.1 [AL 1.1, MM 28] DECstation running Mach compiled by GNU C

 # Cc1 defaults:

 # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
 # -mgpopt -quiet -dumpbase -O -version -p -o

gcc2_compiled.:
        .space  4
        .text
        .align  2
        .globl  function

        .comm   foo,16

        .text

        .loc    1 10
        .ent    function
function:
        .frame  $sp,0,$31               # vars= 0, regs= 0/0, args = 0, extra= 0
        .mask   0x00000000,0
        .fmask  0x00000000,0
        la      $2,foo
        .data
        .align  2
$LP1:
        .word   0
        .text
        .set    noreorder
        .set    noat
        move    $1,$31          # save current return address
        jal     _mcount
        subu    $sp,$sp,8               # _mcount pops 2 words from  stack
        .set    reorder
        .set    at
        sw      $2,4($2)
        .set    noreorder
        .set    nomacro
        j       $31
        sw      $2,0($2)
        .set    macro
        .set    reorder

        .end    function



Newsgroups: gnu.gcc.bug
From: eggert@twinsun.COM (Paul Eggert)
Subject: missing cast to USItype in libgcc2.c
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 12 Nov 1992 02:59:34 GMT

A missing cast to (USItype) in libgcc2.c causes problems when sizeof(USItype)
> sizeof(int), because it subtracts 2^31 instead of adding it.  This bug was
discovered with the arithmetic overflow patches that I'll send in my next
message.  Here is a patch.

Thu Nov 12 02:44:18 1992  Paul Eggert  (eggert@twinsun.com)

	* libgcc2.c (__udiv_w_sdiv): Avoid overflow when sizeof(USItype) >
	sizeof(int).

===================================================================
RCS file: libgcc2.c,v
retrieving revision 2.3.1.1
retrieving revision 2.3.1.2
diff -c -r2.3.1.1 -r2.3.1.2
*** libgcc2.c	1992/11/06 11:59:59	2.3.1.1
--- libgcc2.c	1992/11/12 02:44:18	2.3.1.2
***************
*** 296,302 ****
  	  /* Divide (c1*2^32 + c0) by d */
  	  sdiv_qrnnd (q, r, c1, c0, d);
  	  /* Add 2^31 to quotient */
! 	  q += 1 << 31;
  	}
      }
    else
--- 296,302 ----
  	  /* Divide (c1*2^32 + c0) by d */
  	  sdiv_qrnnd (q, r, c1, c0, d);
  	  /* Add 2^31 to quotient */
! 	  q += (USItype) 1 << 31;
  	}
      }
    else

Newsgroups: gnu.gcc.bug
From: rjc@devo.unify.COM
Subject: gcc-2.3.1
Organization: GNUs Not Usenet
Distribution: gnu
Date: Mon, 9 Nov 1992 20:38:00 GMT

Machine:       Sony NEWS 3860, running NEWSOS 5.0U
Configuration: configure mips-sony-sysv4
Problem:       mips-tdump.c fails to compile.  compiler complains about
               "index" not being a member of the SYMR structure.

My sol'n was to move the "#ifdef index" above the inclusion of "sym.h".
Here's the patch:

devo$ gdiff -c2 mips-tdump.c~ mips-tdump.c
*** mips-tdump.c~       Thu Oct 29 11:32:39 1992
--- mips-tdump.c        Sun Nov  8 22:47:05 1992
***************
*** 27,30 ****
--- 27,35 ----
  #include "config.h"

+ #ifdef index
+ #undef index
+ #undef rindex
+ #endif
+
  #ifndef CROSS_COMPILE
  #include <a.out.h>
***************
*** 60,68 ****
  #define uint  unsigned int
  #define ulong unsigned long
-
- #ifdef index
- #undef index
- #undef rindex
- #endif


--- 65,68 ----
devo$

--
Ronald Cole           +----------------------+  internet: rjc@unify.com
Software Engineer II  |    Lord/Genis '96    |  uucp:     uunet!unify!rjc
Unify Corporation     +----------------------+  voice:    +1 916 928 6238
          "THE BILL OF RIGHTS --- Void where prohibited by law"

Newsgroups: gnu.gcc.bug
From: jbg@qualcomm.com (Jeff Gehlhaar)
Subject: GCC Bug..
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 6 Nov 1992 03:27:10 GMT

One of my users sent me this. This is running on a sparc machine.

>
>// When compiled with
>//      g++ -v -c -Wshadow bug4.cc
>// this program produces
>//      Reading specs from
>/usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/specs
>//      gcc version 2.3.1
>//      bug4.cc: In function `unsigned char  Function (int)':
>//      bug4.cc:28: warning: declaration of `Shadow' shadows a member of `this'
>
>// Note that function Function is not a member function, so it has no `this'
>// pointer, so there should be no member of `this' to be shadowed.
>
>class Class
>{
>public:
>        Class(void);            // constructor
>        int Shadow(void);       // member function
>private:
>        long value;
>};
>
>Class::Class(void)
>{
>        value = 0;
>}
>
>static inline unsigned char
>Function(int Shadow)
>{
>        return 0;
>}
>
>

======================================================
Jeff Gehlhaar           Qualcomm Inc,  
jbg@qualcomm.com        San Diego, CA, USA
(619) 597-5241          "The Elegant Solution...."
======================================================


Newsgroups: gnu.gcc.bug
From: eggert@twinsun.COM (Paul Eggert)
Subject: -0LL generates overflow message (GCC 2.3.1)
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 10 Nov 1992 19:30:40 GMT

For the program

	long long x = -0LL;

GCC 2.3.1 (sparc, SunOS 4.1.2) wrongly reports:

	t.c:1: warning: overflow in constant expression

Here is a patch.


Tue Nov 10 19:12:13 1992  Paul Eggert  (eggert@twinsun.com)

	* fold-const.c (neg_double): Don't report overflow with -0.

===================================================================
RCS file: fold-const.c,v
retrieving revision 2.3.1.6
diff -c -c -r2.3.1.6 fold-const.c
*** fold-const.c	1992/11/05 01:53:38	2.3.1.6
--- fold-const.c	1992/11/10 19:12:13
***************
*** 224,230 ****
      {
        *lv = 0;
        *hv = - h1;
!       return same_sign (h1, *hv);
      }
    else
      {
--- 224,230 ----
      {
        *lv = 0;
        *hv = - h1;
!       return (*hv & h1) < 0;
      }
    else
      {

Newsgroups: gnu.gcc.bug
From: rhr@clio.rice.edu (Rush Record 713-864-1574)
Subject: gcc 2.3.1 warning bug?
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 12 Nov 1992 04:35:48 GMT

The following program was compiled with gcc on a sparc II running
SunOS 4.1.1, using gcc version 2.3.1, compiled by itself, as follows:

gcc -Wall -c test.c

#include <stdio.h>
int main(char *buf)
{
	char c,*p;

	p = buf;
	while(c = *p++)
		printf("%c",c);
	return(1);
}

The result was:

test.c: In function `main':
test.c:7: warning: suggest parentheses around assignment used as truth value
test.c:8: warning: implicit declaration of function `printf'

There are already parentheses around the assignment. Must I use:

	while((c = *p++))
	
everywhere in my code?

Newsgroups: gnu.gcc.bug
From: amorton@cc.uow.EDU.AU (andrew morton)
Subject: Buglet in rtx_alloc()
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 6 Nov 1992 20:45:45 GMT

Felicitations.

In gcc 2.2.2 rtl.c:rtx_alloc() we zero the start of
the newly mallocated rtx with 

	* (int *) rt = 0;

This doesn't work as desired if ONLY_INT_FIELDS is
defined in rtl.h.  I guess that this is because
rt->mode is out of reach of the write.

Suggest you call bzero() in rtx_alloc() if ONLY_INT_FIELDS
is defined.


Newsgroups: gnu.gcc.bug
From: jason@jarthur.claremont.edu (Jason Merrill)
Subject: Unhelpful redeclaration warning in gcc 2.3.1
Organization: Harvey Mudd College, Claremont, CA 91711
Distribution: gnu
Date: Sat, 7 Nov 1992 04:01:19 GMT

This declaration:
char *memcpy(char *s1, char *s2, int n);

produces these warnings:
memcpy.c:1: warning: conflicting types for built-in function `memcpy'
memcpy.c:1: warning: type mismatch with previous external decl
<built-in>:0: warning: previous external decl of `memcpy'

Should there be three warnings for the same error?
Also, it would be very nice if gcc told you what types it expects, so you
don't have to go hunting through the source to find out.

--
Jason Merrill
jason@jarthur.claremont.edu

Newsgroups: gnu.gcc.bug
From: scott@thyme.jpl.nasa.gov (Keith Scott)
Subject: 2.3.1 on Sun 386i -- 'make compare' fails
Organization: Jet Propulsion Lab, Pasadena, CA
Distribution: gnu
Date: Mon, 9 Nov 1992 17:27:34 GMT

FYI:

'configure --target i386-sun-sunos4.0'
'make LANGUAGES=c'

runs indefinitely on libgcc2.c while compiling -DL_muldi3


'rm -rf gcc-2.3.1', untar the source again...

'configure --target i386-sun-sunos4.0'
'make LANGUAGES=c CC="/usr/local/bin/gcc -B/usr/local/lib/"'
<[(/usr/local/bin/gcc == either gcc-1.42 or gcc-2.1)]>
'make stage1'
'make CC="stage1/xgcc -Bstage1" CFLAGS="-g -O"'
'make stage2'
'make CC="stage2/xgcc -Bstage2" CFLAGS="-g -O"'
'make compare'

reports .o file mismatches; continuing on...

'make stage3'
'make CC="stage3/xgcc -Bstage3" CFLAGS="-g -O"'
'make compare3'

reports all .o files match.

-- 

Keith Scott
scott@thyme.jpl.nasa.gov


Newsgroups: gnu.gcc.bug
From: karl@claude.cs.umb.edu (Karl Berry)
Subject: GCC 2.3.1 on Sun Unix 3.5
Reply-To: karl@cs.umb.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 11 Nov 1992 05:59:11 GMT

GCC 2.3.1 doesn't quite bootstrap on a Sun 3 running 3.5, configured as
`sun3os3' -- the system compiler doesn't permit mixing enumerated and
integral types in some contexts.  optabs.c is the only offending file.
I can't say this patch is pretty, but at least compilation doesn't bomb
out.

Tue Nov 10 19:04:36 1992  Karl Berry  (karl@cs.umb.edu)

	* optabs.c (init_libfuncs): Use int instead of enum for
	first_mode, last_mode, and mode, and cast reg_class_subunion used
	as a subscript, to appease Sun 3.5's cc.

*** ./ORIG/optabs.c	Mon Oct  5 02:21:02 1992
--- ./optabs.c	Sun Nov  8 11:10:06 1992
***************
*** 3739,3749 ****
  init_libfuncs (optable, first_mode, last_mode, opname, suffix)
      register optab optable;
      register char *opname;
!     register enum machine_mode first_mode;
!     register enum machine_mode last_mode;
      register char suffix;
  {
!   register enum machine_mode mode;
    register unsigned opname_len = strlen (opname);
  
    for (mode = first_mode; mode <= last_mode; mode++)
--- 3739,3749 ----
  init_libfuncs (optable, first_mode, last_mode, opname, suffix)
      register optab optable;
      register char *opname;
!     register int first_mode;
!     register int last_mode;
      register char suffix;
  {
!   register int mode;
    register unsigned opname_len = strlen (opname);
  
    for (mode = first_mode; mode <= last_mode; mode++)
*** ./ORIG/regclass.c	Mon Oct 12 18:19:25 1992
--- ./regclass.c	Sun Nov  8 11:51:11 1992
***************
*** 893,899 ****
  	  if (pass == 1 || ! flag_expensive_optimizations)
  	    for (class = 0; class < N_REG_CLASSES; class++)
  	      if (p->cost[class] < p->mem_cost
! 		  && (reg_class_size[reg_class_subunion[(int) alt][class]]
  		      > reg_class_size[(int) alt])
  #ifdef FORBIDDEN_INC_DEC_CLASSES
  		  && ! (in_inc_dec[i] && forbidden_inc_dec_class[class])
--- 893,899 ----
  	  if (pass == 1 || ! flag_expensive_optimizations)
  	    for (class = 0; class < N_REG_CLASSES; class++)
  	      if (p->cost[class] < p->mem_cost
! 		  && (reg_class_size[(int) reg_class_subunion[(int) alt][class]]
  		      > reg_class_size[(int) alt])
  #ifdef FORBIDDEN_INC_DEC_CLASSES
  		  && ! (in_inc_dec[i] && forbidden_inc_dec_class[class])

Newsgroups: gnu.gcc.bug
From: timhu@ico.isc.com (Timothy Hu)
Subject: Re: more trouble
Organization: Interactive Systems Corp., Boulder CO
Distribution: gnu
Date: Wed, 11 Nov 1992 00:44:07 GMT

> as: "/usr/tmp/cca09766.s": , approx line 7349: internal assembler error:
> out of
> memory
> *** Error code 1
> make: Fatal error: Command failed for target `cccp.o'

You simply don't have enough memory to run the assembler. You might be
running on a machine that has a bunch of users on it or you simply need
to add more RAM to your machine. If the former is true, simply recompiling
when the machine load is lighter will solve your problem.

Tim


Newsgroups: gnu.gcc.bug
From: clary@s1.elec.uq.oz.au (Clary Harridge)
Subject: gcc-2.3.1 config problem
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 11 Nov 1992 21:08:22 GMT

Hi I encountered the following problem
trying to build gcc-2.3.1 on a Sony news 3860 running NewsOS 4.1R

**
         configure --target=mips-news-newsos4.1
**
stage2/xgcc -Bstage2/  -DIN_GCC   -g -O     -I. -I. -I./config  -DSTANDARD_STARTFILE_PREFIX=\"/usr/local/lib/\"  -DSTANDARD_BIN_PREFIX=\"/usr/local/bin/\"  -DSTANDARD_EXEC_PREFIX=\"/usr/local/lib/gcc-lib/\"  -DDEFAULT_TARGET_MACHINE=\"mips-news-newsos4.1\"  -c `echo ./collect2.c | sed 's,^\./,,'`
In file included from collect2.c:111:
/usr/include/ldfcn.h:129: warning: `FREAD' redefined
/usr/include/sys/file.h:52: warning: this is the location of the previous definition
/usr/include/ldfcn.h:132: warning: `FWRITE' redefined
/usr/include/sys/file.h:53: warning: this is the location of the previous definition

**
	I made the following change

diff  -r1.1 collect2.c
106c106,107
< #if defined (_AIX) || defined (USG)
---
> /* add mips for Sony news3800 C.H. */
> #if defined (_AIX) || defined (USG) || defined (mips)

I guess something more specific than (mips) would be better?

**
	make compare fails?

	I am not using the `-mno-mips-tfile' option mentioned in section
	10. of the INSTALL document.
-- 
regards			Dept. of Electrical Engineering,
Clary Harridge		University of Queensland, QLD, Australia, 4072
			Phone: +61-7-365-3636	Fax:   +61-7-365-4999
			INTERNET: clary@s1.elec.uq.oz.au

Newsgroups: gnu.gcc.bug
From: michael@mercury.cs.mun.ca (Mike Rendell)
Subject: Fixes for hppa config files (gcc 2.3.1)
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sat, 7 Nov 1992 11:26:35 GMT

Environment: hp720 running HPUX 8.07, gcc 2.3.1

The definition of CPP_SPEC in config/pa.h assumes that TARGET_DEFAULT
has been defined, when, in fact, it is not defined until later.
This causes some snake preprocessor symbols not to be defined.
The following diffs fix the problem by using one CPP_SPEC in
config/pa.h and overriding it in config/pa1.h, config/pa1-hpux.h
and config/pa1-ghpux.h.

*** config/pa.h.orig	Tue Oct 27 15:08:38 1992
--- config/pa.h	Wed Nov  4 13:26:45 1992
***************
*** 31,43 ****
  #define DBX_DEBUGGING_INFO
  #define DEFAULT_GDB_EXTENSIONS 0
  
- #if (TARGET_DEFAULT & 1) == 0
- #define CPP_SPEC "%{msnake:-D__hp9000s700 -D_PA_RISC1_1}\
-  %{mpa-risc-1-1:-D__hp9000s700 -D_PA_RISC1_1}"
- #else
- #define CPP_SPEC "%{!mpa-risc-1-0:-D__hp9000s700 -D_PA_RISC1_1}"
- #endif
- 
  /* Defines for a K&R CC */
  
  #ifdef OLD_CC
--- 31,36 ----
***************
*** 46,51 ****
--- 39,46 ----
  #define CC1_SPEC "%{!gnu:-traditional -fwritable-strings -fno-defer-pop} \
    %{pg:} %{p:}"
  #else
+ #define CPP_SPEC "%{msnake:-D__hp9000s700 -D_PA_RISC1_1}\
+  %{mpa-risc-1-1:-D__hp9000s700 -D_PA_RISC1_1}"
  #define CC1_SPEC "%{pg:} %{p:}"
  #endif
    

*** config/pa1-ghpux.h.orig	Wed Oct 14 12:07:34 1992
--- config/pa1-ghpux.h	Wed Nov  4 13:25:08 1992
***************
*** 25,30 ****
--- 25,33 ----
  
  #include "pa-ghpux.h"
  
+ #undef CPP_SPEC
+ #define CPP_SPEC "%{!mnosnake:%{!mpa-risc-1-0:-D__hp9000s700 -D_PA_RISC1_1}}"
+ 
  #undef TARGET_DEFAULT
  #ifdef hpux8
  #define TARGET_DEFAULT 9


*** config/pa1-hpux.h.orig	Wed Oct 14 12:07:47 1992
--- config/pa1-hpux.h	Wed Nov  4 13:25:29 1992
***************
*** 25,30 ****
--- 25,33 ----
  
  #include "pa-hpux.h"
  
+ #undef CPP_SPEC
+ #define CPP_SPEC "%{!mnosnake:%{!mpa-risc-1-0:-D__hp9000s700 -D_PA_RISC1_1}}"
+ 
  #undef TARGET_DEFAULT
  #ifdef hpux8
  #define TARGET_DEFAULT 9


*** config/pa1.h.orig	Tue Jul 28 00:17:15 1992
--- config/pa1.h	Wed Nov  4 13:24:09 1992
***************
*** 23,27 ****
--- 23,30 ----
  
  #include "pa.h"
  
+ #undef CPP_SPEC
+ #define CPP_SPEC "%{!mnosnake:%{!mpa-risc-1-0:-D__hp9000s700 -D_PA_RISC1_1}}"
+ 
  #undef TARGET_DEFAULT
  #define TARGET_DEFAULT 1


--
Michael Rendell - Dept. of Comp. Sci., Memorial University of Newfoundland

Newsgroups: gnu.gcc.bug
From: dwayne@holonet.net (Dwayne Springfield)
Subject: Compiling gcc on AIX and Interactive Unix
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 12 Nov 1992 03:09:15 GMT

I have been trying to get gcc up and running under IBM's AIX and also
Interactive's Unix.  Thus far without much success.  Do you have any words
of wisdom that might apply to these 2 particular flavors of Unix?  Any
help would be greatly appreciated... Oh yes ... the AIX is on a RISC 6000
so the  aix config that came with the release that I got (1.4) does not work.
Interactive is version 3.2 AIX is version 3.2.5 and 3.2.3.


Newsgroups: gnu.gcc.bug
From: sethg@cs.berkeley.edu (Seth C. Goldstein)
Subject: gcc 2.2.2 c++ bug
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 12 Nov 1992 07:39:13 GMT

Machine:	sparc
Version:	gcc version 2.2.2
OS:		SunOS Release 4.1.2
problem:	if static member function is declared with a <classname>::
		before its name no error message is generated AND
		it is compiled to take an implicit 'this' argument.

Example code:

--------------------------------------------------------
class Frame
{
	int	cb;
	
public:
	inline 		Frame(void);
	static void	Frame::initialize(int arg1);
};

void
Frame::initialize(int arg1)
{
	printf("%d\n", arg1);
}
--------------------------------------------------------
generates the following assembly code when compiled as follows:
--------------------------------------------------------
gcc -S -o bad.s bad.C
--------------------------------------------------------
gcc2_compiled.:
.text
	.align 8
LC0:
	.ascii "%d\12\0"
	.align 4
	.global _initialize__5Framei
	.proc	020
_initialize__5Framei:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	mov %i0,%l0
	st %i1,[%fp+72]
	sethi %hi(LC0),%o1
	or %o1,%lo(LC0),%o0
	ld [%fp+72],%o1
	call _printf,0
	nop
	b,a L2
	b,a L1
L2:
L1:
	ret
	restore
--------------------------------------------------------
Notice two input arguments.  This goes away if the declaration for initialize
is instead written:

	static void	initialize(int arg1);

-sethg

Newsgroups: gnu.gcc.bug
From: daney@mermaid.micro.umn.edu (Dave Daney)
Subject: gcc-2.3.1 looses compiling ghostscript 2.5.2 on Interactive 3.0.1
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 11 Nov 1992 02:53:28 GMT

I have gcc-2.3.1 compiled on Interactive 3.0.1.  I built the stage3 compiler
without problems.  It seems to work with every thing I have compiled except
ghostscript 2.5.2.

I was not able to find where in ghostscript the problems occoured.  The
symptoms are an X-window(using the X11 driver) that is very small (20x15 in
stead of 550x750) then I get a segmentation fault with a corrupt stack
so I can not get a stack backtrace.  This behaviour is repeatable.  It happens
when compiling with and without -O and -O2.

The same source (gs-2.5.2) when compiled with gcc-2.2.2 seems to work properly.
It also works using the 'stock' cc.

Sorry for the lacking bug report, but That is all I can tell you about the
problem.

Dave Daney           daney@mermaid.micro.umn.edu

Newsgroups: gnu.gcc.bug
From: linstee@dutecaj.et.tudelft.nl (Erik van Linstee)
Subject: Is there a bug list for gcc 2.2.2/emx (OS/2 port)
Organization: Delft University of Technology, Dept. of Electrical Engineering
Distribution: gnu
Date: Thu, 12 Nov 1992 10:58:50 GMT

So is there one?

Erik



-- 
Erik van Linstee   |   Delft University of Technology   |   I'll be back ... 
----
   We are god, 'cause only we can create the idea of his existence
   in our holy brains...  (Yello)


Newsgroups: gnu.gcc.bug
From: andy@csvax.cs.caltech.edu (Andy Fyfe)
Subject: minor fix for gcc 2.3.1
Organization: GNUs Not Usenet
Distribution: gnu
Date: Mon, 9 Nov 1992 07:28:48 GMT

The file config/xm-3b1.h needs to have
	#define index strchr
	#define rindex strrchr
added to it.

I have built gcc for the 3b1 as a cross compiler.  An option that
I would find useful would be one that does the following sort of
thing for libgcc1:
	for name in .....
		./gcc -B./ -E -P -DL_$name .... -o $name.c libgcc1.c
		<add $name.c to archive>

This would make it easy to build libgcc.a on the 3b1, namely
	% <unarchive libgcc1>
	% cc -c -O *.c
	% <unarchive libgcc2>
	% ar crv libgcc.a *.o

Andy Fyfe					andy@cs.caltech.edu

Newsgroups: gnu.gcc.bug