I just put the final on there to prove that the virtual was useless and make them easy to find. I'm going to go back through and de-virtualize or remove them soon.<span></span><br><br>On Tuesday, April 29, 2014, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Apr 29, 2014 at 12:57 AM, Craig Topper <<a href="javascript:;" onclick="_e(event, 'cvml', 'craig.topper@gmail.com')">craig.topper@gmail.com</a>> wrote:<br>

> Author: ctopper<br>
> Date: Tue Apr 29 02:57:00 2014<br>
> New Revision: 207501<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=207501&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=207501&view=rev</a><br>
> Log:<br>
> [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves.<br>

<br>
Is there any point to such a thing, or should it be non-virtual,<br>
non-final? (or non-virtual but final as a defense against an<br>
accidental override - though we have warnings for that)<br>
<br>
> XCore edition<br>
><br>
> Modified:<br>
>     llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp<br>
>     llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h<br>
>     llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp<br>
>     llvm/trunk/lib/Target/XCore/XCoreFrameLowering.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp<br>
>     llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp<br>
>     llvm/trunk/lib/Target/XCore/XCoreISelLowering.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreInstrInfo.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreLowerThreadLocal.cpp<br>
>     llvm/trunk/lib/Target/XCore/XCoreRegisterInfo.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreSelectionDAGInfo.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp<br>
>     llvm/trunk/lib/Target/XCore/XCoreTargetMachine.h<br>
>     llvm/trunk/lib/Target/XCore/XCoreTargetObjectFile.h<br>
><br>
> Modified: llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp?rev=207501&r1=207500&r2=207501&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp?rev=207501&r1=207500&r2=207501&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp (original)<br>
> +++ llvm/trunk/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp Tue Apr 29 02:57:00 2014<br>
> @@ -42,7 +42,7 @@ public:<br>
>                                        const MemoryObject &region,<br>
>                                        uint64_t address,<br>
>                                        raw_ostream &vStream,<br>
> -                                      raw_ostream &cStream) const;<br>
> +                                      raw_ostream &cStream) const override;<br>
><br>
>  };<br>
>  }<br>
><br>
> Modified: llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h?rev=207501&r1=207500&r2=207501&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h?rev=207501&r1=207500&r2=207501&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h (original)<br>
> +++ llvm/trunk/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h Tue Apr 29 02:57:00 2014<br>
> @@ -31,8 +31,8 @@ public:<br>
>    void printInstruction(const MCInst *MI, raw_ostream &O);<br>
>    static const char *getRegisterName(unsigned RegNo);<br>
><br>
> -  virtual void printRegName(raw_ostream &OS, unsigned RegNo) const;<br>
> -  virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot);<br>
> +  void printRegName(raw_ostream &OS, unsigned RegNo) const override;<br>
> +  void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot) override;<br>
>  private:<br>
>    void printInlineJT(const MCInst *MI, int opNum, raw_ostream &O);<br>
>    void printInlineJT32(const MCInst *MI, int opNum, raw_ostream &O);<br>
><br>
> Modified: llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h?rev=207501&r1=207500&r2=207501&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h?rev=207501&r1</a></blockquote>
<br><br>-- <br>~Craig<br>