diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-07-21 13:07:27 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-07-21 13:55:29 -0700 |
| commit | fc6e111b76764ae00e2c868ad46f39235837e239 (patch) | |
| tree | bde27d8b548e01d17a3fac8cfb61abbc396f68ba /src/target.zig | |
| parent | b9469345761bbac5dcb95f2ba662d4ddd7fc567e (diff) | |
| download | zig-fc6e111b76764ae00e2c868ad46f39235837e239.tar.gz zig-fc6e111b76764ae00e2c868ad46f39235837e239.zip | |
Sema: improve compile error for bad function alignment
* Integrate more declaratively with src/target.zig
* Only trigger the check when a function body is found, do not trigger
for function types.
Diffstat (limited to 'src/target.zig')
| -rw-r--r-- | src/target.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/target.zig b/src/target.zig index ea8b3efc45..5202fb15fc 100644 --- a/src/target.zig +++ b/src/target.zig @@ -744,6 +744,7 @@ pub fn llvmMachineAbi(target: std.Target) ?[:0]const u8 { } } +/// This function returns 1 if function alignment is not observable or settable. pub fn defaultFunctionAlignment(target: std.Target) u32 { return switch (target.cpu.arch) { .arm, .armeb => 4, @@ -753,3 +754,10 @@ pub fn defaultFunctionAlignment(target: std.Target) u32 { else => 1, }; } + +pub fn supportsFunctionAlignment(target: std.Target) bool { + return switch (target.cpu.arch) { + .wasm32, .wasm64 => false, + else => true, + }; +} |
