kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

118_decl_extra_attrs.toy (878B)


      1 extern fn @[.noreturn, .cold, .no_red_zone, .callconv(.target_c)]
      2 fatal_exit(code: i64): void;
      3 
      4 extern fn @[.naked, .interrupt]
      5 interrupt_entry(): void;
      6 
      7 extern fn @[.ifunc, .dllimport]
      8 indirect_import(): void;
      9 
     10 pub fn @[.dllexport]
     11 exported_marker(): i64 {
     12   return 0;
     13 }
     14 
     15 extern var @[.threadlocal, .tls_model(.auto)] tls_auto: i32;
     16 extern var @[.threadlocal, .tls_model(.local_exec)] tls_local_exec: i32;
     17 extern var @[.threadlocal, .tls_model(.initial_exec)] tls_initial_exec: i32;
     18 extern var @[.threadlocal, .tls_model(.local_dynamic)] tls_local_dynamic: i32;
     19 extern var @[.threadlocal, .tls_model(.general_dynamic)] tls_general_dynamic: i32;
     20 
     21 pub let @[.section(".rodata.toy.merge"), .retain, .merge, .strings, .entsize(1)]
     22 merged_string: [4]i8 = "toy\0";
     23 
     24 fn __user_main(): i64 {
     25   return (merged_string[0] as i64) - 116;
     26 }
     27 
     28 fn main(): i32 { return __user_main() as i32; }