summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-05-17 21:29:57 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-05-17 21:29:57 +0000
commitc86235f4eb3ee71272aed492d3faa18360d54bbc (patch)
tree457375892b6c914a95ac0dc0d8bd5442b484e869 /include
parente7a6c2f1dfca147cdedb9683f7193882b548753d (diff)
downloadllvm-c86235f4eb3ee71272aed492d3faa18360d54bbc.tar.gz
llvm-c86235f4eb3ee71272aed492d3faa18360d54bbc.tar.bz2
llvm-c86235f4eb3ee71272aed492d3faa18360d54bbc.tar.xz
Use create methods since msvc doesn't handle delegating constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209076 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/IR/GlobalAlias.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/include/llvm/IR/GlobalAlias.h b/include/llvm/IR/GlobalAlias.h
index f5181ab6aa..d9f0b4a89b 100644
--- a/include/llvm/IR/GlobalAlias.h
+++ b/include/llvm/IR/GlobalAlias.h
@@ -33,29 +33,37 @@ class GlobalAlias : public GlobalValue, public ilist_node<GlobalAlias> {
void setParent(Module *parent);
+ GlobalAlias(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage,
+ const Twine &Name, GlobalObject *Aliasee, Module *Parent);
+
public:
// allocate space for exactly one operand
void *operator new(size_t s) {
return User::operator new(s, 1);
}
+
/// If a parent module is specified, the alias is automatically inserted into
/// the end of the specified module's alias list.
- GlobalAlias(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage,
- const Twine &Name, GlobalObject *Aliasee, Module *Parent);
+ static GlobalAlias *create(Type *Ty, unsigned AddressSpace,
+ LinkageTypes Linkage, const Twine &Name,
+ GlobalObject *Aliasee, Module *Parent);
// Without the Aliasee.
- GlobalAlias(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage,
- const Twine &Name, Module *Parent);
+ static GlobalAlias *create(Type *Ty, unsigned AddressSpace,
+ LinkageTypes Linkage, const Twine &Name,
+ Module *Parent);
// The module is taken from the Aliasee.
- GlobalAlias(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage,
- const Twine &Name, GlobalObject *Aliasee);
+ static GlobalAlias *create(Type *Ty, unsigned AddressSpace,
+ LinkageTypes Linkage, const Twine &Name,
+ GlobalObject *Aliasee);
// Type, Parent and AddressSpace taken from the Aliasee.
- GlobalAlias(LinkageTypes Linkage, const Twine &Name, GlobalObject *Aliasee);
+ static GlobalAlias *create(LinkageTypes Linkage, const Twine &Name,
+ GlobalObject *Aliasee);
// Linkage, Type, Parent and AddressSpace taken from the Aliasee.
- GlobalAlias(const Twine &Name, GlobalObject *Aliasee);
+ static GlobalAlias *create(const Twine &Name, GlobalObject *Aliasee);
/// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Constant);