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]

g++ internal compiler error w/test case



	I have a tiny (albeit contrived and broken) C++ class which
causes g++ to throw an internal compiler error. Here you go:

[dennis@bluesky util]$ uname -a
Linux bluesky 2.2.14-6.1.1 #7 Tue Apr 25 21:55:35 PDT 2000 i686 unknown

[dennis@bluesky util]$ c++ -v --save-temps -DHAVE_CONFIG_H -Wall -g -pedantic -O -c Test.cpp
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__ -D__i386__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -D__OPTIMIZE__ -g -Wall -pedantic -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di686 -Dpentiumpro -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ -DHAVE_CONFIG_H Test.cpp Test.ii
GNU CPP version 2.95.2 19991024 (release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3
 /usr/local/include
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../i686-pc-linux-gnu/include
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/cc1plus Test.ii -quiet -dumpbase Test.cc -g -O -Wall -pedantic -version -o Test.s
GNU C++ version 2.95.2 19991024 (release) (i686-pc-linux-gnu) compiled by GNU C version 2.95.2 19991024 (release).
Test.cpp:24: Internal compiler error.
Test.cpp:24: Please submit a full bug report.
Test.cpp:24: See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.


	The code and preprocessor output are attached. Thanks!


_________________________________________________________________________
Dennis Taylor           "Anyone whose days are all the same and free from
dennis@funkplanet.com    want inhabits eternity of a sort."  - Peter Hoeg
_________________________________________________________________________
   PGP Fingerprint: E8D6 9670 4FBD EEC3 6C6B  810B 2B30 E529 51BD 7B90

#include <cstdio>

template <class T>
class Test {
 public:
  Test();
  T const& operator[]( const int foo );
  ~Test();

 private:
  int _foo;
  T   _bar;
};



template <class T>
Test<T>::Test() : _foo(42) { }

// This is the really broken bit. It should be Test<T>::operator[]. If
// you change it to return "int const&" instead, or if you add the
// "Test<T>::", it doesn't give the internal compiler error.
T const& operator[]( const int foo ) {
  _foo = foo;
  return _foo;
}

template <class T>
Test<T>::~Test() {
  fprintf( "I gots no legs." );
}
# 1 "Test.cpp"

# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/cstdio" 1 3
 
 



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

















 







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




















 



























































 



















 





 



 







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


 









 





 



























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


































 



 








 




 

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




















 




 





 








 




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


 







 



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



 








 















 








 








 









 







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


 








 





 

 








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






































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




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


extern "C" { 



# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 1 3






 


# 19 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3



 


 





 


# 61 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 

 


































typedef unsigned int size_t;






















 




 

# 271 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


# 283 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 

 

# 317 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3




 





















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





# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 1 3
 
































































 






typedef void *__gnuc_va_list;



 

# 122 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 3




















# 209 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 3




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


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

















 









# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 1 3






 


# 19 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3



 


 





 


# 61 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 

 


# 188 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3





 




 

# 271 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


# 283 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 

 

# 317 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3




 





















# 29 "/usr/include/bits/types.h" 2 3


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

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 48 "/usr/include/bits/types.h" 3

typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

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 long int __rlim_t;		 
typedef __quad_t __rlim64_t;		 
typedef __u_int __id_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 unsigned short int __ipc_pid_t;


 

 
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;

 
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;

 
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;

 
typedef __u_long __ino64_t;

 
typedef __loff_t __off64_t;

 
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;

 
typedef int __intptr_t;


 





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







 
typedef struct _IO_FILE FILE;








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




























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





 






# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 1 3






 


# 19 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3



 


 





 


# 61 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3


 

 


# 188 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3





 




 





























 



















































typedef unsigned int  wint_t;




 

 

# 317 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stddef.h" 3




 





















# 14 "/usr/include/_G_config.h" 2 3





















typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));




 


















 




 














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
















 

# 1 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 1 3
 
































































 










 

# 122 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 3




















# 209 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include/stdarg.h" 3




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







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


 

















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











 
























 



















struct _IO_jump_t;  struct _IO_FILE;

 







typedef void _IO_lock_t;



 

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

   
  int _pos;
# 186 "/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;
  __off_t   _old_offset;  


   
  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];

   

  _IO_lock_t *_lock;








  __off64_t   _offset;
   
  int _unused2[16];

};





struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;











 

 

typedef __ssize_t __io_read_fn  (void *  __cookie, char *__buf,
				       size_t __nbytes)  ;

 





typedef __ssize_t __io_write_fn  (void *  __cookie, __const char *__buf,
				      size_t __n)  ;

 





typedef int __io_seek_fn  (void *  __cookie, __off_t   __pos, int __w)  ;

 
typedef int __io_close_fn  (void *  __cookie)  ;


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




extern "C" {


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
















extern int _IO_getc  (_IO_FILE *__fp)  throw ()  ;
extern int _IO_putc  (int __c, _IO_FILE *__fp)  throw ()  ;
extern int _IO_feof  (_IO_FILE *__fp)  throw ()  ;
extern int _IO_ferror  (_IO_FILE *__fp)  throw ()  ;

extern int _IO_peekc_locked  (_IO_FILE *__fp)  throw ()  ;

 



extern void _IO_flockfile  (_IO_FILE *)  throw ()  ;
extern void _IO_funlockfile  (_IO_FILE *)  throw ()  ;
extern int _IO_ftrylockfile  (_IO_FILE *)  throw ()  ;












extern int _IO_vfscanf  (_IO_FILE * __restrict, const char * __restrict,
			     __gnuc_va_list , int *__restrict)  throw ()  ;
extern int _IO_vfprintf  (_IO_FILE *__restrict, const char *__restrict,
			      __gnuc_va_list )  throw ()  ;
extern __ssize_t   _IO_padn  (_IO_FILE *, int, __ssize_t  )  throw ()  ;
extern size_t   _IO_sgetn  (_IO_FILE *, void *, size_t  )  throw ()  ;

extern __off64_t   _IO_seekoff  (_IO_FILE *, __off64_t  , int, int)  throw ()  ;
extern __off64_t   _IO_seekpos  (_IO_FILE *, __off64_t  , int)  throw ()  ;

extern void _IO_free_backup_area  (_IO_FILE *)  throw ()  ;


}



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


 

typedef __off_t  fpos_t;







 





 





 






 







 




 








# 1 "/usr/include/bits/stdio_lim.h" 1 3
 




































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



 
extern FILE *stdin;		 
extern FILE *stdout;		 
extern FILE *stderr;		 
 





 
extern int remove  (__const char *__filename)  throw ()  ;
 
extern int rename  (__const char *__old, __const char *__new)  throw ()  ;


 

extern FILE *tmpfile  (void)  throw ()  ;










 
extern char *tmpnam  (char *__s)  throw ()  ;


 

extern char *tmpnam_r  (char *__s)  throw ()  ;




 






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



 
extern int fclose  (FILE *__stream)  throw ()  ;
 
extern int fflush  (FILE *__stream)  throw ()  ;


 
extern int fflush_unlocked  (FILE *__stream)  throw ()  ;









 
extern FILE *fopen  (__const char *__restrict __filename,
			 __const char *__restrict __modes)  throw ()  ;
 
extern FILE *freopen  (__const char *__restrict __filename,
			   __const char *__restrict __modes,
			   FILE *__restrict __stream)  throw ()  ;
# 201 "/usr/include/stdio.h" 3










 
extern FILE *fdopen  (int __fd, __const char *__modes)  throw ()  ;


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



 

extern void setbuf  (FILE *__restrict __stream, char *__restrict __buf)  throw ()  ;
 


extern int setvbuf  (FILE *__restrict __stream, char *__restrict __buf,
			 int __modes, size_t __n)  throw ()  ;


 

extern void setbuffer  (FILE *__restrict __stream, char *__restrict __buf,
			    size_t __size)  throw ()  ;

 
extern void setlinebuf  (FILE *__stream)  throw ()  ;



 
extern int fprintf  (FILE *__restrict __stream,
			 __const char *__restrict __format, ...)  throw ()  ;
 
extern int printf  (__const char *__restrict __format, ...)  throw ()  ;
 
extern int sprintf  (char *__restrict __s,
			 __const char *__restrict __format, ...)  throw ()  ;

 
extern int vfprintf  (FILE *__restrict __s,
			  __const char *__restrict __format,
			  __gnuc_va_list  __arg)  throw ()  ;
 
extern int vprintf  (__const char *__restrict __format,
			 __gnuc_va_list  __arg)  throw ()  ;
 
extern int vsprintf  (char *__restrict __s,
			  __const char *__restrict __format,
			  __gnuc_va_list  __arg)  throw ()  ;


 
extern int snprintf  (char *__restrict __s, size_t __maxlen,
			  __const char *__restrict __format, ...)  throw ()  
     __attribute__ ((__format__ (__printf__, 3, 4)));

extern int __vsnprintf  (char *__restrict __s, size_t __maxlen,
			     __const char *__restrict __format,
			     __gnuc_va_list  __arg)  throw ()  
     __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vsnprintf  (char *__restrict __s, size_t __maxlen,
			   __const char *__restrict __format,
			   __gnuc_va_list  __arg)  throw ()  
     __attribute__ ((__format__ (__printf__, 3, 0)));


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



 
extern int fscanf  (FILE *__restrict __stream,
			__const char *__restrict __format, ...)  throw ()  ;
 
extern int scanf  (__const char *__restrict __format, ...)  throw ()  ;
 
extern int sscanf  (__const char *__restrict __s,
			__const char *__restrict __format, ...)  throw ()  ;

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



 
extern int fgetc  (FILE *__stream)  throw ()  ;
extern int getc  (FILE *__stream)  throw ()  ;

 
extern int getchar  (void)  throw ()  ;

 




 
extern int getc_unlocked  (FILE *__stream)  throw ()  ;
extern int getchar_unlocked  (void)  throw ()  ;



 
extern int fgetc_unlocked  (FILE *__stream)  throw ()  ;



 
extern int fputc  (int __c, FILE *__stream)  throw ()  ;
extern int putc  (int __c, FILE *__stream)  throw ()  ;

 
extern int putchar  (int __c)  throw ()  ;

 




 
extern int fputc_unlocked  (int __c, FILE *__stream)  throw ()  ;



 
extern int putc_unlocked  (int __c, FILE *__stream)  throw ()  ;
extern int putchar_unlocked  (int __c)  throw ()  ;




 
extern int getw  (FILE *__stream)  throw ()  ;

 
extern int putw  (int __w, FILE *__stream)  throw ()  ;



 
extern char *fgets  (char *__restrict __s, int __n,
			 FILE *__restrict __stream)  throw ()  ;







 

extern char *gets  (char *__s)  throw ()  ;


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



 
extern int fputs  (__const char *__restrict __s,
		       FILE *__restrict __stream)  throw ()  ;







 
extern int puts  (__const char *__s)  throw ()  ;


 
extern int ungetc  (int __c, FILE *__stream)  throw ()  ;


 
extern size_t fread  (void *__restrict __ptr, size_t __size,
			  size_t __n, FILE *__restrict __stream)  throw ()  ;
 
extern size_t fwrite  (__const void *__restrict __ptr, size_t __size,
			   size_t __n, FILE *__restrict __s)  throw ()  ;


 
extern size_t fread_unlocked  (void *__restrict __ptr, size_t __size,
				   size_t __n, FILE *__restrict __stream)  throw ()  ;
extern size_t fwrite_unlocked  (__const void *__restrict __ptr,
				    size_t __size, size_t __n,
				    FILE *__restrict __stream)  throw ()  ;



 
extern int fseek  (FILE *__stream, long int __off, int __whence)  throw ()  ;
 
extern long int ftell  (FILE *__stream)  throw ()  ;
 
extern void rewind  (FILE *__stream)  throw ()  ;

 




 


typedef __off_t off_t;




















 
extern int fgetpos  (FILE *__restrict __stream,
			 fpos_t *__restrict __pos)  throw ()  ;
 
extern int fsetpos  (FILE *__stream, __const fpos_t *__pos)  throw ()  ;
# 523 "/usr/include/stdio.h" 3


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


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


 
extern void clearerr_unlocked  (FILE *__stream)  throw ()  ;
extern int feof_unlocked  (FILE *__stream)  throw ()  ;
extern int ferror_unlocked  (FILE *__stream)  throw ()  ;



 
extern void perror  (__const char *__s)  throw ()  ;

 


extern int sys_nerr;
extern __const char *__const sys_errlist[];








 
extern int fileno  (FILE *__stream)  throw ()  ;



 
extern int fileno_unlocked  (FILE *__stream)  throw ()  ;





 
extern FILE *popen  (__const char *__command, __const char *__modes)  throw ()  ;

 
extern int pclose  (FILE *__stream)  throw ()  ;




 
extern char *ctermid  (char *__s)  throw ()  ;









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




 

 
extern void flockfile  (FILE *__stream)  throw ()  ;

 

extern int ftrylockfile  (FILE *__stream)  throw ()  ;

 
extern void funlockfile  (FILE *__stream)  throw ()  ;










 


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





























 
inline  int
vprintf (__const char *__restrict __fmt, __gnuc_va_list  __arg) throw () 
{
  return vfprintf (stdout , __fmt, __arg);
}

 
inline  int
getchar (void) throw () 
{
  return _IO_getc (stdin );
}



 
inline  int
getc_unlocked (FILE *__fp) throw () 
{
  return (( __fp )->_IO_read_ptr >= ( __fp )->_IO_read_end ? __uflow ( __fp ) : *(unsigned char *) ( __fp )->_IO_read_ptr++) ;
}

 
inline  int
getchar_unlocked (void) throw () 
{
  return (( stdin  )->_IO_read_ptr >= ( stdin  )->_IO_read_end ? __uflow ( stdin  ) : *(unsigned char *) ( stdin  )->_IO_read_ptr++) ;
}



 
inline  int
putchar (int __c) throw () 
{
  return _IO_putc (__c, stdout );
}



 
inline  int
fputc_unlocked (int __c, FILE *__stream) throw () 
{
  return (((  __stream )->_IO_write_ptr >= (  __stream )->_IO_write_end) ? __overflow (  __stream , (unsigned char) ( __c )) : (unsigned char) (*(  __stream )->_IO_write_ptr++ = ( __c ))) ;
}




 
inline  int
putc_unlocked (int __c, FILE *__stream) throw () 
{
  return (((  __stream )->_IO_write_ptr >= (  __stream )->_IO_write_end) ? __overflow (  __stream , (unsigned char) ( __c )) : (unsigned char) (*(  __stream )->_IO_write_ptr++ = ( __c ))) ;
}

 
inline  int
putchar_unlocked (int __c) throw () 
{
  return (((  stdout  )->_IO_write_ptr >= (  stdout  )->_IO_write_end) ? __overflow (  stdout  , (unsigned char) ( __c )) : (unsigned char) (*(  stdout  )->_IO_write_ptr++ = ( __c ))) ;
}














 
inline  int
feof_unlocked (FILE *__stream) throw () 
{
  return ((( __stream )->_flags & 0x10 ) != 0) ;
}

 
inline  int
ferror_unlocked (FILE *__stream) throw () 
{
  return ((( __stream )->_flags & 0x20 ) != 0) ;
}






 

# 149 "/usr/include/bits/stdio.h" 3


# 165 "/usr/include/bits/stdio.h" 3


 

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



} 




# 6 "/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3/cstdio" 2 3


# 2 "Test.cpp" 2


template <class T>
class Test {
 public:
  Test();
  T const& operator[]( const int foo );
  ~Test();

 private:
  int _foo;
  T   _bar;
};



template <class T>
Test<T>::Test() : _foo(42) { }

 
 
 
T const& operator[]( const int foo ) {
  _foo = foo;
  return _foo;
}

template <class T>
Test<T>::~Test() {
  fprintf( "I gots no legs." );
}

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