diff --git a/interp/interpreter.go b/interp/interpreter.go index c6ce6b7f..db121cc7 100644 --- a/interp/interpreter.go +++ b/interp/interpreter.go @@ -590,18 +590,14 @@ func (r *runner) run(fn *function, params []value, parentMem *memoryView, indent // GetElementPtr does pointer arithmetic, changing the offset of the // pointer into the underlying object. var offset uint64 - var gepOperands []uint64 for i := 2; i < len(operands); i += 2 { index := operands[i].Uint() elementSize := operands[i+1].Uint() if int64(elementSize) < 0 { // This is a struct field. - // The field number is encoded by flipping all the bits. - gepOperands = append(gepOperands, ^elementSize) offset += index } else { // This is a normal GEP, probably an array index. - gepOperands = append(gepOperands, index) offset += elementSize * index } }