[llvm] 2cb3bfe - Revert "[XCOFF] Fix link errors from explicit template instantiation"

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 7 09:40:19 PST 2019


Author: Reid Kleckner
Date: 2019-11-07T09:39:13-08:00
New Revision: 2cb3bfe9759a134a2e85207643109b69a86c4bf7

URL: https://github.com/llvm/llvm-project/commit/2cb3bfe9759a134a2e85207643109b69a86c4bf7
DIFF: https://github.com/llvm/llvm-project/commit/2cb3bfe9759a134a2e85207643109b69a86c4bf7.diff

LOG: Revert "[XCOFF] Fix link errors from explicit template instantiation"

This reverts commit c989993ba1a666f04f7aee7df51d9f4de0588b71.

maskray already fixed the explicit instantiation definition in the .cpp
file, and these extern template declarations seem to be causing
warnings that I don't understand.

Added: 
    

Modified: 
    llvm/include/llvm/Object/XCOFFObjectFile.h
    llvm/lib/Object/XCOFFObjectFile.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Object/XCOFFObjectFile.h b/llvm/include/llvm/Object/XCOFFObjectFile.h
index fcdbf7a8095c..4f80297b04c6 100644
--- a/llvm/include/llvm/Object/XCOFFObjectFile.h
+++ b/llvm/include/llvm/Object/XCOFFObjectFile.h
@@ -60,12 +60,6 @@ template <typename T> struct XCOFFSectionHeader {
   bool isReservedSectionType() const;
 };
 
-// Explicit extern template declarations.
-struct XCOFFSectionHeader32;
-struct XCOFFSectionHeader64;
-extern template struct XCOFFSectionHeader<XCOFFSectionHeader32>;
-extern template struct XCOFFSectionHeader<XCOFFSectionHeader64>;
-
 struct XCOFFSectionHeader32 : XCOFFSectionHeader<XCOFFSectionHeader32> {
   char Name[XCOFF::NameSize];
   support::ubig32_t PhysicalAddress;

diff  --git a/llvm/lib/Object/XCOFFObjectFile.cpp b/llvm/lib/Object/XCOFFObjectFile.cpp
index 3ea42bb8b0e0..5ca2a6a03f04 100644
--- a/llvm/lib/Object/XCOFFObjectFile.cpp
+++ b/llvm/lib/Object/XCOFFObjectFile.cpp
@@ -61,10 +61,6 @@ bool XCOFFSectionHeader<T>::isReservedSectionType() const {
   return getSectionType() & SectionFlagsReservedMask;
 }
 
-// Explictly instantiate template classes.
-template struct XCOFFSectionHeader<XCOFFSectionHeader32>;
-template struct XCOFFSectionHeader<XCOFFSectionHeader64>;
-
 bool XCOFFRelocation32::isRelocationSigned() const {
   return Info & XR_SIGN_INDICATOR_MASK;
 }


        


More information about the llvm-commits mailing list