Mercurial > projects > ldc
diff gen/metadata.h @ 1291:875afb7a93b6
Factor out some constants into the header so producers and consumers of
metadata stay in sync (and are more readable).
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sat, 02 May 2009 20:42:58 +0200 |
parents | 5851c18e4c6d |
children | 8c65217be813 |
line wrap: on
line diff
--- a/gen/metadata.h Sat May 02 14:00:57 2009 +0200 +++ b/gen/metadata.h Sat May 02 20:42:58 2009 +0200 @@ -4,8 +4,24 @@ #include "gen/llvm-version.h" #if LLVM_REV >= 68420 -# define USE_METADATA -# define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage +// Yay, we have metadata! + +#define USE_METADATA +#define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage + +// *** Metadata for TypeInfo instances *** +#define TD_PREFIX "llvm.ldc.typeinfo." + +/// The fields in the metadata node for a TypeInfo instance. +/// (Its name will be TD_PREFIX ~ <Name of TypeInfo global>) +enum TypeDataFields { + TD_Confirm, /// The TypeInfo this node is for + TD_Type, /// A value of the LLVM type corresponding to this D type + + // Must be kept last: + TD_NumFields /// The number of fields in TypeInfo metadata +}; + #endif #endif