aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Cameron <ascottcameron@gmail.com>2020-10-25 23:30:22 +1100
committerVeikka Tuominen <git@vexu.eu>2020-12-23 15:03:11 +0200
commitca282184ae4f02aa1eec8cf1301df89accbb4e1b (patch)
tree1845367317dcb0572016ce0af0d1d7cd6fe408a6
parent51a904677c9c9264f4856aaff270b18483205443 (diff)
downloadzig-ca282184ae4f02aa1eec8cf1301df89accbb4e1b.tar.gz
zig-ca282184ae4f02aa1eec8cf1301df89accbb4e1b.zip
Implement parsing for multi-arg Clang options.
-rw-r--r--src/main.zig11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main.zig b/src/main.zig
index 3b8ebb1461..3bcae364d0 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -3056,8 +3056,15 @@ pub const ClangArgIterator = struct {
@panic("TODO");
}
},
- .multi_arg => if (clang_arg.matchEql(arg) > 0) {
- @panic("TODO");
+ .multi_arg => |num_args| if (clang_arg.matchEql(arg) > 0) {
+ // Example `-sectcreate <arg1> <arg2> <arg3>`.
+ var i: usize = 0;
+ while (i < num_args) : (i += 1) {
+ self.incrementArgIndex();
+ self.other_args.len += 1;
+ }
+ self.zig_equivalent = clang_arg.zig_equivalent;
+ break :find_clang_arg;
},
}
else {