aboutsummaryrefslogtreecommitdiff
path: root/test/stage1/behavior
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2020-11-29 11:53:08 +0100
committerAndrew Kelley <andrew@ziglang.org>2020-11-29 10:37:06 -0800
commitc80d196094de3e0258b4a1146cff56576ec8e95d (patch)
tree1f42f229449123b6adb3624ec793962674e17b39 /test/stage1/behavior
parent48660371a2f66b3859831abb276180c557a12f93 (diff)
downloadzig-c80d196094de3e0258b4a1146cff56576ec8e95d.tar.gz
zig-c80d196094de3e0258b4a1146cff56576ec8e95d.zip
stage1: Add missing bitcast when rendering var ptr
Some types require this extra bitcast, eg. structs or unions with extra padding fields inserted by the compiler. Fixes #7250
Diffstat (limited to 'test/stage1/behavior')
-rw-r--r--test/stage1/behavior/bugs/7250.zig15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/stage1/behavior/bugs/7250.zig b/test/stage1/behavior/bugs/7250.zig
new file mode 100644
index 0000000000..b0f1aa15df
--- /dev/null
+++ b/test/stage1/behavior/bugs/7250.zig
@@ -0,0 +1,15 @@
+const nrfx_uart_t = extern struct {
+ p_reg: [*c]u32,
+ drv_inst_idx: u8,
+};
+
+pub fn nrfx_uart_rx(p_instance: [*c]const nrfx_uart_t) void {}
+
+threadlocal var g_uart0 = nrfx_uart_t{
+ .p_reg = 0,
+ .drv_inst_idx = 0,
+};
+
+test "reference a global threadlocal variable" {
+ _ = nrfx_uart_rx(&g_uart0);
+}