mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
aro_translate_c: do not translate _Static_assert declarations
This does not completely ignore static asserts - they are validated by aro during parsing; any failures will render an error and non-zero exit code. Emit a warning comment that _Static_asserts are not translated - this matches the behavior of the existing clang-based translate-c. Aro currently does not store source locations for _Static_assert declarations so I've hard-coded token index 0 for now.
This commit is contained in:
parent
d7b9bbecaf
commit
5d8e56c2eb
@ -228,6 +228,7 @@ fn prepopulateGlobalNameTable(c: *Context) !void {
|
||||
const decl_name = c.tree.tokSlice(data.decl.name);
|
||||
try c.global_names.put(c.gpa, decl_name, {});
|
||||
},
|
||||
.static_assert => {},
|
||||
else => unreachable,
|
||||
}
|
||||
}
|
||||
@ -305,6 +306,7 @@ fn transDecl(c: *Context, scope: *Scope, decl: NodeIndex) !void {
|
||||
=> {
|
||||
try transVarDecl(c, decl, null);
|
||||
},
|
||||
.static_assert => try warn(c, &c.global_scope.base, 0, "ignoring _Static_assert declaration", .{}),
|
||||
else => unreachable,
|
||||
}
|
||||
}
|
||||
|
||||
7
test/cases/translate_c/_Static_assert.c
Normal file
7
test/cases/translate_c/_Static_assert.c
Normal file
@ -0,0 +1,7 @@
|
||||
_Static_assert(1 == 1, "");
|
||||
|
||||
// translate-c
|
||||
// target=x86_64-linux
|
||||
// c_frontend=aro
|
||||
//
|
||||
// tmp.c:1:1: warning: ignoring _Static_assert declaration
|
||||
Loading…
x
Reference in New Issue
Block a user