Commit Graph

7312 Commits

Author SHA1 Message Date
LemonBoy
5b34697b21 Cast integer literals to their specified type 2020-01-08 10:19:04 +01:00
LemonBoy
fd7e69a2c0 More translate-c fixes
* Translate OpaqueValueExpr
* Translate BinaryConditionalOperator
* Fix translation of boolean->int casts
* Reoder some tokens to avoid rendering errors
2020-01-08 08:43:37 +01:00
LemonBoy
2a5c622e65 Fix crash with unresolved loc
Fixes #4099
2020-01-07 18:16:17 -05:00
Andrew Kelley
9f064bcf74
Merge pull request #4091 from xackus/json_copy_strings
json: implement copy_strings=false
2020-01-07 16:42:14 -05:00
Andrew Kelley
7b73c7fe12
Merge branch 'std-utf16-sentinel-terminated' of https://github.com/daurnimator/zig 2020-01-07 16:13:34 -05:00
Andrew Kelley
e2e9be5dea
Merge branch 'dcao-master'
closes #3981
2020-01-07 16:02:58 -05:00
Andrew Kelley
af390b75db
cleanups related to --eh-frame-hdr 2020-01-07 16:02:38 -05:00
David Cao
8e57dd57ca
add --eh-frame-hdr conditionally 2020-01-07 15:58:40 -05:00
David Cao
599213463d
add --eh-frame-hdr arg for linking 2020-01-07 15:58:39 -05:00
Rocknest
437c6a4b7e Make markdown parser more safe (#4105)
Fixes #3722
2020-01-07 15:26:21 -05:00
LemonBoy
3607d9ee68 Fix crash in struct initializer evaluation
Closes #4100
2020-01-07 15:06:22 -05:00
mogud
688d02176c build support list options 2020-01-07 13:59:53 -05:00
emekoi
156e43b463 added -- to pass args to zig build commands 2020-01-07 13:59:16 -05:00
LemonBoy
e81b505960 Use the correct calling convention for AEABI intrinsics 2020-01-07 13:42:47 -05:00
Andrew Kelley
4e4ba6c3e1
test harness: show annotated case name when translate-c test fails 2020-01-07 13:40:17 -05:00
xackus
814b54d798 json tests: don't use debug allocator 2020-01-07 19:03:11 +01:00
hryx
2933a8241a json: disallow overlong and out-of-range UTF-8
Fixes #2379

= Overlong (non-shortest) sequences

UTF-8's unique encoding scheme allows for some Unicode codepoints
to be represented in multiple ways. For any of these characters,
the spec forbids all but the shortest form. These disallowed longer
sequences are called "overlong". As an interesting side effect of
this rule, the bytes C0 and C1 never appear in valid UTF-8.

= Codepoint range

UTF-8 disallows representation of codepoints beyond U+10FFFF,
which is the highest character which can be encoded in UTF-16.
Because a 4-byte sequence is capable of resulting in such characters,
they must be explicitly rejected. This rule also has an interesting
side effect, which is that bytes F5 to FF never appear.

= References

Detecting an overlong version of a codepoint could get gnarly, but
luckily The Unicode Consortium did the hard work by creating this
handy table of valid byte sequences:

https://unicode.org/versions/corrigendum1.html

I thought this mapped nicely to the parser's state machine, so I
rearranged the relevant states to make use of it.
2020-01-07 12:07:44 -05:00
via
9390e8b848 Preserve packed attribute in C translated struct (#4085)
* Preserve packed attribute in C translated struct

* Add tests for packed C struct
2020-01-07 02:36:07 -05:00
Andrew Kelley
8492c46ade
add test case for already fixed bug
closes #2655
2020-01-06 23:03:07 -05:00
LemonBoy
8c640b3e60 Prevent bitCast to enum types
Stop the user from creating invalid enum values.
2020-01-06 19:36:17 -05:00
LemonBoy
7e7d0e1ffa
Better handling of decayed arrays to pointers 2020-01-06 19:32:53 -05:00
Timon Kruiper
0deab8fd3b Add std.mem.zeroes to the standard library
This zero initializes the type passed in. Can be used to zero
initialize c structs.
2020-01-06 19:24:17 -05:00
Andrew Kelley
baaef7ed97
Merge pull request #4083 from LemonBoy/better-stdbool
Better _Bool translation
2020-01-06 19:21:55 -05:00
Andrew Kelley
bf678a12df
Merge branch 'LemonBoy-c-anon-stuff'
closes #4081
2020-01-06 19:18:05 -05:00
LemonBoy
62413da9d3
Add run-translated-c test & fix one more edge case 2020-01-06 19:17:47 -05:00
LemonBoy
2da9e0060b
Add explanation about weird clang behavior on windows 2020-01-06 19:17:47 -05:00
LemonBoy
1dc25d7550
Translate anonymous union/struct 2020-01-06 19:17:47 -05:00
Tadeo Kondrak
f83b02a581 translate-c: use @intToPtr to cast away qualifiers 2020-01-06 19:09:49 -05:00
LemonBoy
e3a63b4e5a Add more compiler-rt functions for ARM platform 2020-01-06 19:08:15 -05:00
Andrew Kelley
d3d77138ec
remove redundant license file 2020-01-06 19:05:42 -05:00
Andrew Kelley
633b6bf920
Merge branch 'LemonBoy-cc-work' 2020-01-06 18:53:17 -05:00
Andrew Kelley
c0e8837ce9
update docs with regards to callconv 2020-01-06 18:26:20 -05:00
Andrew Kelley
be2483c576
fix test suite regressions 2020-01-06 18:20:31 -05:00
Andrew Kelley
5ada610e09
update translate-c and tests for new extern/callconv syntax 2020-01-06 17:54:16 -05:00
Andrew Kelley
3b5c71d2a5
fix regression with @TypeInfo 2020-01-06 17:13:45 -05:00
Andrew Kelley
53913acaf7
zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
Andrew Kelley
5951b79af4
remove stdcallcc, extern, nakedcc from stage1; zig fmt rewrites 2020-01-06 15:23:05 -05:00
Andrew Kelley
0a9daeb37e
Merge branch 'cc-work' of https://github.com/LemonBoy/zig into LemonBoy-cc-work 2020-01-06 14:07:56 -05:00
Colin Svingen
4e6ad8efd9 Removes proc_raise from WASI implementation 2020-01-06 14:04:55 -05:00
xackus
6bebf741f9 json: implement copy_strings=false 2020-01-06 19:59:54 +01:00
LemonBoy
eca294cd23 Add run-translated-c test 2020-01-06 00:18:26 +01:00
LemonBoy
cd39f6df95 Better _Bool translation 2020-01-06 00:12:18 +01:00
Andrew Kelley
c30106c906
add test case to cover already-solved bug
closes #2401
2020-01-05 17:42:03 -05:00
LemonBoy
6ff70d3c31 Better InitListExpr translation 2020-01-05 17:39:29 -05:00
Andrew Kelley
5888d84ea3
Merge branch 'data-man-rusage'
closes #3854
2020-01-05 17:03:31 -05:00
Andrew Kelley
fee9318b17
std.os.getrusage: add C extern fn and reserved field
* add reserved field to match musl struct definition so that
   it will work with musl libc.
 * add libc getrusage so that it will work with libc

what's not done in this branch is:
 * test coverage. See #1629, which should also aim to provide
   general test coverage for the std lib.
 * rusage struct bits for non-linux operating systems
2020-01-05 16:57:14 -05:00
data-man
2f6b045fb1
Add std.os.getrusage 2020-01-05 16:52:36 -05:00
Andrew Kelley
62bebda270
add "Improving Translate-C" section to CONTRIBUTING.md 2020-01-05 15:42:55 -05:00
Andrew Kelley
d7bff05098
Merge pull request #4064 from ziglang/fix-4054
use @intCast instead of @as for shift rhs
2020-01-05 15:01:21 -05:00
Andrew Kelley
a0ca34979e
Merge pull request #4053 from ziglang/test-run-translated-c
add test harness for "run translated C" tests
2020-01-05 14:50:02 -05:00