Andrew Kelley
f18e34c2c6
restore shared library functionality
2016-09-01 11:05:36 -07:00
Andrew Kelley
6e6d138c2f
add ability to explicitly cast enum with no payload to int
2016-08-29 22:14:10 -07:00
Andrew Kelley
651dc31247
implement null as a literal type
2016-08-29 22:14:09 -07:00
Andrew Kelley
1f7ec741fa
implement ?return
expression
2016-08-29 22:14:09 -07:00
Andrew Kelley
ed50bd1b65
progress toward stack trace printing
2016-08-17 20:11:04 -07:00
Andrew Kelley
37d167f6e0
std: conform to style guidelines
2016-08-16 22:42:50 -07:00
Andrew Kelley
0ae9023832
add CBuf to standard library
...
and fix ability to take address of variables
from other namespaces
2016-08-11 22:25:13 -07:00
Andrew Kelley
2ed949a6ae
add zeroes value
2016-08-08 20:43:38 -07:00
Andrew Kelley
d0b11af2bd
new multiline string syntax
...
This patch also moves a bunch of the parser code into the tokenizer.
Closes #162 .
2016-08-04 22:52:38 -07:00
Andrew Kelley
8552d7fd19
explicit wrapping integer operations
...
instead of wrapping integer types
closes #159
2016-07-27 23:08:27 -07:00
Andrew Kelley
06c4b35eb1
std: improve rand implementation and API
2016-07-26 23:51:58 -07:00
Andrew Kelley
bc81ddfea6
unsigned integers for sizes of things
...
Closes #62 .
2016-07-26 20:40:11 -07:00
Andrew Kelley
78d4fb20c4
inline parameters
...
This replaces the current generic syntax for functions and replaces
it with the concept of inline parameters.
This paves the way for the "all structs anonymous" proposal.
Closes #151 .
2016-07-25 22:55:15 -07:00
Andrew Kelley
425c0ffa01
rename NodeTypeStructDecl to NodeTypeContainerDecl
2016-07-17 16:30:41 -07:00
Andrew Kelley
49a4b1b930
ability to cast explicitly from int to enum
...
This commit also fixes a bug where pure functions are marked with
the read-only attribute in debug mode. This resulted in incorrect
codegen because calls to read-only functions with unused values
were not generated.
For example, a call to assert() would not be generated if assert
is marked with read-only. Which it *is* marked with in release
mode.
2016-07-09 15:22:04 -07:00
Andrew Kelley
fbb6d1d7ee
support extern C ABI for return types
2016-05-18 15:32:34 -07:00
Andrew Kelley
6ff996f60f
add int_type builtin function
2016-05-15 01:05:24 -07:00
Andrew Kelley
6ae6b5f5b5
add compile_err builtin
2016-05-14 18:54:37 -07:00
Andrew Kelley
8e3ab28be9
ability to cast maybe pointer to isize/usize
...
also ability to put noalias on maybe pointer
2016-05-13 09:54:56 -07:00
José Miguel Sánchez
b7b864e5e5
For the sake of correctness: we can always rely on ZIG_STD_DIR
2016-05-12 19:55:50 +02:00
José Miguel Sánchez
a1817f462a
Add --zig-std-dir
2016-05-12 18:41:20 +02:00
Andrew Kelley
1eafc85f1f
add readonly attribute to relevant functions and parameters
2016-05-11 15:58:00 -07:00
Andrew Kelley
26718a619c
recognize ar program and pass --gc-sections to ld
...
See #54
2016-05-11 14:44:10 -07:00
Andrew Kelley
d92ae20f45
add hashmap to standard library
...
closes #22
2016-05-09 15:07:38 -07:00
Andrew Kelley
56908dcb9d
add debug safety for shortening casts
...
closes #150
2016-05-09 08:44:41 -07:00
Andrew Kelley
0c32b0b4ad
add list implementation to standard library
2016-05-08 01:34:00 -07:00
Andrew Kelley
18ed87c695
ability to cast u8 slice to bigger slice
2016-05-08 00:59:21 -07:00
Andrew Kelley
404defd99b
add div_exact builtin fn
...
closes #149
2016-05-07 20:53:16 -07:00
Andrew Kelley
eb83111f02
add debug safety for division
...
See #149
2016-05-07 19:58:02 -07:00
Andrew Kelley
9d29674711
ability to cast slice to u8 slice
2016-05-07 18:45:28 -07:00
Andrew Kelley
6f0f357ee4
self hosted tests test release mode too
...
closes #69
2016-05-07 10:14:16 -07:00
Andrew Kelley
8c79438f6b
better array concatenation semantics
...
closes #87
2016-05-07 10:05:59 -07:00
Andrew Kelley
c098a8f522
add frame_address and return_address builtins
2016-05-06 23:10:14 -07:00
Andrew Kelley
9db45ac362
add shl_with_overflow builtin function
...
See #46
2016-05-06 16:45:04 -07:00
Andrew Kelley
100802cdc0
add debug safety for left shifting
...
See #46
2016-05-06 15:46:38 -07:00
Andrew Kelley
b8d17b11a7
add tests for integer overflow crashing
...
see #46
2016-05-05 18:07:15 -07:00
Andrew Kelley
094336f07c
add integer wrapping
...
see #46
2016-05-05 17:19:01 -07:00
Andrew Kelley
dedde0d790
add fence builtin function
2016-05-04 18:34:17 -07:00
Andrew Kelley
c95e497857
add cmpxchg builtin function
2016-05-04 18:19:49 -07:00
Andrew Kelley
66ed7a5eb5
beginnings of network standard library code
2016-05-03 20:48:53 -07:00
Andrew Kelley
7f589c0cab
support maybe destructuring into a pointer variable
2016-05-03 15:06:34 -07:00
Andrew Kelley
d908afe105
add array multiplication operator
2016-04-28 18:03:44 -07:00
Andrew Kelley
a299de2265
better alignment value for stack variables
...
fixes debug info sometimes not being available for parameters
2016-04-28 15:10:27 -07:00
Andrew Kelley
4815c03caa
better parameter codegen
...
* ability to take address of a parameter (closes #97 )
* debug symbols work for parameters
2016-04-27 17:34:53 -07:00
Andrew Kelley
09042f1b0c
add missing debug entry for breakpoint
2016-04-26 15:35:36 -07:00
Andrew Kelley
8ec109de3c
ability to compare booleans
2016-04-26 11:39:31 -07:00
Andrew Kelley
d1fa5692c6
add array bounds checking in debug mode
...
closes #27
2016-04-26 11:36:11 -07:00
Andrew Kelley
d0378057d1
support switching on error union type
...
closes #23
2016-04-25 21:51:04 -07:00
Andrew Kelley
3886fdc19b
rename unknown_size_array to slice
2016-04-24 16:33:52 -07:00
Andrew Kelley
8583fd7f9f
add codegen for pointer comparison
...
see #145
2016-04-24 12:27:59 -07:00