aboutsummaryrefslogtreecommitdiff
path: root/lib/std/math.zig
diff options
context:
space:
mode:
authorPhaseMage <phasemage@live.com>2022-01-30 11:27:52 -0800
committerGitHub <noreply@github.com>2022-01-30 21:27:52 +0200
commit8a97807d6812f62db4c3088fecd04a98a84b9943 (patch)
treea7658f7e1d412aa5bcede21c21b455b939074174 /lib/std/math.zig
parent336aa3c332067ad7109a60a1276ce7a8f193ed0e (diff)
downloadzig-8a97807d6812f62db4c3088fecd04a98a84b9943.tar.gz
zig-8a97807d6812f62db4c3088fecd04a98a84b9943.zip
Full response file (*.rsp) support
I hit the "quotes in an RSP file" issue when trying to compile gRPC using "zig cc". As a fun exercise, I decided to see if I could fix it myself. I'm fully open to this code being flat-out rejected. Or I can take feedback to fix it up. This modifies (and renames) _ArgIteratorWindows_ in process.zig such that it works with arbitrary strings (or the contents of an RSP file). In main.zig, this new _ArgIteratorGeneral_ is used to address the "TODO" listed in _ClangArgIterator_. This change closes #4833. **Pros:** - It has the nice attribute of handling "RSP file" arguments in the same way it handles "cmd_line" arguments. - High Performance, minimal allocations - Fixed bug in previous _ArgIteratorWindows_, where final trailing backslashes in a command line were entirely dropped - Added a test case for the above bug - Harmonized the _ArgIteratorXxxx._initWithAllocator()_ and _next()_ interface across Windows/Posix/Wasi (Moved Windows errors to _initWithAllocator()_ rather than _next()_) - Likely perf benefit on Windows by doing _utf16leToUtf8AllocZ()_ only once for the entire cmd_line **Cons:** - Breaking Change in std library on Windows: Call _ArgIterator.initWithAllocator()_ instead of _ArgIterator.init()_ - PhaseMage is new with contributions to Zig, might need a lot of hand-holding - PhaseMage is a Windows person, non-Windows stuff will need to be double-checked **Testing Done:** - Wrote a few new test cases in process.zig - zig.exe build test -Dskip-release (no new failures seen) - zig cc now builds gRPC without error
Diffstat (limited to 'lib/std/math.zig')
0 files changed, 0 insertions, 0 deletions