diff options
author | Chris Lattner <sabre@nondot.org> | 2002-08-21 23:48:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-08-21 23:48:55 +0000 |
commit | c37fca1492a26e0eb4eb1e77833a1489fa73ff62 (patch) | |
tree | a19481de037cd710ac884d26188718d5e88ba97b | |
parent | d6118277b0b0ccbda11f19ce137d6ee88a051157 (diff) |
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
-rw-r--r-- | include/llvm/PassSupport.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/PassSupport.h b/include/llvm/PassSupport.h index e7bb041825..270b9f6108 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 |