| Age | Commit message (Collapse) | Author |
|
|
|
Missed a couple places last time so just doing the rest.
|
|
* CLI: change to -mred-zone and -mno-red-zone to match gcc/clang.
* build.zig: remove the double negative and make it an optional bool.
This follows precedent from other flags, allowing the compiler CLI to
be the decider of what is default instead of duplicating the default
value into the build system code.
* Compilation: make it an optional `want_red_zone` instead of a
`no_red_zone` bool. The default is decided by a call to
`target_util.hasRedZone`.
* When creating a Clang command line, put -mred-zone on the command
line if we are forcing it to be enabled.
* Update update_clang_options.zig with respect to the recent {s}/{} format changes.
* `zig cc` integration with red zone preference.
|
|
Related: #4917
|
|
|
|
* `zig env`:
* fix depreciated interface, update outStream -> writer
* make code more readable by updating `anytype` -> `std.fs.File.Writer`
|
|
Apparently ARM uses @ for comments. Everything seems to accept % here
though.
|
|
stage2: support dynamically linking musl libc
|
|
|
|
glibc is dropping this functionality moving forward.
This is a partial revert of commit
97c0e1cc41c24c6cbb60117751d5b82dcd9d0e43
|
|
also remove redundant "util" string matching.
|
|
This is the part of #3960 that has to be rewritten to apply to latest
master branch code.
|
|
* stage2: Make zig cc more verbose
Make `zig cc` print more info from Clang itself and from our own linker
invocation, this is needed for CMake to properly discover all the
include directories and library search paths.
Closes #7110
* Update `update_clang_options`
* Typo fixes
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
|
|
Remove ArrayList.span
|
|
|
|
|
|
path. (#6635)
* tools/update_clang_options: fix src-self-hosted path now simply src.
* tools/update_clang_options: add zig run usage example.
|
|
Closes #6091
|
|
This cleans up how the CLI parses and handles -E, -S, and -c.
Compilation explicitly acknowledges when it is being used to do C
preprocessing.
-S is properly translated to -fno-emit-bin -femit-asm but Compilation
does not yet handle -femit-asm.
There is not yet a mechanism for skipping the linking step when there is
only a single object file, and so to make this work we have to do a file
copy in link.flush() to copy the file from zig-cache into the output
directory.
|
|
When upgrading to the new std lib HashMap API, the process_headers code
regressed because something that was supposed to be a pointer ended up
being a copy of a value. This resulted in the modification of a field
not being picked up.
Also switch from Sha256 to Blake3 while we're at it.
|
|
|
|
|
|
Instead of having all primitives and constructions share the same namespace,
they are now organized by category and function family.
Types within the same category are expected to share the exact same API.
|
|
|
|
|
|
|
|
closes #4938
|
|
|
|
new ArrayList API
|
|
|
|
In an MSVC context, `-MT` means
"Use static run-time"
and it is a flag with no parameter.
On POSIX it means
"Specify name of main file output in depfile"
and it is "joined or separate".
The former was interfering with the latter. Now, the MT flag is required
to be specified with a `/` to disambiguate: `/MT`.
|
|
|
|
Zig disables its caching and forwards these args when any are provided.
see #4784
|
|
|
|
However these are all treated like zig's -mcpu parameter.
See #4784
|
|
|
|
|
|
This caused link errors in c++ code because it was not correct to pass
these flags to child codegens. And that was the only reason to detect
these flags. Otherwise we can safely rely on non-explicitly-detected
flag forwarding.
|
|
See #3811
|
|
This is only the first step; it makes zig cc recognize -z and append it to the linker args, but the linker arg parsing doesn't support -z yet so it will just give the warning 'unsupported linker arg: -z'
|
|
|
|
|
|
closes #4786
|
|
it turns on --verbose-cc and --verbose-link
|
|
|
|
|
|
|
|
- punt when `-E` is supplied
- punt when `-S` is supplied
|
|
* The generated options data file is sorted now in a way that
makes sure longer prefixes are first. This prevents collisions
with some parameters.
* Add support for `-fPIC`, `-fno-PIC`, `-nostdlib`, `-shared`,
`-rdynamic`, `-Wl,-soname`, `-Wl,-rpath`
* Better support for `-o`.
* Disable generating h files
* Shared library support.
* Better positional argument support.
|
|
The basics are working
|