diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 12:18:02 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 12:18:02 -0700 |
commit | 2980ce7c7096cbea33dd40acbeb4242fb4cd8037 (patch) | |
tree | 8e2cdae60d228ff7072fcb0bda348634cb849b40 /tests | |
parent | 3fcbc4487553a9d2bcc3234eac5ce5edfc70e27d (diff) |
fix structure size when it has a [0 x ..] at the end - that should add nothing
Diffstat (limited to 'tests')
-rw-r--r-- | tests/cases/zeroembedded.ll | 16 | ||||
-rw-r--r-- | tests/cases/zeroembedded.txt | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/cases/zeroembedded.ll b/tests/cases/zeroembedded.ll new file mode 100644 index 00000000..c1ffa212 --- /dev/null +++ b/tests/cases/zeroembedded.ll @@ -0,0 +1,16 @@ +; a.ll +%struct.pypy_str = type { i32, [0 x i8] } +%struct.pypy_strval = type { i32, [13 x i8] } + +@pypy_g_strval = global %struct.pypy_strval { i32 13, [13 x i8] c"hello world\0A\00" } + +declare i32 @printf(i8*, ...) + +define i32 @main(i32 %argc, i8** nocapture %argv) { + %1 = bitcast %struct.pypy_strval* @pypy_g_strval to %struct.pypy_str* + %2 = getelementptr inbounds %struct.pypy_str* %1, i32 1 + %3 = bitcast %struct.pypy_str* %2 to i8* + call i32 (i8*, ...)* @printf(i8* %3) + ret i32 0 +} + diff --git a/tests/cases/zeroembedded.txt b/tests/cases/zeroembedded.txt new file mode 100644 index 00000000..3b18e512 --- /dev/null +++ b/tests/cases/zeroembedded.txt @@ -0,0 +1 @@ +hello world |