Commit Graph

5017 Commits

Author SHA1 Message Date
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
Sébastien Marie 161eb4a000 initialize std.os.argv in stage1 compiler. it is needed for selfExePath under OpenBSD 2020-10-11 12:25:16 +00:00
Sébastien Marie 9ff51f22b4 openbsd: address link/Elf.zig comments
- restore correct behaviour on Android target for appending "crtend_android.o"
- some nits
2020-10-11 10:12:40 +00:00
Sébastien Marie f33a610c84 add minimal openbsd support 2020-10-11 08:23:36 +00: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
Andrew Kelley b5a36f676b Merge remote-tracking branch 'origin/master' into llvm11
Conflicts:
  cmake/Findllvm.cmake

The llvm11 branch changed 10's to 11's and master branch added the
"using LLVM_CONFIG_EXE" help message, so the resolution was to merge
these changes together.

I also added a check to make sure LLVM is built with AVR enabled, which
is no longer an experimental target.
2020-10-07 00:46:05 -07:00
Andrew Kelley b2b0bf0506 fixups for the previous commit
* std.fs.File.copyRange and copyRangeAll return u64 instead of usize -
   the returned value is how much of the `len` is transferred, so the
   types should match. This removes the need for an `@intCast`.
 * fix typo that removed a subtraction
 * Fix the size of codegen.AnyMCValue which gave me a compile error when
   I tried to build self-hosted for i386-linux.
 * restore the coercion to u64 of syms_sect.sh_info. We want to make
   sure the multiplication happens with 64 bits and not the smaller type
   used by the ELF format.
 * fix another offset parameter in link/Elf.zig to be u64 instead of usize
 * add a nice little TODO note to help out Jakub
 * FmtError already has FileTooBig in it; we just need to return it.
2020-10-07 00:39:13 -07:00
Timon Kruiper bd7eab573a Fix building the zig compiler for 32-bit targets 2020-10-06 23:39:58 -07:00
Noam Preil 7d69e1d84e Rename variables in resolvePeerTypes for clarity 2020-10-07 02:36:04 -04:00
Noam Preil de093879cc Fix peer type resolution 2020-10-07 02:31:47 -04:00
Tadeo Kondrak bf4bfe54ac Update compile error test for field access of opaque type 2020-10-06 22:08:30 -06:00
Tadeo Kondrak 0a56390230 stage1: use size_t over int as index in resolve_opaque_type 2020-10-06 22:08:28 -06:00
Tadeo Kondrak d71f339395 stage1: disallow fields in opaque types 2020-10-06 22:08:27 -06:00
Tadeo Kondrak d5b8172a82 translate_c: emit opaque {} instead of @Type(.Opaque) 2020-10-06 22:08:26 -06:00
Tadeo Kondrak 2b4b03d301 Update zig files for opaque type syntax 2020-10-06 22:08:25 -06:00
Tadeo Kondrak 069fbb3c01 Add opaque type syntax 2020-10-06 22:08:24 -06:00
travisstaloch dd4771a5d2 cache-hash: add test_filter and test_name_prefix (#6583) 2020-10-06 19:36:14 -04:00
LemonBoy 87807d53dd stage2: Fix arg processing for zig run
* Stop parsing arguments after `--`
* Calculate the correct index for the first argument after `--`
2020-10-06 19:31:57 -04:00
Noam Preil 7b88215a49 Replace error message with unreachable 2020-10-06 15:09:57 -04:00
Noam Preil a2e1639d6d Peer type resolution: comptime_int decay to other int 2020-10-06 15:09:57 -04:00
Noam Preil ea7b2750c8 CBE: addition and subtraction 2020-10-06 15:09:57 -04:00
Noam Preil e06ba9e86e CBE: properly resolve Insts 2020-10-06 15:09:57 -04:00
Noam Preil 9ef6c0a035 CBE: utilize per-function arena allocator 2020-10-06 15:09:56 -04:00
Noam Preil 9979719a9d Stage2 peer type resolution: comptime_int + other_int_type 2020-10-06 15:09:56 -04:00
Noam Preil ce29fc0947 Make indentation adjustable (hardcode 4 spaces for now) 2020-10-06 15:09:56 -04:00
Vexu 58502b8bfe translate-c: respect C operator precedence in macros 2020-10-05 22:26:11 -04:00