main.zk 431 B

12345678910111213141516171819202122
  1. #llvm(
  2. #"@int.fmt = private unnamed_addr constant [14 x i8] c"Integer: %ld\0A\00""#
  3. )
  4. #llvm("declare i32 @printf(ptr, ...)")
  5. #fn print_i64($x: expr) {
  6. #llvm(
  7. "%call.{:id} = call i32 (ptr, ...) @printf(ptr @int.fmt, {0:ty} {0})",
  8. $x
  9. )
  10. }
  11. fn add(a: i64, b: i64) -> i64 {
  12. return 0 + a + b
  13. }
  14. fn main() -> void {
  15. val test: i64 = add(3, 5)
  16. #print_i64(test)
  17. #print_i64(test + 1)
  18. return
  19. }