This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
C++0x name clash: invalid_argument
- From: Douglas Gregor <doug dot gregor at gmail dot com>
- To: libstdc++ at gcc dot gnu dot org
- Date: Sun, 23 Sep 2007 03:17:47 -0400
- Subject: C++0x name clash: invalid_argument
- Reply-to: dgregor at osl dot iu dot edu
When we're in C++0x mode, there are now two different definitions of the
name "invalid_argument" in namespace std. The first one is the exception
class, which comes from <stdexcept>. The second is an enumerator that
comes from <system_error> (for EINVAL). This causes compilation failures
in the following program to fail under C++0x mode (and is killing my
nightly regression testing of Boost):
#include <stdexcept>
#include <system_error>
int main()
{
try {
} catch(std::invalid_argument const&) {
}
}
- Doug