Andrew Kelley
|
100e8e15fa
|
fix tokenizing string symbols with hex characters in them
|
2016-07-09 07:54:55 -07:00 |
|
Andrew Kelley
|
b08bc84a36
|
don't add no-frame-pointer-elim for inline functions
and make syscall functions inline
this gets the tests all passing on i386
|
2016-05-18 18:30:03 -07:00 |
|
Andrew Kelley
|
762e686d17
|
inline assembly: allow empty output list
|
2016-05-18 18:20:15 -07:00 |
|
Andrew Kelley
|
39016c1d3e
|
fix offset map for inline assembly error messages
|
2016-05-18 18:05:03 -07:00 |
|
Andrew Kelley
|
f6b16c99ba
|
fix raw string literal crash
|
2016-05-18 17:55:07 -07:00 |
|
Andrew Kelley
|
fbb6d1d7ee
|
support extern C ABI for return types
|
2016-05-18 15:32:34 -07:00 |
|
Andrew Kelley
|
2c710382a8
|
fix crash when error evaluating target of for expr
closes #153
|
2016-05-16 22:51:08 -07:00 |
|
Andrew Kelley
|
9813ae8586
|
add bit_count, is_wrapping, is_signed fields to int types
|
2016-05-15 01:30:25 -07:00 |
|
Andrew Kelley
|
6ff996f60f
|
add int_type builtin function
|
2016-05-15 01:05:24 -07:00 |
|
Andrew Kelley
|
7f90dbbb11
|
switch on compile var marks entire namespaces
as depending on compile vars.
closes #154
|
2016-05-15 00:25:13 -07:00 |
|
Andrew Kelley
|
6ae6b5f5b5
|
add compile_err builtin
|
2016-05-14 18:54:37 -07:00 |
|
Andrew Kelley
|
33e3d56453
|
add error for wrong return type of main
|
2016-05-13 13:08:54 -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
|
22888ca524
|
some work in progress networking code
also, casting to or from a u8 slice makes a function impure
|
2016-05-10 15:00:59 -07:00 |
|
Andrew Kelley
|
d92ae20f45
|
add hashmap to standard library
closes #22
|
2016-05-09 15:07:38 -07:00 |
|
Andrew Kelley
|
f1e5be9686
|
fix ability to use previous generic params and
add error when `%return` shows up in a function with incorrect
return type
|
2016-05-09 13:44:29 -07:00 |
|
Andrew Kelley
|
745c325d0f
|
support variable declarations in structs
See #22
|
2016-05-09 12:34:03 -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
|
aed96e3512
|
fix null literal outside function
|
2016-05-08 00:15:05 -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
|
9e0165147e
|
generic args available to member functions
See #22
|
2016-05-07 17:27:57 -07:00 |
|
Andrew Kelley
|
2ed72022ce
|
support generic data structures
See #22
|
2016-05-07 17:00:58 -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
|
d5d5fd928c
|
link: don't put -l in front of .a or .so files
|
2016-05-07 01:58:18 -07:00 |
|
Andrew Kelley
|
c098a8f522
|
add frame_address and return_address builtins
|
2016-05-06 23:10:14 -07:00 |
|
Andrew Kelley
|
271a37b418
|
implicit wrap widening cast on integer peer types
closes #46
|
2016-05-06 19:49:28 -07:00 |
|
Andrew Kelley
|
6131b37163
|
fix eval integer wrapping and add tests
See #46
|
2016-05-06 19:23:21 -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
|
9ccd0ba961
|
implement string escapes
|
2016-05-01 14:53:48 -07:00 |
|
Andrew Kelley
|
d908afe105
|
add array multiplication operator
|
2016-04-28 18:03:44 -07:00 |
|
Andrew Kelley
|
46b0b84b90
|
ability to specify body of an extern function
closes #101
|
2016-04-28 16:04: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
|
d1b65c6f46
|
fix ability to parse character literals
|
2016-04-24 16:36:05 -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 |
|
Andrew Kelley
|
8ad75a9bf3
|
add compile error for invalid equality operator uses
See #145
|
2016-04-24 12:09:51 -07:00 |
|
Andrew Kelley
|
46ab981787
|
add skeleton for union support
|
2016-04-24 11:24:04 -07:00 |
|
Andrew Kelley
|
899fb14c30
|
fix handling of slice of zero bits type
closes #143
|
2016-04-23 13:58:30 -07:00 |
|
Andrew Kelley
|
55b28ab030
|
fix returning empty struct from function
closes #142
|
2016-04-23 12:21:47 -07:00 |
|
Josh Wolfe
|
4a7911e3eb
|
fix gcc build errors
|
2016-04-23 00:26:29 -07:00 |
|
Andrew Kelley
|
66163692ad
|
parseh: support anonymous enums and enums with initializers
|
2016-04-22 21:43:48 -07:00 |
|
Andrew Kelley
|
8187396f64
|
add syntax to allow symbols to have arbitrary strings as names
|
2016-04-22 15:24:18 -07:00 |
|
Andrew Kelley
|
35362f8137
|
better parsing of C macros
See #88
|
2016-04-21 15:48:13 -07:00 |
|
Andrew Kelley
|
a380b803ac
|
ability to use a struct with no fields
|
2016-04-21 09:47:41 -07:00 |
|
Andrew Kelley
|
ae600d2f7f
|
fix undeclared identifier not marking function as impure
|
2016-04-20 17:25:26 -07:00 |
|
Andrew Kelley
|
6acc354957
|
for loop: add ability to get pointer to elem var
see #51
|
2016-04-20 11:58:01 -07:00 |
|
Andrew Kelley
|
a25307c0a1
|
add optional continue expression to while loop
closes #139
|
2016-04-19 20:28:44 -07:00 |
|
Andrew Kelley
|
04364c45ce
|
fix casting with imported symbol not working
|
2016-04-19 19:37:25 -07:00 |
|
Andrew Kelley
|
36c6acfc76
|
enum init uses container init syntax instead of fn call
See #5
|
2016-04-19 18:52:09 -07:00 |
|
Andrew Kelley
|
4e37fb2fa2
|
implement constant initialization of enum values
see #5
|
2016-04-19 17:15:55 -07:00 |
|
Andrew Kelley
|
ff1ab3fe9c
|
fix crash in non-const expression in struct literal outside fn
|
2016-04-18 18:18:41 -07:00 |
|
Andrew Kelley
|
5e33175517
|
add @embed_file builtin function
|
2016-04-18 15:47:21 -07:00 |
|
Andrew Kelley
|
7f56e4ac16
|
move more tests to self-hosted land
|
2016-04-14 11:15:02 -07:00 |
|
Andrew Kelley
|
fcedc35551
|
fix crash with generic function and implicit cast
|
2016-04-14 10:39:03 -07:00 |
|
Andrew Kelley
|
83a59c4d07
|
fix evaluating generic functions in wrong context
|
2016-04-13 12:28:07 -07:00 |
|
Andrew Kelley
|
3f9632bb40
|
eval: support array literals
|
2016-04-13 10:13:49 -07:00 |
|
Andrew Kelley
|
3c27cb2527
|
more eval tests and fix eval call analyze code
|
2016-04-12 17:33:46 -07:00 |
|
Andrew Kelley
|
69109bc270
|
add error for dividing by zero in static function evaluation
|
2016-04-12 16:18:41 -07:00 |
|
Andrew Kelley
|
be4df96e4b
|
passing all tests
|
2016-04-12 13:30:52 -07:00 |
|
Andrew Kelley
|
aa89fd3b3e
|
eval: ability to eval more things
|
2016-04-12 09:35:33 -07:00 |
|
Andrew Kelley
|
fa605485ea
|
eval: support more node types
|
2016-04-12 09:35:33 -07:00 |
|
Andrew Kelley
|
a177e30534
|
compile-time function evaluation of pure functions
|
2016-04-12 09:35:33 -07:00 |
|
Andrew Kelley
|
5a479720ec
|
add error for unable to infer expression type in if statements
closes #136
|
2016-04-12 08:53:00 -07:00 |
|
Andrew Kelley
|
954a451c51
|
unsigned ints implicitly cast to signed ints when they fit
also fix #135
|
2016-04-11 22:57:32 -07:00 |
|
Andrew Kelley
|
b117b5907c
|
add error for accessing empty array
closes #134
|
2016-04-10 13:18:42 -07:00 |
|
Andrew Kelley
|
0683bd8bf6
|
fix crash when casting undefined to slice
also fix crash having to do with runtime allocated stack memory
|
2016-04-10 12:04:25 -07:00 |
|
Andrew Kelley
|
e66ed0f2e2
|
add error for assigning null to non-nullable pointer
closes #133
|
2016-04-09 17:35:26 -07:00 |
|
Andrew Kelley
|
707131e37b
|
goto: jumping out of scope runs defers
see #44
|
2016-04-09 17:26:04 -07:00 |
|
Andrew Kelley
|
7eb6af1d3e
|
add @breakpoint()
|
2016-04-09 16:52:52 -07:00 |
|
Andrew Kelley
|
21eca6478f
|
re-introduce goto
see #44
|
2016-04-09 16:41:17 -07:00 |
|
Andrew Kelley
|
7026bed462
|
fix debug symbols regression after llvm 3.8.0
|
2016-04-09 14:21:55 -07:00 |
|
Andrew Kelley
|
7a05e18efb
|
implement @err_name builtin function
|
2016-04-09 08:55:53 -07:00 |
|
Josh Wolfe
|
d5d6c93da4
|
fix parsing of hex literal 0xb
|
2016-04-08 17:33:59 -07:00 |
|
Andrew Kelley
|
73c814e5c0
|
support hex escapes in string literals
|
2016-04-08 17:30:26 -07:00 |
|
Andrew Kelley
|
491e3cb5c5
|
fix crash when passing empty string to function
|
2016-04-08 17:09:07 -07:00 |
|
Josh Wolfe
|
4ce85ea067
|
fix gcc compile error
|
2016-04-08 16:24:06 -07:00 |
|
Andrew Kelley
|
5dbc21b511
|
update cat example, refactor std
partial implementation of @err_name
|
2016-04-08 16:21:30 -07:00 |
|
Josh Wolfe
|
f6edba4a87
|
fix gcc compile errors
|
2016-04-07 18:02:30 -07:00 |
|
Andrew Kelley
|
28ad4e6d83
|
fix segfault in generic functions
See #22
|
2016-04-07 15:09:55 -07:00 |
|