aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
AgeCommit message (Collapse)Author
2017-11-15basic union supportAndrew Kelley
See #144
2017-11-10fix test failuresAndrew Kelley
put all the codegen for fn prototypes to the same place
2017-11-09fix parameter of extern var args not type checkedAndrew Kelley
closes #601
2017-11-07std.io: introduce buffered I/O and change APIAndrew Kelley
I started working on #465 and made some corresponding std.io API changes. New structs: * std.io.FileInStream * std.io.FileOutStream * std.io.BufferedOutStream * std.io.BufferedInStream Removed: * std.io.File.in_stream * std.io.File.out_stream Now instead of &file.out_stream or &file.in_stream to get access to the stream API for a file, you get it like this: var file_in_stream = io.FileInStream.init(&file); const in_stream = &file_in_stream.stream; var file_out_stream = io.FileOutStream.init(&file); const out_stream = &file_out_stream.stream; This is evidence that we might not need any OOP features - See #130.
2017-11-06add @memberType and @memberName builtin functionsAndrew Kelley
see #383 there is a plan to unify most of the reflection into 2 builtin functions, as outlined in the above issue, but this gives us needed features for now, and we can iterate on the design in future commits
2017-11-04fix build on MacOSAndrew Kelley
2017-11-04add compile-time reflection for function arg typesAndrew Kelley
See #383
2017-11-03more compile-time type reflectionAndrew Kelley
See #383
2017-10-25cleaner verbose flags and zig build prints failed commandAndrew Kelley
2017-10-23add maximum value for @setAlignStackAndrew Kelley
2017-10-21report compile error instead of crashing for void in var argsAndrew Kelley
See #557
2017-10-06fix compiler crash when invalid value usedAndrew Kelley
closes #527
2017-10-03add @setAlignStack builtinAndrew Kelley
2017-09-20Merge branch 'master' into c-to-zigAndrew Kelley
2017-09-17fix use of uninitialized variable in alignCastAndrew Kelley
2017-09-14depend on embedded SoftFloat-3d instead of __float128Andrew Kelley
See #302 See #467
2017-09-13add Child property of slice typeAndrew Kelley
also rename child field to Child for pointer and array
2017-09-12fix error messagesAndrew Kelley
2017-09-11Add support for MSVCJonathan Marler
2017-09-10fix not verifying GlobalLinkage and AtomicOrder typesAndrew Kelley
thanks to aep4Ayai on IRC
2017-09-10variables are allowed to be pointers to opaqueAndrew Kelley
2017-09-09more compile errors for non-const variables of thingsAndrew Kelley
closes #456
2017-09-07std: os.ChildProcess knows when its child diedAndrew Kelley
using signal handlers
2017-09-05rename parseh to parsecAndrew Kelley
2017-09-05Merge branch 'c-to-zig'Andrew Kelley
2017-09-05add OpaqueType builtinAndrew Kelley
closes #326
2017-09-05fix void return node and param name nodes, fix dupe macrosAndrew Kelley
all tests passing
2017-09-02rewrite parseh to use AST instead of direct typesAndrew Kelley
some tests still failing
2017-09-01cleanup whitespaceJosh Wolfe
2017-08-31setEvalBranchQuota must be called from top of comptime stackAndrew Kelley
2017-08-31allow array literals to have size and fix comptime bugAndrew Kelley
2017-08-30codegen: all stores specify align valueAndrew Kelley
See #37
2017-08-30compile error for not-aligned-enough pointer to cmpxchgAndrew Kelley
See #37
2017-08-30add alignment field to pointer typeAndrew Kelley
2017-08-30when getting an element pointer, use the best alignmentAndrew Kelley
type we can figure out is safe to use See #37
2017-08-30@ptrCast preserves larger alignment if applicableAndrew Kelley
See #37
2017-08-30add "child" field to pointer typeAndrew Kelley
2017-08-29more alignment improvementsAndrew Kelley
* 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-29fix testsAndrew Kelley
2017-08-29ptrCast gives compile error for increasing alignmentAndrew Kelley
See #37
2017-08-29fix bitfield pointer syntaxAndrew Kelley
See #37
2017-08-29introduce align keywordAndrew Kelley
* remove `@setGlobalAlign` * add align keyword for setting alignment on functions and variables. * loads and stores use alignment from pointer * memcpy, memset use alignment from pointer * add syntax for pointer alignment * slices can have volatile * add u2, i2 primitives * ignore preferred align and use abi align everywhere * back to only having alignOf builtin. preferredAlignOf is too tricky to be useful. See #432. Partial revert of e726925e802eddab53cbfd9aacbc5eefe95c356f. See #37
2017-08-26remove @alignOf and add @cAbiAlignOf and @preferredAlignOfAndrew Kelley
See #396
2017-08-26add some asserts in switch analysis codeAndrew Kelley
2017-08-25implement comptime bitcasting from arrayAndrew Kelley
2017-08-25fix some casts on const data causing segfaultAndrew Kelley
2017-08-25refactor - codegen llvm functions lazilyAndrew Kelley
2017-08-20compile-time f32, f64 operations are now correctly lossyAndrew Kelley
previously we used the bigfloat abstraction to do all compile-time float math. but runtime code and comptime code are supposed to get the same result. so now if you add a f32 to a f32 at compile time it does it with f32 math instead of the bigfloat. float literals still get the bigfloat math. closes #424
2017-08-19add setEvalBranchQuota builtin functionAndrew Kelley
2017-08-19bit shifting safetyAndrew Kelley
* add u3, u4, u5, u6, u7 and i3, i4, i5, i6, i7 * shift operations shift amount parameter type is integer with log2 bit width of other param - This enforces not violating undefined behavior on shift amount >= bit width with the type system * clean up math.log, math.ln, math.log2, math.log10 closes #403