This is the mail archive of the gcc-bugs@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: Help on: "stw.c failed assertion"


Hi,

After looking at the source code (more than 10 thousand lines), it seems
that
the "Internal compiler error" occurs when there are a  lot of  "ELSE IF" (
more than 125 times) in
one "IF" statement. Breaking the IF with ENDIF resolve my problem.

I attached a sample file used for testing.

Best Regards,
Jean.

P.S. This is not my code, I'm only porting the software to Linux :)))



Toon Moene wrote:

> Alexandre Oliva wrote:
>
> > On Feb 11, 2000, Jean Zaidan <jeanz@cae.ca> wrote:
>
> > > stw.c:308: failed assertion `b->uses_ > 0'
> > > f77: Internal compiler error: program f771 got fatal signal 6
>
> > > Can anyone help , explain please??
> >
> > Not without the source code.  Please see
> > http://egcs.cygnus.com/cgi-bin/fom.cgi?file=11
>
> Enter Superman :-)
>
> I can explain this - even without source code.
>
> The point is that the `uses' member of this struct - after the
> restructuring of the Fortran Frontend of last Spring - is put to uses
> (:-) that it wasn't designed for.
>
> The best solution is to change its type from char to int - rth already
> did this on the trunk, but perhaps it would be nice to also change this
> on the 2.95 release branch.
>
> Cheers,
>
> --
> Toon Moene (toon@moene.indiv.nluug.nl)
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
> Phone: +31 346 214290; Fax: +31 346 214286
> GNU Fortran: http://gcc.gnu.org/onlinedocs/g77_news.html
C
      INTEGER FUNCTION PAR_SYNTAX ()
      IMPLICIT NONE
C
      INTEGER
     .          KEYWD_INDEX,      ! index to keyword in table
     .          COND_PTR          ! color condition pointer
C
C
      COND_PTR = 1
C
C
      IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
C --- Ylabel
C     Internal Compiler Error
C
      ELSE IF (KEYWD_INDEX .EQ. 1) THEN
         COND_PTR = 1
      ENDIF

      END

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