Remove dynamic exception specifications from !LIBO_INTERNAL_ONLY

...only odk/examples/ remains to be clean up

Change-Id: I875a1e8d6750b6b007bd75126b8010273e1f32d5
This commit is contained in:
Stephan Bergmann
2017-01-27 10:37:08 +01:00
parent d1f3168162
commit b61214c91d
28 changed files with 478 additions and 943 deletions

View File

@@ -21,7 +21,12 @@
namespace {
bool isOverriding(FunctionDecl const * decl) {
return decl->hasAttr<OverrideAttr>();
if (decl->hasAttr<OverrideAttr>()) {
return true;
}
auto m = dyn_cast<CXXMethodDecl>(decl);
return m != nullptr
&& m->begin_overridden_methods() != m->end_overridden_methods();
}
class DynExcSpec:
@@ -31,13 +36,6 @@ public:
explicit DynExcSpec(InstantiationData const & data): RewritePlugin(data) {}
void run() override {
// See the mail thread mentioned above for why !LIBO_INTERNAL_ONLY is
// excluded for now:
if (!compiler.getPreprocessor().getIdentifierInfo("LIBO_INTERNAL_ONLY")
->hasMacroDefinition())
{
return;
}
if (compiler.getLangOpts().CPlusPlus) {
TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
}