This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

980308 Interal Compiler Error


This is the source. The .ii is attached. It was compiled with:

g++ -v -march=i586 -malign-double -O7 -g -fno-omit-frame-pointer -D_GNU_SOURCE
-Wall -w -fvtable-thunks -fhandle-signatures -fstrict-prototypes
-foperator-names -fno-rtti -fno-exceptions -fno-keep-static-consts -Winline
-Dwx_xt -DDEBUG=0 -DCPU=i386 --save-temps  -c t.cc

//////////////////////////
#include <cctype>
#include <time.h>

void f() {
	char buffer[32];
	tm entered;
	bool is_valid;

	if ((is_valid = isdigit(buffer[0]))) {
		entered->tm_mon = int(buffer[0] - '0');
	}
}
/////////////////////////

which became:

Reading specs from /usr/lib/gcc/i586-unknown-linux-gnu/2.91.13/specs
gcc version 2.91.13 egcs-980308 (gcc-2.8.0 release)
 /usr/lib/gcc/i586-unknown-linux-gnu/2.91.13/cpp -lang-c++ -v -undef
 -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -D__ELF__ -Dunix
 -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix)
 -D__OPTIMIZE__ -g -Wall -Winline -w -Di386 -Di586 -Asystem(unix) -Acpu(i386)
 -Amachine(i386) -D__i386__ -D__i586__ -Asystem(unix) -Acpu(i386)
 -Amachine(i386) -D_GNU_SOURCE -Dwx_xt -DDEBUG=0 -DCPU=i386 t.cc t.ii
GNU CPP version 2.91.13 egcs-980308 (gcc-2.8.0 release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++
 /usr/local/include
 /usr/lib/gcc/i586-unknown-linux-gnu/2.91.13/include
 /usr/include
End of search list.
 /usr/lib/gcc/i586-unknown-linux-gnu/2.91.13/cc1plus t.ii -quiet -dumpbase t.cc
 -march=i586 -malign-double -g -O7 -Wall -Winline -w -version
 -fno-omit-frame-pointer -fvtable-thunks -fhandle-signatures
 -fstrict-prototypes -foperator-names -fno-rtti -fno-exceptions
 -fno-keep-static-consts -o t.s
GNU C++ version 2.91.13 egcs-980308 (gcc-2.8.0 release) (i586-unknown-linux-gnu)
compiled by GNU C version 2.91.13 egcs-980308 (gcc-2.8.0 release).
t.cc: In function `void f()':
t.cc:10: Internal compiler error.
t.cc:10: Please submit a full bug report to `egcs-bugs@cygnus.com'.
# 1 "t.cc"
# 1 "/usr/include/c++/cctype" 1 3
 
 



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

















 






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





















 















































 













 





 



 







 















 









 

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










































 








 












 

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




















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

















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

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


 







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


 







 



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



 








 







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



 

 








# 1 "/usr/include/gnu/stubs.h" 1 3
 





























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




# 26 "/usr/include/ctype.h" 2 3


extern "C" { 


 







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





















 









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


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










# 39 "/usr/include/ctype.h" 2 3







enum
{
  _ISupper = ( 0  < 8 ? ((1 <<  0 ) << 8) : ((1 <<  0 ) >> 8)) ,	 
  _ISlower = ( 1  < 8 ? ((1 <<  1 ) << 8) : ((1 <<  1 ) >> 8)) ,	 
  _ISalpha = ( 2  < 8 ? ((1 <<  2 ) << 8) : ((1 <<  2 ) >> 8)) ,	 
  _ISdigit = ( 3  < 8 ? ((1 <<  3 ) << 8) : ((1 <<  3 ) >> 8)) ,	 
  _ISxdigit = ( 4  < 8 ? ((1 <<  4 ) << 8) : ((1 <<  4 ) >> 8)) ,	 
  _ISspace = ( 5  < 8 ? ((1 <<  5 ) << 8) : ((1 <<  5 ) >> 8)) ,	 
  _ISprint = ( 6  < 8 ? ((1 <<  6 ) << 8) : ((1 <<  6 ) >> 8)) ,	 
  _ISgraph = ( 7  < 8 ? ((1 <<  7 ) << 8) : ((1 <<  7 ) >> 8)) ,	 
  _ISblank = ( 8  < 8 ? ((1 <<  8 ) << 8) : ((1 <<  8 ) >> 8)) ,	 
  _IScntrl = ( 9  < 8 ? ((1 <<  9 ) << 8) : ((1 <<  9 ) >> 8)) ,	 
  _ISpunct = ( 10  < 8 ? ((1 <<  10 ) << 8) : ((1 <<  10 ) >> 8)) ,	 
  _ISalnum = ( 11  < 8 ? ((1 <<  11 ) << 8) : ((1 <<  11 ) >> 8)) 	 
};


 










extern __const unsigned short int *__ctype_b;	 
extern __const int *__ctype_tolower;  
extern __const int *__ctype_toupper;  












 



extern int  isalnum   (int)   ;
extern int  isalpha   (int)   ;
extern int  iscntrl   (int)   ;
extern int  isdigit   (int)   ;
extern int  islower   (int)   ;
extern int  isgraph   (int)   ;
extern int  isprint   (int)   ;
extern int  ispunct   (int)   ;
extern int  isspace   (int)   ;
extern int  isupper   (int)   ;
extern int  isxdigit   (int)   ;


extern int  isblank   (int)   ;



 
extern int tolower  (int __c)  ;

 
extern int toupper  (int __c)  ;




 

extern int isascii  (int __c)  ;

 

extern int toascii  (int __c)  ;




 
extern int  _toupper   (int)   ;
extern int  _tolower   (int)   ;





























} 


# 6 "/usr/include/c++/cctype" 2 3


# 1 "t.cc" 2

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

















 










extern "C" { 




 


# 1 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3


 

 


































typedef unsigned int size_t;






















 




 

# 271 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3


# 283 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3


 

# 315 "/usr/lib/gcc/i586-inX-linux/2.91.13/include/stddef.h" 3




 





















# 38 "/usr/include/time.h" 2 3







 

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


















# 32 "/usr/include/timebits.h" 3






 


 




 




# 47 "/usr/include/time.h" 2 3


 













# 1 "/usr/include/gnu/types.h" 1 3
 






















 
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

typedef unsigned long long int __u_quad_t;
typedef long long int __quad_t;
# 41 "/usr/include/gnu/types.h" 3

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;		 
typedef __u_int __uid_t;		 
typedef __u_int __gid_t;		 
typedef __u_long __ino_t;		 
typedef __u_int __mode_t;		 
typedef __u_int __nlink_t; 		 
typedef long int __off_t;		 
typedef __quad_t __loff_t;		 
typedef int __pid_t;			 
typedef int __ssize_t;			 

typedef struct
  {
    int __val[2];
  } __fsid_t;				 

 
typedef int __daddr_t;			 
typedef char *__caddr_t;
typedef long int __time_t;
typedef long int __swblk_t;		 

typedef long int __clock_t;

 
typedef unsigned long int __fd_mask;

 


 




 
typedef struct
  {
     
    __fd_mask fds_bits[1024  / (8 * sizeof (__fd_mask)) ];
  } __fd_set;


typedef int __key_t;

typedef short int __ipc_pid_t;


# 63 "/usr/include/time.h" 2 3


 
typedef __clock_t clock_t;










 
typedef __time_t time_t;










 

struct timespec
  {
    long int tv_sec;		 
    long int tv_nsec;		 
  };







 
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;			 


  long int tm_gmtoff;		 
  __const char *tm_zone;	 




};





 

extern clock_t clock  (void)  ;

 
extern time_t time  (time_t *__timer)  ;

 
extern double difftime  (time_t __time1, time_t __time0)  
     __attribute__ ((__const__));

 
extern time_t mktime  (struct tm *__tp)  ;

 


extern time_t __mktime_internal  (struct tm *__tp,
				      struct tm *(*__func) (const time_t *,
							    struct tm *),
				      time_t *__offset)  ;


 


extern size_t strftime  (char *__s, size_t __maxsize,
			     __const char *__format, __const struct tm *__tp)  ;


 

extern char *strptime  (__const char *__s, __const char *__fmt,
			    struct tm *__tp)  ;



 

extern struct tm *gmtime  (__const time_t *__timer)  ;

 

extern struct tm *localtime  (__const time_t *__timer)  ;


 

extern struct tm *__gmtime_r  (__const time_t *__timer,
				   struct tm *__tp)  ;
extern struct tm *gmtime_r  (__const time_t *__timer,
				 struct tm *__tp)  ;

 

extern struct tm *__localtime_r  (__const time_t *__timer,
				      struct tm *__tp)  ;
extern struct tm *localtime_r  (__const time_t *__timer,
				    struct tm *__tp)  ;


 


extern void __offtime  (__const time_t *__timer,
			    long int __offset,
			    struct tm *__TP)  ;

 

extern char *asctime  (__const struct tm *__tp)  ;

 
extern char *ctime  (__const time_t *__timer)  ;


 

 

extern char *__asctime_r  (__const struct tm *__tp, char *__buf)  ;
extern char *asctime_r  (__const struct tm *__tp, char *__buf)  ;

 
extern char *ctime_r  (__const time_t *__timer, char *__buf)  ;



 
extern char *__tzname[2];	 
extern int __daylight;		 
extern long int __timezone;	 

 

extern void __tzset  (void)  ;


 
extern char *tzname[2];

 

extern long int __tzname_max  (void)  ;

extern void tzset  (void)  ;



extern int daylight;
extern long int timezone;



 

extern int stime  (__const time_t *__when)  ;



 






 


 
extern time_t timegm  (struct tm *__tp)  ;

 
extern time_t timelocal  (struct tm *__tp)  ;

 
extern int dysize  (int __year)  ;




 
extern int __nanosleep  (__const struct timespec *__requested_time,
			     struct timespec *__remaining)  ;
extern int nanosleep  (__const struct timespec *__requested_time,
			   struct timespec *__remaining)  ;



} 




# 2 "t.cc" 2


void f() {
	char buffer[32];
	tm entered;
	bool is_valid;

	if ((is_valid = (__ctype_b[(int) ( ( buffer[0] ) )] & (unsigned short int)   _ISdigit )  )) {
		entered->tm_mon = int(buffer[0] - '0');
	}
}

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