For PR780:

1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
   with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2006-06-07 22:00:26 +00:00
parent 6296b3cac5
commit 4f1bd9e996
19 changed files with 57 additions and 78 deletions

View File

@@ -19,8 +19,6 @@
#include <iostream>
using namespace llvm;
int llvm::BasicCallGraphStub;
static bool isOnlyADirectCall(Function *F, CallSite CS) {
if (!CS.getInstruction()) return false;
for (CallSite::arg_iterator I = CS.arg_begin(), E = CS.arg_end(); I != E; ++I)
@@ -256,10 +254,6 @@ CallGraphNode *CallGraph::getOrInsertFunction(const Function *F) {
return CGN = new CallGraphNode(const_cast<Function*>(F));
}
int CallGraph::stub; // to ensure linkage of this file.
void CallGraphNode::print(std::ostream &OS) const {
if (Function *F = getFunction())
OS << "Call graph node for function: '" << F->getName() <<"'\n";
@@ -297,3 +291,6 @@ void CallGraphNode::removeAnyCallEdgeTo(CallGraphNode *Callee) {
--i; --e;
}
}
// Enuse that users of CallGraph.h also link with this file
DEFINING_FILE_FOR(CallGraph)

View File

@@ -24,9 +24,6 @@ using namespace llvm;
static RegisterAnalysis<FindUsedTypes>
X("printusedtypes", "Find Used Types");
// stub to help linkage
int FindUsedTypes::stub; // to ensure linkage of this file
// IncorporateType - Incorporate one type and all of its subtypes into the
// collection of used types.
//
@@ -104,3 +101,6 @@ void FindUsedTypes::print(std::ostream &o, const Module *M) const {
E = UsedTypes.end(); I != E; ++I)
o << " " << **I << "\n";
}
// Ensure that this file gets linked in when FindUsedTypes.h is used.
DEFINING_FILE_FOR(FindUsedTypes)