[XCOFF] Move explicit instantions after member function definitions to fix clang...
authorFangrui Song <maskray@google.com>
Thu, 7 Nov 2019 17:25:31 +0000 (09:25 -0800)
committerFangrui Song <maskray@google.com>
Thu, 7 Nov 2019 17:25:55 +0000 (09:25 -0800)
llvm/lib/Object/XCOFFObjectFile.cpp

index 6f1d999..5ca2a6a 100644 (file)
@@ -46,10 +46,6 @@ static StringRef generateXCOFFFixedNameStringRef(const char *Name) {
                     : StringRef(Name, XCOFF::NameSize);
 }
 
-// Explictly instantiate template classes.
-template struct XCOFFSectionHeader<XCOFFSectionHeader32>;
-template struct XCOFFSectionHeader<XCOFFSectionHeader64>;
-
 template <typename T> StringRef XCOFFSectionHeader<T>::getName() const {
   const T &DerivedXCOFFSectionHeader = static_cast<const T &>(*this);
   return generateXCOFFFixedNameStringRef(DerivedXCOFFSectionHeader.Name);
@@ -773,5 +769,9 @@ bool XCOFFSymbolRef::isFunction() const {
   return (OwningObjectPtr->getSectionFlags(SI.get()) & XCOFF::STYP_TEXT);
 }
 
+// Explictly instantiate template classes.
+template struct XCOFFSectionHeader<XCOFFSectionHeader32>;
+template struct XCOFFSectionHeader<XCOFFSectionHeader64>;
+
 } // namespace object
 } // namespace llvm