From 64da9409cb27f43825a8ab0a3b49c2a73cae36ba Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Sat, 21 Mar 2009 21:27:31 +0000 Subject: Factorize out a concept - no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67454 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/GlobalVariable.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/llvm/GlobalVariable.h b/include/llvm/GlobalVariable.h index bcbf321..ae64ccf 100644 --- a/include/llvm/GlobalVariable.h +++ b/include/llvm/GlobalVariable.h @@ -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! -- cgit v1.1