// the risk of AliasAnalysis being used, but the default implementation not
// being linked into the tool that uses it.
//
-extern void BasicAAStub();
-static IncludeFile HDR_INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
+extern int BasicAAStub;
+static IncludeFile HDR_INCLUDE_BASICAA_CPP(&BasicAAStub);
} // End llvm namespace
void dump() const;
// stub - dummy function, just ignore it
- static void stub();
+ static int stub;
protected:
// destroy - Release memory for the call graph
// Make sure that any clients of this file link in CallGraph.cpp
static IncludeFile
-CALLGRAPH_INCLUDE_FILE((void*)&CallGraph::stub);
+CALLGRAPH_INCLUDE_FILE(&CallGraph::stub);
extern void BasicCallGraphStub();
static IncludeFile HDR_INCLUDE_CALLGRAPH_CPP((void*)&BasicCallGraphStub);
}
// stub - dummy function, just ignore it
- static void stub();
+ static int stub;
};
// Make sure that any clients of this file link in Dominators.cpp
static IncludeFile
-DOMINATORS_INCLUDE_FILE((void*)&DominatorSet::stub);
+DOMINATORS_INCLUDE_FILE(&DominatorSet::stub);
} // End llvm namespace
#endif
}
// stub - dummy function, just ignore it
- static void stub();
+ static int stub;
};
// Make sure that any clients of this file link in PostDominators.cpp
static IncludeFile
-FIND_USED_TYPES_INCLUDE_FILE((void*)(&FindUsedTypes::stub));
+FIND_USED_TYPES_INCLUDE_FILE(&FindUsedTypes::stub);
} // End llvm namespace
/// BasicBlocks to loops.
void removeBlock(BasicBlock *BB);
- static void stub(); // Noop
+ static int stub; // Noop
private:
void Calculate(ETForest &EF);
Loop *ConsiderForLoop(BasicBlock *BB, ETForest &EF);
// Make sure that any clients of this file link in LoopInfo.cpp
static IncludeFile
-LOOP_INFO_INCLUDE_FILE((void*)(&LoopInfo::stub));
+LOOP_INFO_INCLUDE_FILE(&LoopInfo::stub);
// Allow clients to walk the list of nested loops...
template <> struct GraphTraits<const Loop*> {
}
// stub - dummy function, just ignore it
- static void stub();
+ static int stub;
private:
const DomSetType &calculate(const PostDominatorTree &DT,
// Make sure that any clients of this file link in PostDominators.cpp
static IncludeFile
-POST_DOMINATOR_INCLUDE_FILE((void*)&PostDominanceFrontier::stub);
+POST_DOMINATOR_INCLUDE_FILE(&PostDominanceFrontier::stub);
} // End llvm namespace
}
};
-extern void BasicValueNumberingStub();
+extern int BasicValueNumberingStub;
static IncludeFile
-HDR_INCLUDE_VALUENUMBERING_CPP((void*)&BasicValueNumberingStub);
+HDR_INCLUDE_VALUENUMBERING_CPP(&BasicValueNumberingStub);
} // End llvm namespace
// being linked into the tool that uses it.
//
namespace llvm {
- extern void BasicAAStub();
+ extern int BasicAAStub;
}
static IncludeFile INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
using namespace llvm;
// Make sure that anything that uses AliasAnalysis pulls in this file...
-void llvm::BasicAAStub() {}
+int llvm::BasicAAStub;
namespace {
/// NoAA - This class implements the -no-aa pass, which always returns "I
-void CallGraph::stub() {}
+int CallGraph::stub; // to ensure linkage of this file.
void CallGraphNode::print(std::ostream &OS) const {
if (Function *F = getFunction())
X("printusedtypes", "Find Used Types");
// stub to help linkage
-void FindUsedTypes::stub() {}
+int FindUsedTypes::stub; // to ensure linkage of this file
// IncorporateType - Incorporate one type and all of its subtypes into the
// collection of used types.
//===----------------------------------------------------------------------===//
// LoopInfo implementation
//
-void LoopInfo::stub() {}
+int LoopInfo::stub;
bool LoopInfo::runOnFunction(Function &) {
releaseMemory();
}
// stub - a dummy function to make linking work ok.
-void PostDominanceFrontier::stub() {
-}
+int PostDominanceFrontier::stub;
}
-void llvm::BasicValueNumberingStub() { }
+int llvm::BasicValueNumberingStub; // to ensure linkage of this file
return false;
}
-void DominatorSet::stub() {}
+int DominatorSet::stub;
namespace llvm {
static std::ostream &operator<<(std::ostream &o,