Mercurial > projects > ldc
comparison gen/tollvm.cpp @ 811:8e6135be6999
Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding.
Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions.
Added getNullValue helper method.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 01 Dec 2008 02:10:16 +0100 |
parents | 340acf1535d0 |
children | d54f7cf84e6b |
comparison
equal
deleted
inserted
replaced
810:67fcd9df8b79 | 811:8e6135be6999 |
---|---|
671 { | 671 { |
672 const LLPointerType* pt = llvm::cast<LLPointerType>(t); | 672 const LLPointerType* pt = llvm::cast<LLPointerType>(t); |
673 return llvm::ConstantPointerNull::get(pt); | 673 return llvm::ConstantPointerNull::get(pt); |
674 } | 674 } |
675 | 675 |
676 LLConstant* getNullValue(const LLType* t) | |
677 { | |
678 return LLConstant::getNullValue(t); | |
679 } | |
680 | |
676 ////////////////////////////////////////////////////////////////////////////////////////// | 681 ////////////////////////////////////////////////////////////////////////////////////////// |
677 | 682 |
678 size_t getTypeBitSize(const LLType* t) | 683 size_t getTypeBitSize(const LLType* t) |
679 { | 684 { |
680 return gTargetData->getTypeSizeInBits(t); | 685 return gTargetData->getTypeSizeInBits(t); |