#zig build-obj {
--name test -fno-emit-bin
-target spirv32-vulkan -fno-llvm
-Mroot=test.zig
#}

#write test.zig {
export fn not_comptime() callconv(.kernel) void {
    var runtime: u32 = 42;
    _ = &runtime;
    _ = asm ("%ret = OpSpecConstant %ty $default"
        : [ret] "" (-> u32),
        : [ty] "t" (u32),
          [default] "c" (runtime),
    );
}

export fn undef_input() callconv(.kernel) void {
    const x: u32 = undefined;
    _ = asm ("%ret = OpDummy $x"
        : [ret] "" (-> u32),
        : [x] "c" (x),
    );
}

export fn unsupported_type() callconv(.kernel) void {
    const s = "hi";
    _ = asm ("%ret = OpDummy $x"
        : [ret] "" (-> u32),
        : [x] "c" (s),
    );
}
#}
#update
#check errors {
test.zig:7:26: error: assembly input with 'c' constraint must be compile-time known
test.zig:15:20: error: assembly input with 'c' constraint cannot be undefined
test.zig:23:20: error: unsupported type '*const [2:0]u8' for 'c' constraint
#}
