Andrew Kelley
|
9ca9a2c554
|
allow empty function and return with no expression
|
2015-11-27 10:52:31 -07:00 |
|
Andrew Kelley
|
821907317e
|
support C-style comments, plus nesting
|
2015-11-27 00:40:26 -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 |
|
Josh Wolfe
|
00a7936c9f
|
more readable integer constant
|
2015-11-26 02:48:06 -07:00 |
|
Andrew Kelley
|
763ce1c485
|
add tests
|
2015-11-26 01:29:52 -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 |
|
Andrew Kelley
|
6f460de02d
|
parser: force ast printer to be correct
|
2015-11-25 16:57:34 -07:00 |
|
Josh Wolfe
|
311fd67083
|
inline AstNodeStatementExpression
|
2015-11-25 16:43:16 -07:00 |
|
Andrew Kelley
|
22421447fb
|
fix the remaining TODOs in the source
|
2015-11-25 16:36:03 -07:00 |
|
Josh Wolfe
|
e48717e091
|
clean up noreturn stuff
|
2015-11-25 15:58:32 -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
|
079ed9e356
|
parser: more AST printing code for debug purposes
|
2015-11-25 15:40:05 -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
|
c3458543c9
|
build: fix findllvm script
|
2015-11-25 11:37:43 -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
|
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
|
afac1a0123
|
simple vim syntax highlighting
|
2015-11-24 23:44:08 -07:00 |
|
Andrew Kelley
|
505317a12f
|
debug/release mode
|
2015-11-24 22:32:26 -07:00 |
|
Andrew Kelley
|
cda10f0577
|
only \n and ' ' are valid whitespace characters
|
2015-11-24 20:37:53 -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 |
|
Andrew Kelley
|
a22bc8d20a
|
more detailed AST inspection
|
2015-11-23 21:45:10 -07:00 |
|
Andrew Kelley
|
1b24f4c73c
|
parsing hello.zig example with recursive descent
that was easy
|
2015-11-23 21:30:12 -07:00 |
|
Andrew Kelley
|
6b911f1e94
|
delete parser generator. let's try recursive descent
|
2015-11-23 19:21:52 -07:00 |
|
Andrew Kelley
|
5b663ddbb2
|
grammar doesn't need the option() construct
|
2015-11-23 19:19:38 -07:00 |
|
Andrew Kelley
|
4236b85c72
|
parser generator supports a simple OR
|
2015-11-07 04:50:48 -07:00 |
|
Andrew Kelley
|
ae0e9685c6
|
parser generator supports sub rules
|
2015-11-06 23:59:40 -07:00 |
|
Andrew Kelley
|
72be61fc0a
|
generated parser understands tuples
|
2015-11-06 22:11:47 -07:00 |
|
Andrew Kelley
|
4ecb37a8a4
|
delete ELF parsing code
|
2015-11-05 00:06:36 -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
|
c36cd9d313
|
parsergen parsing a simple grammar
|
2015-11-04 00:07:24 -07:00 |
|
Andrew Kelley
|
7cfceeca2d
|
parser generator beginnings
|
2015-11-03 22:39:35 -07:00 |
|
Andrew Kelley
|
303823b6b8
|
building part of the hello world AST
|
2015-11-02 03:39:36 -07:00 |
|
Andrew Kelley
|
34f8d80eac
|
tokenizing hello.zig
|
2015-11-01 22:21:33 -07:00 |
|
Andrew Kelley
|
5f48463bdd
|
some half done thing I forgot about ¯\_(ツ)_/¯
|
2015-08-23 22:45:20 -07:00 |
|
Andrew Kelley
|
d519ce87dd
|
preprocessor runs once
|
2015-08-05 21:47:08 -07:00 |
|
Andrew Kelley
|
e71521335a
|
preprocessor detects #include directives
|
2015-08-05 20:26:58 -07:00 |
|