Andrew Kelley
4616af0ca4
introduce operating system version ranges as part of the target
...
* re-introduce `std.build.Target` which is distinct from `std.Target`.
`std.build.Target` wraps `std.Target` so that it can be annotated as
"the native target" or an explicitly specified target.
* `std.Target.Os` is moved to `std.Target.Os.Tag`. The former is now a
struct which has the tag as well as version range information.
* `std.elf` gains some more ELF header constants.
* `std.Target.parse` gains the ability to parse operating system
version ranges as well as glibc version.
* Added `std.Target.isGnuLibC()`.
* self-hosted dynamic linker detection and glibc version detection.
This also adds the improved logic using `/usr/bin/env` rather than
invoking the system C compiler to find the dynamic linker when zig
is statically linked. Related: #2084
Note: this `/usr/bin/env` code is work-in-progress.
* `-target-glibc` CLI option is removed in favor of the new `-target`
syntax. Example: `-target x86_64-linux-gnu.2.27`
closes #1907
2020-02-28 14:51:53 -05:00
Andrew Kelley
fba39ff331
restructuring std.Target for OS version ranges, pass 1
2020-02-28 14:51:50 -05:00
Michael Dusan
68dbba212d
Merge pull request #4576 from mikdusan/housekeeping
...
stage1: housekeeping
2020-02-28 10:22:28 -05:00
Michael Dusan
a6087a7bc1
stage1: housekeeping
2020-02-28 08:30:43 -05:00
Andrew Kelley
c39d7a6326
fix exported variable not respecting linkage
2020-02-27 11:51:43 -05:00
LemonBoy
2696c8b42d
ir: Robust checking for init expr type
...
Closes #3979
2020-02-27 10:40:22 -05:00
LemonBoy
6a0927d8c1
debug: Fix end-of-stream condition in DWARF parser
2020-02-26 21:02:54 -05:00
LemonBoy
fd1eade4ca
ir: Allow empty inferred error sets
...
Closes #4564
2020-02-26 21:02:22 -05:00
Andrew Kelley
0a88352689
fix behavior tests with --test-evented-io
2020-02-26 13:17:38 -05:00
Andrew Kelley
2b33e27e1c
arm baseline CPU is v7a rather than v6m
...
v6m is thumb-mode and the baseline should probably be an 'a' variant.
2020-02-26 12:37:13 -05:00
Andrew Kelley
6291e8e492
Merge branch 'Vexu-tagname'
...
closes #4559
closes #3991
2020-02-26 11:21:30 -05:00
Andrew Kelley
62de32a18c
call deinit on the hashmaps introduced in the prev commit
2020-02-26 11:21:10 -05:00
Vexu
22432b15e3
add test for @intToEnum
2020-02-26 11:19:40 -05:00
Vexu
215797749d
fix @intToEnum on extern enums
2020-02-26 11:19:40 -05:00
Vexu
d505ea6caf
fix @tagName on extern and non-exhaustive enums
2020-02-26 11:19:39 -05:00
Andrew Kelley
c4a2734aa0
Merge pull request #4561 from LemonBoy/fix-4536-1
...
Resend of #4552
2020-02-26 11:11:28 -05:00
Andrew Kelley
aa2aad229c
Merge pull request #4497 from LemonBoy/do-do-do
...
The great stack-trace race (Part 1 of N)
2020-02-26 11:10:38 -05:00
LemonBoy
d2535c003c
ir: Fix regression with self-referencing containers
2020-02-26 10:05:04 +01:00
Andrew Kelley
a55e536391
fix typo in previous commit
...
oops, forgot to actually run the test
2020-02-25 21:32:03 -05:00
Andrew Kelley
e75598af3d
add test case to catch regression from previous commit
...
Once this test case is passing, previous commit can be re-added.
Closes #4560
2020-02-25 21:24:27 -05:00
Andrew Kelley
dad62a7e27
Revert "ir: Fix sizeOf comparison with ptr to zst"
...
This reverts commit 89812217b4e5fee7e2851266c17c9d47204a1573.
This caused #4560
2020-02-25 21:23:35 -05:00
LemonBoy
e9bac8be6b
ir: Fix array to slice conversion for zero-sized arrays
...
Closes #3848
2020-02-25 17:40:01 -05:00
LemonBoy
55ea855e2c
ir: Various fixes for comptime ptr handling
...
* Correctly fold ptrToInt on optional types
* Generate null as ConstPtrSpecialNull in intToPtr
* Correctly stop ptrToInt on ?*T where T is zero-sized
Closes #4535
2020-02-25 17:38:56 -05:00
LemonBoy
89812217b4
ir: Fix sizeOf comparison with ptr to zst
...
Closes #4536
2020-02-25 17:36:54 -05:00
Michael Dusan
416a547cdb
Merge pull request #4515 from mikdusan/stage1-gen-constants
...
stage1: free more heap after analysis
2020-02-25 10:57:47 -05:00
LemonBoy
b46efcde82
ir: Fix sizeOf comparison with ptr to zst
...
Closes #4536
2020-02-25 12:48:08 +01:00
Andrew Kelley
26b2e5fda8
Merge branch 'vegecode-formatted-print-to-std.Buffer'
...
closes #4385
2020-02-24 22:34:24 -05:00
Andrew Kelley
7cfe854359
clean up std.Buffer.print
2020-02-24 22:34:06 -05:00
vegecode
6fa143355f
Add formatted printing directly into std.Buffer
2020-02-24 22:30:23 -05:00
Andrew Kelley
5503f3f7c4
Merge pull request #4544 from BarabasGitHub/zeroes-for-non-extern-types
...
implement zeroes for non extern structs and native types
2020-02-24 22:01:56 -05:00
Andrew Kelley
61a50a23e8
Merge pull request #4547 from Vexu/deprecate
...
Remove deprecated builtins
2020-02-24 21:57:29 -05:00
Andrew Kelley
544bc42fd9
expose --verbose-llvm-cpu-features to zig build
2020-02-24 20:11:33 -05:00
Vexu
d56115ef41
remove @IntType and @ArgType (mostly) from the compiler
2020-02-25 01:27:34 +02:00
Vexu
538d9a5dd8
remove uses of @ArgType and @IntType
2020-02-24 23:39:03 +02:00
Vexu
3458fb891d
remove @typeId, @memberCount, @memberName and @memberType from the compiler
2020-02-24 23:21:11 +02:00
Bas van den Berg
f7aa4f5280
Processed review comments. Updated documentation, used the typinfo for field access, generate compile error on allowzero and set C poitners to null
2020-02-24 22:15:04 +01:00
Vexu
45da72c5b6
remove usages of @typeId, @memberCount, @memberName and @memberType
2020-02-24 23:09:01 +02:00
Bas van den Berg
195195d238
vectors do not support iterating, do not support them (for now)
2020-02-24 20:50:51 +01:00
Bas van den Berg
0972b2a8fe
implement zeroes for non extern structs and native types
2020-02-24 20:38:33 +01:00
Andrew Kelley
1d06c82c3b
Merge pull request #4516 from xackus/remove-bytes-to-slice
...
remove @bytesToSlice, @sliceToBytes from the language
2020-02-24 13:51:47 -05:00
J.W
5275b01202
hashing algorithms: fix logic and index out of bounds
2020-02-24 13:43:54 -05:00
Heide Onas Auri
907c5589ae
std.time.Timer.lap: only read system time once ( #4533 )
...
Calling Timer.lap queried the system time twice; once to compute the lap
time and once to reset the timer. This can lead to time discrepancies
between actual and computed durations when summing the result of
Timer.lap in a loop. This commit fixes that.
also fix Timer.read to not require a pointer
2020-02-23 18:25:52 -05:00
LemonBoy
08047cd6d7
correct test expectations
2020-02-23 22:47:48 +01:00
xackus
9c35f680f7
nuke @bytesToSlice, @sliceToBytes in stage1
2020-02-23 19:03:55 +01:00
xackus
7664c3bc11
remove @bytesToSlice, @sliceToBytes from tests, docs
2020-02-23 18:03:50 +01:00
Andrew Kelley
cfe1fbad0f
Merge pull request #4304 from daurnimator/auto-json
...
Add "automatic" JSON facilities
2020-02-23 11:25:15 -05:00
frmdstryr
597648231b
Format decmial 0.0 with no precision as just 0
2020-02-23 11:17:06 -05:00
Andrew Kelley
d1243bf272
Merge pull request #4525 from ziglang/environ
...
update std lib to integrate with libc for environ
2020-02-23 01:38:03 -05:00
Andrew Kelley
94c3dbf9e3
remove no-longer-valid defer
2020-02-23 01:07:19 -05:00
Andrew Kelley
767f041068
std.process: fix typo
2020-02-22 17:49:52 -05:00