From 425bfb52e2a6aca7a968ccf3785356ac469ec046 Mon Sep 17 00:00:00 2001 From: Tim King Date: Thu, 26 Oct 2017 20:13:25 -0700 Subject: [PATCH] Adds a macro to SWIG to ignore the override and final C++11 keywords in older versions of SWIG. (#1281) --- src/cvc4.i | 7 +++++++ src/smt/command.h | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/cvc4.i b/src/cvc4.i index e1138649c..58dceb6b1 100644 --- a/src/cvc4.i +++ b/src/cvc4.i @@ -1,3 +1,10 @@ +// We safely ignore some C++11 keywords that older versions of SWIG cannot +// handle. +#if SWIG_VERSION < 0x030000 +%define final %enddef +%define override %enddef +#endif + %import "bindings/swig.h" %include "stdint.i" diff --git a/src/smt/command.h b/src/smt/command.h index dcd818f83..f5be9ddfe 100644 --- a/src/smt/command.h +++ b/src/smt/command.h @@ -474,13 +474,13 @@ class CVC4_PUBLIC SetUserAttributeCommand : public Command { const std::vector& values) throw(); SetUserAttributeCommand(const std::string& attr, Expr expr, const std::string& value) throw(); - ~SetUserAttributeCommand() throw() {} + ~SetUserAttributeCommand() throw() override {} - void invoke(SmtEngine* smtEngine); + void invoke(SmtEngine* smtEngine) override; Command* exportTo(ExprManager* exprManager, - ExprManagerMapCollection& variableMap); - Command* clone() const; - std::string getCommandName() const throw(); + ExprManagerMapCollection& variableMap) override; + Command* clone() const override; + std::string getCommandName() const throw() override; private: SetUserAttributeCommand(const std::string& attr, Expr expr, -- 2.30.2