Mercurial > projects > ldc
diff gen/typinf.cpp @ 1316:8c65217be813
Work around an LLVM bug by not referring to globals from metadata. This was
only used for consistency checking anyway.
For the LLVM bug, see http://llvm.org/PR4180 / http://llvm.org/PR4046
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Fri, 08 May 2009 16:00:44 +0200 |
parents | 875afb7a93b6 |
children | c21a6654cce2 |
line wrap: on
line diff
--- a/gen/typinf.cpp Fri May 08 12:21:53 2009 +0200 +++ b/gen/typinf.cpp Fri May 08 16:00:44 2009 +0200 @@ -295,7 +295,8 @@ if (!meta && tid->tinfo->toBasetype()->ty < Terror) { // Construct the fields LLConstant* mdVals[TD_NumFields]; - mdVals[TD_Confirm] = llvm::cast<LLConstant>(irg->value); + if (TD_Confirm >= 0) + mdVals[TD_Confirm] = llvm::cast<LLConstant>(irg->value); mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo)); // Construct the metadata llvm::MDNode* metadata = llvm::MDNode::get(mdVals, TD_NumFields);