diff options
| -rw-r--r-- | sparse-llvm.c | 2 | ||||
| -rw-r--r-- | validation/backend/store-type.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/sparse-llvm.c b/sparse-llvm.c index 00ace6e8..9b768b54 100644 --- a/sparse-llvm.c +++ b/sparse-llvm.c @@ -583,7 +583,7 @@ static void output_op_store(struct function *fn, struct instruction *insn) /* convert address back to pointer */ addr = LLVMBuildIntToPtr(fn->builder, addr_i, - LLVMPointerType(int_type, 0), "addr"); + LLVMTypeOf(src_p), "addr"); target_in = pseudo_to_value(fn, insn, insn->target); diff --git a/validation/backend/store-type.c b/validation/backend/store-type.c new file mode 100644 index 00000000..9e2ce73f --- /dev/null +++ b/validation/backend/store-type.c @@ -0,0 +1,12 @@ +struct foo; +static struct foo *var; + +static void set(struct foo *f) +{ + var = f; +} + +/* + * check-name: Type of stored objects + * check-command: ./sparsec -c $file -o tmp.o + */ |
