aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2022-12-06 00:37:36 -0500
committerAndrew Kelley <andrew@ziglang.org>2022-12-06 12:27:28 -0700
commit3686787f6751867dc2bc64c4088b56e11d06fd03 (patch)
treeadcef6d4c39d557a60225b8156d36ebb80647c6a /src/codegen
parentc4dc8515b6321828e1bfa404657f9a5f33aa1346 (diff)
downloadzig-3686787f6751867dc2bc64c4088b56e11d06fd03.tar.gz
zig-3686787f6751867dc2bc64c4088b56e11d06fd03.zip
CBE: add windows-specific reserved identifiers
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/c.zig11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index f32d53ef0d..677a227c6c 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -120,6 +120,7 @@ pub fn typeToCIdentifier(ty: Type, mod: *Module) std.fmt.Formatter(formatTypeAsC
}
const reserved_idents = std.ComptimeStringMap(void, .{
+ // C language
.{ "alignas", {
@setEvalBranchQuota(4000);
} },
@@ -215,14 +216,22 @@ const reserved_idents = std.ComptimeStringMap(void, .{
.{ "void", {} },
.{ "volatile", {} },
.{ "while ", {} },
+
+ // windows.h
+ .{ "max", {} },
+ .{ "min", {} },
});
fn isReservedIdent(ident: []const u8) bool {
- if (ident.len >= 2 and ident[0] == '_') {
+ if (ident.len >= 2 and ident[0] == '_') { // C language
switch (ident[1]) {
'A'...'Z', '_' => return true,
else => return false,
}
+ } else if (std.mem.startsWith(u8, ident, "DUMMYSTRUCTNAME") or
+ std.mem.startsWith(u8, ident, "DUMMYUNIONNAME"))
+ { // windows.h
+ return true;
} else return reserved_idents.has(ident);
}