diff options
author | Owen Anderson <resistor@mac.com> | 2009-07-31 21:35:40 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-07-31 21:35:40 +0000 |
commit | 20be0583b5be721cb7065e7f4c4c4ad6a5e655e7 (patch) | |
tree | b7139544af240b94b3627101328ed7a81e3b9580 /include/llvm/Metadata.h | |
parent | 7603480121a24dfd3e6f8343412c591a46bf8486 (diff) | |
download | external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.zip external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.tar.gz external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.tar.bz2 |
Move the metadata constructors back to 2.5 syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Metadata.h')
-rw-r--r-- | include/llvm/Metadata.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index 7526919..95100c2 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -27,6 +27,7 @@ namespace llvm { class Constant; +class LLVMContext; //===----------------------------------------------------------------------===// // MetadataBase - A base class for MDNode, MDString and NamedMDNode. @@ -64,13 +65,14 @@ public: class MDString : public MetadataBase { MDString(const MDString &); // DO NOT IMPLEMENT StringRef Str; - friend class LLVMContextImpl; protected: explicit MDString(const char *begin, unsigned l) : MetadataBase(Type::MetadataTy, Value::MDStringVal), Str(begin, l) {} public: + static MDString *get(LLVMContext &Context, const StringRef &Str); + StringRef getString() const { return Str; } unsigned length() const { return Str.size(); } @@ -97,14 +99,15 @@ public: class MDNode : public MetadataBase, public FoldingSetNode { MDNode(const MDNode &); // DO NOT IMPLEMENT - friend class LLVMContextImpl; - SmallVector<WeakVH, 4> Node; typedef SmallVectorImpl<WeakVH>::iterator elem_iterator; protected: explicit MDNode(Value*const* Vals, unsigned NumVals); public: + static MDNode *get(LLVMContext &Context, + Value* const* Vals, unsigned NumVals); + typedef SmallVectorImpl<WeakVH>::const_iterator const_elem_iterator; Value *getElement(unsigned i) const { |