Andrew Kelley
0ac1b83885
fix non-portable format specifier
2018-07-09 17:13:31 -04:00
Andrew Kelley
05f1ea33d2
ZIG_DEBUG_COLOR=1 overrides tty detection for runtime stack traces
2018-07-09 12:12:37 -04:00
Andrew Kelley
2ee67b7642
langref: docs for invalid error set cast and incorrect pointer alignment
...
also add detection of incorrect pointer alignment at compile-time
of pointers that were constructed with `@intToPtr`.
2018-07-09 11:13:29 -04:00
Andrew Kelley
9eb51e20ed
fix crash on @ptrToInt of a *void
...
closes #1192
2018-07-09 10:44:06 -04:00
Andrew Kelley
42ba06133a
std.Hashmap - don't use catch unreachable in tests
2018-07-09 10:44:06 -04:00
Marc Tiehuis
82e9190d09
Update zig.parser benchmark program
2018-07-09 17:14:04 +12:00
Josh Wolfe
410b4d9bdf
builder.addBuildOption
2018-07-08 00:00:05 -04:00
Andrew Kelley
ced3aae3b2
cleaner output from zig build when there are compile errors
2018-07-07 20:31:50 -04:00
Andrew Kelley
d8295c1889
add @popCount intrinsic
2018-07-07 00:25:32 -04:00
Andrew Kelley
e19f0b5d9c
remove outdated semantic analysis documentation
2018-07-06 18:24:09 -04:00
Andrew Kelley
4ad4cd2654
fix iterating over a void slice
...
closes #1203
2018-07-06 17:27:44 -04:00
Andrew Kelley
1cf7511dc9
add compile error notes for where struct definitions are
...
closes #1202
2018-07-06 16:20:46 -04:00
Andrew Kelley
6d793c0ea3
langref: add more internal links
2018-07-06 16:20:31 -04:00
Andrew Kelley
0e9fef78dd
Merge branch 'isaachier-switch-enum-fix'
2018-07-06 12:07:57 -04:00
Andrew Kelley
1a5bd88881
alternate implementation of previous commit
...
This strategy adds another field to the SwitchBr instruction,
which is the result of the CheckSwitchProngs instruction. The
type of the result is void, and is unused, except that the SwitchBr
instruction will not perform analysis if the CheckSwitchProngs
instruction did not pass analysis. This allows the CheckSwitchProngs
instruction to do implicit casting for its type checking, while
preventing duplicate compile error messages.
2018-07-06 12:03:07 -04:00
Isaac Hier
9cff23dbf9
Fix assertion crash on enum switch values
2018-07-04 13:27:10 -04:00
Isaac Hier
9395162a7c
Debug enum issue
2018-07-04 12:47:35 -04:00
Andrew Kelley
8c39cdc89f
fix await on early return when return type is struct
...
previously, await on an early return would try to access the
destroyed coroutine frame; now it copies the result into a
temporary variable before destroying the coroutine frame
2018-07-04 11:51:02 -04:00
Marc Tiehuis
1d18688628
Do not normalize langref.html.in line endings
...
See #1191 .
2018-07-04 23:47:15 +12:00
Jimmi HC
28821b5f31
Fixed last commit compiler error
2018-07-04 11:35:29 +02:00
Jimmi HC
4f32b86142
Allow allocation of any 0 sized type (not just void)
2018-07-04 11:29:02 +02:00
Andrew Kelley
291afcf75a
fix runtime libc detection depending on locale
...
closes #1165
2018-07-03 14:20:26 -04:00
Andrew Kelley
27fc49f72c
langref: improve docs for while and undefined
...
closes #1190
2018-07-03 14:03:27 -04:00
Marc Tiehuis
1eda86e1ad
Clean up outstanding compiler_rt todos
2018-07-03 13:22:12 +12:00
Andrew Kelley
06e8c2e519
fix stage2 macos build
...
See #1173
2018-07-02 17:55:59 -04:00
Andrew Kelley
bd282d6cca
Merge pull request #1176 from bnoordhuis/f16-std
...
improve std.math f16 support
2018-07-02 16:03:25 -04:00
Andrew Kelley
22b7312460
Merge pull request #1173 from ziglang/event-loop-channel
...
add event loop Channel abstraction
2018-07-02 16:01:38 -04:00
Andrew Kelley
35463526cc
add runtime safety for @intToEnum
; add docs for runtime safety
...
See #367
2018-07-02 15:50:28 -04:00
Andrew Kelley
2da999372a
add another BuildError code
2018-07-02 15:25:23 -04:00
Andrew Kelley
96a6bc57d2
modify std.event.Loop to work for windows and macos
2018-07-02 14:38:11 -04:00
Andrew Kelley
a3f55aaf34
add event loop Channel abstraction
...
This is akin to channels in Go, except:
* implemented in userland
* they are lock-free and thread-safe
* they integrate with the userland event loop
The self hosted compiler is changed to use a channel for events,
and made to stay alive, watching files and performing builds when
things change, however the main.zig file exits after 1 build.
Note that nothing is actually built yet, it just parses the input
and then declares that the build succeeded.
Next items to do:
* add windows and macos support for std.event.Loop
* improve the event loop stop() operation
* make the event loop multiplex coroutines onto kernel threads
* watch source file for updates, and provide AST diffs
(at least list the top level declaration changes)
* top level declaration analysis
2018-07-02 14:38:11 -04:00
Andrew Kelley
2759c7951d
always link against compiler_rt.o even when linking libc
...
sometimes libgcc is missing things we need, so we always link
compiler_rt and rely on weak linkage to allow libgcc to override.
2018-07-02 14:10:27 -04:00
Josh Wolfe
0206b76351
syntax in build.zig example doc
2018-07-01 22:03:51 -04:00
Josh Wolfe
e833a5a24c
gitignore docgen test artifacts
2018-07-01 13:47:29 -04:00
Andrew Kelley
4c0e280d6d
Merge pull request #1185 from ziglang/undefined-at-comptime-improvements
...
Operators now throw a compiler error when operating on undefined values
2018-07-01 01:33:23 -04:00
Jimmi Holst Christensen
b182151de5
Fixed line numbers for tests
2018-06-30 21:59:14 +02:00
Jimmi Holst Christensen
055e0fef4e
Avoid resolve_const in cmp when instr are not comptime
2018-06-30 21:22:26 +02:00
Jimmi Holst Christensen
ecd5e60be9
Expanded the list of operators that catch undefined values at comptime
2018-06-30 20:50:09 +02:00
Jimmi Holst Christensen
42033ea3ca
Merge pull request #1167 from ziglang/comptime-array-by-value
...
Implement const_values_equal for arrays
2018-06-30 18:58:31 +02:00
Andrew Kelley
3f4b77f561
Merge pull request #1177 from jayschwa/fix-out-of-src-builds
...
Fix version detection for out-of-source builds
2018-06-30 12:01:47 -04:00
Jimmi Holst Christensen
01bd5c46e1
Revert "ir_resolve_const now checks recursivly for undef values"
...
This reverts commit 4c3f27ce1e
.
2018-06-30 17:35:06 +02:00
Jimmi Holst Christensen
616fe798c8
Revert "contains_comptime_undefined_value should not follow pointers"
...
This reverts commit 58b1692182
.
2018-06-30 17:35:05 +02:00
Marc Tiehuis
887c97742f
Alignment fix and allow rudimentary f128 float printing
2018-06-30 21:58:59 +12:00
Marc Tiehuis
951512f5ae
compiler_rt: Add CMake entries
2018-06-30 21:58:59 +12:00
Marc Tiehuis
9f48b2ab48
compiler_rt: Remove wrapping add/sub operators where unneeded
...
Closes #495 .
2018-06-30 21:58:59 +12:00
Marc Tiehuis
814a34f263
compiler_rt: Add floattitf/floattidf/floattisf
2018-06-30 21:58:59 +12:00
Marc Tiehuis
53fef94b9f
compiler_rt: Add missing install targets
2018-06-30 21:58:59 +12:00
Marc Tiehuis
e19fc4a0a3
compiler_rt: Add missing exports
2018-06-30 21:58:59 +12:00
Marc Tiehuis
cb7bdc2da1
compiler_rt: Add floatuntitf
2018-06-30 21:58:59 +12:00
Marc Tiehuis
61ebfe6603
compiler_rt: Add floatunditf and floatunsitf
2018-06-30 21:58:59 +12:00