aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
AgeCommit message (Collapse)Author
2018-09-07C ABI: support returning large structs on x86_64Andrew Kelley
also panic instead of emitting bad code for returning small structs See #1481
2018-09-07C ABI: support medium size structs & unions for x86_64 paramsAndrew Kelley
See #1481
2018-09-07stage1: function to classify x86_64 abi typesAndrew Kelley
2018-09-07add C ABI test for big unionsAndrew Kelley
2018-09-07stage1: refactor variable inits to use c abi fn walkAndrew Kelley
2018-09-07stage1: refactor param vars for C ABIAndrew Kelley
2018-09-07stage1: refactor fn type analysis to use C ABI walk fnAndrew Kelley
2018-09-07stage1: c abi for big struct worksAndrew Kelley
2018-09-06add C ABI testsAndrew Kelley
2018-09-06stage1: compile error instead of incorrect codeAndrew Kelley
for unimplemented C ABI See #1411 See #1481
2018-09-05stage1: rename more TypeTableEntry types to ZigTypeAndrew Kelley
2018-09-05stage1: rename VariableTableEntry to ZigVarAndrew Kelley
2018-09-05stage1: rename FnTableEntry to ZigFnAndrew Kelley
2018-09-05stage1: rename TypeTableEntry to ZigTypeAndrew Kelley
2018-09-05stage1: fix tagged union with no payloadsAndrew Kelley
closes #1478
2018-09-05stage1: fix emit asm with explicit output fileAndrew Kelley
closes #1473
2018-09-04stage1: use os_path_resolve instead of os_path_realAndrew Kelley
to canonicalize imports. This means that softlinks can represent different files, but referencing the same absolute path different ways still references the same import.
2018-09-04port std.os.path.resolve to stage1Andrew Kelley
2018-09-04add compile error for comptime control flow inside runtime blockAndrew Kelley
closes #834
2018-09-04fix llvm assertion when adding callsite sret attrAndrew Kelley
2018-09-03ability to @ptrCast to *voidAndrew Kelley
fixes #960
2018-09-02use the sret attribute at the callsite when appropriateAndrew Kelley
Thanks to Shawn Landden for the original pull request. closes #1450
2018-08-26fix llvm assertion failure when building std lib tests for macosAndrew Kelley
closes #1417
2018-08-25Merge remote-tracking branch 'origin/master' into macos-stack-tracesAndrew Kelley
2018-08-25fix handling multiple extern vars with the same nameAndrew Kelley
2018-08-23Default to strict IEEE floating pointMarc Tiehuis
Closes #1227.
2018-08-22fix incorrectly generating an unused const fn globalAndrew Kelley
closes #1277
2018-08-02src/codegen.cpp: @handle(): replace hacky ref chain with llvm intrinsic;kristopher tate
Tracking Issue #1296 ;
2018-08-02src/codegen.cpp: return promise instead of null promise;kristopher tate
Tracking Issue #1296 ;
2018-08-02src/codegen.cpp: reassert that there are no generated errors in codegen;kristopher tate
Tracking Issue #1296 ; Thanks @andrewrk ;
2018-08-02src/codegen.cpp: remove `add_node_error` from `ir_render_handle`;kristopher tate
Tracking Issue #1296 ; Thanks @andrewrk ;
2018-08-02src/codegen.cpp: add/throw error for @handle() in a non async context;kristopher tate
Tracking Issue #1296 ; I removed/commented-out the assert checking for no errors since we now have some errors rendered.
2018-08-02src/codegen.cpp: return null if calling convention is not async;kristopher tate
Tracking Issue #1296 ;
2018-08-02src/codegen.cpp: base handle builtin on `@frameAddress()`;kristopher tate
Tracking Issue #1296 ;
2018-07-19prevent non-export symbols from clobbering builtinsAndrew Kelley
closes #1263
2018-07-18Allow pointers to anything in extern/exported declarations (#1258)Jimmi Holst Christensen
* type_allowed_in_extern accepts all ptr not size 0 * Generate correct headers for none extern structs/unions/enums
2018-07-16codegen: remove unused variableAndrew Kelley
2018-07-16all integer sizes are available as primitivesAndrew Kelley
* fix wrong implicit cast for `@IntType` bit_count parameter. * fix incorrect docs for `@IntType` bit_count parameter. closes #1242 closes #745 closes #1240
2018-07-14codegen: Store returned value if type is 'handle_is_ptr' and function is not ↵Eduardo Sánchez Muñoz
'first_arg_ret'. Seems to fix #1230, includes test.
2018-07-13allow == for comparing optional pointersAndrew Kelley
closes #658
2018-07-07add @popCount intrinsicAndrew Kelley
2018-07-06fix iterating over a void sliceAndrew Kelley
closes #1203
2018-07-02add runtime safety for `@intToEnum`; add docs for runtime safetyAndrew Kelley
See #367
2018-06-27add f16 typeBen Noordhuis
Add support for half-precision floating point operations. Introduce `__extendhfsf2` and `__truncsfhf2` in std/special/compiler_rt. Add `__gnu_h2f_ieee` and `__gnu_f2h_ieee` as aliases that are used in Windows builds. The logic in std/special/compiler_rt/extendXfYf2.zig has been reworked and can now operate on 16 bits floating point types. `extendXfYf2()` and `truncXfYf2()` are marked `inline` to work around a not entirely understood stack alignment issue on Windows when calling the f16 versions of the builtins. closes #1122
2018-06-27dry floating-point type definitionsBen Noordhuis
2018-06-20fix runtime fn ptr equality codegenAndrew Kelley
closes #1140
2018-06-19`@floatToInt` now has safety-checked undefined behaviorAndrew Kelley
when the integer part does not fit in the destination integer type * Also fix incorrect safety triggered for integer casting an `i32` to a `u7`. closes #1138 * adds compiler-rt function: `__floatuntidf`
2018-06-19Merge pull request #1136 from alexnask/typeinfo_improvementsAndrew Kelley
@typeInfo now uses optional types instead of @typeOf(undefined)
2018-06-19@typeInfo now uses optional types instead of @typeOf(undefined)Alexandros Naskos
2018-06-19remove enum to/from int casting syntax; add `@enumToInt`/`@intToEnum`Andrew Kelley
see #1061