public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex
@ 2004-07-20 10:09 john dot spelis at 3dlabs dot com
  2004-07-20 13:51 ` [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111 pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: john dot spelis at 3dlabs dot com @ 2004-07-20 10:09 UTC (permalink / raw)
  To: gcc-bugs

~~~~
I have had to use variables to reduce the size of this comment 
for the restriction of 65k in the comment field...
# echo $P
/homes/spelis/dopt/gnu
# echo $Q
/homes/spelis/dopt/sol2/gnu
~~~~~~

Reading specs from $P/sol2_3_4_1/gcc/specs
Configured with: $P/sol2_3_4_1/../gcc-3.4.1/configure --prefix=$Q/3_4_1
--with-gnu-as --with-gnu-ld --with-as=$Q/bin/as --with-ld=$Q/bin/ld
--srcdir=$P/gcc-3.4.1
Thread model: posix
gcc version 3.4.1
 $P/sol2_3_4_1/gcc/cc1 -E -quiet -v -I. -I. -I$P/gcc-3.4.1/gcc
-I$P/gcc-3.4.1/gcc/. -I$P/gcc-3.4.1/gcc/../include -I../intl -iprefix
$P/sol2_3_4_1/gcc/../lib/gcc/sparc-sun-solaris2.8/3.4.1/ -isystem
$P/sol2_3_4_1/gcc/include -isystem $Q/3_4_1/sparc-sun-solaris2.8/bin/include
-isystem $Q/3_4_1/sparc-sun-solaris2.8/lib/include -DIN_GCC -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -DL_floatdidf -isystem
$Q/3_4_1/sparc-sun-solaris2.8/include -isystem
$Q/3_4_1/sparc-sun-solaris2.8/sys-include -isystem ./include
$P/gcc-3.4.1/gcc/libgcc2.c -mcpu=v7 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -fPIC -fworking-directory -O2 -o
libgcc2.i
ignoring nonexistent directory "$Q/3_4_1/sparc-sun-solaris2.8/include"
ignoring nonexistent directory "$Q/3_4_1/sparc-sun-solaris2.8/sys-include"
ignoring duplicate directory "./include"
ignoring nonexistent directory
"$P/sol2_3_4_1/gcc/../lib/gcc/sparc-sun-solaris2.8/3.4.1/include"
ignoring nonexistent directory
"$P/sol2_3_4_1/gcc/../lib/gcc/sparc-sun-solaris2.8/3.4.1/../../../../sparc-sun-solaris2.8/include"
ignoring nonexistent directory "$Q/3_4_1/include"
ignoring nonexistent directory "$Q/3_4_1/lib/gcc/sparc-sun-solaris2.8/3.4.1/include"
ignoring nonexistent directory "$Q/3_4_1/sparc-sun-solaris2.8/include"
ignoring duplicate directory "."
ignoring duplicate directory "$P/gcc-3.4.1/gcc/."
#include "..." search starts here:
#include <...> search starts here:
 .
 $P/gcc-3.4.1/gcc
 $P/gcc-3.4.1/gcc/../include
 ../intl
 $P/sol2_3_4_1/gcc/include
 /usr/local/include
 /usr/include
End of search list.
 $P/sol2_3_4_1/gcc/cc1 -fpreprocessed libgcc2.i -quiet -dumpbase libgcc2.c
-mcpu=v7 -auxbase-strip libgcc/./_floatdidf.o -g -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version -fPIC
-o libgcc2.s
GNU C version 3.4.1 (sparc-sun-solaris2.8)
        compiled by GNU C version 3.0.3.
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65536
$P/gcc-3.4.1/gcc/libgcc2.c: In function `__floattidf':
$P/gcc-3.4.1/gcc/libgcc2.c:1292: internal compiler error: in expand_shift, at
expmed.c:2111
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

~~~~~~~~~~~~~
#  libgcc2.i  
~~~~~~~~~~~~~

# 1 "$P/gcc-3.4.1/gcc/libgcc2.c"
# 1 "$P/sol2_3_4_1/gcc//"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "$P/gcc-3.4.1/gcc/libgcc2.c"
# 35 "$P/gcc-3.4.1/gcc/libgcc2.c"
# 1 "./auto-host.h" 1
# 36 "$P/gcc-3.4.1/gcc/libgcc2.c" 2

# 1 "./tconfig.h" 1

# 1 "$P/gcc-3.4.1/gcc/../include/ansidecl.h" 1
# 5 "./tconfig.h" 2
# 41 "$P/gcc-3.4.1/gcc/libgcc2.c" 2
# 1 "$P/gcc-3.4.1/gcc/tsystem.h" 1
# 44 "$P/gcc-3.4.1/gcc/tsystem.h"
# 1 "$P/sol2_3_4_1/gcc/include/stddef.h" 1 3 4
# 151 "$P/sol2_3_4_1/gcc/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 213 "$P/sol2_3_4_1/gcc/include/stddef.h" 3 4
typedef unsigned int size_t;
# 325 "$P/sol2_3_4_1/gcc/include/stddef.h" 3 4
typedef long int wchar_t;

# 45 "$P/gcc-3.4.1/gcc/tsystem.h" 2
# 1 "$P/sol2_3_4_1/gcc/include/float.h" 1 3 4
# 46 "$P/gcc-3.4.1/gcc/tsystem.h" 2
# 76 "$P/gcc-3.4.1/gcc/tsystem.h"
# 1 "$P/sol2_3_4_1/gcc/include/stdarg.h" 1 3 4
# 43 "$P/sol2_3_4_1/gcc/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 85 "$P/sol2_3_4_1/gcc/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 77 "$P/gcc-3.4.1/gcc/tsystem.h" 2

# 1 "$P/sol2_3_4_1/gcc/include/stdio.h" 1 3 4
# 34 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
#pragma ident "@(#)stdio.h      1.78    99/12/08 SMI"

# 1 "/usr/include/iso/stdio_iso.h" 1 3 4
# 32 "/usr/include/iso/stdio_iso.h" 3 4
#pragma ident "@(#)stdio_iso.h  1.2     99/10/25 SMI"

# 1 "/usr/include/sys/feature_tests.h" 1 3 4
# 13 "/usr/include/sys/feature_tests.h" 3 4
#pragma ident "@(#)feature_tests.h      1.18    99/07/26 SMI"

# 1 "/usr/include/sys/isa_defs.h" 1 3 4
# 9 "/usr/include/sys/isa_defs.h" 3 4
#pragma ident "@(#)isa_defs.h   1.20    99/05/04 SMI"
# 16 "/usr/include/sys/feature_tests.h" 2 3 4
# 36 "/usr/include/iso/stdio_iso.h" 2 3 4
# 1 "/usr/include/sys/va_list.h" 1 3 4
# 9 "/usr/include/sys/va_list.h" 3 4
#pragma ident "@(#)va_list.h    1.12    99/05/04 SMI"
# 26 "/usr/include/sys/va_list.h" 3 4
typedef void *__va_list;
# 37 "/usr/include/iso/stdio_iso.h" 2 3 4
# 1 "$P/sol2_3_4_1/gcc/include/stdio_tag.h" 1 3 4
# 18 "$P/sol2_3_4_1/gcc/include/stdio_tag.h" 3 4
#pragma ident "@(#)stdio_tag.h  1.3     98/04/20 SMI"
# 30 "$P/sol2_3_4_1/gcc/include/stdio_tag.h" 3 4
typedef struct __FILE __FILE;
# 38 "/usr/include/iso/stdio_iso.h" 2 3 4
# 1 "/usr/include/stdio_impl.h" 1 3 4
# 9 "/usr/include/stdio_impl.h" 3 4
#pragma ident "@(#)stdio_impl.h 1.8     99/06/10 SMI"
# 22 "/usr/include/stdio_impl.h" 3 4
typedef int ssize_t;
# 38 "/usr/include/stdio_impl.h" 3 4
struct __FILE
{

 ssize_t _cnt;
 unsigned char *_ptr;

 unsigned char *_base;
 unsigned char _flag;
 unsigned char _file;
 unsigned __orientation:2;
 unsigned __ionolock:1;
 unsigned __filler:5;
};
# 39 "/usr/include/iso/stdio_iso.h" 2 3 4
# 59 "/usr/include/iso/stdio_iso.h" 3 4
typedef long long __longlong_t;
# 75 "/usr/include/iso/stdio_iso.h" 3 4
typedef __FILE FILE;

typedef unsigned int size_t;

typedef long fpos_t;
# 147 "/usr/include/iso/stdio_iso.h" 3 4
extern __FILE __iob[20];
# 164 "/usr/include/iso/stdio_iso.h" 3 4
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);

extern int fprintf(FILE *, const char *, ...);

extern int fscanf(FILE *, const char *, ...);

extern int printf(const char *, ...);

extern int scanf(const char *, ...);

extern int sprintf(char *, const char *, ...);

extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, __va_list);
extern int vprintf(const char *, __va_list);
extern int vsprintf(char *, const char *, __va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);

extern int getc(FILE *);
extern int putc(int, FILE *);

extern int getchar(void);
extern int putchar(int);

extern char *gets(char *);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long ftell(FILE *);
extern void rewind(FILE *);

extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);

extern void perror(const char *);

extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
# 37 "$P/sol2_3_4_1/gcc/include/stdio.h" 2 3 4
# 105 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
typedef long off_t;

typedef __longlong_t off64_t;
# 123 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
typedef __longlong_t fpos64_t;
# 151 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern unsigned char _sibuf[], _sobuf[];
# 193 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern unsigned char *_bufendtab[];
extern FILE *_lastbuf;
# 229 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);

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

extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list);
# 250 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
# 276 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern FILE *popen(const char *, const char *);
extern char *cuserid(char *);
extern char *tempnam(const char *, const char *);
extern int getopt(int, char *const *, const char *);

extern int getsubopt(char **, char *const *, char **);

extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
extern int pclose(FILE *);

extern int fseeko(FILE *, off_t, int);
extern off_t ftello(FILE *);
# 305 "$P/sol2_3_4_1/gcc/include/stdio.h" 3 4
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos64_t *);
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
# 80 "$P/gcc-3.4.1/gcc/tsystem.h" 2

# 1 "$P/sol2_3_4_1/gcc/include/sys/types.h" 1 3 4
# 25 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
#pragma ident "@(#)types.h      1.65    99/11/15 SMI"

# 1 "/usr/include/sys/machtypes.h" 1 3 4
# 16 "/usr/include/sys/machtypes.h" 3 4
#pragma ident "@(#)machtypes.h  1.13    99/05/04 SMI"
# 33 "/usr/include/sys/machtypes.h" 3 4
typedef struct _label_t { long val[2]; } label_t;

typedef unsigned char lock_t;
# 34 "$P/sol2_3_4_1/gcc/include/sys/types.h" 2 3 4
# 45 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
# 1 "/usr/include/sys/int_types.h" 1 3 4
# 9 "/usr/include/sys/int_types.h" 3 4
#pragma ident "@(#)int_types.h  1.6     97/08/20 SMI"
# 62 "/usr/include/sys/int_types.h" 3 4
typedef char int8_t;

typedef short int16_t;
typedef int int32_t;

typedef long long int64_t;

typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;

typedef unsigned long long uint64_t;
# 94 "/usr/include/sys/int_types.h" 3 4
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
# 110 "/usr/include/sys/int_types.h" 3 4
typedef int intptr_t;
typedef unsigned int uintptr_t;

typedef char int_least8_t;

typedef short int_least16_t;
typedef int int_least32_t;

typedef long long int_least64_t;

typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;

typedef unsigned long long uint_least64_t;
# 46 "$P/sol2_3_4_1/gcc/include/sys/types.h" 2 3 4
# 62 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef long long longlong_t;
typedef unsigned long long u_longlong_t;
# 85 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef long t_scalar_t;
typedef unsigned long t_uscalar_t;

typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;

typedef char *caddr_t;
typedef long daddr_t;
typedef short cnt_t;

typedef ulong_t paddr_t;
# 127 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef ulong_t pfn_t;
typedef ulong_t pgcnt_t;
typedef long spgcnt_t;

typedef uchar_t use_t;
typedef short sysid_t;
typedef short index_t;
typedef void *timeout_id_t;
typedef void *bufcall_id_t;
# 165 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef ulong_t ino_t;
typedef long blkcnt_t;
typedef ulong_t fsblkcnt_t;
typedef ulong_t fsfilcnt_t;
# 183 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef u_longlong_t ino64_t;
typedef longlong_t blkcnt64_t;
typedef u_longlong_t fsblkcnt64_t;
typedef u_longlong_t fsfilcnt64_t;

typedef long blksize_t;

typedef enum { B_FALSE, B_TRUE } boolean_t;
# 210 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef int64_t pad64_t;
typedef uint64_t upad64_t;
# 223 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef longlong_t offset_t;
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
typedef longlong_t diskaddr_t;
# 244 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef union {
 offset_t _f;
 struct {
  int32_t _u;
  int32_t _l;
 } _p;
} lloff_t;
# 264 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef union {
 diskaddr_t _f;
 struct {
  int32_t _u;
  int32_t _l;
 } _p;
} lldaddr_t;

typedef uint_t k_fltset_t;
# 289 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef long id_t;

typedef uint_t useconds_t;

typedef long suseconds_t;
# 310 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef ulong_t major_t;
typedef ulong_t minor_t;

typedef short pri_t;
# 330 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef ushort_t o_mode_t;
typedef short o_dev_t;
typedef ushort_t o_uid_t;
typedef o_uid_t o_gid_t;
typedef short o_nlink_t;
typedef short o_pid_t;
typedef ushort_t o_ino_t;

typedef int key_t;

typedef ulong_t mode_t;

typedef long uid_t;

typedef uid_t gid_t;

typedef unsigned int pthread_t;
typedef unsigned int pthread_key_t;

typedef struct _pthread_mutex {
 struct {
  uint16_t __pthread_mutex_flag1;
  uint8_t __pthread_mutex_flag2;
  uint8_t __pthread_mutex_ceiling;
  uint32_t __pthread_mutex_type;
 } __pthread_mutex_flags;
 union {
  struct {
   uint8_t __pthread_mutex_pad[8];
  } __pthread_mutex_lock64;
  upad64_t __pthread_mutex_owner64;
 } __pthread_mutex_lock;
 upad64_t __pthread_mutex_data;
} pthread_mutex_t;

typedef struct _pthread_cond {
 struct {
  uint8_t __pthread_cond_flag[4];
  uint32_t __pthread_cond_type;
 } __pthread_cond_flags;
 upad64_t __pthread_cond_data;
} pthread_cond_t;

typedef struct _pthread_rwlock {
 int32_t __pthread_rwlock_readers;
 uint16_t __pthread_rwlock_type;
 uint16_t __pthread_rwlock_magic;
 upad64_t __pthread_rwlock_pad1[3];
 upad64_t __pthread_rwlock_pad2[2];
 upad64_t __pthread_rwlock_pad3[2];
} pthread_rwlock_t;

typedef struct _pthread_attr {
 void *__pthread_attrp;
} pthread_attr_t;

typedef struct _pthread_mutexattr {
 void *__pthread_mutexattrp;
} pthread_mutexattr_t;


typedef struct _pthread_condattr {
 void *__pthread_condattrp;
} pthread_condattr_t;


typedef struct _once {
 upad64_t __pthread_once_pad[4];
} pthread_once_t;

typedef struct _pthread_rwlockattr {
 void *__pthread_rwlockattrp;
} pthread_rwlockattr_t;

typedef ulong_t dev_t;

typedef ulong_t nlink_t;
typedef long pid_t;
# 480 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef long time_t;

typedef long clock_t;

typedef int clockid_t;

typedef int timer_t;

typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
# 556 "$P/sol2_3_4_1/gcc/include/sys/types.h" 3 4
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef struct _quad { int val[2]; } quad_t;
typedef quad_t quad;


# 1 "/usr/include/sys/select.h" 1 3 4
# 12 "/usr/include/sys/select.h" 3 4
#pragma ident "@(#)select.h     1.16    98/04/27 SMI"


# 1 "/usr/include/sys/time.h" 1 3 4
# 22 "/usr/include/sys/time.h" 3 4
#pragma ident "@(#)time.h       2.64    99/10/05 SMI"
# 49 "/usr/include/sys/time.h" 3 4
struct timeval {
 time_t tv_sec;
 suseconds_t tv_usec;
};
# 82 "/usr/include/sys/time.h" 3 4
struct timezone {
 int tz_minuteswest;
 int tz_dsttime;
};
# 100 "/usr/include/sys/time.h" 3 4
# 1 "$P/sol2_3_4_1/gcc/include/sys/types.h" 1 3 4
# 101 "/usr/include/sys/time.h" 2 3 4
# 155 "/usr/include/sys/time.h" 3 4
struct itimerval {
 struct timeval it_interval;
 struct timeval it_value;
};
# 203 "/usr/include/sys/time.h" 3 4
typedef longlong_t hrtime_t;
# 316 "/usr/include/sys/time.h" 3 4
int adjtime(struct timeval *, struct timeval *);
# 327 "/usr/include/sys/time.h" 3 4
int getitimer(int, struct itimerval *);
int utimes(const char *, const struct timeval *);

int setitimer(int, struct itimerval *, struct itimerval *);
# 365 "/usr/include/sys/time.h" 3 4
int settimeofday(struct timeval *, void *);

hrtime_t gethrtime(void);
hrtime_t gethrvtime(void);
# 385 "/usr/include/sys/time.h" 3 4
int gettimeofday(struct timeval *, void *);
# 406 "/usr/include/sys/time.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 16 "/usr/include/time.h" 3 4
#pragma ident "@(#)time.h       1.39    99/08/10 SMI"

# 1 "/usr/include/iso/time_iso.h" 1 3 4
# 28 "/usr/include/iso/time_iso.h" 3 4
#pragma ident "@(#)time_iso.h   1.1     99/08/09 SMI"
# 53 "/usr/include/iso/time_iso.h" 3 4
typedef unsigned size_t;

typedef long clock_t;

typedef long time_t;

struct tm {
 int tm_sec;
 int tm_min;
 int tm_hour;
 int tm_mday;
 int tm_mon;
 int tm_year;
 int tm_wday;
 int tm_yday;
 int tm_isdst;
};

extern char *asctime(const struct tm *);
extern clock_t clock(void);
extern char *ctime(const time_t *);
extern double difftime(time_t, time_t);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);
# 21 "/usr/include/time.h" 2 3 4
# 67 "/usr/include/time.h" 3 4
extern char *strptime(const char *, const char *, struct tm *);
# 83 "/usr/include/time.h" 3 4
# 1 "/usr/include/sys/time_impl.h" 1 3 4
# 15 "/usr/include/sys/time_impl.h" 3 4
#pragma ident "@(#)time_impl.h  1.5     99/10/05 SMI"
# 36 "/usr/include/sys/time_impl.h" 3 4
typedef struct timespec {
 time_t tv_sec;
 long tv_nsec;
} timespec_t;
# 60 "/usr/include/sys/time_impl.h" 3 4
typedef struct timespec timestruc_t;
# 79 "/usr/include/sys/time_impl.h" 3 4
typedef struct itimerspec {
 struct timespec it_interval;
 struct timespec it_value;
} itimerspec_t;
# 84 "/usr/include/time.h" 2 3 4
# 98 "/usr/include/time.h" 3 4
union sigval {
 int sival_int;
 void *sival_ptr;
};

struct sigevent {
 int sigev_notify;
 int sigev_signo;
 union sigval sigev_value;
 void (*sigev_notify_function)(union sigval);
 pthread_attr_t *sigev_notify_attributes;
 int __sigev_pad2;
};

extern int clock_getres(clockid_t, struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_settime(clockid_t, const struct timespec *);
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
extern int timer_delete(timer_t);
extern int timer_getoverrun(timer_t);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_settime(timer_t, int, const struct itimerspec *,
  struct itimerspec *);
extern int nanosleep(const struct timespec *, struct timespec *);

extern void tzset(void);

extern char *tzname[2];

extern long _sysconf(int);

extern long timezone;
extern int daylight;

extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;

extern struct tm *getdate(const char *);

extern int getdate_err;
# 407 "/usr/include/sys/time.h" 2 3 4
# 419 "/usr/include/sys/time.h" 3 4
# 1 "/usr/include/sys/select.h" 1 3 4
# 420 "/usr/include/sys/time.h" 2 3 4
# 18 "/usr/include/sys/select.h" 2 3 4
# 45 "/usr/include/sys/select.h" 3 4
typedef long fd_mask;

typedef long fds_mask;
# 73 "/usr/include/sys/select.h" 3 4
typedef struct fd_set {

 long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
} fd_set;
# 97 "/usr/include/sys/select.h" 3 4
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
# 569 "$P/sol2_3_4_1/gcc/include/sys/types.h" 2 3 4
# 83 "$P/gcc-3.4.1/gcc/tsystem.h" 2


# 1 "/usr/include/errno.h" 1 3 4
# 17 "/usr/include/errno.h" 3 4
#pragma ident "@(#)errno.h      1.16    99/07/26 SMI"

# 1 "/usr/include/sys/errno.h" 1 3 4
# 11 "/usr/include/sys/errno.h" 3 4
#pragma ident "@(#)errno.h      1.19    98/01/14 SMI"
# 24 "/usr/include/errno.h" 2 3 4
# 41 "/usr/include/errno.h" 3 4
extern int errno;
# 86 "$P/gcc-3.4.1/gcc/tsystem.h" 2

extern int errno;

# 1 "/usr/include/string.h" 1 3 4
# 16 "/usr/include/string.h" 3 4
#pragma ident "@(#)string.h     1.24    99/08/10 SMI"

# 1 "/usr/include/iso/string_iso.h" 1 3 4
# 28 "/usr/include/iso/string_iso.h" 3 4
#pragma ident "@(#)string_iso.h 1.2     99/11/09 SMI"
# 46 "/usr/include/iso/string_iso.h" 3 4
typedef unsigned int size_t;
# 60 "/usr/include/iso/string_iso.h" 3 4
extern int memcmp(const void *, const void *, size_t);
extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strcat(char *, const char *);
extern int strcmp(const char *, const char *);
extern char *strcpy(char *, const char *);
extern int strcoll(const char *, const char *);
extern size_t strcspn(const char *, const char *);
extern char *strerror(int);
extern size_t strlen(const char *);
extern char *strncat(char *, const char *, size_t);
extern int strncmp(const char *, const char *, size_t);
extern char *strncpy(char *, const char *, size_t);
extern size_t strspn(const char *, const char *);
extern char *strtok(char *, const char *);
extern size_t strxfrm(char *, const char *, size_t);
# 112 "/usr/include/iso/string_iso.h" 3 4
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
# 19 "/usr/include/string.h" 2 3 4
# 63 "/usr/include/string.h" 3 4
extern void *memccpy(void *, const void *, int, size_t);

extern char *strsignal(int);
extern int ffs(int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
extern size_t strlcat(char *, const char *, size_t);

extern char *strdup(const char *);
# 93 "$P/gcc-3.4.1/gcc/tsystem.h" 2
# 1 "/usr/include/stdlib.h" 1 3 4
# 16 "/usr/include/stdlib.h" 3 4
#pragma ident "@(#)stdlib.h     1.47    99/11/03 SMI"

# 1 "/usr/include/iso/stdlib_iso.h" 1 3 4
# 28 "/usr/include/iso/stdlib_iso.h" 3 4
#pragma ident "@(#)stdlib_iso.h 1.1     99/08/09 SMI"
# 40 "/usr/include/iso/stdlib_iso.h" 3 4
typedef struct {
 int quot;
 int rem;
} div_t;

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

typedef unsigned int size_t;
# 82 "/usr/include/iso/stdlib_iso.h" 3 4
extern unsigned char __ctype[];

extern void abort(void);
extern int abs(int);
extern int atexit(void (*)(void));
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
 int (*)(const void *, const void *));
extern void *calloc(size_t, size_t);
extern div_t div(int, int);
extern void exit(int);
extern void free(void *);
extern char *getenv(const char *);
extern long int labs(long);
extern ldiv_t ldiv(long, long);
extern void *malloc(size_t);
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
extern void qsort(void *, size_t, size_t,
 int (*)(const void *, const void *));
extern int rand(void);
extern void *realloc(void *, size_t);
extern void srand(unsigned int);
extern double strtod(const char *, char **);
extern long int strtol(const char *, char **, int);
extern unsigned long int strtoul(const char *, char **, int);
extern int system(const char *);
extern int wctomb(char *, wchar_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
# 19 "/usr/include/stdlib.h" 2 3 4
# 68 "/usr/include/stdlib.h" 3 4
typedef struct {
 long long quot;
 long long rem;
} lldiv_t;
# 112 "/usr/include/stdlib.h" 3 4
extern void _exithandle(void);

extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern unsigned short *seed48(unsigned short *);
extern void srand48(long);
extern int putenv(char *);
extern void setkey(const char *);
# 144 "/usr/include/stdlib.h" 3 4
extern void swab(const char *, char *, ssize_t);

extern int mkstemp(char *);

extern int mkstemp64(char *);

extern long a64l(const char *);
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, size_t);
extern char *l64a(long);
extern char *mktemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(const char *);
extern void srandom(unsigned);
extern int ttyslot(void);
extern int unlockpt(int);
extern void *valloc(size_t);

extern int dup2(int, int);
extern char *qecvt(long double, int, int *, int *);
extern char *qfcvt(long double, int, int *, int *);
extern char *qgcvt(long double, int, char *);
extern char *getcwd(char *, size_t);
extern const char *getexecname(void);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern char *getpassphrase(const char *);
extern int getpw(uid_t, char *);
extern int isatty(int);
extern void *memalign(size_t, size_t);
extern char *ttyname(int);

extern long long atoll(const char *);
extern long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern char *lltostr(long long, char *);
extern long long strtoll(const char *, char **, int);
extern unsigned long long strtoull(const char *, char **, int);
extern char *ulltostr(unsigned long long, char *);
# 94 "$P/gcc-3.4.1/gcc/tsystem.h" 2
# 1 "/usr/include/unistd.h" 1 3 4
# 16 "/usr/include/unistd.h" 3 4
#pragma ident "@(#)unistd.h     1.58    99/11/11 SMI"

# 1 "/usr/include/sys/unistd.h" 1 3 4
# 25 "/usr/include/sys/unistd.h" 3 4
#pragma ident "@(#)unistd.h     1.37    98/10/28 SMI"
# 22 "/usr/include/unistd.h" 2 3 4
# 171 "/usr/include/unistd.h" 3 4
extern int access(const char *, int);

extern int acct(const char *);

extern unsigned alarm(unsigned);

extern int brk(void *);

extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);

extern int chroot(const char *);

extern int close(int);

extern char *ctermid(char *);

extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);

extern int execl(const char *, const char *, ...);
extern int execle(const char *, const char *, ...);
extern int execlp(const char *, const char *, ...);
extern int execv(const char *, char *const *);
extern int execve(const char *, char *const *, char *const *);
extern int execvp(const char *, char *const *);
extern void _exit(int);

extern int fattach(int, const char *);

extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);

extern int fchroot(int);

extern int fdatasync(int);
# 243 "/usr/include/unistd.h" 3 4
extern int fdetach(const char *);

extern pid_t fork(void);

extern pid_t fork1(void);

extern long fpathconf(int, int);

extern int fsync(int);

extern int ftruncate(int, off_t);

extern char *getcwd(char *, size_t);

extern int getdtablesize(void);

extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);

extern long gethostid(void);

extern int gethostname(char *, int);

extern char *getlogin(void);
# 289 "/usr/include/unistd.h" 3 4
extern int getpagesize(void);
extern pid_t getpgid(pid_t);

extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);

char *gettxt(const char *, const char *);

extern pid_t getsid(pid_t);

extern uid_t getuid(void);

extern char *getwd(char *);
# 315 "/usr/include/unistd.h" 3 4
extern int ioctl(int, int, ...);

extern int isaexec(const char *, char *const *, char *const *);

extern int isatty(int);
extern int link(const char *, const char *);

extern int lchown(const char *, uid_t, gid_t);

extern int lockf(int, int, off_t);

extern int readlink(const char *, char *, size_t);

extern off_t lseek(int, off_t, int);

extern int nice(int);

extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);

extern offset_t llseek(int, offset_t, int);

extern off_t tell(int);

extern int mincore(caddr_t, size_t, char *);

extern ssize_t pread(int, void *, size_t, off_t);

extern void profil(unsigned short *, size_t, unsigned long, unsigned int);

extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));

extern long ptrace(int, pid_t, long, long);

extern ssize_t pwrite(int, const void *, size_t, off_t);

extern ssize_t read(int, void *, size_t);

extern int rename(const char *, const char *);

extern int resolvepath(const char *, char *, size_t);

extern int rmdir(const char *);

extern void *sbrk(intptr_t);

extern int setgid(gid_t);

extern int setegid(gid_t);

extern int setgroups(int, const gid_t *);

extern int setpgid(pid_t, pid_t);

extern pid_t setpgrp(void);
extern int setregid(gid_t, gid_t);
extern int setreuid(uid_t, uid_t);

extern pid_t setsid(void);
extern int setuid(uid_t);

extern int seteuid(uid_t);

extern unsigned sleep(unsigned);

extern int stime(const time_t *);

extern int symlink(const char *, const char *);
extern void sync(void);

extern long sysconf(int);
# 438 "/usr/include/unistd.h" 3 4
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);

extern off_t tell(int);

extern int truncate(const char *, off_t);

extern char *ttyname(int);

extern useconds_t ualarm(useconds_t, useconds_t);

extern int unlink(const char *);

extern int usleep(useconds_t);

extern pid_t vfork(void);

extern void vhangup(void);

extern ssize_t write(int, const void *, size_t);

extern void yield(void);

extern int ftruncate64(int, off64_t);
extern off64_t lseek64(int, off64_t, int);
extern ssize_t pread64(int, void *, size_t, off64_t);
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
extern off64_t tell64(int);
extern int truncate64(const char *, off64_t);
extern int lockf64(int, int, off64_t);
# 782 "/usr/include/unistd.h" 3 4
#pragma unknown_control_flow(vfork)
# 95 "$P/gcc-3.4.1/gcc/tsystem.h" 2

# 1 "$P/sol2_3_4_1/gcc/include/limits.h" 1 3 4
# 11 "$P/sol2_3_4_1/gcc/include/limits.h" 3 4
# 1 "$P/sol2_3_4_1/gcc/include/syslimits.h" 1 3 4
# 25 "$P/sol2_3_4_1/gcc/include/syslimits.h" 3 4
#pragma ident "@(#)limits.h     1.51    99/10/08 SMI"

# 1 "/usr/include/iso/limits_iso.h" 1 3 4
# 28 "/usr/include/iso/limits_iso.h" 3 4
#pragma ident "@(#)limits_iso.h 1.1     99/08/09 SMI"
# 30 "$P/sol2_3_4_1/gcc/include/syslimits.h" 2 3 4
# 41 "$P/sol2_3_4_1/gcc/include/syslimits.h" 3 4
# 1 "/usr/include/sys/int_limits.h" 1 3 4
# 9 "/usr/include/sys/int_limits.h" 3 4
#pragma ident "@(#)int_limits.h 1.6     99/08/06 SMI"
# 42 "$P/sol2_3_4_1/gcc/include/syslimits.h" 2 3 4
# 12 "$P/sol2_3_4_1/gcc/include/limits.h" 2 3 4
# 98 "$P/gcc-3.4.1/gcc/tsystem.h" 2
# 42 "$P/gcc-3.4.1/gcc/libgcc2.c" 2
# 1 "$P/gcc-3.4.1/gcc/coretypes.h" 1
# 55 "$P/gcc-3.4.1/gcc/coretypes.h"
struct _dont_use_rtx_here_;
struct _dont_use_rtvec_here_;
union _dont_use_tree_here_;
# 43 "$P/gcc-3.4.1/gcc/libgcc2.c" 2
# 1 "./tm.h" 1

# 1 "$P/gcc-3.4.1/gcc/config/sparc/biarch64.h" 1
# 6 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h" 1
# 116 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
enum cmodel {
  CM_32,
  CM_MEDLOW,
  CM_MEDMID,
  CM_MEDANY,
  CM_EMBMEDANY
};

extern const char *sparc_cmodel_string;

extern enum cmodel sparc_cmodel;
# 426 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern int target_flags;
# 650 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
enum processor_type {
  PROCESSOR_V7,
  PROCESSOR_CYPRESS,
  PROCESSOR_V8,
  PROCESSOR_SUPERSPARC,
  PROCESSOR_SPARCLITE,
  PROCESSOR_F930,
  PROCESSOR_F934,
  PROCESSOR_HYPERSPARC,
  PROCESSOR_SPARCLITE86X,
  PROCESSOR_SPARCLET,
  PROCESSOR_TSC701,
  PROCESSOR_V9,
  PROCESSOR_ULTRASPARC,
  PROCESSOR_ULTRASPARC3
};


extern enum processor_type sparc_cpu;
# 699 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
struct sparc_cpu_select
{
  const char *string;
  const char *const name;
  const int set_tune_p;
  const int set_arch_p;
};

extern struct sparc_cpu_select sparc_select[];
# 1088 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern const int *hard_regno_mode_classes;
extern int sparc_mode_class[];
# 1267 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
enum reg_class { NO_REGS, FPCC_REGS, I64_REGS, GENERAL_REGS, FP_REGS,
   EXTRA_FP_REGS, GENERAL_OR_FP_REGS, GENERAL_OR_EXTRA_FP_REGS,
   ALL_REGS, LIM_REG_CLASSES };
# 1314 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern enum reg_class sparc_regno_reg_class[102];
# 1397 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern char sparc_leaf_regs[];


extern char leaf_reg_remap[];
# 1800 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
struct sparc_args {
  int words;
  int prototype_p;
  int libcall_p;
};
# 1889 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern struct _dont_use_rtx_here_ * sparc_compare_op0;
extern struct _dont_use_rtx_here_ * sparc_compare_op1;
# 1918 "$P/gcc-3.4.1/gcc/config/sparc/sparc.h"
extern char sparc_hard_reg_printed[8];
# 7 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/dbxelf.h" 1
# 8 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/elfos.h" 1
# 9 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/svr4.h" 1
# 10 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sysv4.h" 1
# 11 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sol2.h" 1
# 12 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sol2.h" 1
# 13 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sol2-gld.h" 1
# 14 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sol2-bi.h" 1
# 15 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sol2-gld-bi.h" 1
# 16 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/config/sparc/sol2-gas-bi.h" 1
# 17 "./tm.h" 2
# 1 "$P/gcc-3.4.1/gcc/defaults.h" 1
# 18 "./tm.h" 2

# 1 "./insn-constants.h" 1
# 21 "./tm.h" 2
# 1 "./insn-flags.h" 1
# 265 "./insn-flags.h"

extern struct _dont_use_rtx_here_ * gen_get_pc (struct _dont_use_rtx_here_ *,
struct _dont_use_rtx_here_ *, struct _dont_use_rtx_here_ *);
extern struct _dont_use_rtx_here_ * gen_movsi_lo_sum_pic (struct
_dont_use_rtx_here_ *, struct _dont_use_rtx_here_ *, struct _dont_use_rtx_here_ *);

  -- cut here for 65k bug report size limit ---

extern struct _dont_use_rtx_here_ * gen_prologue (void);
extern struct _dont_use_rtx_here_ * gen_exception_receiver (void);
extern struct _dont_use_rtx_here_ * gen_builtin_setjmp_receiver (struct
_dont_use_rtx_here_ *);
extern struct _dont_use_rtx_here_ * gen_conditional_trap (struct
_dont_use_rtx_here_ *, struct _dont_use_rtx_here_ *);
# 22 "./tm.h" 2
# 44 "$P/gcc-3.4.1/gcc/libgcc2.c" 2
# 56 "$P/gcc-3.4.1/gcc/libgcc2.c"
# 1 "$P/gcc-3.4.1/gcc/libgcc2.h" 1
# 33 "$P/gcc-3.4.1/gcc/libgcc2.h"
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
extern void __clear_cache (char *, char *);
extern void __eprintf (const char *, const char *, unsigned int, const char *)
  __attribute__ ((__noreturn__));

struct exception_descriptor;
extern short int __get_eh_table_language (struct exception_descriptor *);
extern short int __get_eh_table_version (struct exception_descriptor *);
# 67 "$P/gcc-3.4.1/gcc/libgcc2.h"
typedef int QItype __attribute__ ((mode (QI)));
typedef unsigned int UQItype __attribute__ ((mode (QI)));
typedef int HItype __attribute__ ((mode (HI)));
typedef unsigned int UHItype __attribute__ ((mode (HI)));

typedef int SItype __attribute__ ((mode (SI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));

typedef long long DItype __attribute__ ((mode (DI)));
typedef unsigned long long UDItype __attribute__ ((mode (DI)));
# 88 "$P/gcc-3.4.1/gcc/libgcc2.h"
typedef long long TItype __attribute__ ((mode (TI)));
typedef unsigned long long UTItype __attribute__ ((mode (TI)));
# 100 "$P/gcc-3.4.1/gcc/libgcc2.h"
typedef float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));

typedef float TFtype __attribute__ ((mode (TF)));
# 133 "$P/gcc-3.4.1/gcc/libgcc2.h"
typedef int word_type __attribute__ ((mode (__word__)));
# 235 "$P/gcc-3.4.1/gcc/libgcc2.h"
extern TItype __multi3 (TItype, TItype);
extern TItype __divti3 (TItype, TItype);
extern UTItype __udivti3 (UTItype, UTItype);
extern UTItype __umodti3 (UTItype, UTItype);
extern TItype __modti3 (TItype, TItype);

extern UTItype __udivmodti4 (UTItype, UTItype, UTItype *);

extern TItype __negti2 (TItype);

extern TItype __lshrti3 (TItype, word_type);
extern TItype __ashlti3 (TItype, word_type);
extern TItype __ashrti3 (TItype, word_type);

extern UDItype __udiv_w_sdiv (UDItype *, UDItype, UDItype, UDItype);

extern word_type __cmpti2 (TItype, TItype);
extern word_type __ucmpti2 (TItype, TItype);

extern DItype __absvsi2 (DItype);
extern TItype __absvdi2 (TItype);
extern DItype __addvsi3 (DItype, DItype);
extern TItype __addvdi3 (TItype, TItype);
extern DItype __subvsi3 (DItype, DItype);
extern TItype __subvdi3 (TItype, TItype);
extern DItype __mulvsi3 (DItype, DItype);
extern TItype __mulvdi3 (TItype, TItype);
extern DItype __negvsi2 (DItype);
extern TItype __negvdi2 (TItype);

extern TItype __fixdfti (DFtype);
extern TItype __fixsfti (SFtype);
extern DFtype __floattidf (TItype);
extern SFtype __floattisf (TItype);
extern UDItype __fixunsdfdi (DFtype);
extern UDItype __fixunssfdi (SFtype);
extern TItype __fixunsdfti (DFtype);
extern TItype __fixunssfti (SFtype);
# 294 "$P/gcc-3.4.1/gcc/libgcc2.h"
extern TItype __fixunstfti (TFtype);
extern TItype __fixtfti (TFtype);
extern TFtype __floattitf (TItype);

  struct DWstruct {DItype high, low;};
# 313 "$P/gcc-3.4.1/gcc/libgcc2.h"
typedef union
{
  struct DWstruct s;
  TItype ll;
} DWunion;

# 1 "$P/gcc-3.4.1/gcc/longlong.h" 1
# 1322 "$P/gcc-3.4.1/gcc/longlong.h"
extern const UQItype __clz_tab[] __attribute__ ((__visibility__ ("hidden")));
# 320 "$P/gcc-3.4.1/gcc/libgcc2.h" 2
# 57 "$P/gcc-3.4.1/gcc/libgcc2.c" 2
# 1289 "$P/gcc-3.4.1/gcc/libgcc2.c"
DFtype
__floattidf (TItype u)
{
  DFtype d = (DItype) (u >> (sizeof (DItype) * 8));
  d *= (((UTItype) 1) << ((sizeof (DItype) * 8) / 2));
  d *= (((UTItype) 1) << ((sizeof (DItype) * 8) / 2));
  d += (UDItype) (u & ((((UTItype) 1) << (sizeof (DItype) * 8)) - 1));

  return d;
}

-- 
           Summary: In function `__floattidf':, libgcc2.c:1292: internal
                    compiler error: in expand_shift, at ex
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: john dot spelis at 3dlabs dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: gcc 3.4.1
  GCC host triplet: sun ultra1 (sparcv9) Solaris 2.8
GCC target triplet: Sun sparc v9, solaris 2.8


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
@ 2004-07-20 13:51 ` pinskia at gcc dot gnu dot org
  2004-07-20 14:15 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-20 13:51 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |target
           Keywords|                            |build, ice-on-valid-code
            Summary|In function `__floattidf':, |In function `__floattidf':,
                   |libgcc2.c:1292: internal    |libgcc2.c:1292: internal
                   |compiler error: in          |compiler error: in
                   |expand_shift, at ex         |expand_shift, at
                   |pmed.c:2111                 |expmed.c:2111


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
  2004-07-20 13:51 ` [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111 pinskia at gcc dot gnu dot org
@ 2004-07-20 14:15 ` pinskia at gcc dot gnu dot org
  2004-07-20 14:30 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-20 14:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-20 14:15 -------
hmm, can you try a compiling 3.2.3 and then try with compiling 3.4.1 as 3.0.4 could be miscompiling 
the new compiler?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |3.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
  2004-07-20 13:51 ` [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111 pinskia at gcc dot gnu dot org
  2004-07-20 14:15 ` pinskia at gcc dot gnu dot org
@ 2004-07-20 14:30 ` pinskia at gcc dot gnu dot org
  2004-07-20 17:13 ` john dot spelis at 3dlabs dot com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-20 14:30 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
                   ` (2 preceding siblings ...)
  2004-07-20 14:30 ` pinskia at gcc dot gnu dot org
@ 2004-07-20 17:13 ` john dot spelis at 3dlabs dot com
  2004-07-20 17:17 ` pinskia at gcc dot gnu dot org
  2004-07-20 17:22 ` john dot spelis at 3dlabs dot com
  5 siblings, 0 replies; 7+ messages in thread
From: john dot spelis at 3dlabs dot com @ 2004-07-20 17:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From john dot spelis at 3dlabs dot com  2004-07-20 17:13 -------
john.spelis@3dlabs writes:
 I have changed the status to "minor" as i have now found a workaround for this
problem ...

Bug Workaround (background):

I think the actual problem is somewhere in the
pre-processor because i've noticed that
#define's are not preserved across #include's
so for instance when compiling libgcov.c
a #define from gcov-io.h called IN_LIBGCOV which
get's set in that include file appears unset
immediately after the file is included in
libgcov.c

The 'gcc' code is heavily conditionally compiled and
so unless #define's are being preserved, chaos
is likely.

The smallest code fragment which reproduces this fault is


 --- b.h ---
#define ball 1

 --- b.c ---

#include "b.h"

int main()
{
#if !ball
 ball() ;
#endif
return(0);
}

This fails to compile with xgcc at the same stage xgcc goes on to
report an internal compiler failure.

# xgcc -o b b.c   # fails if #defines's not being preserved

 Bug Workaround:

I was using a previously built 3.0.3 gcc to compile
3.4.1 and it failed at the stage where it's using it's
own cc1 and xgcc to compile it's own code. This resulted
in the internal compiler fault.

I tracked back gnu gcc versions until one compiled on
solaris 2.8, sparcv9 and and got 3.0.3 to compile
3.2.3 successfully.

Via the 3.2.3 compiler i have got 3.4.1 (yipee) to
compile.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
                   ` (3 preceding siblings ...)
  2004-07-20 17:13 ` john dot spelis at 3dlabs dot com
@ 2004-07-20 17:17 ` pinskia at gcc dot gnu dot org
  2004-07-20 17:22 ` john dot spelis at 3dlabs dot com
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-20 17:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-20 17:17 -------
Actually that means it is fixed and a bug in 3.0.x which is known and I thought was documented.
And it is:
>From <http://gcc.gnu.org/install/specific.html>:
GCC 3.3 and GCC 3.4 trigger code generation bugs in earlier versions of the GNU compiler (especially 
GCC 3.0.x versions), which lead to the miscompilation of the stage1 compiler and the subsequent 
failure of the bootstrap process. A workaround is to use GCC 3.2.3 as an intermediary stage, i.e. to 
bootstrap that compiler with the base compiler and then use it to bootstrap the final compiler.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

* [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111
  2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
                   ` (4 preceding siblings ...)
  2004-07-20 17:17 ` pinskia at gcc dot gnu dot org
@ 2004-07-20 17:22 ` john dot spelis at 3dlabs dot com
  5 siblings, 0 replies; 7+ messages in thread
From: john dot spelis at 3dlabs dot com @ 2004-07-20 17:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From john dot spelis at 3dlabs dot com  2004-07-20 17:22 -------
Andrew, I apologise, i'm new to Bugzilla and did not read your comment
until posting my own. You guy's are hero's and Geniuses.
Keep up the magnificent work. 
Best Regards.

(In reply to comment #3)
> Actually that means it is fixed and a bug in 3.0.x which is known and I
thought was documented.
> And it is:
> From <http://gcc.gnu.org/install/specific.html>:
> GCC 3.3 and GCC 3.4 trigger code generation bugs in earlier versions of the
GNU compiler (especially 
> GCC 3.0.x versions), which lead to the miscompilation of the stage1 compiler
and the subsequent 
> failure of the bootstrap process. A workaround is to use GCC 3.2.3 as an
intermediary stage, i.e. to 
> bootstrap that compiler with the base compiler and then use it to bootstrap
the final compiler.

(In reply to comment #3)
> Actually that means it is fixed and a bug in 3.0.x which is known and I
thought was documented.
> And it is:
> From <http://gcc.gnu.org/install/specific.html>:
> GCC 3.3 and GCC 3.4 trigger code generation bugs in earlier versions of the
GNU compiler (especially 
> GCC 3.0.x versions), which lead to the miscompilation of the stage1 compiler
and the subsequent 
> failure of the bootstrap process. A workaround is to use GCC 3.2.3 as an
intermediary stage, i.e. to 
> bootstrap that compiler with the base compiler and then use it to bootstrap
the final compiler.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16640


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

end of thread, other threads:[~2004-07-20 17:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-20 10:09 [Bug c/16640] New: In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at ex john dot spelis at 3dlabs dot com
2004-07-20 13:51 ` [Bug target/16640] In function `__floattidf':, libgcc2.c:1292: internal compiler error: in expand_shift, at expmed.c:2111 pinskia at gcc dot gnu dot org
2004-07-20 14:15 ` pinskia at gcc dot gnu dot org
2004-07-20 14:30 ` pinskia at gcc dot gnu dot org
2004-07-20 17:13 ` john dot spelis at 3dlabs dot com
2004-07-20 17:17 ` pinskia at gcc dot gnu dot org
2004-07-20 17:22 ` john dot spelis at 3dlabs dot com

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