diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-08-30 02:56:42 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-08-30 02:56:42 -0400 |
| commit | e9280c86a1fc79aec5936bb21c9469657555a7ed (patch) | |
| tree | d46be8ed77adda6487f49f25d2d43a36ec98b18c /test/compile_errors.zig | |
| parent | 010b725bdef57eee969668087c8737e053b10e9f (diff) | |
| download | zig-e9280c86a1fc79aec5936bb21c9469657555a7ed.tar.gz zig-e9280c86a1fc79aec5936bb21c9469657555a7ed.zip | |
compile error for not-aligned-enough pointer to cmpxchg
See #37
Diffstat (limited to 'test/compile_errors.zig')
| -rw-r--r-- | test/compile_errors.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig index e7fddace91..6c3a6e976d 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -2051,4 +2051,14 @@ pub fn addCases(cases: &tests.CompileErrorContext) { , ".tmp_source.zig:2:35: error: expected type 'fn() align 8 -> i32', found 'fn() align 4 -> i32'"); + cases.add("passing a not-aligned-enough pointer to cmpxchg", + \\const AtomicOrder = @import("builtin").AtomicOrder; + \\export fn entry() -> bool { + \\ var x: i32 align 1 = 1234; + \\ while (!@cmpxchg(&x, 1234, 5678, AtomicOrder.SeqCst, AtomicOrder.SeqCst)) {} + \\ return x == 5678; + \\} + , + ".tmp_source.zig:4:23: error: expected pointer alignment of at least 4, found 1"); + } |
