[llvm-commits] [lld] r172898 - in /lld/trunk/lib: Driver/Drivers.cpp Driver/Targets.cpp ReaderWriter/ELF/AtomsELF.h

Chandler Carruth chandlerc at gmail.com
Sat Jan 19 01:57:51 PST 2013


Author: chandlerc
Date: Sat Jan 19 03:57:51 2013
New Revision: 172898

URL: http://llvm.org/viewvc/llvm-project?rev=172898&view=rev
Log:
Replace the 'final' keyword with 'LLVM_FINAL' as GCC 4.6 doesn't support
the keyword.

If anyone cares deeply about the final optimizations with GCC, we might
want to add a version test to the LLVM definition, but I'm perfectly
happy with this just only firing under Clang and modern MSVC builds.

Modified:
    lld/trunk/lib/Driver/Drivers.cpp
    lld/trunk/lib/Driver/Targets.cpp
    lld/trunk/lib/ReaderWriter/ELF/AtomsELF.h

Modified: lld/trunk/lib/Driver/Drivers.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/Drivers.cpp?rev=172898&r1=172897&r2=172898&view=diff
==============================================================================
--- lld/trunk/lib/Driver/Drivers.cpp (original)
+++ lld/trunk/lib/Driver/Drivers.cpp Sat Jan 19 03:57:51 2013
@@ -84,7 +84,7 @@
 };
 }
 
-class LDDriver final : public Driver {
+class LDDriver LLVM_FINAL : public Driver {
 public:
   LDDriver(StringRef defaultTargetTriple) : Driver(defaultTargetTriple) {}
 

Modified: lld/trunk/lib/Driver/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/Targets.cpp?rev=172898&r1=172897&r2=172898&view=diff
==============================================================================
--- lld/trunk/lib/Driver/Targets.cpp (original)
+++ lld/trunk/lib/Driver/Targets.cpp Sat Jan 19 03:57:51 2013
@@ -28,7 +28,7 @@
 
 using namespace lld;
 
-class X86LinuxTarget final : public Target {
+class X86LinuxTarget LLVM_FINAL : public Target {
 public:
   X86LinuxTarget(const LinkerOptions &lo) : Target(lo), _woe(lo._entrySymbol) {
     _readerELF.reset(createReaderELF(_roe, _roa));
@@ -93,7 +93,7 @@
   std::unique_ptr<lld::Writer> _writer, _writerYAML;
 };
 
-class X86_64LinuxTarget final : public Target {
+class X86_64LinuxTarget LLVM_FINAL : public Target {
 public:
   X86_64LinuxTarget(const LinkerOptions &lo)
     : Target(lo), _woe(lo._entrySymbol) {
@@ -159,7 +159,7 @@
   std::unique_ptr<lld::Writer> _writer, _writerYAML;
 };
 
-class HexagonTarget final : public Target {
+class HexagonTarget LLVM_FINAL : public Target {
 public:
   HexagonTarget(const LinkerOptions &lo)
     : Target(lo), _woe(lo._entrySymbol) {

Modified: lld/trunk/lib/ReaderWriter/ELF/AtomsELF.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AtomsELF.h?rev=172898&r1=172897&r2=172898&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/AtomsELF.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/AtomsELF.h Sat Jan 19 03:57:51 2013
@@ -9,7 +9,7 @@
 /// \brief Relocation References: Defined Atoms may contain references that will
 /// need to be patched before the executable is written.
 template<class ELFT>
-class ELFReference final : public Reference {
+class ELFReference LLVM_FINAL : public Reference {
   typedef llvm::object::Elf_Rel_Impl<ELFT, false> Elf_Rel;
   typedef llvm::object::Elf_Rel_Impl<ELFT, true> Elf_Rela;
 public:
@@ -72,7 +72,7 @@
 /// This atom has no content its address will be used by the writer to fixup
 /// references that point to it.
 template<class ELFT>
-class ELFAbsoluteAtom final : public AbsoluteAtom {
+class ELFAbsoluteAtom LLVM_FINAL : public AbsoluteAtom {
   typedef llvm::object::Elf_Sym_Impl<ELFT> Elf_Sym;
 
 public:
@@ -117,7 +117,7 @@
 /// \brief ELFUndefinedAtom: These atoms store undefined symbols and are place
 /// holders that will be replaced by defined atoms later in the linking process.
 template<class ELFT>
-class ELFUndefinedAtom final: public UndefinedAtom {
+class ELFUndefinedAtom LLVM_FINAL : public UndefinedAtom {
   typedef llvm::object::Elf_Sym_Impl<ELFT> Elf_Sym;
 
 public:
@@ -156,7 +156,7 @@
 /// \brief This atom stores defined symbols and will contain either data or
 /// code.
 template<class ELFT>
-class ELFDefinedAtom final: public DefinedAtom {
+class ELFDefinedAtom LLVM_FINAL : public DefinedAtom {
   typedef llvm::object::Elf_Sym_Impl<ELFT> Elf_Sym;
   typedef llvm::object::Elf_Shdr_Impl<ELFT> Elf_Shdr;
 





More information about the llvm-commits mailing list