Use 'override/final' instead of 'virtual' for overridden methods

The patch is generated using clang-tidy misc-use-override check.

This command was used:

  tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \
    -checks='-*,misc-use-override' -header-filter='llvm|clang' \
    -j=32 -fix -format

http://reviews.llvm.org/D8925



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234679 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alexander Kornienko 2015-04-11 02:11:45 +00:00
parent 2c64a1129f
commit c16fc54851
165 changed files with 385 additions and 376 deletions

View File

@ -1573,7 +1573,7 @@ public:
std::runtime_error::operator=(toCopy)));
}
virtual ~OurCppRunException (void) throw () {}
~OurCppRunException(void) throw() override {}
};
} // end anonymous namespace

View File

@ -93,7 +93,7 @@ class NumberExprAST : public ExprAST {
double Val;
public:
NumberExprAST(double val) : Val(val) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -101,7 +101,7 @@ class VariableExprAST : public ExprAST {
std::string Name;
public:
VariableExprAST(const std::string &name) : Name(name) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -111,7 +111,7 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
: Op(op), LHS(lhs), RHS(rhs) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -121,7 +121,7 @@ class CallExprAST : public ExprAST {
public:
CallExprAST(const std::string &callee, std::vector<ExprAST*> &args)
: Callee(callee), Args(args) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,

View File

@ -107,7 +107,7 @@ class NumberExprAST : public ExprAST {
public:
NumberExprAST(double val) : Val(val) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -116,7 +116,7 @@ class VariableExprAST : public ExprAST {
public:
VariableExprAST(const std::string &name) : Name(name) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -127,7 +127,7 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
: Op(op), LHS(lhs), RHS(rhs) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -138,7 +138,7 @@ class CallExprAST : public ExprAST {
public:
CallExprAST(const std::string &callee, std::vector<ExprAST *> &args)
: Callee(callee), Args(args) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,
@ -452,13 +452,13 @@ class HelpingMemoryManager : public SectionMemoryManager {
public:
HelpingMemoryManager(MCJITHelper *Helper) : MasterHelper(Helper) {}
virtual ~HelpingMemoryManager() {}
~HelpingMemoryManager() override {}
/// This method returns the address of the specified symbol.
/// Our implementation will attempt to find symbols in other
/// modules associated with the MCJITHelper to cross link symbols
/// from one generated module to another.
virtual uint64_t getSymbolAddress(const std::string &Name) override;
uint64_t getSymbolAddress(const std::string &Name) override;
private:
MCJITHelper *MasterHelper;

View File

@ -125,7 +125,7 @@ class NumberExprAST : public ExprAST {
public:
NumberExprAST(double val) : Val(val) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -134,7 +134,7 @@ class VariableExprAST : public ExprAST {
public:
VariableExprAST(const std::string &name) : Name(name) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -145,7 +145,7 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
: Op(op), LHS(lhs), RHS(rhs) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -156,7 +156,7 @@ class CallExprAST : public ExprAST {
public:
CallExprAST(const std::string &callee, std::vector<ExprAST *> &args)
: Callee(callee), Args(args) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// IfExprAST - Expression class for if/then/else.
@ -166,7 +166,7 @@ class IfExprAST : public ExprAST {
public:
IfExprAST(ExprAST *cond, ExprAST *then, ExprAST *_else)
: Cond(cond), Then(then), Else(_else) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// ForExprAST - Expression class for for/in.
@ -178,7 +178,7 @@ public:
ForExprAST(const std::string &varname, ExprAST *start, ExprAST *end,
ExprAST *step, ExprAST *body)
: VarName(varname), Start(start), End(end), Step(step), Body(body) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,

View File

@ -133,7 +133,7 @@ class NumberExprAST : public ExprAST {
public:
NumberExprAST(double val) : Val(val) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -142,7 +142,7 @@ class VariableExprAST : public ExprAST {
public:
VariableExprAST(const std::string &name) : Name(name) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// UnaryExprAST - Expression class for a unary operator.
@ -153,7 +153,7 @@ class UnaryExprAST : public ExprAST {
public:
UnaryExprAST(char opcode, ExprAST *operand)
: Opcode(opcode), Operand(operand) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -164,7 +164,7 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
: Op(op), LHS(lhs), RHS(rhs) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -175,7 +175,7 @@ class CallExprAST : public ExprAST {
public:
CallExprAST(const std::string &callee, std::vector<ExprAST *> &args)
: Callee(callee), Args(args) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// IfExprAST - Expression class for if/then/else.
@ -185,7 +185,7 @@ class IfExprAST : public ExprAST {
public:
IfExprAST(ExprAST *cond, ExprAST *then, ExprAST *_else)
: Cond(cond), Then(then), Else(_else) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// ForExprAST - Expression class for for/in.
@ -197,7 +197,7 @@ public:
ForExprAST(const std::string &varname, ExprAST *start, ExprAST *end,
ExprAST *step, ExprAST *body)
: VarName(varname), Start(start), End(end), Step(step), Body(body) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,

View File

@ -138,7 +138,7 @@ class NumberExprAST : public ExprAST {
public:
NumberExprAST(double val) : Val(val) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -148,7 +148,7 @@ class VariableExprAST : public ExprAST {
public:
VariableExprAST(const std::string &name) : Name(name) {}
const std::string &getName() const { return Name; }
virtual Value *Codegen();
Value *Codegen() override;
};
/// UnaryExprAST - Expression class for a unary operator.
@ -159,7 +159,7 @@ class UnaryExprAST : public ExprAST {
public:
UnaryExprAST(char opcode, ExprAST *operand)
: Opcode(opcode), Operand(operand) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -170,7 +170,7 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
: Op(op), LHS(lhs), RHS(rhs) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -181,7 +181,7 @@ class CallExprAST : public ExprAST {
public:
CallExprAST(const std::string &callee, std::vector<ExprAST *> &args)
: Callee(callee), Args(args) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// IfExprAST - Expression class for if/then/else.
@ -191,7 +191,7 @@ class IfExprAST : public ExprAST {
public:
IfExprAST(ExprAST *cond, ExprAST *then, ExprAST *_else)
: Cond(cond), Then(then), Else(_else) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// ForExprAST - Expression class for for/in.
@ -203,7 +203,7 @@ public:
ForExprAST(const std::string &varname, ExprAST *start, ExprAST *end,
ExprAST *step, ExprAST *body)
: VarName(varname), Start(start), End(end), Step(step), Body(body) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VarExprAST - Expression class for var/in
@ -216,7 +216,7 @@ public:
ExprAST *body)
: VarNames(varnames), Body(body) {}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,

View File

@ -221,10 +221,10 @@ class NumberExprAST : public ExprAST {
public:
NumberExprAST(double val) : Val(val) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
return ExprAST::dump(out << Val, ind);
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VariableExprAST - Expression class for referencing a variable, like "a".
@ -235,10 +235,10 @@ public:
VariableExprAST(SourceLocation Loc, const std::string &name)
: ExprAST(Loc), Name(name) {}
const std::string &getName() const { return Name; }
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
return ExprAST::dump(out << Name, ind);
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// UnaryExprAST - Expression class for a unary operator.
@ -249,12 +249,12 @@ class UnaryExprAST : public ExprAST {
public:
UnaryExprAST(char opcode, ExprAST *operand)
: Opcode(opcode), Operand(operand) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "unary" << Opcode, ind);
Operand->dump(out, ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// BinaryExprAST - Expression class for a binary operator.
@ -265,13 +265,13 @@ class BinaryExprAST : public ExprAST {
public:
BinaryExprAST(SourceLocation Loc, char op, ExprAST *lhs, ExprAST *rhs)
: ExprAST(Loc), Op(op), LHS(lhs), RHS(rhs) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "binary" << Op, ind);
LHS->dump(indent(out, ind) << "LHS:", ind + 1);
RHS->dump(indent(out, ind) << "RHS:", ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// CallExprAST - Expression class for function calls.
@ -283,13 +283,13 @@ public:
CallExprAST(SourceLocation Loc, const std::string &callee,
std::vector<ExprAST *> &args)
: ExprAST(Loc), Callee(callee), Args(args) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "call " << Callee, ind);
for (ExprAST *Arg : Args)
Arg->dump(indent(out, ind + 1), ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// IfExprAST - Expression class for if/then/else.
@ -299,14 +299,14 @@ class IfExprAST : public ExprAST {
public:
IfExprAST(SourceLocation Loc, ExprAST *cond, ExprAST *then, ExprAST *_else)
: ExprAST(Loc), Cond(cond), Then(then), Else(_else) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "if", ind);
Cond->dump(indent(out, ind) << "Cond:", ind + 1);
Then->dump(indent(out, ind) << "Then:", ind + 1);
Else->dump(indent(out, ind) << "Else:", ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// ForExprAST - Expression class for for/in.
@ -318,7 +318,7 @@ public:
ForExprAST(const std::string &varname, ExprAST *start, ExprAST *end,
ExprAST *step, ExprAST *body)
: VarName(varname), Start(start), End(end), Step(step), Body(body) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "for", ind);
Start->dump(indent(out, ind) << "Cond:", ind + 1);
End->dump(indent(out, ind) << "End:", ind + 1);
@ -326,7 +326,7 @@ public:
Body->dump(indent(out, ind) << "Body:", ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// VarExprAST - Expression class for var/in
@ -339,14 +339,14 @@ public:
ExprAST *body)
: VarNames(varnames), Body(body) {}
virtual std::ostream &dump(std::ostream &out, int ind) {
std::ostream &dump(std::ostream &out, int ind) override {
ExprAST::dump(out << "var", ind);
for (const auto &NamedVar : VarNames)
NamedVar.second->dump(indent(out, ind) << NamedVar.first << ':', ind + 1);
Body->dump(indent(out, ind) << "Body:", ind + 1);
return out;
}
virtual Value *Codegen();
Value *Codegen() override;
};
/// PrototypeAST - This class represents the "prototype" for a function,

View File

@ -165,7 +165,7 @@ public:
AssumptionCache &getAssumptionCache(Function &F);
AssumptionCacheTracker();
~AssumptionCacheTracker();
~AssumptionCacheTracker() override;
void releaseMemory() override { AssumptionCaches.shrink_and_clear(); }

View File

@ -34,7 +34,7 @@ public:
BlockFrequencyInfo();
~BlockFrequencyInfo();
~BlockFrequencyInfo() override;
void getAnalysisUsage(AnalysisUsage &AU) const override;

View File

@ -318,7 +318,7 @@ public:
static char ID; // Class identification, replacement for typeinfo
CallGraphWrapperPass();
virtual ~CallGraphWrapperPass();
~CallGraphWrapperPass() override;
/// \brief The internal \c CallGraph around which the rest of this interface
/// is wrapped.

View File

@ -219,7 +219,7 @@ namespace llvm {
public:
FullDependence(Instruction *Src, Instruction *Dst, bool LoopIndependent,
unsigned Levels);
~FullDependence() { delete[] DV; }
~FullDependence() override { delete[] DV; }
/// isLoopIndependent - Returns true if this is a loop-independent
/// dependence.

View File

@ -107,7 +107,7 @@ public:
static char ID;
InlineCostAnalysis();
~InlineCostAnalysis();
~InlineCostAnalysis() override;
// Pass interface implementation.
void getAnalysisUsage(AnalysisUsage &AU) const override;

View File

@ -39,7 +39,7 @@ public:
/// The default byte alignment for jump tables is 16, which is large but
/// usually safe.
JumpInstrTableInfo(uint64_t ByteAlign = 16);
virtual ~JumpInstrTableInfo();
~JumpInstrTableInfo() override;
const char *getPassName() const override {
return "Jump-Instruction Table Info";
}

View File

@ -39,7 +39,7 @@ public:
LazyValueInfo() : FunctionPass(ID), PImpl(nullptr) {
initializeLazyValueInfoPass(*PassRegistry::getPassRegistry());
}
~LazyValueInfo() { assert(!PImpl && "releaseMemory not called"); }
~LazyValueInfo() override { assert(!PImpl && "releaseMemory not called"); }
/// This is used to return true/false/dunno results.
enum Tristate {

View File

@ -36,8 +36,8 @@ namespace llvm {
: FunctionPass(ID), LCI(LC) {
initializeLibCallAliasAnalysisPass(*PassRegistry::getPassRegistry());
}
~LibCallAliasAnalysis();
~LibCallAliasAnalysis() override;
ModRefResult getModRefInfo(ImmutableCallSite CS,
const Location &Loc) override;

View File

@ -329,7 +329,7 @@ namespace llvm {
public:
MemoryDependenceAnalysis();
~MemoryDependenceAnalysis();
~MemoryDependenceAnalysis() override;
static char ID;
/// Pass Implementation stuff. This doesn't do any analysis eagerly.

View File

@ -30,7 +30,7 @@ struct PostDominatorTree : public FunctionPass {
DT = new DominatorTreeBase<BasicBlock>(true);
}
~PostDominatorTree();
~PostDominatorTree() override;
bool runOnFunction(Function &F) override;

View File

@ -842,7 +842,7 @@ class RegionInfo : public RegionInfoBase<RegionTraits<Function>> {
public:
explicit RegionInfo();
virtual ~RegionInfo();
~RegionInfo() override;
// updateStatistics - Update statistic about created regions.
void updateStatistics(Region *R) final;
@ -858,7 +858,7 @@ public:
static char ID;
explicit RegionInfoPass();
~RegionInfoPass();
~RegionInfoPass() override;
RegionInfo &getRegionInfo() { return RI; }

View File

@ -140,7 +140,7 @@ protected:
explicit AsmPrinter(TargetMachine &TM, std::unique_ptr<MCStreamer> Streamer);
public:
virtual ~AsmPrinter();
~AsmPrinter() override;
DwarfDebug *getDwarfDebug() { return DD; }
DwarfDebug *getDwarfDebug() const { return DD; }

View File

@ -100,7 +100,7 @@ extern cl::opt<bool> UseSegmentSetForPhysRegs;
public:
static char ID; // Pass identification, replacement for typeid
LiveIntervals();
virtual ~LiveIntervals();
~LiveIntervals() override;
// Calculate the spill weight to assign to a single instruction.
static float getSpillWeight(bool isDef, bool isUse,

View File

@ -122,7 +122,7 @@ public:
MRI.setDelegate(this);
}
~LiveRangeEdit() { MRI.resetDelegate(this); }
~LiveRangeEdit() override { MRI.resetDelegate(this); }
LiveInterval &getParent() const {
assert(Parent && "No parent LiveInterval");

View File

@ -35,7 +35,7 @@ public:
MachineBlockFrequencyInfo();
~MachineBlockFrequencyInfo();
~MachineBlockFrequencyInfo() override;
void getAnalysisUsage(AnalysisUsage &AU) const override;

View File

@ -72,7 +72,7 @@ public:
MachineDominatorTree();
~MachineDominatorTree();
~MachineDominatorTree() override;
DominatorTreeBase<MachineBasicBlock> &getBase() {
applySplitCriticalEdges();

View File

@ -31,7 +31,7 @@ private:
public:
static char ID;
explicit MachineFunctionAnalysis(const TargetMachine &tm);
~MachineFunctionAnalysis();
~MachineFunctionAnalysis() override;
MachineFunction &getMF() const { return *MF; }

View File

@ -199,7 +199,7 @@ public:
// Real constructor.
MachineModuleInfo(const MCAsmInfo &MAI, const MCRegisterInfo &MRI,
const MCObjectFileInfo *MOFI);
~MachineModuleInfo();
~MachineModuleInfo() override;
// Initialization and Finalization
bool doInitialization(Module &) override;

View File

@ -124,7 +124,7 @@ class RegisterPassParser : public MachinePassRegistryListener,
public:
RegisterPassParser(cl::Option &O)
: cl::parser<typename RegistryClass::FunctionPassCtor>(O) {}
~RegisterPassParser() { RegistryClass::setListener(nullptr); }
~RegisterPassParser() override { RegistryClass::setListener(nullptr); }
void initialize() {
cl::parser<typename RegistryClass::FunctionPassCtor>::initialize();

View File

@ -33,7 +33,7 @@ public:
MachinePostDominatorTree();
~MachinePostDominatorTree();
~MachinePostDominatorTree() override;
FunctionPass *createMachinePostDominatorTreePass();

View File

@ -80,7 +80,7 @@ class MachineRegionInfo : public RegionInfoBase<RegionTraits<MachineFunction>> {
public:
explicit MachineRegionInfo();
virtual ~MachineRegionInfo();
~MachineRegionInfo() override;
// updateStatistics - Update statistic about created regions.
void updateStatistics(MachineRegion *R) final;
@ -98,7 +98,7 @@ public:
static char ID;
explicit MachineRegionInfoPass();
~MachineRegionInfoPass();
~MachineRegionInfoPass() override;
MachineRegionInfo &getRegionInfo() {
return RI;

View File

@ -385,7 +385,7 @@ public:
ShouldTrackPressure(false), RPTracker(RegPressure),
TopRPTracker(TopPressure), BotRPTracker(BotPressure) {}
virtual ~ScheduleDAGMILive();
~ScheduleDAGMILive() override;
/// Return true if this DAG supports VReg liveness and RegPressure.
bool hasVRegLiveness() const override { return true; }
@ -909,7 +909,7 @@ public:
PostGenericScheduler(const MachineSchedContext *C):
GenericSchedulerBase(C), Top(SchedBoundary::TopQID, "TopQ") {}
virtual ~PostGenericScheduler() {}
~PostGenericScheduler() override {}
void initPolicy(MachineBasicBlock::iterator Begin,
MachineBasicBlock::iterator End,

View File

@ -125,7 +125,7 @@ public:
// Dummy constructor.
TargetPassConfig();
virtual ~TargetPassConfig();
~TargetPassConfig() override;
static char ID;

View File

@ -158,7 +158,7 @@ namespace llvm {
bool RemoveKillFlags = false,
LiveIntervals *LIS = nullptr);
virtual ~ScheduleDAGInstrs() {}
~ScheduleDAGInstrs() override {}
bool isPostRA() const { return IsPostRA; }

View File

@ -58,7 +58,7 @@ public:
explicit SelectionDAGISel(TargetMachine &tm,
CodeGenOpt::Level OL = CodeGenOpt::Default);
virtual ~SelectionDAGISel();
~SelectionDAGISel() override;
const TargetLowering *getTargetLowering() const { return TLI; }

View File

@ -39,7 +39,7 @@ class TargetLoweringObjectFileELF : public TargetLoweringObjectFile {
public:
TargetLoweringObjectFileELF() : UseInitArray(false) {}
virtual ~TargetLoweringObjectFileELF() {}
~TargetLoweringObjectFileELF() override {}
void emitPersonalityValue(MCStreamer &Streamer, const TargetMachine &TM,
const MCSymbol *Sym) const override;
@ -88,7 +88,7 @@ public:
class TargetLoweringObjectFileMachO : public TargetLoweringObjectFile {
public:
virtual ~TargetLoweringObjectFileMachO() {}
~TargetLoweringObjectFileMachO() override {}
TargetLoweringObjectFileMachO();
/// Extract the dependent library name from a linker option string. Returns
@ -136,7 +136,7 @@ public:
class TargetLoweringObjectFileCOFF : public TargetLoweringObjectFile {
public:
virtual ~TargetLoweringObjectFileCOFF() {}
~TargetLoweringObjectFileCOFF() override {}
const MCSection *
getExplicitSectionGlobal(const GlobalValue *GV,

View File

@ -22,7 +22,7 @@ public:
ConcreteSymbolEnumerator(std::unique_ptr<IPDBEnumSymbols> SymbolEnumerator)
: Enumerator(std::move(SymbolEnumerator)) {}
virtual ~ConcreteSymbolEnumerator() {}
~ConcreteSymbolEnumerator() override {}
uint32_t getChildCount() const override {
return Enumerator->getChildCount();

View File

@ -56,7 +56,7 @@ class RTDyldMemoryManager : public MCJITMemoryManager,
void operator=(const RTDyldMemoryManager&) = delete;
public:
RTDyldMemoryManager() {}
virtual ~RTDyldMemoryManager();
~RTDyldMemoryManager() override;
void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override;
void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override;

View File

@ -40,7 +40,7 @@ class SectionMemoryManager : public RTDyldMemoryManager {
public:
SectionMemoryManager() { }
virtual ~SectionMemoryManager();
~SectionMemoryManager() override;
/// \brief Allocates a memory block of (at least) the given size suitable for
/// executable code.

View File

@ -105,7 +105,7 @@ public:
BasicBlock *InsertBefore = nullptr) {
return new BasicBlock(Context, Name, Parent, InsertBefore);
}
~BasicBlock();
~BasicBlock() override;
/// \brief Return the enclosing method, or null if none.
const Function *getParent() const { return Parent; }

View File

@ -547,7 +547,7 @@ class ConstantDataSequential : public Constant {
protected:
explicit ConstantDataSequential(Type *ty, ValueTy VT, const char *Data)
: Constant(ty, VT, nullptr, 0), DataElements(Data), Next(nullptr) {}
~ConstantDataSequential() { delete Next; }
~ConstantDataSequential() override { delete Next; }
static Constant *getImpl(StringRef Bytes, Type *Ty);

View File

@ -114,7 +114,7 @@ public:
return new(0) Function(Ty, Linkage, N, M);
}
~Function();
~Function() override;
Type *getReturnType() const; // Return the type of the ret val
FunctionType *getFunctionType() const; // Return the FunctionType for me

View File

@ -104,7 +104,7 @@ public:
LocalExecTLSModel
};
~GlobalValue() {
~GlobalValue() override {
removeDeadConstantUsers(); // remove any dead constants using this.
}

View File

@ -66,7 +66,7 @@ public:
ThreadLocalMode = NotThreadLocal, unsigned AddressSpace = 0,
bool isExternallyInitialized = false);
~GlobalVariable() {
~GlobalVariable() override {
NumOperands = 1; // FIXME: needed by operator delete
}

View File

@ -51,7 +51,7 @@ private:
InlineAsm(PointerType *Ty, const std::string &AsmString,
const std::string &Constraints, bool hasSideEffects,
bool isAlignStack, AsmDialect asmDialect);
virtual ~InlineAsm();
~InlineAsm() override;
/// When the ConstantUniqueMap merges two types and makes two InlineAsms
/// identical, it destroys one of them with this method.

View File

@ -44,7 +44,7 @@ protected:
: Instruction(Ty, iType, Ops, NumOps, InsertAtEnd) {}
// Out of line virtual method, so the vtable, etc has a home.
~TerminatorInst();
~TerminatorInst() override;
/// Virtual methods - Terminators should overload these and provide inline
/// overrides of non-V methods.
@ -102,7 +102,7 @@ public:
}
// Out of line virtual method, so the vtable, etc has a home.
~UnaryInstruction();
~UnaryInstruction() override;
/// Transparently provide more efficient getOperand methods.
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);

View File

@ -62,7 +62,7 @@ class Instruction : public User, public ilist_node<Instruction> {
};
public:
// Out of line virtual method, so the vtable, etc has a home.
~Instruction();
~Instruction() override;
/// user_back - Specialize the methods defined in Value, as we know that an
/// instruction can only be used by other instructions.

View File

@ -91,7 +91,7 @@ public:
const Twine &Name, BasicBlock *InsertAtEnd);
// Out of line virtual method, so the vtable, etc. has a home.
virtual ~AllocaInst();
~AllocaInst() override;
/// isArrayAllocation - Return true if there is an allocation size parameter
/// to the allocation instruction that is not 1.
@ -1335,7 +1335,7 @@ public:
static Instruction* CreateFree(Value* Source, Instruction *InsertBefore);
static Instruction* CreateFree(Value* Source, BasicBlock *InsertAtEnd);
~CallInst();
~CallInst() override;
// Note that 'musttail' implies 'tail'.
enum TailCallKind { TCK_None = 0, TCK_Tail = 1, TCK_MustTail = 2 };
@ -2175,7 +2175,7 @@ public:
const Twine &NameStr, BasicBlock *InsertAtEnd) {
return new PHINode(Ty, NumReservedValues, NameStr, InsertAtEnd);
}
~PHINode();
~PHINode() override;
/// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
@ -2366,7 +2366,7 @@ public:
static LandingPadInst *Create(Type *RetTy, Value *PersonalityFn,
unsigned NumReservedClauses,
const Twine &NameStr, BasicBlock *InsertAtEnd);
~LandingPadInst();
~LandingPadInst() override;
/// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
@ -2468,7 +2468,7 @@ public:
static ReturnInst* Create(LLVMContext &C, BasicBlock *InsertAtEnd) {
return new(0) ReturnInst(C, InsertAtEnd);
}
virtual ~ReturnInst();
~ReturnInst() override;
/// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
@ -2765,7 +2765,7 @@ public:
return new SwitchInst(Value, Default, NumCases, InsertAtEnd);
}
~SwitchInst();
~SwitchInst() override;
/// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
@ -2951,7 +2951,7 @@ public:
BasicBlock *InsertAtEnd) {
return new IndirectBrInst(Address, NumDests, InsertAtEnd);
}
~IndirectBrInst();
~IndirectBrInst() override;
/// Provide fast operand accessors.
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);

View File

@ -50,7 +50,7 @@ class PassManager : public PassManagerBase {
public:
PassManager();
~PassManager();
~PassManager() override;
void add(Pass *P) override;
@ -70,7 +70,7 @@ public:
/// FunctionPassManager ctor - This initializes the pass manager. It needs,
/// but does not take ownership of, the specified Module.
explicit FunctionPassManager(Module *M);
~FunctionPassManager();
~FunctionPassManager() override;
void add(Pass *P) override;

View File

@ -43,7 +43,7 @@ class PassNameParser : public PassRegistrationListener,
public cl::parser<const PassInfo*> {
public:
PassNameParser(cl::Option &O);
virtual ~PassNameParser();
~PassNameParser() override;
void initialize() {
cl::parser<const PassInfo*>::initialize();

View File

@ -164,7 +164,7 @@ class MetadataAsValue : public Value {
Metadata *MD;
MetadataAsValue(Type *Ty, Metadata *MD);
~MetadataAsValue();
~MetadataAsValue() override;
/// \brief Drop use of metadata (during teardown).
void dropUse() { MD = nullptr; }

View File

@ -42,7 +42,7 @@ protected:
// NOTE: Cannot use = delete because it's not legal to delete
// an overridden method that's not deleted in the base class. Cannot leave
// this unimplemented because that leads to an ODR-violation.
~Operator();
~Operator() override;
public:
/// Return the opcode for this Instruction or ConstantExpr.

View File

@ -60,9 +60,7 @@ protected:
NumOperands = 0;
}
public:
~User() {
Use::zap(OperandList, OperandList + NumOperands);
}
~User() override { Use::zap(OperandList, OperandList + NumOperands); }
/// \brief Free memory allocated for User and Use objects.
void operator delete(void *Usr);
/// \brief Placement delete - required by std, but never called.

View File

@ -119,7 +119,7 @@ private:
};
struct ListCompleterConcept : CompleterConcept {
~ListCompleterConcept();
~ListCompleterConcept() override;
CompletionAction complete(StringRef Buffer, size_t Pos) const override;
static std::string getCommonPrefix(const std::vector<Completion> &Comps);
virtual std::vector<Completion> getCompletions(StringRef Buffer,

View File

@ -15,8 +15,7 @@
namespace llvm {
class MCAsmInfoELF : public MCAsmInfo {
virtual void anchor();
const MCSection *
getNonexecutableStackSection(MCContext &Ctx) const override final;
const MCSection *getNonexecutableStackSection(MCContext &Ctx) const final;
protected:
MCAsmInfoELF();

View File

@ -143,7 +143,7 @@ public:
: MCFragment(FType, SD), BundlePadding(0)
{
}
virtual ~MCEncodedFragment();
~MCEncodedFragment() override;
virtual SmallVectorImpl<char> &getContents() = 0;
virtual const SmallVectorImpl<char> &getContents() const = 0;
@ -182,7 +182,7 @@ public:
{
}
virtual ~MCEncodedFragmentWithFixups();
~MCEncodedFragmentWithFixups() override;
typedef SmallVectorImpl<MCFixup>::const_iterator const_fixup_iterator;
typedef SmallVectorImpl<MCFixup>::iterator fixup_iterator;

View File

@ -34,7 +34,7 @@ public:
: MCObjectStreamer(Context, TAB, OS, Emitter),
SeenIdent(false) {}
virtual ~MCELFStreamer();
~MCELFStreamer() override;
/// state management
void reset() override {

View File

@ -141,7 +141,7 @@ public:
public:
raw_counting_ostream() : Count(0) {}
~raw_counting_ostream() { flush(); }
~raw_counting_ostream() override { flush(); }
};
raw_counting_ostream OutStream;

View File

@ -51,7 +51,7 @@ class MCObjectStreamer : public MCStreamer {
protected:
MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream &OS,
MCCodeEmitter *Emitter);
~MCObjectStreamer();
~MCObjectStreamer() override;
public:
/// state management

View File

@ -40,7 +40,7 @@ protected:
public:
AsmLexer(const MCAsmInfo &MAI);
~AsmLexer();
~AsmLexer() override;
void setBuffer(StringRef Buf, const char *ptr = nullptr);

View File

@ -53,7 +53,7 @@ class MCSymbol;
assert ((Characteristics & 0x00F00000) == 0 &&
"alignment must not be set upon section creation");
}
~MCSectionCOFF();
~MCSectionCOFF() override;
public:
/// ShouldOmitSectionDirective - Decides whether a '.section' directive

View File

@ -59,7 +59,7 @@ private:
: MCSection(SV_ELF, K, Begin), SectionName(Section), Type(type),
Flags(flags), UniqueID(UniqueID), EntrySize(entrySize), Group(group),
Associated(Associated) {}
~MCSectionELF();
~MCSectionELF() override;
void setSectionName(StringRef Name) { SectionName = Name; }

View File

@ -90,7 +90,7 @@ public:
class AArch64TargetStreamer : public MCTargetStreamer {
public:
AArch64TargetStreamer(MCStreamer &S);
~AArch64TargetStreamer();
~AArch64TargetStreamer() override;
void finish() override;
@ -115,7 +115,7 @@ private:
class ARMTargetStreamer : public MCTargetStreamer {
public:
ARMTargetStreamer(MCStreamer &S);
~ARMTargetStreamer();
~ARMTargetStreamer() override;
virtual void emitFnStart();
virtual void emitFnEnd();

View File

@ -110,7 +110,7 @@ protected: // Can only create subclasses.
MCTargetOptions MCOptions;
public:
virtual ~MCTargetAsmParser();
~MCTargetAsmParser() override;
uint64_t getAvailableFeatures() const { return AvailableFeatures; }
void setAvailableFeatures(uint64_t Value) { AvailableFeatures = Value; }

View File

@ -31,7 +31,7 @@ class IRObjectFile : public SymbolicFile {
public:
IRObjectFile(MemoryBufferRef Object, std::unique_ptr<Module> M);
~IRObjectFile();
~IRObjectFile() override;
void moveSymbolNext(DataRefImpl &Symb) const override;
std::error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const override;

View File

@ -118,7 +118,7 @@ const uint64_t UnknownAddressOrSize = ~0ULL;
class SymbolicFile : public Binary {
public:
virtual ~SymbolicFile();
~SymbolicFile() override;
SymbolicFile(unsigned int Type, MemoryBufferRef Source);
// virtual interface.

View File

@ -320,7 +320,7 @@ private:
public:
InputArgList(const char* const *ArgBegin, const char* const *ArgEnd);
~InputArgList();
~InputArgList() override;
const char *getArgString(unsigned Index) const override {
return ArgStrings[Index];
@ -355,7 +355,7 @@ class DerivedArgList : public ArgList {
public:
/// Construct a new derived arg list from \p BaseArgs.
DerivedArgList(const InputArgList &BaseArgs);
~DerivedArgList();
~DerivedArgList() override;
const char *getArgString(unsigned Index) const override {
return BaseArgs.getArgString(Index);

View File

@ -250,7 +250,7 @@ public:
explicit ModulePass(char &pid) : Pass(PT_Module, pid) {}
// Force out-of-line virtual method.
virtual ~ModulePass();
~ModulePass() override;
};
@ -279,7 +279,7 @@ public:
: ModulePass(pid) {}
// Force out-of-line virtual method.
virtual ~ImmutablePass();
~ImmutablePass() override;
};
//===----------------------------------------------------------------------===//

View File

@ -94,7 +94,7 @@ public:
Scanned = nullptr;
}
~formatted_raw_ostream() {
~formatted_raw_ostream() override {
flush();
releaseStream();
}

View File

@ -888,7 +888,7 @@ public:
void *Ctxt = nullptr,
SourceMgr::DiagHandlerTy DiagHandler = nullptr,
void *DiagHandlerCtxt = nullptr);
~Input();
~Input() override;
// Check if there was an syntax or semantic error during parsing.
std::error_code error();
@ -955,7 +955,7 @@ private:
};
class MapHNode : public HNode {
virtual void anchor();
void anchor() override;
public:
MapHNode(Node *n) : HNode(n) { }
@ -974,7 +974,7 @@ private:
};
class SequenceHNode : public HNode {
virtual void anchor();
void anchor() override;
public:
SequenceHNode(Node *n) : HNode(n) { }
@ -1020,7 +1020,7 @@ private:
class Output : public IO {
public:
Output(llvm::raw_ostream &, void *Ctxt=nullptr);
virtual ~Output();
~Output() override;
bool outputting() override;
bool mapTag(StringRef, bool) override;

View File

@ -117,7 +117,7 @@ namespace llvm
setStream(Stream, Owns);
}
~circular_raw_ostream() {
~circular_raw_ostream() override {
flush();
flushBufferWithBanner();
releaseStream();

View File

@ -34,7 +34,7 @@ class raw_os_ostream : public raw_ostream {
public:
raw_os_ostream(std::ostream &O) : OS(O) {}
~raw_os_ostream();
~raw_os_ostream() override;
};
} // end llvm namespace

View File

@ -366,7 +366,7 @@ public:
/// this closes the file when the stream is destroyed.
raw_fd_ostream(int fd, bool shouldClose, bool unbuffered=false);
~raw_fd_ostream();
~raw_fd_ostream() override;
/// Manually flush the stream and close the file. Note that this does not call
/// fsync.
@ -448,7 +448,7 @@ class raw_string_ostream : public raw_ostream {
uint64_t current_pos() const override { return OS.size(); }
public:
explicit raw_string_ostream(std::string &O) : OS(O) {}
~raw_string_ostream();
~raw_string_ostream() override;
/// Flushes the stream contents to the target string and returns the string's
/// reference.
@ -475,7 +475,7 @@ public:
/// \param O The vector to write to; this should generally have at least 128
/// bytes free to avoid any extraneous memory overhead.
explicit raw_svector_ostream(SmallVectorImpl<char> &O);
~raw_svector_ostream();
~raw_svector_ostream() override;
/// This is called when the SmallVector we're appending to is changed outside
/// of the raw_svector_ostream's control. It is only safe to do this if the
@ -498,7 +498,7 @@ class raw_null_ostream : public raw_ostream {
public:
explicit raw_null_ostream() {}
~raw_null_ostream();
~raw_null_ostream() override;
};
} // end llvm namespace

View File

@ -44,7 +44,7 @@ namespace {
errs() << " " << Val << " " << Desc << " responses ("
<< Val*100/Sum << "%)\n";
}
~AliasAnalysisCounter() {
~AliasAnalysisCounter() override {
unsigned AASum = No+May+Partial+Must;
unsigned MRSum = NoMR+JustRef+JustMod+MR;
if (AASum + MRSum) { // Print a report if any counted queries occurred...

View File

@ -161,7 +161,7 @@ struct FunctionHandle : public CallbackVH {
assert(CFLAA != nullptr);
}
virtual ~FunctionHandle() {}
~FunctionHandle() override {}
void deleted() override { removeSelfFromCache(); }
void allUsesReplacedWith(Value *) override { removeSelfFromCache(); }
@ -189,7 +189,7 @@ public:
initializeCFLAliasAnalysisPass(*PassRegistry::getPassRegistry());
}
virtual ~CFLAliasAnalysis() {}
~CFLAliasAnalysis() override {}
void getAnalysisUsage(AnalysisUsage &AU) const override {
AliasAnalysis::getAnalysisUsage(AU);

View File

@ -230,7 +230,7 @@ public:
DiagnosticHandlerFunction DiagnosticHandler);
explicit BitcodeReader(DataStreamer *streamer, LLVMContext &C,
DiagnosticHandlerFunction DiagnosticHandler);
~BitcodeReader() { FreeState(); }
~BitcodeReader() override { FreeState(); }
std::error_code materializeForwardReferencedFunctions();

View File

@ -127,7 +127,7 @@ class RegisterClassInfo;
AggressiveAntiDepBreaker(MachineFunction& MFi,
const RegisterClassInfo &RCI,
TargetSubtargetInfo::RegClassVector& CriticalPathRCs);
~AggressiveAntiDepBreaker();
~AggressiveAntiDepBreaker() override;
/// Initialize anti-dep breaking for a new basic block.
void StartBlock(MachineBasicBlock *BB) override;

View File

@ -48,7 +48,7 @@ public:
// Main entry points.
//
DwarfCFIException(AsmPrinter *A);
virtual ~DwarfCFIException();
~DwarfCFIException() override;
/// Emit all exception information that should come after the content.
void endModule() override;
@ -70,7 +70,7 @@ public:
// Main entry points.
//
ARMException(AsmPrinter *A);
virtual ~ARMException();
~ARMException() override;
/// Emit all exception information that should come after the content.
void endModule() override;

View File

@ -125,7 +125,7 @@ protected:
public:
EHStreamer(AsmPrinter *A);
virtual ~EHStreamer();
~EHStreamer() override;
// Unused.
void setSymbolSize(const MCSymbol *Sym, uint64_t Size) override {}

View File

@ -43,7 +43,7 @@ public:
// Main entry points.
//
Win64Exception(AsmPrinter *A);
virtual ~Win64Exception();
~Win64Exception() override;
/// Emit all exception information that should come after the content.
void endModule() override;

View File

@ -114,7 +114,7 @@ class WinCodeViewLineTables : public AsmPrinterHandler {
public:
WinCodeViewLineTables(AsmPrinter *Asm);
~WinCodeViewLineTables() {
~WinCodeViewLineTables() override {
for (DirAndFilenameToFilepathMapTy::iterator
I = DirAndFilenameToFilepathMap.begin(),
E = DirAndFilenameToFilepathMap.end();

View File

@ -1902,7 +1902,7 @@ class TypePromotionTransaction {
Inst->removeFromParent();
}
~InstructionRemover() { delete Replacer; }
~InstructionRemover() override { delete Replacer; }
/// \brief Really remove the instruction.
void commit() override { delete Inst; }

View File

@ -69,7 +69,7 @@ class TargetRegisterInfo;
public:
CriticalAntiDepBreaker(MachineFunction& MFi, const RegisterClassInfo&);
~CriticalAntiDepBreaker();
~CriticalAntiDepBreaker() override;
/// Initialize anti-dep breaking for a new basic block.
void StartBlock(MachineBasicBlock *BB) override;

View File

@ -135,7 +135,7 @@ private:
// Dead defs generated during spilling.
SmallVector<MachineInstr*, 8> DeadDefs;
~InlineSpiller() {}
~InlineSpiller() override {}
public:
InlineSpiller(MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm)

View File

@ -38,7 +38,7 @@ public:
static char ID; // Pass identification, replacement for typeid
LiveDebugVariables();
~LiveDebugVariables();
~LiveDebugVariables() override;
/// renameRegister - Move any user variables in OldReg to NewReg:SubIdx.
/// @param OldReg Old virtual register that is going away.

View File

@ -141,7 +141,7 @@ namespace {
TargetSubtargetInfo::AntiDepBreakMode AntiDepMode,
SmallVectorImpl<const TargetRegisterClass *> &CriticalPathRCs);
~SchedulePostRATDList();
~SchedulePostRATDList() override;
/// startBlock - Initialize register live-range state for scheduling in
/// this block.

View File

@ -173,7 +173,7 @@ public:
HazardRec = STI.getInstrInfo()->CreateTargetHazardRecognizer(&STI, this);
}
~ScheduleDAGRRList() {
~ScheduleDAGRRList() override {
delete HazardRec;
delete AvailableQueue;
}

View File

@ -44,7 +44,7 @@ namespace llvm {
explicit ScheduleDAGSDNodes(MachineFunction &mf);
virtual ~ScheduleDAGSDNodes() {}
~ScheduleDAGSDNodes() override {}
/// Run - perform scheduling.
///

View File

@ -76,7 +76,7 @@ public:
HazardRec = STI.getInstrInfo()->CreateTargetHazardRecognizer(&STI, this);
}
~ScheduleDAGVLIW() {
~ScheduleDAGVLIW() override {
delete HazardRec;
delete AvailableQueue;
}

View File

@ -2560,7 +2560,7 @@ public:
SelectionDAG::DAGUpdateListener(DAG),
RecordedNodes(RN), MatchScopes(MS) { }
void NodeDeleted(SDNode *N, SDNode *E) {
void NodeDeleted(SDNode *N, SDNode *E) override {
// Some early-returns here to avoid the search if we deleted the node or
// if the update comes from MorphNodeTo (MorphNodeTo is the last thing we
// do, so it's unnecessary to update matching state at that point).

View File

@ -70,7 +70,7 @@ public:
static char ID; // Pass identification, replacement for typeid.
SpillPlacement() : MachineFunctionPass(ID), nodes(nullptr) {}
~SpillPlacement() { releaseMemory(); }
~SpillPlacement() override { releaseMemory(); }
/// BorderConstraint - A basic block has separate constraints for entry and
/// exit.

View File

@ -136,9 +136,9 @@ class WinEHFrameVariableMaterializer : public ValueMaterializer {
public:
WinEHFrameVariableMaterializer(Function *OutlinedFn,
FrameVarInfoMap &FrameVarInfo);
~WinEHFrameVariableMaterializer() {}
~WinEHFrameVariableMaterializer() override {}
virtual Value *materializeValueFor(Value *V) override;
Value *materializeValueFor(Value *V) override;
void escapeCatchObject(Value *V);

View File

@ -197,8 +197,7 @@ public:
DataAlignmentFactor(DataAlignmentFactor),
ReturnAddressRegister(ReturnAddressRegister) {}
~CIE() {
}
~CIE() override {}
uint64_t getCodeAlignmentFactor() const { return CodeAlignmentFactor; }
int64_t getDataAlignmentFactor() const { return DataAlignmentFactor; }
@ -245,8 +244,7 @@ public:
InitialLocation(InitialLocation), AddressRange(AddressRange),
LinkedCIE(Cie) {}
~FDE() {
}
~FDE() override {}
CIE *getLinkedCIE() const { return LinkedCIE; }

View File

@ -48,9 +48,10 @@ public:
reset();
}
uint32_t getChildCount() const { return Args.size(); }
uint32_t getChildCount() const override { return Args.size(); }
std::unique_ptr<PDBSymbolData> getChildAtIndex(uint32_t Index) const {
std::unique_ptr<PDBSymbolData>
getChildAtIndex(uint32_t Index) const override {
if (Index >= Args.size())
return nullptr;
@ -58,7 +59,7 @@ public:
Args[Index]->getSymIndexId());
}
std::unique_ptr<PDBSymbolData> getNext() {
std::unique_ptr<PDBSymbolData> getNext() override {
if (CurIter == Args.end())
return nullptr;
const auto &Result = **CurIter;
@ -66,9 +67,9 @@ public:
return Session.getConcreteSymbolById<PDBSymbolData>(Result.getSymIndexId());
}
void reset() { CurIter = Args.empty() ? Args.end() : Args.begin(); }
void reset() override { CurIter = Args.empty() ? Args.end() : Args.begin(); }
FunctionArgEnumerator *clone() const {
FunctionArgEnumerator *clone() const override {
return new FunctionArgEnumerator(Session, Func);
}

View File

@ -34,25 +34,27 @@ public:
std::unique_ptr<ArgEnumeratorType> ArgEnumerator)
: Session(PDBSession), Enumerator(std::move(ArgEnumerator)) {}
uint32_t getChildCount() const { return Enumerator->getChildCount(); }
uint32_t getChildCount() const override {
return Enumerator->getChildCount();
}
std::unique_ptr<PDBSymbol> getChildAtIndex(uint32_t Index) const {
std::unique_ptr<PDBSymbol> getChildAtIndex(uint32_t Index) const override {
auto FunctionArgSymbol = Enumerator->getChildAtIndex(Index);
if (!FunctionArgSymbol)
return nullptr;
return Session.getSymbolById(FunctionArgSymbol->getTypeId());
}
std::unique_ptr<PDBSymbol> getNext() {
std::unique_ptr<PDBSymbol> getNext() override {
auto FunctionArgSymbol = Enumerator->getNext();
if (!FunctionArgSymbol)
return nullptr;
return Session.getSymbolById(FunctionArgSymbol->getTypeId());
}
void reset() { Enumerator->reset(); }
void reset() override { Enumerator->reset(); }
MyType *clone() const {
MyType *clone() const override {
std::unique_ptr<ArgEnumeratorType> Clone(Enumerator->clone());
return new FunctionArgEnumerator(Session, std::move(Clone));
}

View File

@ -351,7 +351,7 @@ class SimpleBindingMemoryManager : public RTDyldMemoryManager {
public:
SimpleBindingMemoryManager(const SimpleBindingMMFunctions& Functions,
void *Opaque);
virtual ~SimpleBindingMemoryManager();
~SimpleBindingMemoryManager() override;
uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment,
unsigned SectionID,

View File

@ -103,7 +103,7 @@ public:
/// Unregisters each object that was previously registered and releases all
/// internal resources.
virtual ~GDBJITRegistrationListener();
~GDBJITRegistrationListener() override;
/// Creates an entry in the JIT registry for the buffer @p Object,
/// which must contain an object file in executable memory with any

View File

@ -108,7 +108,7 @@ class Interpreter : public ExecutionEngine, public InstVisitor<Interpreter> {
public:
explicit Interpreter(std::unique_ptr<Module> M);
~Interpreter();
~Interpreter() override;
/// runAtExitHandlers - Run any functions registered by the program's calls to
/// atexit(3), which we intercept and store in AtExitHandlers.

View File

@ -205,7 +205,7 @@ class MCJIT : public ExecutionEngine {
ModulePtrSet::iterator E);
public:
~MCJIT();
~MCJIT() override;
/// @name ExecutionEngine interface implementation
/// @{

View File

@ -107,11 +107,12 @@ class OrcMCJITReplacement : public ExecutionEngine {
public:
LinkingResolver(OrcMCJITReplacement &M) : M(M) {}
RuntimeDyld::SymbolInfo findSymbol(const std::string &Name) {
RuntimeDyld::SymbolInfo findSymbol(const std::string &Name) override {
return M.findMangledSymbol(Name);
}
RuntimeDyld::SymbolInfo findSymbolInLogicalDylib(const std::string &Name) {
RuntimeDyld::SymbolInfo
findSymbolInLogicalDylib(const std::string &Name) override {
return M.ClientResolver->findSymbolInLogicalDylib(Name);
}

View File

@ -100,7 +100,7 @@ class RuntimeDyldELF : public RuntimeDyldImpl {
public:
RuntimeDyldELF(RuntimeDyld::MemoryManager &MemMgr,
RuntimeDyld::SymbolResolver &Resolver);
virtual ~RuntimeDyldELF();
~RuntimeDyldELF() override;
std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
loadObject(const object::ObjectFile &O) override;

View File

@ -293,7 +293,7 @@ public:
Pass(PT_PassManager, ID), PMDataManager() { }
// Delete on the fly managers.
virtual ~MPPassManager() {
~MPPassManager() override {
for (std::map<Pass *, FunctionPassManagerImpl *>::iterator
I = OnTheFlyManagers.begin(), E = OnTheFlyManagers.end();
I != E; ++I) {

View File

@ -198,7 +198,7 @@ class ELFObjectWriter : public MCObjectWriter {
MCObjectWriter::reset();
}
virtual ~ELFObjectWriter();
~ELFObjectWriter() override;
void WriteWord(uint64_t W) {
if (is64Bit())

Some files were not shown because too many files have changed in this diff Show More