public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* Internal compiler error in egcs-1.0.3a
@ 1998-06-04  6:56 Erik Schnetter
  1998-08-17  1:26 ` Jeffrey A Law
  0 siblings, 1 reply; 2+ messages in thread
From: Erik Schnetter @ 1998-06-04  6:56 UTC (permalink / raw)
  To: egcs-bugs

Hello,

I received an internal compiler error using egcs 1.0.3.

I am using Linux 2.0.33 on a PentiumPro.

My version of gcc is
Reading specs from /home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/specs
gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)

I configured egcs by saying something equivalent to
#!/bin/sh
# This file was generated automatically by configure.  Do not edit.
# This directory was configured as follows:
./configure --host=i686-pc-linux-gnulibc1 --prefix=/home/schnette/egcs --enable-shared --enable-haifa --enable-threads --with-cpu=pentiumpro --norecursion 
# using "config/mh-x86pic" and "config/mt-x86pic"

I called gcc by having make execute
/home/schnette/egcs/bin/gcc -pipe  -ansi -Wall -pedantic -Wtraditional -g -static -O3 -funroll-loops -malign-double -march=pentiumpro -fmove-all-movables -freduce-all-givs -fbranch-probabilities -pg -fprofile-arcs -ftest-coverage -ax   -c io.c -o io.o

gcc responded with
io.c:0: warning: file io.da not found, execution counts assumed to be zero.
io.c: In function `read_initial_data':
io.c:145: warning: zero-length format string
io.c:93: warning: unused variable `tmp_kind'
gcc: Internal compiler error: program cc1 got fatal signal 11

The input file was (cut between the asterisk lines)
******************************
# 1 "io.c"
 


 



# 1 "/usr/include/stdio.h" 1 3
 



















 









# 1 "/usr/include/features.h" 1 3
 





















 




































 









 







 



 





 








 



































 
# 1 "/usr/include/sys/cdefs.h" 1 3
 






















# 1 "/usr/include/features.h" 1 3
 

















# 136 "/usr/include/features.h" 3

# 24 "/usr/include/sys/cdefs.h" 2 3










 


 


# 50 "/usr/include/sys/cdefs.h" 3

   


















# 100 "/usr/include/sys/cdefs.h" 3








 







 

typedef long double __long_double_t;

# 128 "/usr/include/sys/cdefs.h" 3


 




 







 













# 134 "/usr/include/features.h" 2 3



# 31 "/usr/include/stdio.h" 2 3



# 1 "/usr/include/libio.h" 1 3
 























 




# 1 "/home/schnette/egcs/i686-pc-linux-gnulibc1/include/_G_config.h" 1 3
  









typedef          int   _G_int8_t __attribute__((__mode__(__QI__)));
typedef unsigned int  _G_uint8_t __attribute__((__mode__(__QI__)));
typedef          int  _G_int16_t __attribute__((__mode__(__HI__)));
typedef unsigned int _G_uint16_t __attribute__((__mode__(__HI__)));
typedef          int  _G_int32_t __attribute__((__mode__(__SI__)));
typedef unsigned int _G_uint32_t __attribute__((__mode__(__SI__)));
typedef          int  _G_int64_t __attribute__((__mode__(__DI__)));
typedef unsigned int _G_uint64_t __attribute__((__mode__(__DI__)));

__extension__ typedef long long _G_llong;
__extension__ typedef unsigned long long _G_ullong;








typedef long _G_clock_t;
typedef unsigned short _G_dev_t;
typedef long int _G_fpos_t;
typedef unsigned short _G_gid_t;
typedef unsigned long _G_ino_t;
typedef unsigned short _G_mode_t;
typedef unsigned short _G_nlink_t;
typedef long _G_off_t;
typedef int _G_pid_t;



typedef int _G_ptrdiff_t;
typedef unsigned long _G_sigset_t;



typedef unsigned int _G_size_t;
typedef long _G_time_t;
typedef unsigned short _G_uid_t;
typedef long int _G_wchar_t;















typedef int _G_ssize_t;
typedef unsigned int _G_wint_t;
typedef void * _G_va_list;

















# 1 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 1 3






 


# 19 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3



 


 





 


# 61 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 





 


















 





 

 

# 131 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

 

# 184 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3



 




 

# 258 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


# 270 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

# 302 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3




 





















# 86 "/home/schnette/egcs/i686-pc-linux-gnulibc1/include/_G_config.h" 2 3


# 30 "/usr/include/libio.h" 2 3













# 51 "/usr/include/libio.h" 3


# 63 "/usr/include/libio.h" 3


 







































 























 

















 


struct _IO_lock_t {
  void *ptr;
  short int field1;
  short int field2;
};

 

struct _IO_jump_t;  struct _IO_FILE;

struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;
   

   
  int _pos;
# 176 "/usr/include/libio.h" 3

};



struct _IO_FILE {








  int _flags;		 
   
   
  char* _IO_read_ptr;	 
  char* _IO_read_end;	 
  char* _IO_read_base;	 

  char* _IO_write_base;	 
  char* _IO_write_ptr;	 
  char* _IO_write_end;	 
  char* _IO_buf_base;	 
  char* _IO_buf_end;	 
   
  char *_IO_save_base;  
  char *_IO_backup_base;   
  char *_IO_save_end;  

  struct _IO_marker *_markers;
  
  struct _IO_FILE *_chain;
  
  int _fileno;
  int _blksize;
  _G_off_t  _offset;
  

   
  unsigned short _cur_column;
  char _unused;
  char _shortbuf[1];
  
   

  struct _IO_lock_t _IO_lock;
};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_;








extern int __underflow  (_IO_FILE*)  ;
extern int __uflow  (_IO_FILE*)  ;
extern int __overflow  (_IO_FILE*, int)  ;

















 



extern int _IO_vfscanf  (_IO_FILE*, const char*, _G_va_list , int*)  ;
extern int _IO_vfprintf  (_IO_FILE*, const char*, _G_va_list )  ;
extern _G_ssize_t  _IO_padn  (_IO_FILE *, int, _G_ssize_t )  ;
extern _G_size_t  _IO_sgetn  (_IO_FILE *, void*, _G_size_t )  ;

extern _G_fpos_t  _IO_seekoff  (_IO_FILE*, _G_off_t , int, int)  ;
extern _G_fpos_t  _IO_seekpos  (_IO_FILE*, _G_fpos_t , int)  ;

extern void _IO_free_backup_area  (_IO_FILE*)  ;






# 34 "/usr/include/stdio.h" 2 3

























  











typedef _G_size_t  size_t;




typedef struct _IO_FILE FILE;
typedef _G_fpos_t  fpos_t;




 






 

extern FILE *stdin, *stdout, *stderr;

# 102 "/usr/include/stdio.h" 3








 

extern void clearerr  (FILE*)  ;
extern int fclose  (FILE*)  ;
extern int feof  (FILE*)  ;
extern int ferror  (FILE*)  ;
extern int fflush  (FILE*)  ;
extern int fgetc  (FILE *)  ;
extern int fgetpos  (FILE* fp, fpos_t *pos)  ;
extern char* fgets  (char*, int, FILE*)  ;
extern FILE* fopen  (__const char*, __const char*)  ;
extern int fprintf  (FILE*, __const char* format, ...)  ;
extern int fputc  (int, FILE*)  ;
extern int fputs  (__const char *str, FILE *fp)  ;
extern size_t fread  (void*, size_t, size_t, FILE*)  ;
extern FILE* freopen  (__const char*, __const char*, FILE*)  ;
extern int fscanf  (FILE *fp, __const char* format, ...)  ;
extern int fseek  (FILE* fp, long int offset, int whence)  ;
extern int fsetpos  (FILE* fp, __const fpos_t *pos)  ;
extern long int ftell  (FILE* fp)  ;
extern size_t fwrite  (__const void*, size_t, size_t, FILE*)  ;
extern int getc  (FILE *)  ;
extern int getchar  (void)  ;
extern char* gets  (char*)  ;
extern void perror  (__const char *)  ;
extern int printf  (__const char* format, ...)  ;
extern int putc  (int, FILE *)  ;
extern int putchar  (int)  ;
extern int puts  (__const char *str)  ;
extern int remove  (__const char*)  ;
extern int rename  (__const char* _old, __const char* _new)  ;
extern void rewind  (FILE*)  ;
extern int scanf  (__const char* format, ...)  ;
extern void setbuf  (FILE*, char*)  ;
extern void setlinebuf  (FILE*)  ;
extern void setbuffer  (FILE*, char*, int)  ;
extern int setvbuf  (FILE*, char*, int mode, size_t size)  ;
extern int sprintf  (char*, __const char* format, ...)  ;
extern int sscanf  (__const char* string, __const char* format, ...)  ;
extern FILE* tmpfile  (void)  ;
extern char* tmpnam  (char*)  ;
extern int ungetc  (int c, FILE* fp)  ;
extern int vfprintf  (FILE *fp, char __const *fmt0, _G_va_list)  ;
extern int vprintf  (char __const *fmt, _G_va_list)  ;
extern int vsprintf  (char* string, __const char* format, _G_va_list)  ;


extern int vfscanf  (FILE*, __const char *, _G_va_list)  ;
extern int vscanf  (__const char *, _G_va_list)  ;
extern int vsscanf  (__const char *, __const char *, _G_va_list)  ;

extern int getw  (FILE*)  ;
extern int putw  (int, FILE*)  ;

extern char* tempnam  (__const char *__dir, __const char *__pfx)  ;





extern int sys_nerr;
extern char *sys_errlist[];


extern int _sys_nerr;
extern char *_sys_errlist[];

 

 
extern void psignal  (int __sig, __const char *__s)  ;







extern _G_ssize_t  getdelim  (char **, size_t *, int, FILE*)  ;





extern int snprintf  (char *, size_t, const char *, ...)  ;
extern int vsnprintf  (char *, size_t, const char *, _G_va_list)  ;

extern int asprintf  (char **, const char *, ...)  ;
extern int vasprintf  (char **, const char *, _G_va_list)  ;



extern FILE *fdopen  (int, __const char *)  ;
extern int fileno  (FILE*)  ;
extern FILE* popen  (__const char*, __const char*)  ;
extern int pclose  (FILE*)  ;




 
extern char *ctermid  (char *__buf)  ;

 
extern char *cuserid  (char * __buf)  ;



extern int __underflow  (struct _IO_FILE*)  ;
extern int __overflow  (struct _IO_FILE*, int)  ;

# 234 "/usr/include/stdio.h" 3











 


# 8 "io.c" 2

# 1 "/usr/include/stdlib.h" 1 3
 

















 



 






 



# 1 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 1 3






 


# 19 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3



 


 





 


# 61 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 





 


















 





 

 

# 131 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

 


# 182 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3





 




 



























 






















typedef long int wchar_t;
















# 270 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

# 302 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3




 





















# 34 "/usr/include/stdlib.h" 2 3


 





# 1 "/usr/include/errno.h" 1 3
 

















 







# 1 "/usr/include/linux/errno.h" 1 3



# 1 "/usr/include/asm/errno.h" 1 3




































































































































# 4 "/usr/include/linux/errno.h" 2 3


# 14 "/usr/include/linux/errno.h" 3



# 27 "/usr/include/errno.h" 2 3



extern int sys_nerr;
extern char *sys_errlist[];


extern int _sys_nerr;
extern char *_sys_errlist[];


 

extern void	perror  (__const char* __s)  ;
extern char*	strerror  (int __errno)  ;





extern int errno;






 


# 42 "/usr/include/stdlib.h" 2 3


 

 
typedef struct
  {
    int quot;			 
    int rem;			 
  } div_t;

 
typedef struct
  {
    long int quot;		 
    long int rem;		 
  } ldiv_t;


 





 





 




 
extern double atof  (__const char *__nptr)  ;
 
extern int atoi  (__const char *__nptr)  ;
 
extern long int atol  (__const char *__nptr)  ;

 
extern long long int atoq  (__const char *__nptr)  ;


 
extern float strtof  (__const char *__nptr, char **__endptr)  ;
 
extern double strtod  (__const char *__nptr, char **__endptr)  ;

 
extern __long_double_t strtold  (__const char *__nptr, char **__endptr)  ;

 
extern long int strtol  (__const char *__nptr, char **__endptr,
			     int __base)  ;
 
extern unsigned long int strtoul  (__const char *__nptr,
				       char **__endptr, int __base)  ;

 
extern long long int strtoq  (__const char *__nptr, char **__endptr,
				int __base)  ;
 
extern unsigned long long int strtouq  (__const char *__nptr,
					char **__endptr, int __base)  ;


 


extern double __strtod_internal (__const char *__nptr,
				 char **__endptr, int __group);
extern float __strtof_internal (__const char *__nptr, char **__endptr,
				int __group);
extern __long_double_t __strtold_internal (__const char *__nptr,
					   char **__endptr, int __group);
extern long int __strtol_internal (__const char *__nptr, char **__endptr,
				   int __base, int __group);
extern unsigned long int __strtoul_internal (__const char *__nptr,
					     char **__endptr, int __base,
					     int __group);

extern long long int __strtoq_internal (__const char *__nptr, char **__endptr,
					int __base, int __group);
extern unsigned long long int __strtouq_internal (__const char *__nptr,
						  char **__endptr, int __base,
						  int __group);


# 170 "/usr/include/stdlib.h" 3



 
extern int rand  (void)  ;
 
extern void srand  (unsigned int __seed)  ;

 



 
extern long int __random  (void)  ;
 
extern void __srandom  (unsigned int __seed)  ;

 



extern void *  __initstate  (unsigned int __seed, void *  __statebuf,
				 size_t __statelen)  ;
 

extern void *  __setstate  (void *  __statebuf)  ;


extern long int random  (void)  ;
extern void srandom  (unsigned int __seed)  ;
extern void *  initstate  (unsigned int __seed, void *  __statebuf,
			       size_t __statelen)  ;
extern void *  setstate  (void *  __statebuf)  ;

# 214 "/usr/include/stdlib.h" 3




 
extern void *  malloc  (size_t __size)  ;
 

extern void *  realloc  (void *  __ptr, size_t __size)  ;
 
extern void *  calloc  (size_t __nmemb, size_t __size)  ;
 
extern void free  (void *  __ptr)  ;


 
extern void cfree  (void *  __ptr)  ;



# 1 "/usr/include/alloca.h" 1 3
 






















# 1 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 1 3






 


# 19 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3



 


 





 


# 61 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 





 


















 





 

 

# 131 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

 


# 182 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3





 




 

# 258 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


# 270 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

# 302 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3




 





















# 24 "/usr/include/alloca.h" 2 3


 

 



 
extern void *  __alloca  (size_t __size)  ;

 










 


# 234 "/usr/include/stdlib.h" 2 3




 
extern void *  valloc  (size_t __size)  ;



 
extern   void abort  (void)  ;


 
extern int atexit  (void (*__func) (void))  ;


 

extern int on_exit  (void (*__func) (int __status, void *  __arg),
			 void *  __arg)  ;


 


extern   void exit  (int __status)  ;


 
extern char *getenv  (__const char *__name)  ;


 
 

extern int putenv  (__const char *__string)  ;



 

extern int setenv  (__const char *__name, __const char *__value,
			int __replace)  ;


 
extern int system  (__const char *__command)  ;




 
typedef int (*__compar_fn_t)  (__const void * , __const void * )  ;



typedef __compar_fn_t comparison_fn_t;


 

extern void *  bsearch  (__const void *  __key, __const void *  __base,
			     size_t __nmemb, size_t __size,
			     __compar_fn_t __compar)  ;

 

extern void qsort  (void *  __base, size_t __nmemb, size_t __size,
			__compar_fn_t __compar)  ;


# 314 "/usr/include/stdlib.h" 3


 
extern   int abs  (int __x)  ;
extern   long int labs  (long int __x)  ;


 

 
extern   div_t div  (int __numer, int __denom)  ;
extern   ldiv_t ldiv  (long int __numer, long int __denom)  ;


 

extern int mblen  (__const char *__s, size_t __n)  ;
 

extern int mbtowc  (wchar_t * __pwc, __const char *__s, size_t __n)  ;
 

extern int wctomb  (char *__s, wchar_t __wchar)  ;







 
extern size_t mbstowcs  (wchar_t * __pwcs, __const char *__s, size_t __n)  ;
 
extern size_t wcstombs  (char *__s, __const wchar_t * __pwcs, size_t __n)  ;

 




 





 
# 375 "/usr/include/stdlib.h" 3


 


extern char **environ;
extern char **__environ;

extern char*	ecvt  (double __value, size_t __ndigit, int *__decpt,
			int *__sign)  ;
extern char*	fcvt  (double __value, size_t __ndigit, int *__decpt,
			int *__sign)  ;
extern char*	gcvt  (double __value, size_t __ndigit, char *__buf)  ;

extern double	drand48  (void)  ;
extern double	erand48  (unsigned short int __xsubi[3])  ;
extern long int	lrand48  (void)  ;
extern long int	nrand48  (unsigned short int __xsubi[3])  ;
extern long int	mrand48  (void)  ;
extern long int	jrand48  (unsigned short int __xsubi[3])  ;
extern void	srand48  (long int __seedval)  ;
extern unsigned short int
			*seed48  (unsigned short int __seed16v[3])  ;
extern void	lcong48  (unsigned short int __param[7])  ;

extern int	setenv  (__const char *__name, __const char *__value,
			int __overwrite)  ;
extern void	unsetenv  (__const char *__name)  ;

struct qelem {
  struct qelem *q_forw;
  struct qelem *q_back;
  char q_data[1];
};

extern void insque  (struct qelem *__elem, struct qelem *__prev)  ;
extern void remque  (struct qelem *__elem)  ;



 


# 9 "io.c" 2

# 1 "/usr/include/string.h" 1 3
 

















 








 

 


# 1 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 1 3






 


# 19 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3



 


 





 


# 61 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 





 


















 





 

 

# 131 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

 


# 182 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3





 




 

# 258 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


# 270 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3


 

# 302 "/home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.90.29/include/stddef.h" 3




 





















# 33 "/usr/include/string.h" 2 3


 






 

extern void *  memmove  (void *  __dest, __const void *  __src,
			     size_t __n)  ;

 


extern void *  __memccpy  (void *  __dest, __const void *  __src,
			       int __c, size_t __n)  ;

extern void *  memccpy  (void *  __dest, __const void *  __src,
			     int __c, size_t __n)  ;



 
extern void *  memset  (void *  __s, int __c, size_t __n)  ;

 






 
extern void *  memchr  (__const void *  __s, int __c, size_t __n)  ;


 
extern char *strcpy  (char *__dest, __const char *__src)  ;
 
extern char *strncpy  (char *__dest, __const char *__src, size_t __n)  ;

 
extern char *strcat  (char *__dest, __const char *__src)  ;
 
extern char *strncat  (char *__dest, __const char *__src, size_t __n)  ;

 
extern int strcmp  (__const char *__s1, __const char *__s2)  ;
 
extern int strncmp  (__const char *__s1, __const char *__s2, size_t __n)  ;

 
extern int strcoll  (__const char *__s1, __const char *__s2)  ;
 
extern size_t strxfrm  (char *__dest, __const char *__src, size_t __n)  ;


 
extern char *strdup  (__const char *__s)  ;


 
extern char *strchr  (__const char *__s, int __c)  ;
 
extern char *strrchr  (__const char *__s, int __c)  ;

 

extern size_t strcspn  (__const char *__s, __const char *__reject)  ;
 

extern size_t strspn  (__const char *__s, __const char *__accept)  ;
 
extern char *strpbrk  (__const char *__s, __const char *__accept)  ;
 
extern char *strstr  (__const char *__haystack, __const char *__needle)  ;
 
extern char *strtok  (char *__s, __const char *__delim)  ;


 


extern void *  memmem  (__const void *  __haystack,
			    size_t __haystacklen,
			    __const void *  __needle,
			    size_t __needlelen)  ;


 
extern size_t strlen  (__const char *__s)  ;

 
extern char *strerror  (int __errnum)  ;


 
extern char *index  (__const char *__s, int __c)  ;

 
extern char *rindex  (__const char *__s, int __c)  ;

# 149 "/usr/include/string.h" 3


 
extern void bcopy  (__const void *  __src, void *  __dest, int __n)  ;

 
extern void bzero  (void *  __s, int __n)  ;

 
extern int bcmp  (__const void *  __s1, __const void *  __s2, int __n)  ;



 

extern int ffs  (int __i)  ;

 
extern int strcasecmp  (__const char *__s1, __const char *__s2)  ;

 

extern char *strsep  (char **__stringp, __const char *__delim)  ;



 
extern int strncasecmp  (__const char *__s1, __const char *__s2,
			     size_t __n)  ;

 
extern char *strsignal  (int __sig)  ;

 
extern char *stpcpy  (char *__dest, __const char *__src)  ;

 

extern char *__stpncpy  (char *__dest, __const char *__src, size_t __n)  ;
extern char *stpncpy  (char *__dest, __const char *__src, size_t __n)  ;

 
extern char *strfry  (char *__string)  ;

 
extern void *  memfrob  (void *  __s, size_t __n)  ;

extern void swab  (__const void *  __from, void *  __to,
                        size_t __nbytes)  ;


 


# 10 "io.c" 2

# 1 "header.h" 1
 



 







# 1 "/usr/include/stdlib.h" 1 3
 

















 



 
# 417 "/usr/include/stdlib.h" 3

# 13 "header.h" 2


 
# 1 "sph.h" 1
 

 





 







 





 


 



 



 



 



 


 



 



 

 


 


 


 



 


 




 








 







 








 












































 


 
 



 








 
 



 










 









# 16 "header.h" 2




 











 


 


static const int ODE_DIM = 2* 2 












;

 



static const int IAC_DIST_H = 1

	+1




;

 




 

typedef double vector[2 ];	 
 

typedef double symtensor[(( 2  )<=(  2  ) ? (( 2  )*(2* 2 -1-( 2  ))/2+(  2  )) : ((  2  )*(2* 2 -1-(  2  ))/2+( 2  ))) ];
typedef int ivector[2 ];	 

 

typedef struct geometry
{
  vector min, max;		 
} geometry;



 






 



typedef struct particle_data
{
  unsigned int kind:1, ghost:1;	 
				 

  double m;			 
  
  vector x;			 
  vector dxdt;			 
  
  vector v;			 
  vector dvdt;			 





    vector dvdt_visc;		 








    vector dvdt_ext;		 


  
  double rho;			 



  
  double e;			   
# 151 "header.h"

  
# 163 "header.h"

  







  

  symtensor sigma;			 

  



} particle_data;



 



typedef struct particles
{
  int num_particles;		 
  int max_num_particles;         


  double time;			 
  
				 
  double M_tot;			 
  double E_kin;			 
  double E_int;			 
  double E_rad;			 
  double E_ext;			 
  double E_tot;			 
  vector P_tot;			 
  vector L_tot;			 
  vector R_cm;			 
  
  particle_data *d;		 
} particles;



 

 


extern void *my_malloc(size_t length);
extern void *my_realloc(void *ptr, size_t length);
extern void my_free(void *ptr);

 

extern FILE *my_fopen(char *file_name, char *mode);
extern int my_fclose(FILE *fp);



 

 

extern void read_definitions(char *file_name);

 
extern char *get_definition(const char *key);

 

extern char *get_definition_string(const char *key);
extern int get_definition_int(const char *key);
extern double get_definition_double(const char *key);

 
extern void check_definitions(void);



 
extern int data_file_exists(int count);
extern particles *read_initial_data(int start_count);
extern void write_current_data(particles *p, int count);



 







extern void time_integrate(geometry *g, particles *p, double end_time,
			   double output_dt,
			   void (*output)(geometry *g, particles *p));

 
extern void rhs(geometry *g, particles *p);

 

extern void statistics(particles *p);

# 283 "header.h"


 


extern void adapt_positions(geometry *g, particles *p);







 

extern void hunt(double *xx, int n, double x, int *jlo);


# 11 "io.c" 2




 









int data_file_exists(int count)
      
{
  static int initialized = 0;
  static const char *file_name;
  static const char *info_extension, *data_extension, *lock_extension;
  static int num_digits;
  char *info_file_name, *data_file_name, *lock_file_name;
  FILE *fp;
  
  if (!initialized) {
    initialized = 1;
     
    file_name = get_definition_string("file_name" );
    info_extension = get_definition_string("info_extension" );
    data_extension = get_definition_string("data_extension" );
    lock_extension = get_definition_string("lock_extension" );
    num_digits = get_definition_int("num_digits" );
  }
  
   
  info_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(info_extension)+1);
  sprintf(info_file_name, "%s%0*d%s",
	  file_name, num_digits, count, info_extension);
  fp = fopen(info_file_name, "r");
  fclose(fp);
  my_free(info_file_name);
  if (fp==0) return 0;
  
   
  data_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(data_extension)+1);
  sprintf(data_file_name, "%s%0*d%s",
	  file_name, num_digits, count, data_extension);
  fp = fopen(data_file_name, "r");
  fclose(fp);
  my_free(data_file_name);
  if (fp==0) return 0;
  
   
  lock_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(lock_extension)+1);
  sprintf(lock_file_name, "%s%0*d%s",
	  file_name, num_digits, count, lock_extension);
  fp = fopen(lock_file_name, "r");
  fclose(fp);
  my_free(lock_file_name);
  if (fp!=0) return 0;
  
   
  return 1;
}



particles *read_initial_data(int count)
      


{
  static int initialized = 0;
  static const char *file_name, *info_extension, *data_extension;
  static int num_digits;
  
  char *info_file_name, *data_file_name;
  FILE *fp;
  particles *p;
  int *tmp_kind;
  
  char line_order[1000 ], my_line_order[1000 ], *s;
  int num_input_fields;
  int cnt;
  int i;
  
  printf("Reading initial data\n");
  
  if (!initialized) {
    initialized = 1;
     
    file_name = get_definition_string("file_name" );
    info_extension = get_definition_string("info_extension" );
    data_extension = get_definition_string("data_extension" );
    num_digits = get_definition_int("num_digits" );
  }
  
  info_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(info_extension)+1);
  sprintf(info_file_name, "%s%0*d%s",
	  file_name, num_digits, count, info_extension);
  
  data_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(data_extension)+1);
  sprintf(data_file_name, "%s%0*d%s",
	  file_name, num_digits, count, data_extension);
  
   
  p = (particles *)my_malloc(sizeof(particles));
  fp = my_fopen(info_file_name, "r");
  cnt = 0;
  cnt += 1-fscanf(fp, "Number of particles: %d\n", &p->num_particles);
  cnt += 1-fscanf(fp, "Current time: %lg\n", &p->time);
  cnt += 1-fscanf(fp, "Line order: %" "1000"   "[^\n]\n", line_order);
  if (cnt != 0) {
    fprintf(((_IO_FILE*)(&_IO_stderr_))  , "The info file %s is not correctly formatted.\n",
	    info_file_name);
    exit(1 );
  }
  my_fclose(fp);
  
   
  cnt = 0;
  s = my_line_order;



# 1 "io.def" 1
 


 



 











 





	s += sprintf(s, "%d:%s, ", ++cnt, "m"  ); 		 




	s += sprintf(s, "%d:%s, ", ++cnt, "x[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "x[1]"  ); 







	s += sprintf(s, "%d:%s, ", ++cnt, "v[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "v[1]"  ); 
























# 125 "io.def"

# 141 "io.c" 2



  if (cnt>0) s-=2;
  sprintf(s, "");
  
  if (strncmp(line_order, my_line_order, strlen(my_line_order)) != 0)
    {
      fprintf(((_IO_FILE*)(&_IO_stderr_))  ,
	      "The input file %s has its variables in the wrong order.\n"
	      "I expected  \"%s\",\n"
	      "but I found \"%s\".\n"
	      "(The format of the input file may be longer than the expected format.)\n",
	      data_file_name, my_line_order, line_order);
      exit(1 );
    }
  num_input_fields = cnt;
  
   



  
   
  p->max_num_particles = p->num_particles;
  p->d = (particle_data *)my_malloc(p->max_num_particles * sizeof(particle_data));
  fp = my_fopen(data_file_name, "r");
  for (i=0; i<p->num_particles; ++i) {
    cnt = fscanf(fp,


# 1 "io.def" 1
 


 



 











 





	"%lg" 		 




	"%lg"  "%lg" 







	"%lg"  "%lg" 
























# 125 "io.def"

# 172 "io.c" 2



		 "%*[^\n]"	 


# 1 "io.def" 1
 


 



 











 





	,&p->d[i]. m  		 




	,&p->d[i]. x[0]   ,&p->d[i]. x[1]  







	,&p->d[i]. v[0]   ,&p->d[i]. v[1]  
























# 125 "io.def"

# 178 "io.c" 2



		 );
    if (cnt != num_input_fields) {
      fprintf(((_IO_FILE*)(&_IO_stderr_))  ,
	      "The data file %s does not contain enough data in line %d.\n",
	      data_file_name, i+1);
      exit(1 );
    }
  }
  my_fclose(fp);
  
   
  for (i=0; i<p->num_particles; ++i) {



    p->d[i].ghost = 0;
# 211 "io.c"

  }
  



  

  
  my_free(info_file_name);
  my_free(data_file_name);
  
  return p;
}



void write_current_data(particles *p, int count)
      

{
  static int initialized=0;
  static const char *file_name;
  static const char *info_extension, *data_extension, *lock_extension;
  static int num_digits;
  char *info_file_name, *data_file_name, *lock_file_name;
  char my_line_order[1000 ], *s;
  FILE *fp;
  int cnt;
  int i, d;
  
  printf("Writing current data #%d at t=%g\n", count, p->time);
  if (!initialized) {
    initialized = 1;
    file_name = get_definition_string("file_name" );
    info_extension = get_definition_string("info_extension" );
    data_extension = get_definition_string("data_extension" );
    lock_extension = get_definition_string("lock_extension" );
    num_digits = get_definition_int("num_digits" );
  }
  
  info_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(info_extension)+1);
  sprintf(info_file_name, "%s%0*d%s",
	  file_name, num_digits, count, info_extension);
  
  data_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(data_extension)+1);
  sprintf(data_file_name, "%s%0*d%s",
	  file_name, num_digits, count, data_extension);
  
  lock_file_name = (char *)my_malloc(strlen(file_name)+num_digits
				     +strlen(lock_extension)+1);
  sprintf(lock_file_name, "%s%0*d%s",
	  file_name, num_digits, count, lock_extension);
  
   
  cnt = 0;
  s = my_line_order;



# 1 "io.def" 1
 


 



 











 





	s += sprintf(s, "%d:%s, ", ++cnt, "m"  ); 		 




	s += sprintf(s, "%d:%s, ", ++cnt, "x[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "x[1]"  ); 







	s += sprintf(s, "%d:%s, ", ++cnt, "v[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "v[1]"  ); 

























 


	s += sprintf(s, "%d:%s, ", ++cnt, "rho"  ); 		 






# 83 "io.def"


# 94 "io.def"





	s += sprintf(s, "%d:%s, ", ++cnt, "dxdt[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "dxdt[1]"  ); 







	s += sprintf(s, "%d:%s, ", ++cnt, "dvdt[0]"  );  s += sprintf(s, "%d:%s, ", ++cnt, "dvdt[1]"  ); 


















# 273 "io.c" 2



  if (cnt>0) s-=2;
  sprintf(s, ".");
  
   
  fp = my_fopen(lock_file_name, "w");
  fclose(fp);
  
   
  fp = my_fopen(info_file_name, "w");
  fprintf(fp, "Number of particles:    %d\n", p->num_particles);
  fprintf(fp, "Current time:           %.17g\n", p->time);
  fprintf(fp, "Line order:             %s\n", my_line_order);
  fprintf(fp, "\n");
  fprintf(fp, "Total mass:             %.17g\n", p->M_tot);
  fprintf(fp, "Total kinetic energy:   %.17g\n", p->E_kin);
  fprintf(fp, "Total internal energy:  %.17g\n", p->E_int);
  fprintf(fp, "Total radiative energy: %.17g\n", p->E_rad);
  fprintf(fp, "Total external energy:  %.17g\n", p->E_ext);
  fprintf(fp, "Total energy:           %.17g\n", p->E_tot);
  for (d=0; d< 2 ; ++d)
    fprintf(fp, "Total %c-momentum:      %.17g\n", "xyz"[d], p->P_tot[d]);
  for (d=0; d< 2 *(2 -1); ++d)
    fprintf(fp, "Total angular momentum: %.17g\n", ((double*)p->L_tot)[d]);
  for (d=0; d< 2 ; ++d)
    fprintf(fp, "Center of mass %c-pos:   %.17g\n", "xyz"[d], p->R_cm[d]);
  fflush(fp);
  if (ferror(fp)) {
    fprintf(((_IO_FILE*)(&_IO_stderr_))  , "Could not write info file %s.\n", info_file_name);
    exit(1 );
  }
  my_fclose(fp);
  
   
  fp = my_fopen(data_file_name, "w");
  for (i=0; i<p->num_particles; ++i)
    fprintf(fp,


# 1 "io.def" 1
 


 



 











 





	" %.17g" 		 




	" %.17g"  " %.17g" 







	" %.17g"  " %.17g" 

























 


	" %.17g" 		 






# 83 "io.def"


# 94 "io.def"





	" %.17g"  " %.17g" 







	" %.17g"  " %.17g" 


















# 314 "io.c" 2



	    "\n"		 


# 1 "io.def" 1
 


 



 











 





	,p->d[i]. m  		 




	,p->d[i]. x[0]   ,p->d[i]. x[1]  







	,p->d[i]. v[0]   ,p->d[i]. v[1]  

























 


	,p->d[i]. rho  		 






# 83 "io.def"


# 94 "io.def"





	,p->d[i]. dxdt[0]   ,p->d[i]. dxdt[1]  







	,p->d[i]. dvdt[0]   ,p->d[i]. dvdt[1]  


















# 320 "io.c" 2



	    );
  fflush(fp);
  if (ferror(fp)) {
    fprintf(((_IO_FILE*)(&_IO_stderr_))  , "Could not write data file %s.\n", data_file_name);
    exit(1 );
  }
  my_fclose(fp);
  
   
  remove(lock_file_name);
  

  
  my_free(info_file_name);
  my_free(data_file_name);
  my_free(lock_file_name);
}
******************************

-erik
-----
Erik Schnetter <schnetter@uni-tuebingen.de>


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

* Re: Internal compiler error in egcs-1.0.3a
  1998-06-04  6:56 Internal compiler error in egcs-1.0.3a Erik Schnetter
@ 1998-08-17  1:26 ` Jeffrey A Law
  0 siblings, 0 replies; 2+ messages in thread
From: Jeffrey A Law @ 1998-08-17  1:26 UTC (permalink / raw)
  To: Erik Schnetter; +Cc: egcs-bugs

  In message <199806041052.MAA10751@sirrah.tat.physik.uni-tuebingen.de>you write:
  > I received an internal compiler error using egcs 1.0.3.
  > 
  > I am using Linux 2.0.33 on a PentiumPro.
  > 
  > My version of gcc is
  > Reading specs from /home/schnette/egcs/lib/gcc-lib/i686-pc-linux-gnulibc1/e
  > gcs-2.90.29/specs
  > gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)
  > 
  > I configured egcs by saying something equivalent to
  > #!/bin/sh
  > # This file was generated automatically by configure.  Do not edit.
  > # This directory was configured as follows:
  > ./configure --host=i686-pc-linux-gnulibc1 --prefix=/home/schnette/egcs --en
  > able-shared --enable-haifa --enable-threads --with-cpu=pentiumpro --norecur
  > sion 
  > # using "config/mh-x86pic" and "config/mt-x86pic"
  > 
  > I called gcc by having make execute
  > /home/schnette/egcs/bin/gcc -pipe  -ansi -Wall -pedantic -Wtraditional -g -
  > static -O3 -funroll-loops -malign-double -march=pentiumpro -fmove-all-movab
  > les -freduce-all-givs -fbranch-probabilities -pg -fprofile-arcs -ftest-cove
  > rage -ax   -c io.c -o io.o
[ ... ]
The testcase compiled file with the upcoming egcs-1.1 sources.  I believe
this bug has been fixed -)

jeff


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

end of thread, other threads:[~1998-08-17  1:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-06-04  6:56 Internal compiler error in egcs-1.0.3a Erik Schnetter
1998-08-17  1:26 ` Jeffrey A Law

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).