Commit Graph

177 Commits (a375bd0d9f5c7773598a8ea31af8c963d6a79706)

Author SHA1 Message Date
Andrew Kelley 221e5b188c README: add the zen of zig 2017-08-07 19:11:55 -04:00
Marc Tiehuis 27e4893ee5 Add Visual Studio Code extension link 2017-07-15 21:36:47 +12:00
Andrew Kelley e64f0971fc add appveyor integration testing 2017-06-03 12:47:23 -04:00
Andrew Kelley 304cfb7122 move docs to ziglang.org 2017-05-08 00:13:54 -04:00
Andrew Kelley b7579f5f7d update README 2017-05-07 14:12:38 -04:00
Andrew Kelley 1691074b4b add no-elim-base-pointer to __zig_fail function
fixes missing frame for unwrapping an error

closes #345
2017-04-27 18:40:17 -04:00
Andrew Kelley 4cc2ea1421 update travis badge to new url 2017-04-25 01:26:37 -04:00
Andrew Kelley a5c509c94f readme update 2017-04-24 17:53:00 -04:00
Andrew Kelley 05198e0321 readme update 2017-04-24 17:04:52 -04:00
Andrew Kelley d72fb2abad update README 2017-04-24 16:17:28 -04:00
Andrew Kelley 3a137c6ff0 add Travis CI integration 2017-04-21 13:27:11 -04:00
Andrew Kelley 8654bc1810 delete test_artifacts directory when tests complete
* add std.os.deleteTree
 * add std.os.deleteDir
 * add std.os.page_size
 * add std.os API for iterating over directories
 * refactor duplication in build.zig
 * update documentation on how to run tests
2017-04-20 02:26:36 -04:00
Andrew Kelley a6bd3d8ca2 move emacs/vim files to separate repos 2017-04-13 05:27:59 -04:00
Andrew Kelley 3ca027ca82 first pass at zig build system
* `zig build --export [obj|lib|exe]` changed to `zig build_obj`,
   `zig build_lib` and `zig build_exe` respectively.
 * `--name` parameter is optional when it can be inferred from the
   root source filename. closes #207
 * `zig build` now looks for `build.zig` which interacts with
   `std.build.Builder` to describe the targets, and then the zig
   build system prints TODO: build these targets. See #204
 * add `@bitcast` which is mainly used for pointer reinterpret
   casting and make explicit casting not do pointer reinterpretation.
   Closes #290
 * fix debug info for byval parameters
 * sort command line help options
 * `std.debug.panic` supports format string printing
 * add `std.mem.IncrementingAllocator`
 * fix const ptr to a variable with data changing at runtime.
   closes #289
2017-03-31 05:55:41 -04:00
Andrew Kelley cd31f875a6 update to llvm 4.0 2017-03-10 02:29:01 -05:00
Andrew Kelley c36b0fec8e README: more robust suggested configuration command
thanks to jabb from IRC
2017-02-24 16:10:11 -05:00
Andrew Kelley 12049aa43b zig logo in readme 2017-02-09 12:51:23 -05:00
Andrew Kelley eb00aa21f5 readme update 2017-01-31 13:26:53 -05:00
Andrew Kelley 0c22358cc1 IR: generating a switch statement 2016-11-24 02:44:03 -05:00
Andrew Kelley f2a5fe443c README: clarify build vs runtime dependencies 2016-09-05 16:36:21 -04:00
Andrew Kelley e8e2d84689 Merge branch 'llvm-3.9' 2016-09-05 16:19:20 -04:00
Wink Saville 92cebdb926 Fix email address of Email list 2016-09-05 12:03:32 -07:00
Wink Saville 5068716a9a Add Email list 2016-09-05 10:44:48 -07:00
Andrew Kelley 4e7effd3d3 port to llvm 3.9 2016-09-04 18:30:40 -07:00
Andrew Kelley 6ae6b5f5b5 add compile_err builtin 2016-05-14 18:54:37 -07:00
Andrew Kelley 65e0e85685 update README with website 2016-05-13 11:38:14 -07:00
Andrew Kelley b68aee4f34 we have generics now 2016-05-13 10:59:43 -07:00
Andrew Kelley 037283c3b3 build: link against libLLVM.so if available
readme: better instructions for finding native libc headers
2016-04-30 17:17:59 -07:00
Andrew Kelley da406cb112 build: add test coverage target 2016-04-23 09:57:38 -07:00
Andrew Kelley c899368a90 update readme 2016-04-14 11:36:35 -07:00
Andrew Kelley 1688ccb3dd update README 2016-04-14 11:34:46 -07:00
Andrew Kelley fddfc314d6 update readme 2016-04-09 17:39:12 -07:00
Andrew Kelley 5bae9ba086 README: update dependencies 2016-03-08 19:15:46 -07:00
Andrew Kelley fecbc91a6b update readme 2016-02-15 15:51:10 -07:00
Andrew Kelley c8376af92d add @ctz, @clz and compiler_rt implementation 2016-02-13 12:50:13 -07:00
Andrew Kelley 9bf9be9937 fix build on GCC 2016-02-12 14:07:12 -07:00
Andrew Kelley b988017547 add link to intro in readme
closes #119
2016-02-09 22:31:49 -07:00
Andrew Kelley 0c7f33456e minor readme rewording 2016-02-09 19:26:15 -07:00
Andrew Kelley 430d0dfcb2 support static linking against libc 2016-02-08 00:50:51 -07:00
Andrew Kelley 5f0a9a569e another planned feature complete 2016-02-05 00:13:37 -07:00
Andrew Kelley 7af59c76e4 build: fix libc path finding 2016-02-02 15:04:14 -07:00
Andrew Kelley c1b5518a65 roadmap item acheived enough to put in README 2016-01-31 23:40:56 -07:00
Andrew Kelley a09b505558 null pointer optimization for ?&T
this is necessary for the parseh change where all
pointers from .h files are maybe pointers.
2016-01-28 14:04:22 -07: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 ac085a869d docs: update deps to llvm and clang 3.7.1 2016-01-26 18:11:18 -07:00
Andrew Kelley bc89614996 update README 2016-01-26 01:39:45 -07:00
Andrew Kelley a3e288ab5b implement compile time string concatenation
See #76
2016-01-25 21:56:29 -07:00
Andrew Kelley deb3586884 implement %% prefix operator
See #23

also make undefined constants use llvm undef value
2016-01-25 15:45:05 -07:00
Andrew Kelley c0dc0ca6c9 update README 2016-01-25 15:22:52 -07:00
Andrew Kelley 4c50606b9d refactor std to use for loop 2016-01-18 07:16:17 -07:00
Andrew Kelley 74b1665586 more readme formatting 2016-01-15 17:18:03 -07:00
Andrew Kelley 39c1348862 fix readme formatting 2016-01-15 17:15:42 -07:00
Andrew Kelley 8d60ffe314 solve the mystery of undefined reference error
big surprise, C++ is to blame
2016-01-15 17:12:26 -07:00
Andrew Kelley 5f9ecb8566 instead of 'as' to cast, call type as function 2016-01-14 02:52:33 -07:00
Andrew Kelley cb46d0b5b0 fix not adding builtin functions code 2016-01-11 20:44:10 -07:00
Andrew Kelley e1f498212c fix codegen for implicit maybe wrap 2016-01-08 02:52:27 -07:00
Andrew Kelley fcacc85b4e cleanup readme 2016-01-04 04:44:32 -07:00
Andrew Kelley 1f8e3871ee parse if maybe expression 2015-12-26 15:05:27 -07:00
Andrew Kelley 423ee0689b add implicit casting support 2015-12-15 17:11:57 -07:00
Andrew Kelley fe94ca8d10 readme: provide bash to get c dir 2015-12-15 13:06:42 -07:00
Andrew Kelley 1b1453293e readme: add note about discovering libc path 2015-12-15 13:02:02 -07:00
Andrew Kelley f5a3281877 when linking with libc use the C runtime library 2015-12-15 12:44:42 -07:00
Andrew Kelley 4c16eaa640 readme: update current status 2015-12-11 04:37:23 -07:00
Andrew Kelley f740268ab7 move roadmap to github issues 2015-12-11 04:25:10 -07:00
Andrew Kelley 0dbee2300e add inline assembly support 2015-12-10 15:34:38 -07:00
Andrew Kelley 3e8a98fa61 add language reference documentation 2015-12-09 15:20:31 -07:00
Andrew Kelley 367ea908bd readme: update int types 2015-12-09 12:32:26 -07:00
Andrew Kelley 7b181b51ad parseh: cleanup types 2015-12-09 01:23:58 -07:00
Josh Wolfe 6a48c007a6 fix typo 2015-12-09 01:08:18 -07:00
Andrew Kelley dfda85e870 ability to call external variadic functions 2015-12-09 01:03:04 -07:00
Andrew Kelley 75efc31329 add array access syntax 2015-12-08 14:15:34 -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 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 94e61287e7 let is now a statement, not an expression 2015-12-06 23:49:20 -07:00
Andrew Kelley dfb48a2c6b update README 2015-12-06 22:12:49 -07:00
Andrew Kelley c6fff3b2c0 update README 2015-12-06 21:55:28 -07:00
Andrew Kelley daa3b6bfa3 add unused label error 2015-12-05 21:08:20 -07:00
Andrew Kelley c7615c1a80 error for extern function with void parameter 2015-12-04 14:33:57 -07:00
Andrew Kelley cd6283e8c4 parseh: fix wrong fn parameters in some cases 2015-12-04 11:45:11 -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 f1aaf1353e add bool literals 2015-12-03 12:15:07 -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 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
Andrew Kelley 58e375d0a1 support multiple files 2015-12-01 02:08:58 -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
Andrew Kelley 020f854f6f add bad version string test case 2015-11-30 02:14:54 -07:00
Andrew Kelley 8f0f318c39 add directive to specify root export version 2015-11-30 02:12:20 -07:00
Andrew Kelley ac0c5a3707 minor parser refactoring 2015-11-30 01:26:01 -07:00
Andrew Kelley c1d77f2a23 function call names are expressions 2015-11-29 14:39:11 -07:00
Andrew Kelley 918e7641fc rename unary expression to prefix op expression 2015-11-29 14:00:34 -07:00
Andrew Kelley a7555c58d9 add unary expression 2015-11-29 13:37:55 -07:00
Andrew Kelley 855d51840d remove LLVMZigTargetMachineEmitToFile
The llvm C API provided function is adequate.
2015-11-29 11:12:40 -07:00
Andrew Kelley e5d1f0eea5 parse and codegen for math expressions 2015-11-29 02:43:05 -07:00
Andrew Kelley f6529341a2 ability to export .o file 2015-11-27 22:13:39 -07:00
Andrew Kelley cb4773ce29 add root export declaration which is overridable by command line options 2015-11-27 21:24:47 -07:00
Andrew Kelley 4cc95174a7 add tests for compile errors 2015-11-27 18:55:06 -07:00