v2 / vlib / builtin / linux_bare / old / builtin_bare.v
60 lines · 51 sloc · 1022 bytes · 14434cc86aa1ca2a98c023313db3f0ca2a136537
Raw
1module builtin
2
3// called by the generated main/init
4fn init() {
5}
6
7pub fn isnil(p voidptr) bool {
8 return p == 0
9}
10
11pub fn print(s string) {
12 sys_write(1, s.str, u64(s.len))
13}
14
15pub fn println(s string) {
16 print(s)
17 print('\n')
18}
19
20pub fn panic(s string) {
21 eprint('V panic: ')
22 eprintln(s)
23 sys_exit(1)
24}
25
26// replaces panic when -debug arg is passed
27fn panic_debug(line_no int, file string, mod string, fn_name string, s string) {
28 eprintln('================ V panic ================')
29 eprint(' module: ')
30 eprintln('mod')
31 eprint(' function: ')
32 eprint(fn_name)
33 eprintln('()')
34 eprintln(' file: ')
35 eprintln(file)
36 // println(' line: ${line_no}')
37 eprint(' message: ')
38 eprintln(s)
39 eprintln('=========================================')
40 sys_exit(1)
41}
42
43pub fn eprint(s string) {
44 if isnil(s.str) {
45 panic('eprint(NIL)')
46 }
47 sys_write(2, s.str, u64(s.len))
48}
49
50pub fn eprint_ln(s string) {
51 eprint(s)
52 eprint('\n')
53}
54
55pub fn eprintln(s string) {
56 if isnil(s.str) {
57 panic('eprintln(NIL)')
58 }
59 eprint_ln(s)
60}
61