Commit Graph

739 Commits (3eb5afd245d8e2059a8cf4b8aa4e201ec0613535)

Author SHA1 Message Date
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
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 9e905ab364 not-yet-working implementation of generic hash map 2016-05-08 16:05: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