aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorGuillaume Wenzek <gwenzek@users.noreply.github.com>2022-09-16 22:21:14 +0200
committerAndrew Kelley <andrew@ziglang.org>2022-10-15 10:39:19 -0700
commitaad983cf40dad209ccc79b1e5ef4531e1b4d4ca7 (patch)
treefc56b5007f1a66e8b1e693e33518a9c937140435 /src/Module.zig
parent92a857b76c9a6ff7b885b623ae86844ca77ed646 (diff)
downloadzig-aad983cf40dad209ccc79b1e5ef4531e1b4d4ca7.tar.gz
zig-aad983cf40dad209ccc79b1e5ef4531e1b4d4ca7.zip
sanitize qualified name for nvptx backend
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 7d87bdba53..fd5cf29516 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -720,6 +720,15 @@ pub const Decl = struct {
var buffer = std.ArrayList(u8).init(mod.gpa);
defer buffer.deinit();
try decl.renderFullyQualifiedName(mod, buffer.writer());
+
+ // Sanitize the name for nvptx which is more restrictive.
+ if (mod.comp.bin_file.options.target.cpu.arch.isNvptx()) {
+ for (buffer.items) |*byte| switch (byte.*) {
+ '{', '}', '*', '[', ']', '(', ')', ',', ' ', '\'' => byte.* = '_',
+ else => {},
+ };
+ }
+
return buffer.toOwnedSliceSentinel(0);
}