Commit Graph

1330 Commits

Author SHA1 Message Date
Andrew Kelley 0dbee2300e add inline assembly support 2015-12-10 15:34:38 -07:00
Andrew Kelley dfda85e870 ability to call external variadic functions 2015-12-09 01:03:04 -07:00
Andrew Kelley e8550814c5 support assigning to arrays 2015-12-08 15:31:43 -07:00
Andrew Kelley 6e0c3dc173 array access support 2015-12-08 14:47:17 -07:00
Andrew Kelley 75efc31329 add array access syntax 2015-12-08 14:15:34 -07:00
Andrew Kelley 2f0e4e9cb2 codegen does signed, unsigned, and floating point math 2015-12-08 12:25:30 -07:00
Andrew Kelley 3e06ed0e8c codegen: set target triple and data layout 2015-12-08 00:27:50 -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 113f0c9450 add local variables to debug info 2015-12-07 23:09:48 -07:00
Andrew Kelley 9c9ea93519 integrate debug scopes with block context 2015-12-07 22:11:04 -07:00
Andrew Kelley 1279fe0caa all variables have memory addresses 2015-12-07 20:57:45 -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 66e3aa0910 initialize mutable variables to zero 2015-12-06 23:33:10 -07:00
Andrew Kelley 3c3be10a60 add mutable local variables 2015-12-06 23:09:46 -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 f4b9b03f54 fix codegen for void parameters 2015-12-03 14:29:19 -07:00
Josh Wolfe f1aaf1353e add bool literals 2015-12-03 12:15:07 -07:00
Josh Wolfe 5af4ef88ac local variables work 2015-12-03 10:56:17 -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 e94681b961 add test for undeclared identifier error 2015-12-02 00:59:58 -07:00
Andrew Kelley 370de7386c fix parameter access and thus shared library example 2015-12-02 00:53:57 -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
Josh Wolfe c6a9ab107b string literals have type *const u8 2015-12-01 14:41:03 -07:00
Josh Wolfe ab327344b6 merge conflicts 2015-12-01 10:44:30 -07:00
Andrew Kelley dfb6682089 add test for bad import 2015-12-01 02:29:21 -07:00
Andrew Kelley 58e375d0a1 support multiple files 2015-12-01 02:08:58 -07:00
Andrew Kelley 29f24e3c50 add --color cli arg to override tty detection 2015-12-01 01:06:10 -07:00
Andrew Kelley 257cf09472 colored error messages that tell the source file 2015-12-01 00:50:11 -07:00
Andrew Kelley 31cf43de54 analyze looks for root export decl only in the root source file 2015-11-30 23:06:29 -07:00
Josh Wolfe 9278dbedd5 Merge remote-tracking branch 'origin/master' into type-checking 2015-11-30 22:54:00 -07:00
Andrew Kelley cd68969115 closer to multiple files working 2015-11-30 22:53:37 -07:00
Josh Wolfe 00f4c05784 merge conflicts 2015-11-30 22:12:21 -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 ef482ece7c no more TypeId. use g->builtin_types. 2015-11-30 15:36:58 -07:00
Andrew Kelley b77c423f77 all LLVM C++ API contained to one file 2015-11-30 14:43:23 -07:00
Andrew Kelley 4ccb98bdce analyze no longer depends on llvm C++ API 2015-11-30 14:10:07 -07:00
Josh Wolfe 9e0ff6faa2 factor analysis code out of codegen 2015-11-30 09:14:58 -07:00
Andrew Kelley 8f0f318c39 add directive to specify root export version 2015-11-30 02:12:20 -07:00
Andrew Kelley 9b477230e0 ability to generate shared library and h file 2015-11-29 18:02:20 -07:00
Josh Wolfe f4721857ed inline PrimaryExpr ast node 2015-11-29 17:16:32 -07:00
Andrew Kelley 63d4e3ce1e add missing panic for shared library output 2015-11-29 15:10:06 -07:00
Josh Wolfe ceb2d44bfc merge arithmetic binary operator gen functions 2015-11-29 15:08:42 -07:00
Andrew Kelley a008a81eef codegen: fix wrong node type 2015-11-29 14:59:41 -07:00
Josh Wolfe 30442ed893 merge conflicts 2015-11-29 14:52:49 -07:00
Josh Wolfe 9a014b52cc flatten expression ast to hide operator precedence 2015-11-29 14:46:05 -07:00
Andrew Kelley c1d77f2a23 function call names are expressions 2015-11-29 14:39:11 -07:00