+2004-12-23 Paolo Carlini <pcarlini@suse.de>
+
+ Minimal fixes for -fno-exceptions.
+ * testsuite/testsuite_abi.cc (get_symbol, examine_symbol,
+ create_symbols): Use __throw_exception_again, instead of
+ plain throw.
+ * testsuite/testsuite_hooks.cc (verify_demangle,
+ run_tests_wrapped_locale, run_tests_wrapped_env): Likewise.
+ (try_named_locale): Wrap the whole catch in __EXCEPTIONS.
+
2004-12-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/18837
{
ostringstream os;
os << "get_symbol failed for symbol " << mangled;
- throw symbol_error(os.str());
+ __throw_exception_again symbol_error(os.str());
}
}
sym.print();
}
catch(...)
- { throw; }
+ { __throw_exception_again; }
}
void
{
ostringstream os;
os << "create_symbols failed for file " << file;
- throw runtime_error(os.str());
+ __throw_exception_again runtime_error(os.str());
}
return s;
}
std::string w(wanted);
if (w != s)
- throw std::runtime_error(s);
+ __throw_exception_again std::runtime_error(std::string(s));
}
VERIFY( preLC_ALL == postLC_ALL );
}
else
- throw environment_variable(string("LC_ALL for ") + string(name));
+ __throw_exception_again
+ environment_variable(string("LC_ALL for ") + string(name));
}
void
setenv(env, oldENV ? oldENV : "", 1);
}
else
- throw environment_variable(string(env) + string(" to ") + string(name));
+ __throw_exception_again
+ environment_variable(string(env) + string(" to ") + string(name));
#endif
}
{
return std::locale(name);
}
+#ifdef __EXCEPTIONS
catch (std::runtime_error& ex)
{
// Thrown by generic and gnu implemenation if named locale fails.
else
throw;
}
+#endif
}
int