[gnu.gcc.bug] gcc-1.36 on an IRIS

pmorris@BBN.COM (phil morris) (11/18/89)

To whom it may concern,

I just got the gcc-1.36.tar.Z file from prep.ai.mit.edu and attempted to
compile it on an SGI Iris 4D/80 running IRIX System V Release 4D1-3.147.
After reading the README and gcc.texinfo, I modified the Makefile for
use with System V, did config.gcc iris, and then typed make.  All worked
fine until it started making gnulib2.c with the newly created gcc.  Here
is the output:

        for name in _adddi3 _subdi3 _muldi3 _divdi3 _moddi3 _udivdi3
_umoddi3 _negdi2  _anddi3 _iordi3 _xordi3 _lshrdi3 _lshldi3 _ashldi3
_ashrdi3 _one_cmpldi2
  _bdiv _cmpdi2 _ucmpdi2 _fixunsdfdi _fixdfdi _floatdidf; \
        do \
          echo ${name}; \
          ./gcc -B./ -fstrength-reduce -I. -I. -I./config  -c -DL${name}
./gnulib2.c -o ${name}.o; \
          ar rc gnulib ${name}.o; \
          rm -f ${name}.o; \
        done
_adddi3
./gnulib2.c:79: `u' undeclared, outside of functions
./gnulib2.c:79: `v' undeclared, outside of functions
./gnulib2.c:80: parse error before `long'
./gnulib2.c:81: parse error before `{'
./gnulib2.c:86: parse error before `.'
./gnulib2.c:89: invalid initializer
./gnulib2.c:89: warning: data definition lacks type or storage class
./gnulib2.c:90: conflicting types for `a'
./gnulib2.c:90: invalid initializer
./gnulib2.c:90: warning: data definition lacks type or storage class
./gnulib2.c:91: invalid initializer
./gnulib2.c:91: warning: data definition lacks type or storage class
./gnulib2.c:92: conflicting types for `b'
./gnulib2.c:92: invalid initializer
./gnulib2.c:92: warning: data definition lacks type or storage class
./gnulib2.c:94: `c' undeclared, outside of functions
./gnulib2.c:94: `c' undeclared, outside of functions
./gnulib2.c:94: invalid integer constant in parameter list, did you
forget to give parameter name?
./gnulib2.c:94: warning: data definition lacks type or storage class
./gnulib2.c:96: parse error before `.'
./gnulib2.c:102: `c' undeclared, outside of functions
./gnulib2.c:102: `n' undeclared, outside of functions
./gnulib2.c:103: parse error before `unsigned'
./gnulib2.c:103: conflicting types for `a'
./gnulib2.c:103: conflicting types for `b'
./gnulib2.c:105: parse error before `{'
./gnulib2.c:109: parse error before `/='
./gnulib2.c:111: warning: data definition lacks type or storage class
./gnulib2.c:112: parse error before `for'
./gnulib2.c:112: parse error before `>='
./gnulib2.c:112: parse error before `)'
./gnulib2.c:116: variable-size type declared outside of any function
./gnulib2.c:116: conflicting types for `c'
./gnulib2.c:116: invalid initializer
./gnulib2.c:116: warning: data definition lacks type or storage class
./gnulib2.c:117: redefinition of `acc'
./gnulib2.c:111: here is the previous declaration of `acc'
./gnulib2.c:117: warning: data definition lacks type or storage class
./gnulib2.c:118: parse error before `}' *** Error code 1

Stop.

Playing around, I got it to "work" by casting the argument variables
within the routine declaration and commenting out the static declaration
of _badd.  But this caused other routines not to work, so I was
wondering what the correct fix is.

Phil Morris


--------
===========
Phil Morris (pmorris@dgi0.bbn.com)
Disclaimer: ME? I'm only a non-smoking cat; can't believe a word I meow.