Commit Graph

59 Commits

Author SHA1 Message Date
bjorn3
ac4baf3fd6 Allow unreachable blocks for now
The cleanup blocks normally executed when unwinding are unreachable for
now as unwinding is not yet implemented.
2022-02-26 19:35:33 +01:00
antoyo
41f20fa3a5
Support 128-bit integers on platforms without native support (#103)
* Use sized integer types

* Add support for integer types not supported on some platforms

* Add feature to test non-native integers in CI
2022-01-30 21:45:14 -05:00
antoyo
5dc660b106
Support upgrading the alignment of a global variable (#121)
* Renable failing test
* Update to newest gccjit.rs
2022-01-26 08:57:17 -05:00
bjorn3
54d2ec1a82 Merge commit '1411a98352ba6bee8ba3b0131c9243e5db1e6a2e' into sync_cg_clif-2021-12-31 2021-12-31 16:26:32 +01:00
antoyo
2989a25273
Feature/global rvalue initialization petter tomner (#111)
* Use new initialization functions

* Fix for new reflection patch

* Fix for new TLS patch
2021-12-15 23:48:10 -05:00
bjorn3
08183f9f2d
Remove unused dependency on object (#102) 2021-10-31 12:17:13 -04:00
antoyo
64c561dc22
Fix global initialization (#91)
* Make define_global() return a RValue directly
* Return LValue in functions declaring a global variable
* Remove useless cast
* Fix bytes_in_context to use an array rvalue
* Remove global_names which is unused
* Make const_struct create a constant struct
* Correctly initialize global in static_addr_of_mut
* Fix global variable initialization
* Remove workaround for ARGV
2021-09-26 12:20:02 -04:00
Commeownist
7c707e4b95
Implement basic inline asm support (#72)
* Implement basic support for inline assembly

* Disable LTO

We don't support it yet at all

* Handle `inout(reg) var` correctly

Turns out that `+` readwrite output registers cannot be tied with
input variables.

* Add limited support for llvm_asm!

* Handle CHANNEL correctly

* Add support for arbitrary explicit registers

* Handle symbols properly

* Add rudimentary asm tests

* Exclude llvm_asm! tests from tests runs

* Insert `__builtin_unreachable()` after diverging asm blocks
2021-09-05 11:26:01 -04:00
Antoni Boucher
afae271d5d Initial commit 2021-08-12 21:46:50 -04:00