vegecode
0456b2145d
byteOffsetOf rounds up using bit offset in host integer
2020-10-16 20:04:42 -07:00
LemonBoy
d44486b274
std: Add libssp implementation for GNU/Windows targets
...
Unlike glibc and musl, MinGW provides no libssp symbols leading to
countless compile errors if FORTIFY_SOURCE is defined.
Add a (incomplete) implementation of libssp written in Zig so that
linking succeeds.
Closes #6492
2020-10-16 21:22:14 -04:00
Isaac Freund
0e4c3934a0
zig fmt: write modified files to stdout not stderr
2020-10-16 20:23:18 -04:00
Andrew Kelley
8364417c8f
trivial refactor to remove redundant function call
2020-10-16 16:15:50 -07:00
Jakub Konka
abd72781a3
Allow linking with dynamic libraries in main CLI
2020-10-16 19:14:42 -04:00
LemonBoy
f78380b936
stage1: Don't ask LLVM to emit misaligned memcpy
...
Pay close attention to the RHS type alignment when rendering an
assignment op as it may differ from the LHS pointer one.
This problem was noticed when debugging a CI failure in #6648 : due to
sheer luck the misalignment caused a segfault on macos that was also
reproduced locally.
I tried to write a small test case but it turned out to be a daunting
task as I couldn't manage to trigger the problem consistently (and stop
the optimizer from simplifying everything). Patches welcome.
2020-10-16 18:39:48 -04:00
LemonBoy
2a62d4b20b
stage1: Expand undefined struct/arrays when indexed
...
Fixes #6693
2020-10-16 17:13:38 +03:00
Andrew Kelley
d87bd3d8af
fixups regarding windows wide strings
...
* remove GetModuleHandleA from kernel32.zig. use of A functions
considered harmful.
* make it a compile error to expose WinMain instead of wWinMain. same
thing.
* start code declares wWinMainCRTStartup instead of WinMainCRTStartup
when it has the choice.
2020-10-15 19:37:55 -07:00
Andrew Kelley
09a250c531
adjust error message of zig run with no args
...
previously it said "one source file" which was not correct
2020-10-15 17:44:10 -07:00
g-w1
dfce396cf8
friendly error message for zig run with no args
2020-10-15 17:43:44 -07:00
Andrew Kelley
43c2ce10a1
fixups
...
* extract logic into a `os_can_execve` and use it in the other place
that we execve
* outdent some code by introducing `run_or_test` variable
* delete unnecessary and wasteful memory management logic
* better error message for when execve fails
* add comment to explain why we do not execve for `zig test`
2020-10-15 17:18:40 -07:00
g-w1
1c36680928
stage2: use execve where available for zig test and zig run
...
closes #6531
2020-10-15 16:54:50 -07:00
LemonBoy
ab585c680b
stage1: Off-by-one error in int to float conversion
...
The base is 2^64 and not 2^64-1.
Closes #6683
2020-10-15 21:25:59 +03:00
Andrew Kelley
2f52f95b92
Merge pull request #6669 from ifreund/color-fixes
...
std/build: support --color
2020-10-14 21:35:43 -04:00
Andrew Kelley
816304e7e1
add .tbd to usage text
2020-10-14 18:22:50 -07:00
Frank Denis
c0e9d3fb86
Classify .tbd files as shared libraries
...
On macOS, a .tbd ("text-based dylib definition") file is a shared library
stub, allowing symbols to be defined only once for all the architectures
the library was compiled for.
.tbd files can be linked like .dylib files.
2020-10-14 18:19:57 -07:00
Andrew Kelley
0f4386875f
stage2: support ZIG_LIBC env var and detect self as system C compiler
2020-10-14 02:05:56 -07:00
Jakub Konka
68b31c59a6
Merge pull request #6650 from kubkon/macho-incremental
...
stage2: enable incremental MachO linking
2020-10-14 08:20:33 +02:00
LemonBoy
0570df69b1
stage1: Fix missing runtime safety check for intToPtr
...
Elide the alignment check if the pointer alignment is one, the null
check must be preserved as it depends on the pointer type.
Fixes #6667
2020-10-14 00:05:50 -04:00
Isaac Freund
6ba1fdf7e0
stage2: use meta.stringToEnum for Color parsing
...
This requires renaming the variants to be snake_case, which is the new
recommended style anyways.
2020-10-13 20:17:30 +02:00
Jakub Konka
adfd298e44
Do not rewrite paths to dyld and libSystem unless changed
2020-10-13 08:38:17 +02:00
Jakub Konka
951721343f
Reuse text blocks; enable all incremental tests
2020-10-13 08:38:17 +02:00
Jakub Konka
ecd480fe93
Fix writing of load cmds headers *after* symtab update
2020-10-13 08:38:17 +02:00
Jakub Konka
fc660af077
Update allocateTextBlock to use node free list
2020-10-13 08:38:17 +02:00
Jakub Konka
78ec7b671d
Add mechanism for growing/shrinking text blocks
2020-10-13 08:38:17 +02:00
Jakub Konka
0b77152faa
Add local and offset free lists
2020-10-13 08:38:17 +02:00
Andrew Kelley
c19dcafa17
Merge remote-tracking branch 'origin/master' into llvm11
2020-10-12 17:57:35 -07:00
Vignesh Rajagopalan
2ab0c7391a
Rename .macosx to .macos
2020-10-12 18:56:25 -04:00
Andrew Kelley
9f8f446435
fixups to previous commit
...
* std.fs.Dir.readFile: add doc comments to explain what it means when
the returned slice has the same length as the supplied buffer.
* introduce readSmallFile / writeSmallFile to abstract over the
decision to use symlink or file contents to store data.
2020-10-09 16:45:39 -07:00
mlarouche
57912964af
Use regular file for caching stage 1 hash digest instead of symlink, fix zig build caching on Windows
...
Fix #6500
2020-10-09 16:50:43 -04:00
Jakub Konka
04b0ffdd13
Merge pull request #6577 from kubkon/macho-trie
...
stage2: add export trie generation in MachO linker
2020-10-09 17:41:52 +02:00
Jakub Konka
8dc4023615
Apply nitpick: top-level doc comments
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-09 17:40:37 +02:00
Josh Wolfe
bc6904eccc
include compiler_rt and c for wasm static libraries
2020-10-09 01:54:42 -04:00
Andrew Kelley
4053b95d8e
run update_clang_options on llvm 11 rc6
2020-10-08 16:13:37 -07:00
Andrew Kelley
8b7539bd95
Merge remote-tracking branch 'origin/master' into llvm11
...
Conflicts:
src/clang.zig
Master branch renamed an enum; this branch gave it an explicit tag type
and explicitly initialized values. This commit combines the changes
together.
2020-10-08 15:47:45 -07:00
Jakub Konka
ba41e599bf
Clean up writing the trie into ULEB128 byte stream
...
Prealloc as much as possible to improve alloc performance.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-08 19:53:23 +02:00
Jakub Konka
5f86505cf7
Fix ULEB128 encoding of trie
...
Use algorithm described in official Apple `ld64` implementation.
Link: https://opensource.apple.com/source/ld64/ld64-123.2.1/src/abstraction/MachOTrie.hpp
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-08 19:53:03 +02:00
Tadeo Kondrak
83eda21488
zig_clang/translate_c: Use opaque declarations in Zig
2020-10-08 12:29:59 +03:00
Tadeo Kondrak
0e57f220fb
stage1: Disallow arrays in function parameters or return types
...
Closes #6535 .
2020-10-08 04:17:32 -04:00
xavier
eb33394d14
notice more kinds of optimization flags and debug flags
...
Closes #6091
2020-10-07 18:43:05 -04:00
Jakub Konka
ea44d12d1b
Add writeULEB128Mem test and couple fixes
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 23:54:51 +02:00
Andrew Kelley
95a37373e9
Merge pull request #6421 from tadeokondrak/opaque-syntax
...
Add opaque syntax that allows declarations
2020-10-07 16:58:50 -04:00
Jakub Konka
b5b25d38a8
Fix improper reuse of global symbols in MachO
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 20:34:40 +02:00
Jakub Konka
bdab4f53c1
Move trie structure into its own file-module
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 20:34:34 +02:00
Jakub Konka
b13b36a71d
Approach using array list for auto mem mgmt
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 20:33:47 +02:00
Jakub Konka
e76fb8d8c8
Add incomplete writing of trie to bytes buffer
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 20:33:28 +02:00
Jakub Konka
f0a73df8e7
Add prototype for export trie generation in MachO linker
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 18:31:02 +02:00
Jakub Konka
07c33dfc95
Remove obsolete addPadding fn and callsites from MachO linker
...
This is no longer needed due to the way writing to the output
file is structured.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-07 17:18:37 +02:00
Tadeo Kondrak
0a6863a267
Remove .Cold calling convention.
...
This isn't a stable, defined calling convention, so it shouldn't be
grouped in with the others.
Closes https://github.com/ziglang/zig/issues/6556
2020-10-07 04:31:20 -04:00
pfg
ae161863db
stage1: improve error messages for missing try statements
2020-10-07 03:50:11 -04:00