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