[llvm] r247298 - Re-commit r247216: "Fix Clang-tidy misc-use-override warnings, other minor fixes"
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 10:00:56 PDT 2015
On Thu, Sep 10, 2015 at 9:49 AM, Hans Wennborg via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: hans
> Date: Thu Sep 10 11:49:58 2015
> New Revision: 247298
>
> URL: http://llvm.org/viewvc/llvm-project?rev=247298&view=rev
> Log:
> Re-commit r247216: "Fix Clang-tidy misc-use-override warnings, other minor
> fixes"
>
> Except the changes that defined virtual destructors as =default, because
> that
> ran into problems with GCC 4.7 and overriding methods that weren't
> noexcept.
>
FWIW, for anyone who wants to go through with those - we should just mark
the user-defined derived dtors as noexcept (LLVM_NOEXCEPT) to address this
(while making the base dtors = default, which implies noexcept).
>
> Modified:
> llvm/trunk/include/llvm/CodeGen/MIRParser/MIRParser.h
> llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h
> llvm/trunk/include/llvm/Support/raw_ostream.h
> llvm/trunk/include/llvm/TableGen/Record.h
> llvm/trunk/lib/CodeGen/MIRPrintingPass.cpp
> llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h
> llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
> llvm/trunk/lib/Transforms/Instrumentation/SafeStack.cpp
> llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp
>
> Modified: llvm/trunk/include/llvm/CodeGen/MIRParser/MIRParser.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MIRParser/MIRParser.h?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MIRParser/MIRParser.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MIRParser/MIRParser.h Thu Sep 10
> 11:49:58 2015
> @@ -1,4 +1,4 @@
> -//===- MIRParser.h - MIR serialization format parser
> ----------------------===//
> +//===- MIRParser.h - MIR serialization format parser ------------*- C++
> -*-===//
> //
> // The LLVM Compiler Infrastructure
> //
> @@ -37,7 +37,7 @@ class MIRParser : public MachineFunction
> public:
> MIRParser(std::unique_ptr<MIRParserImpl> Impl);
> MIRParser(const MIRParser &) = delete;
> - ~MIRParser();
> + ~MIRParser() override;
>
> /// Parse the optional LLVM IR module that's embedded in the MIR file.
> ///
> @@ -78,4 +78,4 @@ createMIRParser(std::unique_ptr<MemoryBu
>
> } // end namespace llvm
>
> -#endif
> +#endif // LLVM_CODEGEN_MIRPARSER_MIRPARSER_H
>
> Modified: llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h (original)
> +++ llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h Thu Sep 10
> 11:49:58 2015
> @@ -69,7 +69,8 @@ public:
> virtual object::OwningBinary<object::ObjectFile>
> getObjectForDebug(const object::ObjectFile &Obj) const = 0;
>
> - uint64_t getSectionLoadAddress(const object::SectionRef &Sec) const;
> + uint64_t
> + getSectionLoadAddress(const object::SectionRef &Sec) const override;
>
> protected:
> virtual void anchor();
> @@ -252,4 +253,4 @@ private:
>
> } // end namespace llvm
>
> -#endif
> +#endif // LLVM_EXECUTIONENGINE_RUNTIMEDYLD_H
>
> Modified: llvm/trunk/include/llvm/Support/raw_ostream.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/raw_ostream.h?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/raw_ostream.h (original)
> +++ llvm/trunk/include/llvm/Support/raw_ostream.h Thu Sep 10 11:49:58 2015
> @@ -536,9 +536,9 @@ class buffer_ostream : public raw_svecto
>
> public:
> buffer_ostream(raw_ostream &OS) : raw_svector_ostream(Buffer), OS(OS) {}
> - ~buffer_ostream() { OS << str(); }
> + ~buffer_ostream() override { OS << str(); }
> };
>
> } // end llvm namespace
>
> -#endif
> +#endif // LLVM_SUPPORT_RAW_OSTREAM_H
>
> Modified: llvm/trunk/include/llvm/TableGen/Record.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/TableGen/Record.h?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/TableGen/Record.h (original)
> +++ llvm/trunk/include/llvm/TableGen/Record.h Thu Sep 10 11:49:58 2015
> @@ -366,7 +366,7 @@ class TypedInit : public Init {
>
> protected:
> explicit TypedInit(InitKind K, RecTy *T) : Init(K), Ty(T) {}
> - ~TypedInit() {
> + ~TypedInit() override {
> // If this is a DefInit we need to delete the RecordRecTy.
> if (getKind() == IK_DefInit)
> delete Ty;
> @@ -1587,6 +1587,6 @@ Init *QualifyName(Record &CurRec, MultiC
> Init *QualifyName(Record &CurRec, MultiClass *CurMultiClass,
> const std::string &Name, const std::string &Scoper);
>
> -} // End llvm namespace
> +} // end llvm namespace
>
> -#endif
> +#endif // LLVM_TABLEGEN_RECORD_H
>
> Modified: llvm/trunk/lib/CodeGen/MIRPrintingPass.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MIRPrintingPass.cpp?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MIRPrintingPass.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MIRPrintingPass.cpp Thu Sep 10 11:49:58 2015
> @@ -40,7 +40,7 @@ struct MIRPrintingPass : public MachineF
> MachineFunctionPass::getAnalysisUsage(AU);
> }
>
> - virtual bool runOnMachineFunction(MachineFunction &MF) override {
> + bool runOnMachineFunction(MachineFunction &MF) override {
> std::string Str;
> raw_string_ostream StrOS(Str);
> printMIR(StrOS, MF);
> @@ -48,7 +48,7 @@ struct MIRPrintingPass : public MachineF
> return false;
> }
>
> - virtual bool doFinalization(Module &M) override {
> + bool doFinalization(Module &M) override {
> printMIR(OS, M);
> OS << MachineFunctions;
> return false;
>
> Modified: llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h (original)
> +++ llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h Thu Sep 10 11:49:58 2015
> @@ -223,12 +223,13 @@ public:
> /// FindFunctionNamed - Search all of the active modules to find the
> function that
> /// defines FnName. This is very slow operation and shouldn't be used
> for
> /// general code.
> - virtual Function *FindFunctionNamed(const char *FnName) override;
> + Function *FindFunctionNamed(const char *FnName) override;
>
> - /// FindGlobalVariableNamed - Search all of the active modules to find
> the global variable
> - /// that defines Name. This is very slow operation and shouldn't be
> used for
> - /// general code.
> - virtual GlobalVariable *FindGlobalVariableNamed(const char *Name, bool
> AllowInternal = false) override;
> + /// FindGlobalVariableNamed - Search all of the active modules to find
> the
> + /// global variable that defines Name. This is very slow operation and
> + /// shouldn't be used for general code.
> + GlobalVariable *FindGlobalVariableNamed(const char *Name,
> + bool AllowInternal = false)
> override;
>
> /// Sets the object manager that MCJIT should use to avoid compilation.
> void setObjectCache(ObjectCache *manager) override;
> @@ -335,6 +336,6 @@ protected:
> bool CheckFunctionsOnly);
> };
>
> -} // End llvm namespace
> +} // end llvm namespace
>
> -#endif
> +#endif // LLVM_LIB_EXECUTIONENGINE_MCJIT_MCJIT_H
>
> Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
> (original)
> +++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp Thu Sep
> 10 11:49:58 2015
> @@ -185,14 +185,14 @@ public:
> X86AddressSanitizer(const MCSubtargetInfo &STI)
> : X86AsmInstrumentation(STI), RepPrefix(false), OrigSPOffset(0) {}
>
> - virtual ~X86AddressSanitizer() {}
> + ~X86AddressSanitizer() override {}
>
> // X86AsmInstrumentation implementation:
> - virtual void InstrumentAndEmitInstruction(const MCInst &Inst,
> - OperandVector &Operands,
> - MCContext &Ctx,
> - const MCInstrInfo &MII,
> - MCStreamer &Out) override {
> + void InstrumentAndEmitInstruction(const MCInst &Inst,
> + OperandVector &Operands,
> + MCContext &Ctx,
> + const MCInstrInfo &MII,
> + MCStreamer &Out) override {
> InstrumentMOVS(Inst, Operands, Ctx, MII, Out);
> if (RepPrefix)
> EmitInstruction(Out, MCInstBuilder(X86::REP_PREFIX));
> @@ -506,7 +506,7 @@ public:
> X86AddressSanitizer32(const MCSubtargetInfo &STI)
> : X86AddressSanitizer(STI) {}
>
> - virtual ~X86AddressSanitizer32() {}
> + ~X86AddressSanitizer32() override {}
>
> unsigned GetFrameReg(const MCContext &Ctx, MCStreamer &Out) {
> unsigned FrameReg = GetFrameRegGeneric(Ctx, Out);
> @@ -535,9 +535,9 @@ public:
> OrigSPOffset += 4;
> }
>
> - virtual void InstrumentMemOperandPrologue(const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override {
> + void InstrumentMemOperandPrologue(const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override {
> unsigned LocalFrameReg = RegCtx.ChooseFrameReg(MVT::i32);
> assert(LocalFrameReg != X86::NoRegister);
>
> @@ -565,9 +565,9 @@ public:
> StoreFlags(Out);
> }
>
> - virtual void InstrumentMemOperandEpilogue(const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override {
> + void InstrumentMemOperandEpilogue(const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override {
> unsigned LocalFrameReg = RegCtx.ChooseFrameReg(MVT::i32);
> assert(LocalFrameReg != X86::NoRegister);
>
> @@ -586,18 +586,18 @@ public:
> }
> }
>
> - virtual void InstrumentMemOperandSmall(X86Operand &Op, unsigned
> AccessSize,
> - bool IsWrite,
> - const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override;
> - virtual void InstrumentMemOperandLarge(X86Operand &Op, unsigned
> AccessSize,
> - bool IsWrite,
> - const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override;
> - virtual void InstrumentMOVSImpl(unsigned AccessSize, MCContext &Ctx,
> - MCStreamer &Out) override;
> + void InstrumentMemOperandSmall(X86Operand &Op, unsigned AccessSize,
> + bool IsWrite,
> + const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override;
> + void InstrumentMemOperandLarge(X86Operand &Op, unsigned AccessSize,
> + bool IsWrite,
> + const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override;
> + void InstrumentMOVSImpl(unsigned AccessSize, MCContext &Ctx,
> + MCStreamer &Out) override;
>
> private:
> void EmitCallAsanReport(unsigned AccessSize, bool IsWrite, MCContext
> &Ctx,
> @@ -763,7 +763,7 @@ public:
> X86AddressSanitizer64(const MCSubtargetInfo &STI)
> : X86AddressSanitizer(STI) {}
>
> - virtual ~X86AddressSanitizer64() {}
> + ~X86AddressSanitizer64() override {}
>
> unsigned GetFrameReg(const MCContext &Ctx, MCStreamer &Out) {
> unsigned FrameReg = GetFrameRegGeneric(Ctx, Out);
> @@ -792,9 +792,9 @@ public:
> OrigSPOffset += 8;
> }
>
> - virtual void InstrumentMemOperandPrologue(const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override {
> + void InstrumentMemOperandPrologue(const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override {
> unsigned LocalFrameReg = RegCtx.ChooseFrameReg(MVT::i64);
> assert(LocalFrameReg != X86::NoRegister);
>
> @@ -823,9 +823,9 @@ public:
> StoreFlags(Out);
> }
>
> - virtual void InstrumentMemOperandEpilogue(const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override {
> + void InstrumentMemOperandEpilogue(const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override {
> unsigned LocalFrameReg = RegCtx.ChooseFrameReg(MVT::i64);
> assert(LocalFrameReg != X86::NoRegister);
>
> @@ -845,18 +845,18 @@ public:
> }
> }
>
> - virtual void InstrumentMemOperandSmall(X86Operand &Op, unsigned
> AccessSize,
> - bool IsWrite,
> - const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override;
> - virtual void InstrumentMemOperandLarge(X86Operand &Op, unsigned
> AccessSize,
> - bool IsWrite,
> - const RegisterContext &RegCtx,
> - MCContext &Ctx,
> - MCStreamer &Out) override;
> - virtual void InstrumentMOVSImpl(unsigned AccessSize, MCContext &Ctx,
> - MCStreamer &Out) override;
> + void InstrumentMemOperandSmall(X86Operand &Op, unsigned AccessSize,
> + bool IsWrite,
> + const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override;
> + void InstrumentMemOperandLarge(X86Operand &Op, unsigned AccessSize,
> + bool IsWrite,
> + const RegisterContext &RegCtx,
> + MCContext &Ctx,
> + MCStreamer &Out) override;
> + void InstrumentMOVSImpl(unsigned AccessSize, MCContext &Ctx,
> + MCStreamer &Out) override;
>
> private:
> void EmitAdjustRSP(MCContext &Ctx, MCStreamer &Out, long Offset) {
> @@ -1080,4 +1080,4 @@ CreateX86AsmInstrumentation(const MCTarg
> return new X86AsmInstrumentation(STI);
> }
>
> -} // End llvm namespace
> +} // end llvm namespace
>
> Modified: llvm/trunk/lib/Transforms/Instrumentation/SafeStack.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/SafeStack.cpp?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Instrumentation/SafeStack.cpp (original)
> +++ llvm/trunk/lib/Transforms/Instrumentation/SafeStack.cpp Thu Sep 10
> 11:49:58 2015
> @@ -220,11 +220,11 @@ public:
> initializeSafeStackPass(*PassRegistry::getPassRegistry());
> }
>
> - virtual void getAnalysisUsage(AnalysisUsage &AU) const {
> + void getAnalysisUsage(AnalysisUsage &AU) const override {
> AU.addRequired<AAResultsWrapperPass>();
> }
>
> - virtual bool doInitialization(Module &M) {
> + bool doInitialization(Module &M) override {
> DL = &M.getDataLayout();
>
> StackPtrTy = Type::getInt8PtrTy(M.getContext());
> @@ -235,8 +235,7 @@ public:
> return false;
> }
>
> - bool runOnFunction(Function &F);
> -
> + bool runOnFunction(Function &F) override;
> }; // class SafeStack
>
> Constant *SafeStack::getOrCreateUnsafeStackPtr(Module &M) {
>
> Modified: llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp?rev=247298&r1=247297&r2=247298&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp Thu Sep 10 11:49:58 2015
> @@ -1,4 +1,4 @@
> -//===- InstrInfoEmitter.cpp - Generate a Instruction Set Desc.
> ------------===//
> +//===- InstrInfoEmitter.cpp - Generate a Instruction Set Desc. --*- C++
> -*-===//
> //
> // The LLVM Compiler Infrastructure
> //
> @@ -12,7 +12,6 @@
> //
>
> //===----------------------------------------------------------------------===//
>
> -
> #include "CodeGenDAGPatterns.h"
> #include "CodeGenSchedule.h"
> #include "CodeGenTarget.h"
> @@ -26,6 +25,7 @@
> #include <cstdio>
> #include <map>
> #include <vector>
> +
> using namespace llvm;
>
> namespace {
> @@ -70,7 +70,7 @@ private:
> void EmitOperandInfo(raw_ostream &OS, OperandInfoMapTy &OperandInfoIDs);
> std::vector<std::string> GetOperandInfo(const CodeGenInstruction &Inst);
> };
> -} // End anonymous namespace
> +} // end anonymous namespace
>
> static void PrintDefList(const std::vector<Record*> &Uses,
> unsigned Num, raw_ostream &OS) {
> @@ -190,7 +190,6 @@ void InstrInfoEmitter::EmitOperandInfo(r
> }
> }
>
> -
> /// Initialize data structures for generating operand name mappings.
> ///
> /// \param Operands [out] A map used to generate the OpName enum with
> operand
> @@ -257,9 +256,9 @@ void InstrInfoEmitter::emitOperandNameMa
>
> OS << "OPERAND_LAST";
> OS << "\n};\n";
> - OS << "} // End namespace OpName\n";
> - OS << "} // End namespace " << Namespace << "\n";
> - OS << "} // End namespace llvm\n";
> + OS << "} // end namespace OpName\n";
> + OS << "} // end namespace " << Namespace << "\n";
> + OS << "} // end namespace llvm\n";
> OS << "#endif //GET_INSTRINFO_OPERAND_ENUM\n";
>
> OS << "#ifdef GET_INSTRINFO_NAMED_OPS\n";
> @@ -298,8 +297,8 @@ void InstrInfoEmitter::emitOperandNameMa
> OS << " return -1;\n";
> }
> OS << "}\n";
> - OS << "} // End namespace " << Namespace << "\n";
> - OS << "} // End namespace llvm\n";
> + OS << "} // end namespace " << Namespace << "\n";
> + OS << "} // end namespace llvm\n";
> OS << "#endif //GET_INSTRINFO_NAMED_OPS\n";
>
> }
> @@ -328,9 +327,9 @@ void InstrInfoEmitter::emitOperandTypesE
> }
>
> OS << " OPERAND_TYPE_LIST_END" << "\n};\n";
> - OS << "} // End namespace OpTypes\n";
> - OS << "} // End namespace " << Namespace << "\n";
> - OS << "} // End namespace llvm\n";
> + OS << "} // end namespace OpTypes\n";
> + OS << "} // end namespace " << Namespace << "\n";
> + OS << "} // end namespace llvm\n";
> OS << "#endif // GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
> }
>
> @@ -419,7 +418,7 @@ void InstrInfoEmitter::run(raw_ostream &
> << TargetName << "InstrNameIndices, " << TargetName <<
> "InstrNameData, "
> << NumberedInstructions.size() << ");\n}\n\n";
>
> - OS << "} // End llvm namespace \n";
> + OS << "} // end llvm namespace \n";
>
> OS << "#endif // GET_INSTRINFO_MC_DESC\n\n";
>
> @@ -432,9 +431,9 @@ void InstrInfoEmitter::run(raw_ostream &
> OS << "struct " << ClassName << " : public TargetInstrInfo {\n"
> << " explicit " << ClassName
> << "(int CFSetupOpcode = -1, int CFDestroyOpcode = -1);\n"
> - << " virtual ~" << ClassName << "();\n"
> + << " ~" << ClassName << "() override {}\n"
> << "};\n";
> - OS << "} // End llvm namespace \n";
> + OS << "} // end llvm namespace \n";
>
> OS << "#endif // GET_INSTRINFO_HEADER\n\n";
>
> @@ -450,9 +449,8 @@ void InstrInfoEmitter::run(raw_ostream &
> << " : TargetInstrInfo(CFSetupOpcode, CFDestroyOpcode) {\n"
> << " InitMCInstrInfo(" << TargetName << "Insts, " << TargetName
> << "InstrNameIndices, " << TargetName << "InstrNameData, "
> - << NumberedInstructions.size() << ");\n}\n"
> - << ClassName << "::~" << ClassName << "() {}\n";
> - OS << "} // End llvm namespace \n";
> + << NumberedInstructions.size() << ");\n}\n";
> + OS << "} // end llvm namespace \n";
>
> OS << "#endif // GET_INSTRINFO_CTOR_DTOR\n\n";
>
> @@ -596,9 +594,9 @@ void InstrInfoEmitter::emitEnums(raw_ost
> OS << " " << Class.Name << "\t= " << Num++ << ",\n";
> OS << " SCHED_LIST_END = " << SchedModels.numInstrSchedClasses() <<
> "\n";
> OS << " };\n";
> - OS << "} // End Sched namespace\n";
> - OS << "} // End " << Namespace << " namespace\n";
> - OS << "} // End llvm namespace \n";
> + OS << "} // end Sched namespace\n";
> + OS << "} // end " << Namespace << " namespace\n";
> + OS << "} // end llvm namespace \n";
>
> OS << "#endif // GET_INSTRINFO_ENUM\n\n";
> }
> @@ -610,4 +608,4 @@ void EmitInstrInfo(RecordKeeper &RK, raw
> EmitMapTable(RK, OS);
> }
>
> -} // End llvm namespace
> +} // end llvm namespace
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150910/71e65b21/attachment.html>
More information about the llvm-commits
mailing list