Factorize out a concept - no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67454 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2009-03-21 21:27:31 +00:00
parent 802cd84eb4
commit 64da9409cb
4 changed files with 15 additions and 8 deletions

View File

@@ -78,6 +78,15 @@ public:
///
inline bool hasInitializer() const { return !isDeclaration(); }
/// hasDefinitiveInitializer - Whether the global variable has an initializer,
/// and this is the initializer that will be used in the final executable.
inline bool hasDefinitiveInitializer() const {
return hasInitializer() &&
// The initializer of a global variable with weak linkage may change at
// link time.
!mayBeOverridden();
}
/// getInitializer - Return the initializer for this global variable. It is
/// illegal to call this method if the global is external, because we cannot
/// tell what the value is initialized to!