stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek" <tvi...@roguewave.com>
Subject RE: STDCXX-509
Date Wed, 17 Oct 2007 17:14:55 GMT

So I've been looking at the issue of the missing symbols for the
destructor, copy constructor and assignment operators for bad_cast,
bad_typeid and exceptions. Specifically, these symbols...

>
>  public: class exception & __thiscall exception::operator=(class
exception const &)
>  public: __thiscall exception::exception(class exception const &)
>  public: __thiscall exception::exception(void)
>  public: virtual __thiscall exception::~exception(void)
>  public: virtual char const * __thiscall exception::what(void)const
>
>  public: class bad_cast & __thiscall bad_cast::operator=(class
bad_cast const &)
>  public: __thiscall bad_cast::bad_cast(class bad_cast const &)
>  public: virtual __thiscall bad_cast::~bad_cast(void)
>
>  public: class bad_typeid & __thiscall bad_typeid::operator=(class
bad_typeid const &)
>  public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
>  public: virtual __thiscall bad_typeid::~bad_typeid(void)
>

The 4.1.3 config.h header has the following defines

  // #define _RWSTD_NO_BAD_CAST_ASSIGNMENT
  // #define _RWSTD_NO_BAD_CAST_COPY_CTOR
  #define _RWSTD_NO_BAD_CAST_DEFAULT_CTOR
  // #define _RWSTD_NO_BAD_CAST_DTOR
  #define _RWSTD_NO_BAD_CAST_WHAT

  // #define _RWSTD_NO_BAD_TYPEID_ASSIGNMENT
  // #define _RWSTD_NO_BAD_TYPEID_COPY_CTOR
  #define _RWSTD_NO_BAD_TYPEID_DEFAULT_CTOR
  // #define _RWSTD_NO_BAD_TYPEID_DTOR
  #define _RWSTD_NO_BAD_TYPEID_WHAT

  // #define _RWSTD_NO_EXCEPTION_ASSIGNMENT
  // #define _RWSTD_NO_EXCEPTION_COPY_CTOR
  // #define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR
  // #define _RWSTD_NO_EXCEPTION_DTOR
  // #define _RWSTD_NO_EXCEPTION_WHAT

The 4.2.0 config.h header has the following defines

  #define _RWSTD_NO_BAD_CAST_ASSIGNMENT
  #define _RWSTD_NO_BAD_CAST_COPY_CTOR
  #define _RWSTD_NO_BAD_CAST_DEFAULT_CTOR
  #define _RWSTD_NO_BAD_CAST_DTOR
  #define _RWSTD_NO_BAD_CAST_WHAT

  #define _RWSTD_NO_BAD_TYPEID_ASSIGNMENT
  #define _RWSTD_NO_BAD_TYPEID_COPY_CTOR
  #define _RWSTD_NO_BAD_TYPEID_DEFAULT_CTOR
  #define _RWSTD_NO_BAD_TYPEID_DTOR
  #define _RWSTD_NO_BAD_TYPEID_WHAT

  #define _RWSTD_NO_EXCEPTION_ASSIGNMENT
  #define _RWSTD_NO_EXCEPTION_COPY_CTOR
  #define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR
  #define _RWSTD_NO_EXCEPTION_DTOR
  #define _RWSTD_NO_EXCEPTION_WHAT

This is pretty consistent with what I'm expecting. I'm looking into the
config tests now to see why we have a change in behavior with the same
configuration.

Travis

Mime
View raw message