Commit Graph

4523 Commits (3c7555cb679492f3f1c0ce320cbdf4a3769e56db)

Author SHA1 Message Date
Andrew Kelley 85d23e68ee fix .d file parsing and string literal ast rendering 2019-03-08 23:40:39 -05:00
Andrew Kelley 91955dee58
breaking changes to zig build API and improved caching
* in Zig build scripts, getOutputPath() is no longer a valid function
   to call, unless setOutputDir() was used, or within a custom make()
   function. Instead there is more convenient API to use which takes
   advantage of the caching system. Search this commit diff for
   `exe.run()` for an example.
 * Zig build by default enables caching. All build artifacts will go
   into zig-cache. If you want to access build artifacts in a convenient
   location, it is recommended to add an `install` step. Otherwise
   you can use the `run()` API mentioned above to execute programs
   directly from their location in the cache. Closes #330.
   `addSystemCommand` is available for programs not built with Zig
   build.
 * Please note that Zig does no cache evicting yet. You may have to
   manually delete zig-cache directories periodically to keep disk
   usage down. It's planned for this to be a simple Least Recently
   Used eviction system eventually.
 * `--output`, `--output-lib`, and `--output-h` are removed. Instead,
   use `--output-dir` which defaults to the current working directory.
   Or take advantage of `--cache on`, which will print the main output
   path to stdout, and the other artifacts will be in the same directory
   with predictable file names. `--disable-gen-h` is available when
   one wants to prevent .h file generation.
 * `@cImport` is always independently cached now. Closes #2015.
   It always writes the generated Zig code to disk which makes debug
   info and compile errors better. No more "TODO: remember C source
   location to display here"
 * Fix .d file parsing. (Fixes the MacOS CI failure)
 * Zig no longer creates "temporary files" other than inside a
   zig-cache directory.

This breaks the CLI API that Godbolt uses. The suggested new invocation
can be found in this commit diff, in the changes to `test/cli.zig`.
2019-03-08 23:23:11 -05:00
John Schmidt dd34c21779 PriorityQueue: add bulk insertion methods 2019-03-08 14:23:05 -05:00
Jay Weisskopf cddc77dd97 Remove glibc compat shim with restrictive license
Unlike the other glibc source code checked into the repo, `csu/init.c`
did not have a license clause that allowed linking without restrictions.

`_IO_stdin_used` is the only symbol in the file and appears to be a 20
year old compatibility shim for the glibc 2.0 ABI. Obsolete in 2.1.
2019-03-08 08:46:06 -05:00
Andrew Kelley 1e634a384c
Merge branch 'glibc'
See #514
2019-03-07 16:55:31 -05:00
Andrew Kelley 2bb6825baa
fix passing invalid argument -NDEBUG 2019-03-07 16:53:44 -05:00
Andrew Kelley 3d2c48e4c9 disable some tests until coroutine rewrite is finished 2019-03-07 16:11:00 -05:00
Andrew Kelley 46242c4d38
fix -mllvm command line option regression 2019-03-07 16:08:25 -05:00
Andrew Kelley bbbcf16ef9
fix linking glibc: caching static libs and
handle linking pthread, rt, dl, m better
2019-03-07 15:50:49 -05:00
Andrew Kelley 2caf39c961 fix .d file processing and use -MV to quote spaces 2019-03-07 14:30:50 -05:00
Andrew Kelley 431b3b2459 fix windows build 2019-03-07 13:32:43 -05:00
Andrew Kelley 197311d7dd windows and uefi don't have dynamic linkers 2019-03-07 13:25:17 -05:00
Andrew Kelley 4d8467fafc better behavior when cache dir unavailable
and choose different manifest dir for local cache to avoid
conflict with zig build
2019-03-07 13:16:52 -05:00
Andrew Kelley e2ce00f272 fix regressions on macos 2019-03-07 13:04:10 -05:00
Andrew Kelley ffaa4f0a87
dynamic_linker_path can be null on some targets 2019-03-07 12:21:27 -05:00
Andrew Kelley ce76de35f1
multi-arch glibc headers 2019-03-07 12:16:10 -05:00
Andrew Kelley 189fba4390
process headers tool 2019-03-07 09:15:43 -05:00
Sahnvour 5469e3e3c1 missed change when switching TypeInfo to use comptime_int
fixes #2030
2019-03-06 15:27:56 -05:00
Andrew Kelley ccdef8c0fb
cross compile glibc startup files 2019-03-06 13:22:36 -05:00
Andrew Kelley 697b1233f0
support other architectures for glibc startup files 2019-03-06 12:10:03 -05:00
Andrew Kelley b554f6294f
add popcountdi2 to compiler_rt 2019-03-05 23:09:00 -05:00
Andrew Kelley ba144b366c
build libunwind.a from source and link it 2019-03-05 22:45:41 -05:00
Andrew Kelley 5cecb5e479
libcxx headers 8.0.0rc3 2019-03-05 22:42:35 -05:00
Andrew Kelley bc8c4ec608
libunwind 8.0.0rc3 2019-03-05 22:42:14 -05:00
Andrew Kelley e2f4df6065
std.os.changeCurDir no longer needs an allocator 2019-03-05 18:43:39 -05:00
Andrew Kelley 4c386436ea
support glibc dl, m, pthread, rt 2019-03-05 18:17:22 -05:00
Andrew Kelley e06da10838
fix translate-c 2019-03-05 16:12:19 -05:00
Andrew Kelley 55a0016221
dynamic linker path is independent from libc installation 2019-03-05 16:00:28 -05:00
Andrew Kelley 0d10ab0680
stop linking against gcc files 2019-03-05 14:37:32 -05:00
Andrew Kelley dd263eccb7
support crtbegin.o and crtend.o when using explicit libc 2019-03-05 14:12:46 -05:00
Andrew Kelley c5fdea59d3
building glibc from source 2019-03-05 13:26:59 -05:00
Andrew Kelley aeb16010f3
initial glibc support 2019-03-04 22:15:53 -05:00
Andrew Kelley 0714e19598
Merge remote-tracking branch 'origin/master' into llvm8 2019-03-04 08:24:56 -05:00
Andrew Kelley 9c5852aa86
fix slice of C pointer
closes #2002
2019-03-03 13:04:04 -05:00
Andrew Kelley e3b275fa47
fix build.zig not respecting --static
closes #2027
2019-03-03 12:35:09 -05:00
Andrew Kelley d0d615d819
fix const initialization of optional C pointer to null 2019-03-03 10:47:06 -05:00
sjdh02 74c123cd0a fix check for 64-bit arm platforms with new targets 2019-03-03 10:04:08 -05:00
Andrew Kelley e402455704
rename std lib files to new convention 2019-03-02 16:46:04 -05:00
Andrew Kelley f7835000b6
@returnAddress and @frameAddress return usize now 2019-03-02 15:34:58 -05:00
Andrew Kelley ea5cedced1
fix @typeName on slices
closes #2026
2019-03-02 14:31:27 -05:00
Sahnvour 4bac22e888 all integers returned by @typeInfo are now comptime_int 2019-03-02 14:27:37 -05:00
Andrew Kelley 67b4de33d2
compile error for import outside package path
closes #2024

there's a new cli option `--main-pkg-path` which you can use to choose
a different root package directory besides the one inferred from the
root source file

and a corresponding build.zig API:
foo.setMainPkgPath(path)
2019-03-02 10:38:27 -05:00
Andrew Kelley 99b6429a89
disable tests which are tripping an llvm assertion
See #2019
2019-03-02 08:44:18 -05:00
Andrew Kelley 764205ac13
better error message for `-target windows` CLI
closes #1169
2019-03-01 18:42:09 -05:00
Andrew Kelley bed81089e1
Merge pull request #2020 from ziglang/kill-namespace-type
remove the (namespace) type and make every file an empty struct
2019-03-01 18:07:46 -05:00
Andrew Kelley 9c47bf68fa
gen-h: respect @export 2019-03-01 17:52:17 -05:00
Andrew Kelley fc17b8ee8b remove unused function 2019-03-01 17:36:43 -05:00
Andrew Kelley 26128396f3
gen-h: use the bare type names for now 2019-03-01 17:36:08 -05:00
Andrew Kelley e8dad62441
fix docs typo 2019-03-01 17:23:27 -05:00
Andrew Kelley 5f7d9c5845
@typeInfo for structs and opaque types is the bare name 2019-03-01 17:15:58 -05:00