Mercurial > projects > ldc
diff gen/metadata.h @ 1343:c21a6654cce2
Update for metadata changes in LLVM trunk.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 11 May 2009 11:59:22 +0200 |
parents | 4099548c80e0 |
children | 3297edb697eb |
line wrap: on
line diff
--- a/gen/metadata.h Sun May 10 22:26:04 2009 +0200 +++ b/gen/metadata.h Mon May 11 11:59:22 2009 +0200 @@ -6,6 +6,33 @@ #if LLVM_REV >= 68420 // Yay, we have metadata! +// The metadata interface is still in flux... +#if LLVM_REV >= 71407 + // MDNode was moved into its own header, and contains Value*s + #include "llvm/MDNode.h" + typedef llvm::Value MDNodeField; + + // Use getNumElements() and getElement() to access elements. + inline unsigned MD_GetNumElements(llvm::MDNode* N) { + return N->getNumElements(); + } + inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) { + return N->getElement(i); + } +#else + // MDNode is in Constants.h, and contains Constant*s + #include "llvm/Constants.h" + typedef llvm::Constant MDNodeField; + + // Use getNumOperands() and getOperand() to access elements. + inline unsigned MD_GetNumElements(llvm::MDNode* N) { + return N->getNumOperands(); + } + inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) { + return N->getOperand(i); + } +#endif + #define USE_METADATA #define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage