Commit Graph

7040 Commits

Author SHA1 Message Date
Andrew Kelley b3cbf290c8 remove misleading documentation 2019-12-16 12:07:05 -05:00
Andrew Kelley 496f271d17 Merge branch 'shawnl-lessThan'
* always allow integer comparison operations no matter the
   bit width, signedness, or comptime-ness of operands.
   closes #2133
 * implement comparisons for vectors, which returns vector of
   bools.

closes #3001
2019-12-16 11:39:13 -05:00
Andrew Kelley 1cad0acc7e add behavior test for vector comparison 2019-12-16 11:22:28 -05:00
Andrew Kelley 9468d63819 allow comparison of any numeric types 2019-12-16 11:09:10 -05:00
Lachlan Easton fe0e8c87b7 Tokenizer: Copy optional tokens prior to being set to null #3737 (#3910)
* Tokenizer: Copy optional tokens prior to being set to null #3737

* Add TODO comments, reminder to audit copying optional pattern.
2019-12-16 11:01:02 -05:00
Andrew Kelley 0f09ff4923 Merge pull request #3916 from Vexu/translate-c-2
Translate-c-2 macros
2019-12-16 10:55:32 -05:00
Andrew Kelley 650acc5e3d Merge pull request #3922 from LemonBoy/eventfd-err
More eventfd stuff
2019-12-16 10:45:09 -05:00
Vexu 04dc0bd0e4 translate-c-2 variable aliasing 2019-12-16 12:45:00 +02:00
LemonBoy 9d9b0720f5 Fix for the error codepath in ChildProcess 2019-12-16 10:57:29 +01:00
LemonBoy c257f892fd Revert "Revert "Use eventfd in ChildProcess on Linux""
This reverts commit 2c7a2aefbf.
2019-12-16 10:56:53 +01:00
Vexu a37caaa528 translate-c-2 parameter name aliasing 2019-12-16 10:39:31 +02:00
Shawn Landden 143603b39f std: lessThan and greaterThan between signed and unsigned
It is a deviation from C, but I think we should consider making this the behavior
of the operators. See #2133
2019-12-16 01:41:26 -05:00
Andrew Kelley 2c7a2aefbf Revert "Use eventfd in ChildProcess on Linux"
This reverts commit b169f7b0d5.

This caused `integer cast truncated bits` at
std/child_process.zig:801:12

Can be reproduced on my machine simply by running `make`.
2019-12-16 01:39:41 -05:00
Vexu 620bf695e8 organize tests 2019-12-16 07:43:18 +02:00
Vexu 0f38410ea6 improve extern enum 2019-12-15 19:28:53 -05:00
Vexu ab60c8e28f c tokenizer escape sequences 2019-12-16 00:55:50 +02:00
Vexu 9f0e83a571 translate-c-2 macro functions 2019-12-15 23:46:35 +02:00
LemonBoy 59de23dfa0 Don't assume TLS storage has a fixed address
Fixes #3433
2019-12-15 16:23:42 -05:00
LemonBoy b169f7b0d5 Use eventfd in ChildProcess on Linux
Closes #819
2019-12-15 14:43:37 -05:00
LemonBoy f1407b4b7e Generate the fn pointers into the correct address space
Fixes #3645
2019-12-15 14:42:53 -05:00
LemonBoy 19ddbd9e9e Make sure the address is aligned for intToPtr ops
Closes #773
2019-12-15 14:41:05 -05:00
Vexu ed2a19dcec translate-c-2 macro cast 2019-12-15 21:32:30 +02:00
Vexu 57170f9eb6 translate-c-2 macro inline fn 2019-12-15 19:28:34 +02:00
Vexu 75218d4765 translate-c-2 macros 2019-12-15 14:44:11 +02:00
Vexu c3724a6e72 translate-c-2 c tokenizer 2019-12-15 10:30:38 +02:00
Andrew Kelley cf0d300dde Merge pull request #3908 from Vexu/translate-c-2
Translate-c-2 enums
2019-12-14 21:13:42 -05:00
Vexu e57e3602e7 translate-c-2 implement enums 2019-12-14 23:24:47 +02:00
Vexu 1a967db083 add default initializers to all ast.Node base values 2019-12-14 20:40:56 +02:00
Andrew Kelley 33d9dda558 Merge pull request #3906 from Vexu/translate-c-2
Translate-c-2 structs and unions
2019-12-14 13:12:39 -05:00
Vexu 1f84586836 translate-c-2 avoid collisions with zig keywords 2019-12-14 17:00:10 +02:00
Vexu 4dae70e702 translate-c-2 container aliases 2019-12-14 13:40:33 +02:00
Vexu a4ac6d15c4 translate-c-2 array initializer expr 2019-12-14 10:49:25 +02:00
Vexu e4ca1f441b translate-c-2 record type 2019-12-14 02:00:01 +02:00
Andrew Kelley 21a85d4fb6 Merge pull request #3896 from Vexu/translate-c-2
Translate-c self-hosted var decl and remove translate mode
2019-12-13 15:48:10 -05:00
Vexu 45abfa9e71 revert removal of translate mode in stage 1 2019-12-13 19:06:32 +02:00
Vexu 41a67126a5 translate-c-2 typedef 2019-12-13 17:40:37 +02:00
Vexu eb057ef41c translate-c-2 dont eval init expr 2019-12-13 15:07:10 +02:00
Andrew Kelley e54c49be9b uncomment a now-passing behavior test 2019-12-12 19:45:33 -05:00
Andrew Kelley 1e4bae6692 update stack traces tests 2019-12-12 19:43:04 -05:00
Jonathan Marler 4cb4148b35 Document sentinel type in langref 2019-12-12 19:01:22 -05:00
Andrew Kelley 7699b5b997 Merge branch 'Xe-expose-callMain'
closes #3891
2019-12-12 18:56:39 -05:00
Andrew Kelley fff3c1fff4 un-special-case startup code in the std lib
Previously, the compiler had special logic to determine whether to
include the startup code, which was in `std/special/start.zig`. Now,
the file is moved to `std/start.zig`, and there is no special logic
in the compiler. Instead, the standard library unconditionally imports
the `start.zig` file, which then has a `comptime` block that does the
logic of determining what, if any, start symbols to export. Instead of
`start.zig` being in its own special package, it is just another normal
file that is part of the standard library.

`std.builtin.TestFn` is now part of the standard library rather than
specially generated by the compiler.
2019-12-12 18:33:44 -05:00
Christine Dodrill b37acc4d68 allow custom OS entrypoint
Also:

 * Expose `std.start.callMain`.
 * Other fixes added to fix issues found in development.
2019-12-12 16:00:23 -05:00
Andrew Kelley 81f1f72197 ci: skip non native tests for aarch64
We've been hitting timeouts on this service. Once zig build gains
parallel processing support, we can probably enable more tests.
2019-12-12 15:11:59 -05:00
Vexu 0795f17db2 translate-c-2 incompleteArray 2019-12-12 21:39:04 +02:00
Vexu 48ac84db1b translate-c-2 translate apvalue 2019-12-12 20:35:40 +02:00
Vexu c759a77aa0 fix dot init parsing 2019-12-12 13:06:48 -05:00
Vexu 3bca025091 update tests 2019-12-12 18:18:43 +02:00
Vexu ef361161e2 translate-c-2 add var decl 2019-12-12 16:12:19 +02:00
Vexu 69dee57d95 remove concept of translate mode 2019-12-12 14:26:24 +02:00