Commit Graph

998 Commits

Author SHA1 Message Date
Andrew Kelley
0a482bbbfe add style guide 2016-08-11 21:13:02 -07:00
Andrew Kelley
2ed949a6ae add zeroes value 2016-08-08 20:43:38 -07:00
Andrew Kelley
0d5ecc4312 ability to have a return type of 'type' 2016-08-07 20:08:37 -07:00
Andrew Kelley
275410dc33 implement multiline C string syntax 2016-08-04 23:10:24 -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
0450b73e3e std: add tests for mt32 and mt64 2016-07-28 20:14:57 -07:00
Andrew Kelley
711e3d71b9 std: add vaporware plans for floating point builtins 2016-07-27 23:46:20 -07:00
Andrew Kelley
1fa0cabf9d remove multiline comments
closes #161
2016-07-27 23:26:12 -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
3eb5afd245 std: cleanup of rand 2016-07-27 19:52:38 -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
76f87cdd96 std: add OutStream.write_byte 2016-07-26 18:13:22 -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
3971bf3d72 fix not resolving use declarations
causing bogus compile errors
2016-07-13 18:22:49 -07:00
Andrew Kelley
f2fc9b8a7b fix duplicate type defined when imported from parseh 2016-07-09 15:48:25 -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
a5251a1c10 parseh: support octal in C macro string literal 2016-07-09 12:17:31 -07:00
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
3273e99d70 linux: accept calls accept4 with 0 for flags 2016-05-18 17:18:28 -07:00
Andrew Kelley
da8e30fe46 add some docs about builtin functions 2016-05-18 16:59:55 -07:00
Andrew Kelley
fbb6d1d7ee support extern C ABI for return types 2016-05-18 15:32:34 -07:00
Andrew Kelley
7edef4f3fd add beginning of print stack trace function
introduce std.debug and move std.assert to std.debug.assert
add mem.copy
2016-05-17 13:32:43 -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
3df9389215 compiler-rt: add __aeabi_uldivmod 2016-05-15 12:02:37 -07:00
Travis McDemus
7b0052abbb Add unsigned and signed generic print fns
Signed-off-by: Andrew Kelley <superjoe30@gmail.com>
2016-05-15 01:41:15 -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
50310cf9df add 64 bit division test 2016-05-15 00:42:48 -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
76f909edeb std: take advantage of ability to cast maybe pointer to isize 2016-05-14 12:38:27 -07:00
Andrew Kelley
33e3d56453 add error for wrong return type of main 2016-05-13 13:08:54 -07:00
Andrew Kelley
65e0e85685 update README with website 2016-05-13 11:38:14 -07:00
Andrew Kelley
6a7f3c8df7 std: make parsing an unsigned number generic 2016-05-13 11:11:55 -07:00
Andrew Kelley
b68aee4f34 we have generics now 2016-05-13 10:59:43 -07:00
Andrew Kelley
5d2f86116f std: fix linux.get_errno 2016-05-13 09:54:56 -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
Andrew Kelley
774ec1f889 Merge pull request #152 from jmi2k/zig-std-dir
Add --zig-std-dir
2016-05-12 21:40:38 -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
6b7ffd4cbe builtin: use explicit type instead of typeof function 2016-05-11 13:18:28 -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