Your recent patch

Gabriel Dos Reis gdr@codesourcery.com
Thu Feb 8 12:52:00 GMT 2001


Benjamin,

this patch 

2001-02-07  Benjamin Kosnik  <bkoz@redhat.com>

        Clean up stdexcept.
        * include/bits/stringfwd.h: New file.
        * include/bits/stl_string_fwd.h: Remove.
        * include/bits/localefwd.h: Remove declaration for allocator.
        * include/bits/std_iosfwd: Same.
        * include/bits/std_string.h: Include it.
        * include/bits/std_ios.h: Remove include.
        * include/bits/basic_string.h: Tweak.
        * libsupc++/new: Format.
        * src/Makefile.am (base_headers): Add stringfwd.h, remove
        stl_string_fwd.h
        * src/Makefile.in: Regenerate.
        * include/bits/std_stdexcept.h: Rewrite.
        * src/stdexcept.cc: Same.

seems to cause a build failure on an i686-pc-linux-gnu.

A 'make bootstrap' fails with:

/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:43: redefinition of 
   `std::logic_error::logic_error(const string&)'
/codesourcery/egcs/libstdc++-v3/include/bits/std_stdexcept.h:38:
   `std::logic_error::logic_error(const
   string&)' previously defined here
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc: In constructor 
   `std::logic_error::logic_error(const string&)':
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:43: class
   `std::logic_error' does 
   not have any field named `exception'
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:43: class
   `std::logic_error' does 
   not have any field named `_M_msg'
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:43: no matching function
   for call 
   to `std::__Named_exception::__Named_exception()'
/codesourcery/egcs/libstdc++-v3/include/bits/std_stdexcept.h:26:
   candidates 
   are: std::__Named_exception::__Named_exception(const 
   std::__Named_exception&)
/codesourcery/egcs/libstdc++-v3/include/bits/std_stdexcept.h:28:
            
    std::__Named_exception::__Named_exception(const string&)
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc: At global scope:
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:45: definition of 
   implicitly-declared `virtual std::logic_error::~logic_error()'
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:49: no `const char* 
   std::logic_error::what() const' member function declared in class 
   `std::logic_error'
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc: In member function
`const char* 
   std::logic_error::what() const':
/home/gdr/egcs/libstdc++-v3/src/stdexcept.cc:49: `_M_msg' undeclared
(first use this function)

[...]

Any idea?

-- Gaby


More information about the Libstdc++ mailing list