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]
Other format: [Raw text]

bootstrap/7979: OpenUNIX8/Unixware stage 3 failing in eh_alloc.cc


>Number:         7979
>Category:       bootstrap
>Synopsis:       OpenUNIX8/Unixware stage 3 failing in eh_alloc.cc
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 19 13:46:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     wantbottom@t-online.de
>Release:        gcc-3.2 release
>Organization:
>Environment:
- OpenUNIX ou801 5 8.0.1 i386 x86at Caldera UNIX_SVR5
- bootstrapped with gcc-2.95.3p1
- binutils 2.13 (as and ld)
>Description:
After successfully compiling stage1 and stage2 the final compile is failing:

/home/doehrm/gcc-3.2/compile/gcc/xgcc -shared-libgcc -B/home/doehrm/gcc-3.2/compile/gcc/ -nostdinc++ -L/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/src -L/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/src/.libs -B/usr/local/i686-unknown-sysv5OpenUNIX8.0.1/bin/ -B/usr/local/i686-unknown-sysv5OpenUNIX8.0.1/lib/ -isystem /usr/local/i686-unknown-sysv5OpenUNIX8.0.1/include -I../../../../libstdc++-v3/../gcc -I../../../../libstdc++-v3/../include -I/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1 -I/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include -I../../../../libstdc++-v3/libsupc++ -g -O2 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -c ../../../../libstdc++-v3/libsupc++/eh_alloc.cc -o eh_alloc.o
In file included from ../../../../libstdc++-v3/libsupc++/eh_alloc.cc:33:
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib: In
   function `long int std::abs(long int)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib:119: `
   long int std::abs(long int)' conflicts with previous using declaration `long
   int abs(long int)'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib: In
   function `ldiv_t std::div(long int, long int)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib:122: `
   ldiv_t std::div(long int, long int)' conflicts with previous using
   declaration `ldiv_t div(long int, long int)'
In file included from ../../../../libstdc++-v3/libsupc++/eh_alloc.cc:34:
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring: In
   function `void* std::memchr(void*, int, unsigned int)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:101: `
   void* std::memchr(void*, int, unsigned int)' conflicts with previous using
   declaration `void* memchr(void*, int, unsigned int)'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:101: invalid
   conversion from `const void*' to `void*'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring: In
   function `char* std::strchr(char*, int)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:107: `
   char* std::strchr(char*, int)' conflicts with previous using declaration `
   char* strchr(char*, int)'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring: In
   function `char* std::strpbrk(char*, const char*)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:113: `
   char* std::strpbrk(char*, const char*)' conflicts with previous using
   declaration `char* strpbrk(char*, const char*)'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring: In
   function `char* std::strrchr(char*, int)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:119: `
   char* std::strrchr(char*, int)' conflicts with previous using declaration `
   char* strrchr(char*, int)'
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring: In
   function `char* std::strstr(char*, const char*)':
/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring:125: `
   char* std::strstr(char*, const char*)' conflicts with previous using
   declaration `char* strstr(char*, const char*)'
gmake[4]: *** [eh_alloc.lo] Error 1

I attached the preprocessed output of eh_alloc.cc. 
>How-To-Repeat:
Try to bootstrap gcc-3.2 on OU8
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="eh_alloc.i"
Content-Disposition: inline; filename="eh_alloc.i"

# 1 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
# 33 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 1
# 48 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 3

# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/c++config.h" 1 3
# 34 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/c++config.h" 3
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/os_defines.h" 1 3
# 35 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/c++config.h" 2 3
# 50 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 2 3
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstddef" 1 3
# 47 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstddef" 3

# 1 "/home/doehrm/gcc-3.2/compile/gcc/include/stddef.h" 1 3 4
# 147 "/home/doehrm/gcc-3.2/compile/gcc/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 201 "/home/doehrm/gcc-3.2/compile/gcc/include/stddef.h" 3 4
typedef unsigned int size_t;
# 49 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstddef" 2 3

namespace std
{
  using ::ptrdiff_t;
  using ::size_t;
}
# 51 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 2 3

# 1 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 1 3 4
# 22 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
#ident "@(#)unixsrc:usr/src/i386/head/stdlib.h /main/uw7_nj/3"

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

typedef struct
{
        long quot;
        long rem;
} ldiv_t;
# 47 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
typedef int ssize_t;
# 88 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
extern "C" {


extern unsigned char __ctype[];



extern double atof(const char *);
extern int atoi(const char *);
extern long atol(const char *);
extern double strtod(const char *, char **);

extern float strtof(const char *, char **);
extern long strtol(const char *, char **, int);
long double strtold(const char *, char **);
long long strtoll(const char *, char **, int);
unsigned long strtoul(const char *, char **, int);
unsigned long long strtoull(const char *, char **, int);

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

extern void *calloc(size_t, size_t);
extern void free(void *);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);

extern void _Exit(int);





extern char *getenv(const char *);
extern int system(const char *);
# 131 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
extern int abs(int);
extern div_t div(int, int);
extern long labs(long);
extern ldiv_t ldiv(long, long);

extern int mbtowc(wchar_t *, const char *, size_t);
extern int mblen(const char *, size_t);
extern int wctomb(char *, wchar_t);

extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);




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 int putenv(char *);
unsigned short *seed48(unsigned short *);
extern void setkey(const char *);
extern void srand48(long);
# 165 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
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 * , int);
extern char *l64a(long);
extern int mkstemp(char *);
extern char *mktemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(char *);
extern void srandom(unsigned);
extern int ttyslot(void);
extern int unlockpt(int);
extern void *valloc(size_t);







extern int rand_r(unsigned int *);






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



struct mallinfo {
        size_t arena;
        size_t ordblks;
        size_t smblks;
        size_t hblks;
        size_t hblkhd;
        size_t usmblks;
        size_t fsmblks;
        size_t uordblks;
        size_t fordblks;
        size_t keepcost;
};


long long atoll(const char *);
extern int dup2(int, int);
extern char *ecvtl(long double, int, int *, int *);
extern char *fcvtl(long double, int, int *, int *);
extern char *gcvtl(long double, int, char *);
extern char *getcwd(char *, size_t);
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 int getpw(int, char *);
extern int isatty(int);
extern void l3tol(long *, const char *, int);
extern char *l64a_r(long, char *, size_t);
long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern void ltol3(char *, const long *, int);
struct mallinfo mallinfo(void);
extern void *memalign(size_t, size_t);
extern void swab(const void *, void *, ssize_t);
extern char *ttyname(int);
extern double wcstod(const wchar_t *, wchar_t **);

extern float wcstof(const wchar_t *, wchar_t **);
extern long wcstol(const wchar_t *, wchar_t **, int);
long double wcstold(const wchar_t *, wchar_t **);
long long wcstoll(const wchar_t *, wchar_t **, int);
unsigned long wcstoul(const wchar_t *, wchar_t **, int);
unsigned long long wcstoull(const wchar_t *, wchar_t **, int);
extern int _xgetlogin_r(char *, size_t);
extern int _xttyname_r(int, char *, size_t);
# 268 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
static int
getlogin_r(char *__1, size_t __2)
{
        return _xgetlogin_r(__1, __2);
}




static int
ttyname_r(int __1, char *__2, size_t __3)
{
        return _xttyname_r(__1, __2, __3);
}
# 290 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 3 4
}

extern "C++" {
inline long abs(long __1){ return labs(__1); }
inline ldiv_t div(long __1, long __2){ return ldiv(__1, __2); }



inline long long abs(long long __1){ return llabs(__1); }
inline lldiv_t div(long long __1, long long __2){ return lldiv(__1, __2); }

}


# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 1 3 4
# 305 "/home/doehrm/gcc-3.2/compile/gcc/include/stdlib.h" 2 3 4






extern void abort (void);

extern int atexit (void (*) (void));
extern void * bsearch (const void *, const void *, unsigned int, unsigned int, int (*) (const void *, const void *));
extern void exit (int);
extern void qsort (void *, unsigned int, unsigned int, int (*) (const void *, const void *));
# 53 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 2 3
# 84 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstdlib" 3
namespace std
{
  using ::div_t;
  using ::ldiv_t;

  using ::abort;
  using ::abs;
  using ::atexit;
  using ::atof;
  using ::atoi;
  using ::atol;
  using ::bsearch;
  using ::calloc;
  using ::div;
  using ::exit;
  using ::free;
  using ::getenv;
  using ::labs;
  using ::ldiv;
  using ::malloc;
  using ::mblen;
  using ::mbstowcs;
  using ::mbtowc;
  using ::qsort;
  using ::rand;
  using ::realloc;
  using ::srand;
  using ::strtod;
  using ::strtol;
  using ::strtoul;
  using ::system;
  using ::wcstombs;
  using ::wctomb;

  inline long
  abs(long __i) { return labs(__i); }

  inline ldiv_t
  div(long __i, long __j) { return ldiv(__i, __j); }
}
# 34 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring" 1
# 48 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring" 3



# 1 "/home/doehrm/gcc-3.2/compile/gcc/include/string.h" 1 3 4
# 22 "/home/doehrm/gcc-3.2/compile/gcc/include/string.h" 3 4
#ident "@(#)unixsrc:usr/src/i386/head/string.h /main/uw7_nj/2"
# 34 "/home/doehrm/gcc-3.2/compile/gcc/include/string.h" 3 4
extern "C" {


extern void *memcpy(void *, const void *, size_t);
extern void *memccpy(void *, const void *, int, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);

extern char *strcpy(char *, const char *);
extern char *strdup(const char *);
extern char *strncpy(char *, const char *, size_t);
extern char *strcat(char *, const char *);
extern char *strncat(char *, const char *, size_t);
extern char *strtok(char *, const char *);
extern char *strtok_r(char *, const char *, char **);
extern char *strerror(int);
extern char *strlist(char *, const char *, ...);
extern char *strsignal(int);

extern int memcmp(const void *, const void *, size_t);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *, const char *, size_t);

extern size_t strxfrm(char *, const char *, size_t);
extern size_t strcspn(const char *, const char *);
extern size_t strspn(const char *, const char *);
extern size_t strlen(const char *);

extern char *strcadd(char *, const char *);
extern char *strccpy(char *, const char *);
extern char *streadd(char *, const char *, const char *);
extern char *strecpy(char *, const char *, const char *);
extern int strfind(const char *, const char *);
extern char *strtrns(const char *, const char *, const char *, char *);

extern size_t strlcat(char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);



extern int ffs(int);




const void *memchr(const void *, int, size_t);
const char *strchr(const char *, int);
const char *strpbrk(const char *, const char *);
const char *strrchr(const char *, int);
const char *strrspn(const char *, const char *);
const char *strstr(const char *, const char *);

}

extern "C++" {
inline void *memchr(void *__1, int __2, size_t __3)
        { return (void *)memchr((const void *)__1, __2, __3); }
inline char *strchr(char *__1, int __2)
        { return (char *)strchr((const char *)__1, __2); }
inline char *strpbrk(char *__1, const char *__2)
        { return (char *)strpbrk((const char *)__1, __2); }
inline char *strrchr(char *__1, int __2)
        { return (char *)strrchr((const char *)__1, __2); }
inline char *strrspn(char *__1, const char *__2)
        { return (char *)strrspn((const char *)__1, __2); }
inline char *strstr(char *__1, const char *__2)
        { return (char *)strstr((const char *)__1, __2); }
}


# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring" 1 3 4
# 106 "/home/doehrm/gcc-3.2/compile/gcc/include/string.h" 2 3 4
# 52 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring" 2 3
# 77 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/cstring" 3
namespace std
{
  using ::memcpy;
  using ::memmove;
  using ::strcpy;
  using ::strncpy;
  using ::strcat;
  using ::strncat;
  using ::memcmp;
  using ::strcmp;
  using ::strcoll;
  using ::strncmp;
  using ::strxfrm;
  using ::strcspn;
  using ::strspn;
  using ::strtok;
  using ::memset;
  using ::strerror;
  using ::strlen;

  using ::memchr;

  inline void*
  memchr(void* __p, int __c, size_t __n)
  { return memchr(const_cast<const void*>(__p), __c, __n); }

  using ::strchr;

  inline char*
  strchr(char* __s1, int __n)
  { return __builtin_strchr(const_cast<const char*>(__s1), __n); }

  using ::strpbrk;

  inline char*
  strpbrk(char* __s1, const char* __s2)
  { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }

  using ::strrchr;

  inline char*
  strrchr(char* __s1, int __n)
  { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }

  using ::strstr;

  inline char*
  strstr(char* __s1, const char* __s2)
  { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
}
# 35 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/climits" 1
# 48 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/climits" 3

# 1 "/home/doehrm/gcc-3.2/compile/gcc/include/limits.h" 1 3 4
# 11 "/home/doehrm/gcc-3.2/compile/gcc/include/limits.h" 3 4
# 1 "/home/doehrm/gcc-3.2/compile/gcc/include/syslimits.h" 1 3 4
# 22 "/home/doehrm/gcc-3.2/compile/gcc/include/syslimits.h" 3 4
#ident "@(#)unixsrc:usr/src/i386/head/limits.h /main/uw7_nj/5"
# 229 "/home/doehrm/gcc-3.2/compile/gcc/include/syslimits.h" 3 4
extern "C" {


extern long _sysconf(int);


}
# 12 "/home/doehrm/gcc-3.2/compile/gcc/include/limits.h" 2 3 4
# 50 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/climits" 2 3
# 36 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2
# 1 "../../../../libstdc++-v3/libsupc++/exception" 1
# 40 "../../../../libstdc++-v3/libsupc++/exception"
extern "C++" {

namespace std
{






  class exception
  {
  public:
    exception() throw() { }
    virtual ~exception() throw();


    virtual const char* what() const throw();
  };



  class bad_exception : public exception
  {
  public:
    bad_exception() throw() { }


    virtual ~bad_exception() throw();
  };


  typedef void (*terminate_handler) ();

  typedef void (*unexpected_handler) ();


  terminate_handler set_terminate(terminate_handler) throw();


  void terminate() __attribute__ ((__noreturn__));


  unexpected_handler set_unexpected(unexpected_handler) throw();


  void unexpected() __attribute__ ((__noreturn__));
# 98 "../../../../libstdc++-v3/libsupc++/exception"
  bool uncaught_exception() throw();
}

namespace __gnu_cxx
{
# 111 "../../../../libstdc++-v3/libsupc++/exception"
  void __verbose_terminate_handler ();
}

}
# 37 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2
# 1 "../../../../libstdc++-v3/libsupc++/unwind-cxx.h" 1
# 38 "../../../../libstdc++-v3/libsupc++/unwind-cxx.h"
# 1 "../../../../libstdc++-v3/libsupc++/typeinfo" 1
# 40 "../../../../libstdc++-v3/libsupc++/typeinfo"
extern "C++" {

namespace __cxxabiv1
{
  class __class_type_info;
}
# 55 "../../../../libstdc++-v3/libsupc++/typeinfo"
namespace std
{



  class type_info
  {
  public:




    virtual ~type_info();

  private:

    type_info& operator=(const type_info&);
    type_info(const type_info&);

  protected:
    const char *__name;

  protected:
    explicit type_info(const char *__n): __name(__n) { }

  public:



    const char* name() const
    { return __name; }
# 98 "../../../../libstdc++-v3/libsupc++/typeinfo"
    bool before(const type_info& __arg) const
    { return __name < __arg.__name; }
    bool operator==(const type_info& __arg) const
    { return __name == __arg.__name; }

    bool operator!=(const type_info& __arg) const
    { return !operator==(__arg); }


  public:

    virtual bool __is_pointer_p() const;

    virtual bool __is_function_p() const;







    virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
                            unsigned __outer) const;


    virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
                             void **__obj_ptr) const;
  };



  class bad_cast : public exception
  {
  public:
    bad_cast() throw() { }


    virtual ~bad_cast() throw();
  };


  class bad_typeid : public exception
  {
  public:
    bad_typeid () throw() { }


    virtual ~bad_typeid() throw();
  };
}

}
# 39 "../../../../libstdc++-v3/libsupc++/unwind-cxx.h" 2


# 1 "../../../../gcc/unwind.h" 1
# 25 "../../../../gcc/unwind.h"
extern "C" {






typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));





typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));



typedef enum
{
  _URC_NO_REASON = 0,
  _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
  _URC_FATAL_PHASE2_ERROR = 2,
  _URC_FATAL_PHASE1_ERROR = 3,
  _URC_NORMAL_STOP = 4,
  _URC_END_OF_STACK = 5,
  _URC_HANDLER_FOUND = 6,
  _URC_INSTALL_CONTEXT = 7,
  _URC_CONTINUE_UNWIND = 8
} _Unwind_Reason_Code;
# 64 "../../../../gcc/unwind.h"
struct _Unwind_Exception;

typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
                                              struct _Unwind_Exception *);

struct _Unwind_Exception
{
  _Unwind_Exception_Class exception_class;
  _Unwind_Exception_Cleanup_Fn exception_cleanup;
  _Unwind_Word private_1;
  _Unwind_Word private_2;




} __attribute__((__aligned__));




typedef int _Unwind_Action;
# 96 "../../../../gcc/unwind.h"
struct _Unwind_Context;


extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *);



typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *, void *);

extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *,
                                                 _Unwind_Stop_Fn,
                                                 void *);


extern void _Unwind_DeleteException (struct _Unwind_Exception *);



extern void _Unwind_Resume (struct _Unwind_Exception *);






extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);

extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);

extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);

extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
# 148 "../../../../gcc/unwind.h"
typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *);




struct SjLj_Function_Context;
extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);

extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException
     (struct _Unwind_Exception *);
extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind
     (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *);
# 186 "../../../../gcc/unwind.h"
extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);



}
# 42 "../../../../libstdc++-v3/libsupc++/unwind-cxx.h" 2

namespace __cxxabiv1
{





struct __cxa_exception
{

  std::type_info *exceptionType;
  void (*exceptionDestructor)(void *);



  std::unexpected_handler unexpectedHandler;
  std::terminate_handler terminateHandler;


  __cxa_exception *nextException;



  int handlerCount;



  int handlerSwitchValue;
  const unsigned char *actionRecord;
  const unsigned char *languageSpecificData;
  void *catchTemp;
  void *adjustedPtr;


  _Unwind_Exception unwindHeader;
};


struct __cxa_eh_globals
{
  __cxa_exception *caughtExceptions;
  unsigned int uncaughtExceptions;
};






extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw();


extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw();


extern "C" void __cxa_free_exception(void *thrown_exception) throw();


extern "C" void __cxa_throw (void *thrown_exception,
                             std::type_info *tinfo,
                             void (*dest) (void *))
     __attribute__((noreturn));


extern "C" void *__cxa_begin_catch (void *) throw();
extern "C" void __cxa_end_catch ();
extern "C" void __cxa_rethrow () __attribute__((noreturn));


extern "C" void __cxa_bad_cast ();
extern "C" void __cxa_bad_typeid ();






extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));



extern void __terminate(std::terminate_handler) __attribute__((noreturn));
extern void __unexpected(std::unexpected_handler) __attribute__((noreturn));


extern std::terminate_handler __terminate_handler;
extern std::unexpected_handler __unexpected_handler;




const _Unwind_Exception_Class __gxx_exception_class
= ((((((((_Unwind_Exception_Class) 'G'
         << 8 | (_Unwind_Exception_Class) 'N')
        << 8 | (_Unwind_Exception_Class) 'U')
       << 8 | (_Unwind_Exception_Class) 'C')
      << 8 | (_Unwind_Exception_Class) 'C')
     << 8 | (_Unwind_Exception_Class) '+')
    << 8 | (_Unwind_Exception_Class) '+')
   << 8 | (_Unwind_Exception_Class) '\0');


extern "C" _Unwind_Reason_Code __gxx_personality_v0
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *);


extern "C" _Unwind_Reason_Code __gxx_personality_sj0
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *);


static inline __cxa_exception *
__get_exception_header_from_obj (void *ptr)
{
  return reinterpret_cast<__cxa_exception *>(ptr) - 1;
}


static inline __cxa_exception *
__get_exception_header_from_ue (_Unwind_Exception *exc)
{
  return reinterpret_cast<__cxa_exception *>(exc + 1) - 1;
}

}
# 38 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2

# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr.h" 1
# 102 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr.h"
# 1 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr-single.h" 1
# 34 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr-single.h"
typedef int __gthread_mutex_t;
# 211 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr-single.h"
static inline int
__gthread_active_p (void)
{
  return 0;
}

static inline int
__gthread_mutex_lock (__gthread_mutex_t * )
{
  return 0;
}

static inline int
__gthread_mutex_trylock (__gthread_mutex_t * )
{
  return 0;
}

static inline int
__gthread_mutex_unlock (__gthread_mutex_t * )
{
  return 0;
}
# 103 "/home/doehrm/gcc-3.2/compile/i686-unknown-sysv5OpenUNIX8.0.1/libstdc++-v3/include/i686-unknown-sysv5OpenUNIX8.0.1/bits/gthr.h" 2
# 40 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc" 2

using namespace __cxxabiv1;
# 68 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
typedef unsigned int bitmask_type;





typedef char one_buffer[512] __attribute__((aligned));
static one_buffer emergency_buffer[4];
static bitmask_type emergency_used;
# 96 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
extern "C" void *
__cxa_allocate_exception(std::size_t thrown_size)
{
  void *ret;

  thrown_size += sizeof (__cxa_exception);
  ret = std::malloc (thrown_size);

  if (! ret)
    {
# 114 "../../../../libstdc++-v3/libsupc++/eh_alloc.cc"
      bitmask_type used = emergency_used;
      unsigned int which = 0;

      if (thrown_size > 512)
        goto failed;
      while (used & 1)
        {
          used >>= 1;
          if (++which >= 4)
            goto failed;
        }

      emergency_used |= (bitmask_type)1 << which;
      ret = &emergency_buffer[which][0];

    failed:;



      if (!ret)
        std::terminate ();
    }

  std::memset (ret, 0, sizeof (__cxa_exception));

  return (void *)((char *)ret + sizeof (__cxa_exception));
}


extern "C" void
__cxa_free_exception(void *vptr)
{
  char *ptr = (char *) vptr;
  if (ptr >= &emergency_buffer[0][0]
      && ptr < &emergency_buffer[0][0] + sizeof (emergency_buffer))
    {
      unsigned int which
        = (unsigned)(ptr - &emergency_buffer[0][0]) / 512;






      emergency_used &= ~((bitmask_type)1 << which);

    }
  else
    std::free (ptr - sizeof (__cxa_exception));
}


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