tinygo/interp/testdata
Nia Waldvogel 2f57e4ff6d interp: handle type assertions on nil interfaces
Previously, a type assertion on a nil interface would result in an out-of-bounds operand access, as we assumed it was a ptrtoint.
This would usually result in an undefined value which happens not to have the same name as the asserted type (and therefore the assertion fails as expected).
However, with an LLVM build with asserts, LLVM throws an assertion error:
```
interp.test: /home/niaow/go/src/github.com/tinygo-org/tinygo/llvm-project/llvm/include/llvm/IR/User.h:170: llvm::Value* llvm::User::getOperand(unsigned int) const: Assertion `i < NumUserOperands && "getOperand() out of range!"' failed.
```

This change handles a type code of 0 specially.
2022-01-21 14:49:36 +01:00
..
alloc.ll interp: use object layout information for LLVM types 2021-11-02 22:16:15 +01:00
alloc.out.ll interp: use object layout information for LLVM types 2021-11-02 22:16:15 +01:00
basic.ll interp: take care of constant globals 2021-11-11 08:59:32 +01:00
basic.out.ll interp: take care of constant globals 2021-11-11 08:59:32 +01:00
consteval.ll interp: support const getelementptr with non-zero first offset 2021-11-02 22:16:15 +01:00
consteval.out.ll interp: support const getelementptr with non-zero first offset 2021-11-02 22:16:15 +01:00
interface.ll interp: handle type assertions on nil interfaces 2022-01-21 14:49:36 +01:00
interface.out.ll interp: handle type assertions on nil interfaces 2022-01-21 14:49:36 +01:00
phi.ll interp: fix phi instruction 2021-04-21 07:37:22 +02:00
phi.out.ll interp: fix phi instruction 2021-04-21 07:37:22 +02:00
revert.ll compiler: remove parentHandle from calling convention 2022-01-19 14:42:02 -05:00
revert.out.ll compiler: remove parentHandle from calling convention 2022-01-19 14:42:02 -05:00
slice-copy.ll compiler, runtime: add layout parameter to runtime.alloc 2021-11-02 22:16:15 +01:00
slice-copy.out.ll all: drop support for LLVM 10 2021-10-31 10:44:17 +01:00