id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10975,"The name exception is ambiguous, exception and std::exception.",Sergey.Sprogis@…,Joel de Guzman,"1. Description of the failure. On Solaris 11.2 Oracle Studio 12.4 C++ compiler under -std=c++11 option produces the following error messages for libs/spirit/classic/test/match_tests.cpp test. ""/usr/include/math.h"", line 215: Error: The name exception is ambiguous, exception and std::exception. ""/usr/include/math.h"", line 215: Error: The name exception is ambiguous, exception and std::exception. "".../boost/exception/exception.hpp"", line 140: Error: The name exception is ambiguous, exception and std::exception. and actually it produces similar error messages for small test like this: namespace boost { class exception; } using namespace boost; #include or like this: class exception; using namespace std; #include Note that in the original boost harness ""class exception;"" can be found inside: boost/exception/exception.hpp 2. Cause of the failure. This is a C++ vs Unix or Boost vs Unix issue. Standard Unix requires ""struct exception"" in the global namespace when is included. This conflicts with std::exception or boost::exception, but only when there are using-declarations or using-directives that bring std::exception or boost::exception into the global namespace. When is included, user code must avoid all of the following at file scope (in the global namespace): using namespace std; using namespace boost; using std::exception; using boost::exception; 3. Possible Solution. - Remove line: using namespace std; - Replace all 'cout' invocations with 'std::cout' ",Bugs,closed,To Be Determined,spirit,Boost 1.57.0,Problem,fixed,,