Andrew Kelley
|
423ee0689b
|
add implicit casting support
|
2015-12-15 17:11:57 -07:00 |
|
Andrew Kelley
|
f5a3281877
|
when linking with libc use the C runtime library
|
2015-12-15 12:44:42 -07:00 |
|
Josh Wolfe
|
f2a9b40231
|
more number literal syntax is supported. floats still need work
|
2015-12-15 04:05:53 -07:00 |
|
Andrew Kelley
|
de7c5ea102
|
codegen: add support for shortening cast
|
2015-12-15 02:58:01 -07:00 |
|
Andrew Kelley
|
1f48b626a1
|
std: even more efficient inline assembly
|
2015-12-15 02:47:39 -07:00 |
|
Andrew Kelley
|
673d638070
|
std: more efficient inline assembly
|
2015-12-15 01:55:52 -07:00 |
|
Andrew Kelley
|
a292eb8d64
|
support inline assembly expressions with return type
|
2015-12-15 00:46:56 -07:00 |
|
Andrew Kelley
|
4dc2b82506
|
constant initializers allow simple expressions
|
2015-12-14 23:49:56 -07:00 |
|
Andrew Kelley
|
83b68c9f13
|
add global variable support
closes #12
|
2015-12-14 23:10:18 -07:00 |
|
Andrew Kelley
|
52e19b4a9b
|
analyze: BlockContext has concept of module scope
|
2015-12-14 22:06:25 -07:00 |
|
Andrew Kelley
|
e411467e1d
|
add number literal type
it gets implicitly casted to whatever is needed.
closes #24
|
2015-12-14 02:46:37 -07:00 |
|
Andrew Kelley
|
3d8eb10897
|
fix incorrect debug info path to imports
|
2015-12-13 14:34:07 -07:00 |
|
Josh Wolfe
|
9ec892539e
|
prefer checking a type's id over comparing it to a builtin_types entry
|
2015-12-13 11:59:34 -07:00 |
|
Andrew Kelley
|
bd77bc749a
|
structs are working
|
2015-12-12 22:55:29 -07:00 |
|
Josh Wolfe
|
0f02e29a2b
|
codegen and tests for modify operators. closes #16
|
2015-12-12 19:47:37 -07:00 |
|
Josh Wolfe
|
5cb5f5dbf6
|
parsing assignment operators
|
2015-12-12 19:07:29 -07:00 |
|
Josh Wolfe
|
2082588201
|
fix short circuit expressions
|
2015-12-12 17:33:45 -07:00 |
|
Josh Wolfe
|
64dd0b8d95
|
fix a + b + c and similar
fix || and &&
closes #17
|
2015-12-12 17:07:43 -07:00 |
|
Andrew Kelley
|
38f12adbda
|
progress on struct support
|
2015-12-12 02:34:09 -07:00 |
|
Andrew Kelley
|
ac630d354d
|
std: print_str no longer requires length argument
add explicit casting support from array to string
|
2015-12-12 02:05:08 -07:00 |
|
Andrew Kelley
|
a10277bd94
|
prepare codebase for struct and string support
parsing code for structs, strings, and c string literals
partial semantic analyzing code for structs, strings, and c string literals
|
2015-12-12 00:10:37 -07:00 |
|
Andrew Kelley
|
d697404f64
|
hello world working without libc
|
2015-12-11 03:55:26 -07:00 |
|
Andrew Kelley
|
15ba5bc54e
|
provide std.zig and add it to import paths
|
2015-12-10 17:42:47 -07:00 |
|
Andrew Kelley
|
0dbee2300e
|
add inline assembly support
|
2015-12-10 15:34:38 -07:00 |
|
Andrew Kelley
|
dfda85e870
|
ability to call external variadic functions
|
2015-12-09 01:03:04 -07:00 |
|
Andrew Kelley
|
e8550814c5
|
support assigning to arrays
|
2015-12-08 15:31:43 -07:00 |
|
Andrew Kelley
|
6e0c3dc173
|
array access support
|
2015-12-08 14:47:17 -07:00 |
|
Andrew Kelley
|
75efc31329
|
add array access syntax
|
2015-12-08 14:15:34 -07:00 |
|
Andrew Kelley
|
2f0e4e9cb2
|
codegen does signed, unsigned, and floating point math
|
2015-12-08 12:25:30 -07:00 |
|
Andrew Kelley
|
3e06ed0e8c
|
codegen: set target triple and data layout
|
2015-12-08 00:27:50 -07:00 |
|
Andrew Kelley
|
5dfe4d6387
|
codegen: do all the allocas at beginning of function
fixes debugging
|
2015-12-07 23:40:58 -07:00 |
|
Andrew Kelley
|
113f0c9450
|
add local variables to debug info
|
2015-12-07 23:09:48 -07:00 |
|
Andrew Kelley
|
9c9ea93519
|
integrate debug scopes with block context
|
2015-12-07 22:11:04 -07:00 |
|
Andrew Kelley
|
1279fe0caa
|
all variables have memory addresses
|
2015-12-07 20:57:45 -07:00 |
|
Andrew Kelley
|
b66fb607bf
|
add debugging info for array type
|
2015-12-07 20:07:46 -07:00 |
|
Josh Wolfe
|
f6eecfe5f4
|
getting started on array types
|
2015-12-07 08:29:19 -07:00 |
|
Josh Wolfe
|
66e3aa0910
|
initialize mutable variables to zero
|
2015-12-06 23:33:10 -07:00 |
|
Andrew Kelley
|
3c3be10a60
|
add mutable local variables
|
2015-12-06 23:09:46 -07:00 |
|
Andrew Kelley
|
5144c4fa37
|
exporting .h file supports void
|
2015-12-03 17:30:44 -07:00 |
|
Andrew Kelley
|
a398afa7cc
|
more C header interoperability
|
2015-12-03 17:06:33 -07:00 |
|
Josh Wolfe
|
f4b9b03f54
|
fix codegen for void parameters
|
2015-12-03 14:29:19 -07:00 |
|
Josh Wolfe
|
f1aaf1353e
|
add bool literals
|
2015-12-03 12:15:07 -07:00 |
|
Josh Wolfe
|
5af4ef88ac
|
local variables work
|
2015-12-03 10:56:17 -07:00 |
|
Andrew Kelley
|
f8ca6c70c7
|
add labels and goto
|
2015-12-03 00:47:35 -07:00 |
|
Josh Wolfe
|
c89f77dd8e
|
parsing variable declaration
|
2015-12-02 16:33:06 -07:00 |
|
Andrew Kelley
|
e94681b961
|
add test for undeclared identifier error
|
2015-12-02 00:59:58 -07:00 |
|
Andrew Kelley
|
370de7386c
|
fix parameter access and thus shared library example
|
2015-12-02 00:53:57 -07:00 |
|
Andrew Kelley
|
08a2311efd
|
support if conditionals
|
2015-12-01 21:19:38 -07:00 |
|
Josh Wolfe
|
1ed926c321
|
implicit void statements and all tests pass with type checking
|
2015-12-01 15:54:46 -07:00 |
|
Josh Wolfe
|
c6a9ab107b
|
string literals have type *const u8
|
2015-12-01 14:41:03 -07:00 |
|