Andrew Kelley
22ef416d4d
fix generics not using ast clone
2016-04-06 14:02:29 -07:00
Andrew Kelley
67152f7294
support simple generic functions
2016-04-06 12:58:54 -07:00
Andrew Kelley
e144ddab24
add multiline string literal
...
and make multiple lines in normal string literals an error
2016-04-03 18:59:43 -07:00
Andrew Kelley
5bae9ba086
README: update dependencies
2016-03-08 19:15:46 -07:00
Andrew Kelley
76e1541803
update to llvm 3.8.0
2016-03-08 18:56:14 -07:00
Andrew Kelley
17a36859e7
build: std files each specify install destination
2016-03-01 19:00:03 -07:00
Andrew Kelley
f72c36cd37
fix detection of @import and @c_import inside fn body
2016-03-01 17:59:56 -07:00
Andrew Kelley
5df091fea9
c_void is provided outside of C imports
2016-03-01 15:26:41 -07:00
Andrew Kelley
660a50661b
better hash table performance
2016-03-01 14:47:46 -07:00
Andrew Kelley
9c3d7b628c
rename syscall.zig to linux.zig
2016-03-01 14:11:38 -07:00
Andrew Kelley
1d08ab087e
fix comparison of unsigned integers error
2016-03-01 14:08:04 -07:00
Andrew Kelley
f1d338194e
rewrite how importing works
...
* Introduce the concept of packages. Closes #3
* Add support for error notes.
* Introduce `@import` and `@c_import` builtin functions and
remove the `import` and `c_import` top level declarations.
* Introduce the `use` top level declaration.
* Add `--check-unused` parameter to perform semantic
analysis and codegen on all top level declarations, not
just exported ones and ones referenced by exported ones.
* Delete the root export node and add `--library` argument.
2016-03-01 03:13:40 -07:00
Andrew Kelley
28fe994a10
Merge pull request #129 from notkild/master
...
Add support to open, create and close file
2016-02-28 15:15:04 -07:00
notkild
8a827fafa6
Add support to open, create and close file
2016-02-28 23:12:58 +01:00
Andrew Kelley
0a0494feb8
fix build error with signed/unsigned
2016-02-19 14:02:36 -07:00
Andrew Kelley
e5982e4440
link: on windows link test runner and builtin o files
2016-02-17 21:05:46 -07:00
Andrew Kelley
04cc59be65
update run_tests to work on windows
2016-02-17 20:44:07 -07:00
Andrew Kelley
a7b6fa5bee
os: implement windows os layer
2016-02-17 19:53:30 -07:00
Andrew Kelley
06398a22d0
back to normal print specifiers
...
disable warnings for format specifiers on mingw since the
compiler emits bogus warnings
2016-02-16 21:43:38 -07:00
Andrew Kelley
bb806f941c
use PRIuMAX instead of PRIu64 for mingw
2016-02-16 20:24:51 -07:00
Andrew Kelley
6793548868
fix 64 bit integer printing for mingw
...
in order to do this I had to turn off -pedantic
2016-02-16 20:21:37 -07:00
Andrew Kelley
58c13aa949
rename 'environ' to 'env_type'
...
environ appears to clash with another symbol in mingw land
2016-02-16 20:03:41 -07:00
Andrew Kelley
afa5d1ea12
os: fix ability to compile for windows
2016-02-16 19:55:49 -07:00
Andrew Kelley
194e93a582
add windows os code
2016-02-16 19:42:46 -07:00
Andrew Kelley
0e92b44043
prepend underscore to non exported functions
...
to prevent symbol collisions
2016-02-16 17:06:19 -07:00
Andrew Kelley
77ffb5075b
update bootstrap to work for macos too
...
* Directives can have arbitrary expressions as parameters
* Fix switch statement not generating code sometimes
* Rename "main" fn in bootstrap.zig to "zig_user_main" to
avoid name collisions
* codegen: fix badref when unreachable is last thing in an
expression
* support #condition directive on exported functions
2016-02-16 16:41:56 -07:00
Andrew Kelley
91101f08c2
linking on darwin: provide builtins and -arch
2016-02-15 21:59:20 -07:00
Andrew Kelley
4c30216d1c
add missing system library to darwin linker job
2016-02-15 21:23:03 -07:00
Andrew Kelley
984e7d6cc7
first pass at linking on macos
2016-02-15 20:56:52 -07:00
Andrew Kelley
f580c7fa43
handle libc include path and libc lib path differently
2016-02-15 16:52:37 -07:00
Andrew Kelley
c6bf9c6942
MacOS has the same int sizes as Linux
...
Source: https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/64bitPorting/transition/transition.html
2016-02-15 16:26:33 -07:00
Andrew Kelley
3664e8e4e2
use llvm-config to find llvm include dirs
2016-02-15 15:52:19 -07:00
Andrew Kelley
fecbc91a6b
update readme
2016-02-15 15:51:10 -07:00
Andrew Kelley
baf889c879
parseh: fix __cdecl causing a fn ptr to be double ptr
2016-02-14 16:14:30 -07:00
Andrew Kelley
87922bfae0
parseh: ZIG_PARSEH_CFLAGS -> ZIG_NATIVE_PARSEH_CFLAGS
2016-02-13 23:04:12 -07:00
Andrew Kelley
fb8700de6c
parseh: support attributed types
2016-02-13 23:03:59 -07:00
Andrew Kelley
5032854aec
parseh: more specific warning for different calling conventions
2016-02-13 23:03:39 -07:00
Andrew Kelley
5771bd805e
respect link order in source code
2016-02-13 23:03:16 -07:00
Andrew Kelley
1141e4f5b2
if any c imports fail, don't emit undefined identifier errors
2016-02-13 23:02:45 -07:00
Andrew Kelley
01fda6199e
dummy implementation of os_get_random_bytes for windows
2016-02-13 22:59:49 -07:00
Andrew Kelley
1d3c25e928
fix some c header symbol collisions
2016-02-13 22:57:55 -07:00
Andrew Kelley
fe95a227c8
add windows C int sizes
2016-02-13 16:29:30 -07:00
Andrew Kelley
03b51a753a
a = b % c uses the types of b and c instead of a
2016-02-13 15:03:19 -07:00
Andrew Kelley
8d510c699a
parseh: fix branching on undefined memory
2016-02-13 13:25:55 -07:00
Andrew Kelley
c8376af92d
add @ctz, @clz and compiler_rt implementation
2016-02-13 12:50:13 -07:00
Andrew Kelley
a5aeb7381f
if statement children nodes know if they're compiled out
2016-02-12 16:00:50 -07:00
Andrew Kelley
b8a1cb299e
avoid codegening functions never called from conditional compilation
2016-02-12 15:51:12 -07:00
Andrew Kelley
9bf9be9937
fix build on GCC
2016-02-12 14:07:12 -07:00
Andrew Kelley
4e3f6de027
c integer size takes into account architecture and OS
2016-02-12 12:07:11 -07:00
Andrew Kelley
7828456b30
std: delete malloc and free
...
later we'll add a full featured allocator instead of this
2016-02-12 02:23:22 -07:00