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; }