Commit Graph

2436 Commits

Author SHA1 Message Date
Andrew Kelley
ec59f76526
Merge pull request #743 from bnoordhuis/linux-random
Use /dev/urandom and sysctl(RANDOM_UUID) on Linux.
2018-02-05 08:09:10 -05:00
Andrew Kelley
b7bc259093 make OutStream and InStream take an error set param 2018-02-05 07:38:24 -05:00
Andrew Kelley
893f1088df error sets - peer resolution for error unions 2018-02-05 01:49:14 -05:00
Andrew Kelley
15075d2c3d error sets - compile error for equality with no common errors 2018-02-05 00:05:04 -05:00
Andrew Kelley
31abef172a fix accidentally linking against kernel32 on non windows 2018-02-04 22:13:21 -05:00
Andrew Kelley
21ce559c9c add --forbid-library
to help track down accidentally linking against a library
2018-02-04 22:06:03 -05:00
Ben Noordhuis
73ee434c8c Use /dev/urandom and sysctl(RANDOM_UUID) on Linux.
Add fallback paths for when the getrandom(2) system call is not
available.  Try /dev/urandom first and sysctl(RANDOM_UUID) second.

The sysctl issues a warning in the system logs with some kernels but
that seems like an acceptable tradeoff for the fallback of a fallback.
2018-02-04 18:58:36 +01:00
Andrew Kelley
61718742f7 *WIP* error sets - std lib test compile but try to link against windows 2018-02-03 14:42:20 -05:00
Andrew Kelley
ef5e7bb469 *WIP* error sets - an inferred error set can end up being the global one 2018-02-03 14:06:37 -05:00
Andrew Kelley
abf5ae6897 *WIP* error sets - support fns called at comptime 2018-02-03 11:51:29 -05:00
Andrew Kelley
b8f59e14cd *WIP* error sets - correctly resolve inferred error sets 2018-02-02 18:13:32 -05:00
Andrew Kelley
39d5f44863 *WI* error sets - basic support working 2018-02-02 14:26:14 -05:00
Andrew Kelley
cfb2c67692 *WIP* error sets - rewrite "const cast only" function 2018-02-02 11:50:19 -05:00
Andrew Kelley
15eb28efaf
Merge pull request #738 from corngood/cygwin-fixes
make lld include paths private
2018-02-02 10:53:54 -05:00
David McFarland
4ec856b0f0 make lld include paths private
This fixes a build failure on cygwin caused by <string.h> -> <strings.h> taking
the latter from one of the lld paths.
2018-02-02 10:49:31 -04:00
Andrew Kelley
406496ca33 *WIP* error sets - allow peer type resolution to create new error set 2018-02-01 23:32:09 -05:00
Andrew Kelley
13b36d458f *WIP* error sets - fix implicit cast 2018-02-01 10:23:25 -05:00
Andrew Kelley
5f518dbeb9 *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
Andrew Kelley
02b61224b2 add docs for memberType, memberCount, memberName 2018-01-31 20:56:53 -05:00
Andrew Kelley
e6d4028a84 docs: move source encoding section 2018-01-31 20:42:27 -05:00
Andrew Kelley
3a11757d57 add docs recommending to only have 1 cImport 2018-01-31 20:18:47 -05:00
Andrew Kelley
a795e4ce32 add some docs for reflection 2018-01-31 11:47:56 -05:00
Andrew Kelley
44f38b04b0 fix assertion fail when using global var number literal
closes #697
2018-01-31 11:13:39 -05:00
Andrew Kelley
5161d70620 *WIP* error sets 2018-01-31 01:51:31 -05:00
Andrew Kelley
40ca39d3d5 fix error message mentioning unreachable instead of noreturn 2018-01-31 01:44:52 -05:00
Andrew Kelley
3ef6a00bb8 add compile error for duplicate struct, enum, union fields
closes #730
2018-01-30 11:52:03 -05:00
Andrew Kelley
0995a81b8b langref: remove page title header 2018-01-30 10:31:01 -05:00
Andrew Kelley
d6b7d9090e
Merge pull request #729 from zig-lang/www-changes
Improve documentation styling for mobile devices
2018-01-30 01:06:20 -05:00
Andrea Orru
7eea20bc50 Add IntrusiveLinkedList to index.zig 2018-01-29 21:02:57 -08:00
Marc Tiehuis
5e9f87c3bd Improve documentation styling for mobile devices
- No overscrolling on small screens
 - Font-size is reduced for more content per screen
 - Tables + Code blocks scroll within a block to avoid page-widenening
2018-01-30 17:33:38 +13:00
Andrew Kelley
1c60f31450 add compile error for calling naked function 2018-01-29 14:01:12 -05:00
Andrew Kelley
96c9a9bdb3 Merge remote-tracking branch 'origin/master' into llvm6 2018-01-29 13:26:09 -05:00
Andrew Kelley
2b5e0b66a2 std: fix fn return syntax for zen os 2018-01-29 10:57:27 -05:00
Andrew Kelley
abe6c2d585 allow packed containers in extern functions 2018-01-29 10:57:09 -05:00
Andrew Kelley
f66ac9a5e7 fix crash when align 1 field before self referential...
...align 8 field as slice return type

closes #723
2018-01-27 18:30:36 -05:00
Andrew Kelley
ad3e2a5da0 fix compiler crash on function with invalid return type
closes #722
2018-01-26 10:37:18 -05:00
Andrew Kelley
47be64af5a Merge remote-tracking branch 'origin/master' into llvm6 2018-01-25 11:51:41 -05:00
Andrew Kelley
f7670882af
Merge pull request #720 from zig-lang/require-return-type
syntax: functions require return type. remove `->`
2018-01-25 10:03:26 -05:00
Andrew Kelley
3671582c15 syntax: functions require return type. remove ->
The purpose of this is:

 * Only one way to do things
 * Changing a function with void return type to return a possible
   error becomes a 1 character change, subtly encouraging
   people to use errors.

See #632

Here are some imperfect sed commands for performing this update:

remove arrow:

```
sed -i 's/\(\bfn\b.*\)-> /\1/g' $(find . -name "*.zig")
```

add void:

```
sed -i 's/\(\bfn\b.*\))\s*{/\1) void {/g' $(find ../ -name "*.zig")
```

Some cleanup may be necessary, but this should do the bulk of the work.
2018-01-25 04:10:11 -05:00
Andrew Kelley
e5bc5873d7 rename "debug safety" to "runtime safety"
closes #437
2018-01-25 01:46:12 -05:00
Andrew Kelley
b71a56c9df cleanups that I meant to put in the previous commit 2018-01-23 23:12:38 -05:00
Andrew Kelley
b3a6faf13e replace %defer with errdefer
See #632

now we have 1 less sigil
2018-01-23 23:08:09 -05:00
Andrew Kelley
ad2527d47a clean up readme 2018-01-23 22:56:03 -05:00
Andrew Kelley
c2838f2442 fix printf format specifier 2018-01-23 11:40:22 -05:00
Andrew Kelley
b8dcdc75c1
Merge pull request #716 from zig-lang/export-c-additions
Add array type handling for gen_h
2018-01-23 09:20:57 -05:00
Marc Tiehuis
470ec91164 Add array type handling for gen_h 2018-01-23 23:38:20 +13:00
Andrew Kelley
fa7072f3f2 docgen: verify internal links 2018-01-22 23:06:07 -05:00
Andrew Kelley
cf39819478 add new kind of test: generating .h files. and more
* docgen supports obj_err code kind for demonstrating
   errors without explicit test cases
 * add documentation for `extern enum`. See #367
 * remove coldcc keyword and add @setIsCold. See #661
 * add compile errors for non-extern struct, enum, unions
   in function signatures
 * add .h file generation for extern struct, enum, unions
2018-01-22 22:24:07 -05:00
Andrew Kelley
cacba6f435 fix crash on union-enums with only 1 field
closes #713
2018-01-22 17:23:23 -05:00
Andrew Kelley
b52bffcf8d appveyor: add language reference to build artifacts 2018-01-22 16:14:06 -05:00