Andrew Kelley
4e2fa2d15b
*WIP*
2016-09-30 02:21:21 -04:00
Andrew Kelley
3239b3cb69
use size_t for indexes
...
protect against incorrect copies in debug mode
2016-09-19 11:54:01 -04:00
alter
cf9b21c09f
MacOSX compatibility
...
- Implemented some syscall for MacOSX
- tested on : El Capitan 10.11 x86_64
- make self hosted test run on macosx
- modified run_test so it does not fail when parseh throws
warnings (most of them are related to buildin types from
gcc that arent defined in header files and unions)
- making -mmacosx-version-min and -mios-version-min works like
gcc (command line paramers have precedence over enviroment variables)
2016-09-14 02:46:02 -04:00
Andrew Kelley
de7e88c38f
build: remove -Wmissing-prototypes
...
this causes errors with llvm's own h files which we have no control over.
2016-09-06 11:01:51 -04:00
Andrew Kelley
651dc31247
implement null as a literal type
2016-08-29 22:14:09 -07:00
Andrew Kelley
ed50bd1b65
progress toward stack trace printing
2016-08-17 20:11:04 -07:00
Andrew Kelley
0450b73e3e
std: add tests for mt32 and mt64
2016-07-28 20:14:57 -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
26718a619c
recognize ar program and pass --gc-sections to ld
...
See #54
2016-05-11 14:44:10 -07:00
Andrew Kelley
d92ae20f45
add hashmap to standard library
...
closes #22
2016-05-09 15:07:38 -07:00
Andrew Kelley
0c32b0b4ad
add list implementation to standard library
2016-05-08 01:34:00 -07:00
Andrew Kelley
01c46eef3a
std: separate str and cstr
2016-05-07 10:52:52 -07:00
Andrew Kelley
66ed7a5eb5
beginnings of network standard library code
2016-05-03 20:48:53 -07:00
Andrew Kelley
da406cb112
build: add test coverage target
2016-04-23 09:57:38 -07:00
Andrew Kelley
35362f8137
better parsing of C macros
...
See #88
2016-04-21 15:48:13 -07:00
Andrew Kelley
f4c7e1bf49
rearrange standard library a bit
2016-04-18 16:42:56 -07:00
Andrew Kelley
a177e30534
compile-time function evaluation of pure functions
2016-04-12 09:35:33 -07:00
Andrew Kelley
5dbc21b511
update cat example, refactor std
...
partial implementation of @err_name
2016-04-08 16:21:30 -07:00
Andrew Kelley
17a36859e7
build: std files each specify install destination
2016-03-01 19:00:03 -07:00
Andrew Kelley
9c3d7b628c
rename syscall.zig to linux.zig
2016-03-01 14:11:38 -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
04cc59be65
update run_tests to work on windows
2016-02-17 20:44:07 -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
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
984e7d6cc7
first pass at linking on macos
2016-02-15 20:56:52 -07:00
Andrew Kelley
3664e8e4e2
use llvm-config to find llvm include dirs
2016-02-15 15:52:19 -07:00
Andrew Kelley
c8376af92d
add @ctz, @clz and compiler_rt implementation
2016-02-13 12:50:13 -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
Andrew Kelley
2bf6c28bc3
ability to cross compile
...
hello_libc.zig can produce a windows build
2016-02-11 01:33:27 -07:00
Andrew Kelley
1ff2edf67e
add "targets" command to list architectures, oses, abis
2016-02-10 15:41:50 -07:00
Andrew Kelley
bb4a532785
move os_get_random_bytes to os.zig
2016-02-04 01:00:54 -07:00
Andrew Kelley
a6d4335217
fix running tests when linking with libc
2016-02-03 23:07:55 -07:00
Andrew Kelley
11a0644365
basic support for building a test target
2016-02-03 18:02:01 -07:00
Andrew Kelley
fc5ffd32e9
build: prefer llvm-config
2016-02-01 22:38:55 -07:00
Andrew Kelley
c7eb8aaec5
build: fix release mode
2016-02-01 15:26:01 -07:00
Andrew Kelley
3f0062d7a9
Merge pull request #100 from MovingtoMars/float_print
...
basic float printing
2016-01-27 23:46:09 -07:00
MovingtoMars
dc08412895
basic float printing
2016-01-28 19:28:43 +13:00
Andrew Kelley
51ab9b03ce
Merge remote-tracking branch 'origin/master'
2016-01-27 21:11:53 -07:00
Andrew Kelley
b6354ddd5a
move AST rendering code to separate file
2016-01-27 21:10:38 -07:00
MovingtoMars
1a913f6bf2
simple malloc and free using mmap
2016-01-28 12:39:02 +13:00
Andrew Kelley
0278468479
upgrade to the libclang C++ API
...
c_import creates a tmp .h file and parses it with libclang,
reporting any errors found.
See #88
2016-01-27 00:01:49 -07:00
Andrew Kelley
32e2196257
number literal rework
2016-01-21 03:02:25 -07:00
Andrew Kelley
890714b8ca
Revert "delete parseh"
...
This reverts commit 18374ea8f1
.
2016-01-18 21:28:54 -07:00
Andrew Kelley
18374ea8f1
delete parseh
...
we'll have to switch to the clang C++ api anyway
we'll revive this code later
2016-01-15 14:16:07 -07:00
Andrew Kelley
a3c97081ca
add ?? maybe unwrapping binary operator
...
add null literal
fix number literal / maybe interactions
2016-01-07 03:23:38 -07:00
Andrew Kelley
5f0bfcac24
fix undefined reference to memcpy in release mode
...
when not depending on libc, we generate memcpy and memset
implementations.
2016-01-06 06:40:25 -07:00
Andrew Kelley
5e64c4d92f
support pub structs. move rand to std lib.
...
guess number example prints the answer now
2016-01-06 04:41:11 -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
face8d65a8
parseh: add c header files
2015-12-08 17:51:59 -07:00
Andrew Kelley
ad3f98c615
parseh command, parses a C .h file and produces extern decls
2015-12-03 16:00:14 -07:00
Andrew Kelley
257cf09472
colored error messages that tell the source file
2015-12-01 00:50:11 -07:00
Andrew Kelley
55b8472374
refactor code to prepare for multiple files
...
verbose compiler output is now behind --verbose flag
2015-11-30 20:00:39 -07:00
Josh Wolfe
9e0ff6faa2
factor analysis code out of codegen
2015-11-30 09:14:58 -07:00
Andrew Kelley
4068897b6b
rename standalone.cpp to run_tests.cpp
2015-11-27 17:11:03 -07:00
Andrew Kelley
763ce1c485
add tests
2015-11-26 01:29:52 -07:00
Andrew Kelley
a1771c76c3
build: improve findllvm script
2015-11-25 11:23:25 -07:00
Andrew Kelley
4fe366dfa6
cleanup
2015-11-24 23:56:35 -07:00
Andrew Kelley
baf5167171
fix not using subtarget features
2015-11-24 15:01:37 -07:00
Andrew Kelley
fefbee166d
hello world example working
2015-11-24 13:51:36 -07:00
Andrew Kelley
c2e5d50027
write object file and fix void return type
2015-11-24 13:00:38 -07:00
Andrew Kelley
3b4a2afb65
semantic analysis checks for multiple definitions of functions
2015-11-23 22:47:25 -07:00
Andrew Kelley
6b911f1e94
delete parser generator. let's try recursive descent
2015-11-23 19:21:52 -07:00
Andrew Kelley
775e98be5a
experiment with being a linker
2015-11-05 00:05:25 -07:00
Andrew Kelley
174baa49bd
progress toward more complex parser gen
2015-11-04 17:15:46 -07:00
Andrew Kelley
7cfceeca2d
parser generator beginnings
2015-11-03 22:39:35 -07:00
Andrew Kelley
d519ce87dd
preprocessor runs once
2015-08-05 21:47:08 -07:00
Andrew Kelley
899c9fe94e
read a file
2015-08-05 16:22:21 -07:00
Andrew Kelley
1d554f3161
input output
2015-08-05 15:46:40 -07:00
Andrew Kelley
50f0ed918c
link against LLVM
2015-08-05 15:23:15 -07:00