aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-08-21 23:48:55 +0000
committerChris Lattner <sabre@nondot.org>2002-08-21 23:48:55 +0000
commitc37fca1492a26e0eb4eb1e77833a1489fa73ff62 (patch)
treea19481de037cd710ac884d26188718d5e88ba97b /include
parentd6118277b0b0ccbda11f19ce137d6ee88a051157 (diff)
downloadexternal_llvm-c37fca1492a26e0eb4eb1e77833a1489fa73ff62.zip
external_llvm-c37fca1492a26e0eb4eb1e77833a1489fa73ff62.tar.gz
external_llvm-c37fca1492a26e0eb4eb1e77833a1489fa73ff62.tar.bz2
Add a class that is useful for hacking around linking problem due to
pass implementations not being linked in when they are used if the implementation is in a .a file. - Fighting with linking problem due to removing the ::ID elements. Now the implementation .cpp files for analyses are not being included into gccas and friends because it is linking to the .a file and there is no explicit symbol reference to bring in the .o file. The new IncludeFile hack is the result. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3434 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/PassSupport.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/PassSupport.h b/include/llvm/PassSupport.h
index e7bb041..270b9f6 100644
--- a/include/llvm/PassSupport.h
+++ b/include/llvm/PassSupport.h
@@ -337,4 +337,14 @@ struct PassRegistrationListener {
virtual void passEnumerate(const PassInfo *P) {}
};
+
+//===---------------------------------------------------------------------------
+// IncludeFile class - This class is used as a hack to make sure that the
+// implementation of a header file is included into a tool that uses the header.
+// This is solely to overcome problems linking .a files and not getting the
+// implementation of passes we need.
+//
+struct IncludeFile {
+ IncludeFile(void *);
+};
#endif