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 |
|
Andrew Kelley
|
cd68969115
|
closer to multiple files working
|
2015-11-30 22:53:37 -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 |
|
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
|
03f9922734
|
remove unnecessary codegen llvm initialization
|
2015-11-27 21:49:04 -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 |
|
Andrew Kelley
|
024052b448
|
add pub and export visibility modifiers and optimization
|
2015-11-27 15:46:06 -07:00 |
|
Andrew Kelley
|
9ca9a2c554
|
allow empty function and return with no expression
|
2015-11-27 10:52:31 -07:00 |
|
Andrew Kelley
|
4060ae93fb
|
call ld with correct -dynamic-linker argument
It looks like Debian/Ubuntu are doing it correctly.
See https://sourceware.org/glibc/wiki/ABIList
NixOS has a clang patch which disables adding the -dynamic-linker
argument to ld in order to ensure "purity" - that is - that all paths
are in /nix/store/*.
See https://github.com/NixOS/nixpkgs/blob/6b1651928e943bdb0d69a20764fdaae294e92dc1/pkgs/development/compilers/llvm/3.7/clang/purity.patch
So, I changed the environment variable to ZIG_NATIVE_DYNAMIC_LINKER and allow
it to be set to blank. And it only matters when building for the native target,
since you might want to build for other targets without modifying your
environment.
closes #1
|
2015-11-26 23:43:29 -07:00 |
|
Josh Wolfe
|
bd5cb3e50e
|
add hook for environment variable ZIG_DEBIAN_HACK. see #1.
|
2015-11-26 14:42:46 -07:00 |
|
Andrew Kelley
|
893e152dab
|
no errors during codegen
also, fix function calling and allow forward declarations
|
2015-11-25 18:17:35 -07:00 |
|
Josh Wolfe
|
311fd67083
|
inline AstNodeStatementExpression
|
2015-11-25 16:43:16 -07:00 |
|
Andrew Kelley
|
86a0ae8699
|
assert(false) -> zig_unreachable()
|
2015-11-25 15:48:57 -07:00 |
|
Josh Wolfe
|
e579011a6e
|
inline AstNodeStatement
|
2015-11-25 15:45:10 -07:00 |
|
Andrew Kelley
|
a600df073a
|
fix invalid memory write
|
2015-11-25 15:17:19 -07:00 |
|
Josh Wolfe
|
0b59afec56
|
fix typo
|
2015-11-25 12:19:10 -07:00 |
|
Andrew Kelley
|
09f68c7c33
|
support linker directives
now you can depend on libc in zig language instead of it being
hardcoded in the compiler.
|
2015-11-24 23:44:41 -07:00 |
|
Andrew Kelley
|
505317a12f
|
debug/release mode
|
2015-11-24 22:32:26 -07:00 |
|
Andrew Kelley
|
c7f4cadbc7
|
debug symbols implemented; debugging with gdb works
|
2015-11-24 19:54:38 -07:00 |
|
Andrew Kelley
|
ca836191e1
|
debug information for functions
|
2015-11-24 19:07:33 -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
|
925c805d4b
|
add unreachable expression
now creating .o file from hello.zig correctly
|
2015-11-24 13:37:14 -07:00 |
|
Andrew Kelley
|
c2e5d50027
|
write object file and fix void return type
|
2015-11-24 13:00:38 -07:00 |
|
Andrew Kelley
|
e112818e25
|
codegen: fix param type of const strings
|
2015-11-24 03:06:10 -07:00 |
|
Andrew Kelley
|
4bbc074dd7
|
hello world IR code looks good
|
2015-11-24 02:43:45 -07:00 |
|
Andrew Kelley
|
7d22a89eec
|
partial hello world codegen
|
2015-11-24 00:35:28 -07:00 |
|
Andrew Kelley
|
3b4a2afb65
|
semantic analysis checks for multiple definitions of functions
|
2015-11-23 22:47:25 -07:00 |
|