Support zero-initialized pointers in globals

This commit is contained in:
Ayke van Laethem
2018-08-30 05:38:27 +02:00
parent 5edf94ea10
commit a5252d07f0
2 changed files with 12 additions and 4 deletions
+7
View File
@@ -866,6 +866,13 @@ func (c *Compiler) getInterpretedValue(value Value) (llvm.Value, error) {
return llvm.ConstPtrToInt(elem, c.uintptrType), nil
case *PointerValue:
if value.Elem == nil {
typ, err := c.getLLVMType(value.Type)
if err != nil {
return llvm.Value{}, err
}
return llvm.ConstPointerNull(typ), nil
}
elem, err := c.getInterpretedValue(*value.Elem)
if err != nil {
return llvm.Value{}, err