Andrew Kelley
e7c3aa7f7c
parsec: turn panics into warnings
2017-09-06 01:00:42 -04:00
Andrew Kelley
4b6e278028
travis: use embedded LLD and perform all tests
...
apt.llvm.org has a new enough LLVM build for trusty
2017-09-05 22:55:56 -04:00
Andrew Kelley
2c9bdad346
rename parseh to parsec
2017-09-05 22:55:03 -04:00
Andrew Kelley
48c44615a4
Merge branch 'c-to-zig'
2017-09-05 18:51:48 -04:00
Andrew Kelley
3ff465e288
add OpaqueType builtin
...
closes #326
2017-09-05 18:51:07 -04:00
Andrew Kelley
c3362c1cb6
fix void return node and param name nodes, fix dupe macros
...
all tests passing
2017-09-05 03:11:59 -04:00
Andrew Kelley
87970920c4
parseh: fix duplicate definitions
2017-09-05 02:34:06 -04:00
Andrew Kelley
5c386f9911
parseh: remove unneeded hash tables
2017-09-05 01:22:26 -04:00
Andrew Kelley
f6c271f8eb
parseh tests passing
2017-09-05 00:52:05 -04:00
Andrew Kelley
b64843bf70
parseh: fix generating functions from macros
2017-09-05 00:45:09 -04:00
Andrew Kelley
cc621cdee3
fix parseh bugs
2017-09-05 00:21:02 -04:00
Andrew Kelley
e1d5da20a5
rewrite parseh to use AST instead of direct types
...
some tests still failing
2017-09-02 04:11:23 -04:00
Josh Wolfe
0f38955ee5
translate while loops and implicit bitcasts
2017-09-01 12:51:45 -07:00
Josh Wolfe
fa8912ab78
translate some variable declaration cases
2017-09-01 12:03:21 -07:00
Josh Wolfe
7e1bf6d29b
progress toward variable declaration translation
2017-09-01 11:45:06 -07:00
Josh Wolfe
a260cfa4dd
Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
2017-09-01 11:42:48 -07:00
Josh Wolfe
0d0fffe4d2
start implementing variable declaration translation
2017-09-01 11:39:48 -07:00
Andrew Kelley
80d75cf3bf
here, have trans_qual_type
2017-09-01 14:39:17 -04:00
Andrew Kelley
60bdbe5405
parseh: emit_warning takes SourceLocation
2017-09-01 13:39:16 -04:00
Josh Wolfe
1449e71de8
cleanup whitespace
2017-09-01 10:27:04 -07:00
Andrew Kelley
46e9d9df51
c-to-zig: less than, negation, ternary
2017-09-01 04:38:57 -04:00
Andrew Kelley
ee9d1d0414
c-to-zig: return statement
2017-09-01 03:16:35 -04:00
Josh Wolfe
848504117f
Revert "fix return types of min amd max"
...
This reverts commit 180fe8d506
.
2017-08-31 17:56:06 -07:00
Josh Wolfe
180fe8d506
fix return types of min amd max
2017-08-31 17:45:34 -07:00
Andrew Kelley
06b64d82bf
only export __chkstk for windows
...
it's a windows only function anyway
2017-08-31 20:10:24 -04:00
Raul Leal
e93ece7514
Opaque ptr patch
2017-08-31 18:01:09 -04:00
Andrew Kelley
c42e809f13
setEvalBranchQuota must be called from top of comptime stack
2017-08-31 16:54:20 -04:00
Andrew Kelley
67b6dd28ec
allow array literals to have size and fix comptime bug
2017-08-31 16:30:46 -04:00
Andrew Kelley
eb0979189b
add windows to test targets
...
cross-compiling hello world with no libc for windows is working
2017-08-31 11:41:58 -04:00
Andrew Kelley
156a84e80f
compiler-rt: add __aeabi_uldivmod
2017-08-31 01:39:20 -04:00
Andrew Kelley
021155db5b
successfully cross-building behavior tests for windows
2017-08-30 17:01:14 -04:00
Andrew Kelley
41da9fdb69
LLD: fix libCOFF calling exit() instead of return
2017-08-30 17:00:12 -04:00
Andrew Kelley
eb8440441f
travis: skip cross compiling osx tests
...
we have to skip cross compiling OSX tests because
apt.llvm.org has an old version of llvm for the
version of ubuntu that travis is running on.
2017-08-30 15:22:50 -04:00
Andrew Kelley
97013951dd
tests use darwin, not macosx since that's what macbook reports as
2017-08-30 15:15:14 -04:00
Andrew Kelley
0e9bdb44a6
test suite cross-compile builds tests for other targets
2017-08-30 14:55:26 -04:00
Andrew Kelley
052b4ae941
align syntax: align(4) instead of align 4
...
closes #37
2017-08-30 04:54:33 -04:00
Andrew Kelley
3f5dd08ca8
codegen: all stores specify align value
...
See #37
2017-08-30 04:23:52 -04:00
Andrew Kelley
849f65332d
set alignment on all loads and globals
...
See #37
2017-08-30 03:43:51 -04:00
Andrew Kelley
e9280c86a1
compile error for not-aligned-enough pointer to cmpxchg
...
See #37
2017-08-30 02:56:42 -04:00
Andrew Kelley
010b725bde
add alignment field to pointer type
2017-08-30 02:41:27 -04:00
Andrew Kelley
5482f9f9e8
when getting an element pointer, use the best alignment
...
type we can figure out is safe to use
See #37
2017-08-30 02:25:41 -04:00
Andrew Kelley
56cc62a9c7
@ptrCast preserves larger alignment if applicable
...
See #37
2017-08-30 01:12:47 -04:00
Andrew Kelley
fa9006f8d1
generic functions can access comptime args in align value
...
See #37
2017-08-30 00:46:38 -04:00
Andrew Kelley
c2357830b4
add "child" field to pointer type
2017-08-30 00:17:11 -04:00
Andrew Kelley
b35dad88b4
add tests for function alignment handling
...
See #37
2017-08-30 00:06:14 -04:00
Andrew Kelley
2d57622355
add test for @alignCast on a slice
...
See #37
2017-08-29 23:39:54 -04:00
Andrew Kelley
898d65baa9
more alignment improvements
...
* add alignment capability for fn protos
* add @alignCast
* fix some ast rendering code
* fix some ir rendering code
* add error for pointer cast increasing alignment
* update allocators in std to correctly align
See #37
2017-08-29 23:33:25 -04:00
Andrew Kelley
910a96f046
fix tests
2017-08-29 17:10:11 -04:00
Andrew Kelley
816689a3b1
ptrCast gives compile error for increasing alignment
...
See #37
2017-08-29 16:52:31 -04:00
Andrew Kelley
be94299666
prevent implicitly increasing pointer alignment
...
See #37
2017-08-29 15:19:15 -04:00