Move template instantiations to end of the file.
authorRui Ueyama <ruiu@google.com>
Fri, 29 Jan 2016 23:59:15 +0000 (23:59 +0000)
committerRui Ueyama <ruiu@google.com>
Fri, 29 Jan 2016 23:59:15 +0000 (23:59 +0000)
llvm-svn: 259276

lld/ELF/Target.cpp

index b77f211..d248459 100644 (file)
@@ -76,11 +76,6 @@ template <class ELFT> bool isGnuIFunc(const SymbolBody &S) {
   return false;
 }
 
-template bool isGnuIFunc<ELF32LE>(const SymbolBody &S);
-template bool isGnuIFunc<ELF32BE>(const SymbolBody &S);
-template bool isGnuIFunc<ELF64LE>(const SymbolBody &S);
-template bool isGnuIFunc<ELF64BE>(const SymbolBody &S);
-
 namespace {
 class X86TargetInfo final : public TargetInfo {
 public:
@@ -1580,6 +1575,11 @@ bool needsMipsLocalGot(uint32_t Type, SymbolBody *Body) {
   return !Config->Shared;
 }
 
+template bool isGnuIFunc<ELF32LE>(const SymbolBody &S);
+template bool isGnuIFunc<ELF32BE>(const SymbolBody &S);
+template bool isGnuIFunc<ELF64LE>(const SymbolBody &S);
+template bool isGnuIFunc<ELF64BE>(const SymbolBody &S);
+
 template uint32_t getMipsGpAddr<ELF32LE>();
 template uint32_t getMipsGpAddr<ELF32BE>();
 template uint64_t getMipsGpAddr<ELF64LE>();