both cases they are looking for non-external variables/functions that do
not have internal linkage. Using "!isExternal()" is a little more
understandable than "hasInitializer()"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20155
91177308-0d34-0410-b5e6-
96231b3b80d8
static void getSymbols(Module*M, std::vector<std::string>& symbols) {
// Loop over global variables
for (Module::giterator GI = M->gbegin(), GE=M->gend(); GI != GE; ++GI)
- if (GI->hasInitializer() && !GI->hasInternalLinkage())
+ if (!GI->isExternal() && !GI->hasInternalLinkage())
if (!GI->getName().empty())
symbols.push_back(GI->getName());