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
|
18cfcfe44f
|
fix ast printer names
|
2015-11-30 22:40:52 -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
|
abbc395701
|
implement basics of type checking
|
2015-11-30 18:43:45 -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 |
|
Josh Wolfe
|
f36255b670
|
Merge branch 'master' of github.com:andrewrk/zig
|
2015-11-30 14:13:04 -07:00 |
|
Josh Wolfe
|
757ebefd60
|
untangle analyze_node into a stricter call graph
|
2015-11-30 14:13:00 -07:00 |
|
Andrew Kelley
|
4ccb98bdce
|
analyze no longer depends on llvm C++ API
|
2015-11-30 14:10:07 -07:00 |
|
Josh Wolfe
|
014711c57e
|
rename variable
|
2015-11-30 09:38:31 -07:00 |
|
Josh Wolfe
|
9e0ff6faa2
|
factor analysis code out of codegen
|
2015-11-30 09:14:58 -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
|
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
|
4466a4533c
|
parser: add missing static
|
2015-11-29 12:00:34 -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
|
c810a0b381
|
more vim doc files
|
2015-11-27 21:48:58 -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
|
4068897b6b
|
rename standalone.cpp to run_tests.cpp
|
2015-11-27 17:11:03 -07:00 |
|
Andrew Kelley
|
3a1defa67b
|
figure out integers
After researching int_least8_t, int_fast8_t, and friends,
it seems that rust's idea of only having fixed integer
types is the way to go.
|
2015-11-27 17:07:23 -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
|
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 |
|