tool: use ccache in gccx, if available
[nit.git] / c_src / environ._sep.c
1 /* This C file is generated by NIT to compile module environ. */
2 #include "environ._sep.h"
3 val_t environ___Symbol___environ(val_t p0){
4 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 static val_t once_value_1; /* Once value */
9 static val_t once_value_2; /* Once value */
10 static val_t once_value_3; /* Once value */
11 static val_t once_value_4; /* Once value */
12 static val_t once_value_6; /* Once value */
13 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14 fra.me.file = LOCATE_environ;
15 fra.me.line = 19;
16 fra.me.meth = LOCATE_environ___Symbol___environ;
17 fra.me.has_broke = 0;
18 fra.me.REG_size = 4;
19 fra.me.REG[0] = NIT_NULL;
20 fra.me.REG[1] = NIT_NULL;
21 fra.me.REG[2] = NIT_NULL;
22 fra.me.REG[3] = NIT_NULL;
23 fra.me.REG[0] = p0;
24 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
25 fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
26 fra.me.REG[1] = CALL_environ___NativeString___get_environ(fra.me.REG[1])(fra.me.REG[1]);
27 /* ./../lib/standard//environ.nit:24 */
28 if (!once_value_1) {
29 if (!once_value_2) {
30 fra.me.REG[2] = BOX_NativeString("");
31 REGB0 = TAG_Int(0);
32 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
33 once_value_2 = fra.me.REG[2];
34 register_static_object(&once_value_2);
35 } else fra.me.REG[2] = once_value_2;
36 fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[2])(fra.me.REG[2]);
37 fra.me.REG[2] = CALL_environ___NativeString___get_environ(fra.me.REG[2])(fra.me.REG[2]);
38 once_value_1 = fra.me.REG[2];
39 register_static_object(&once_value_1);
40 } else fra.me.REG[2] = once_value_1;
41 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
42 /* ./../lib/standard//environ.nit:25 */
43 if (UNTAG_Bool(REGB0)) {
44 } else {
45 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46 REGB0 = REGB1;
47 }
48 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
49 if (UNTAG_Bool(REGB0)) {
50 REGB0 = TAG_Int(3);
51 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
52 /* ./../lib/standard//environ.nit:26 */
53 if (!once_value_3) {
54 fra.me.REG[3] = BOX_NativeString("env ");
55 REGB0 = TAG_Int(4);
56 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
57 once_value_3 = fra.me.REG[3];
58 register_static_object(&once_value_3);
59 } else fra.me.REG[3] = once_value_3;
60 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
61 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
62 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
63 if (!once_value_4) {
64 fra.me.REG[0] = BOX_NativeString("=");
65 REGB0 = TAG_Int(1);
66 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
67 once_value_4 = fra.me.REG[0];
68 register_static_object(&once_value_4);
69 } else fra.me.REG[0] = once_value_4;
70 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
71 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
72 CALL_kernel___Object___output(fra.me.REG[2])(fra.me.REG[2]);
73 /* ./../lib/standard//environ.nit:27 */
74 CALL_kernel___Object___output(fra.me.REG[1])(fra.me.REG[1]);
75 fra.me.REG[1] = NEW_String_string___String___from_cstring(fra.me.REG[1]);
76 /* ./../lib/standard//environ.nit:28 */
77 goto label5;
78 } else {
79 /* ./../lib/standard//environ.nit:30 */
80 if (!once_value_6) {
81 fra.me.REG[2] = BOX_NativeString("");
82 REGB0 = TAG_Int(0);
83 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
84 once_value_6 = fra.me.REG[2];
85 register_static_object(&once_value_6);
86 } else fra.me.REG[2] = once_value_6;
87 fra.me.REG[1] = fra.me.REG[2];
88 goto label5;
89 }
90 label5: while(0);
91 stack_frame_head = fra.me.prev;
92 return fra.me.REG[1];
93 }
94 val_t environ___NativeString___get_environ(val_t p0){
95 struct {struct stack_frame_t me;} fra;
96 val_t tmp;
97 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98 fra.me.file = LOCATE_environ;
99 fra.me.line = 36;
100 fra.me.meth = LOCATE_environ___NativeString___get_environ;
101 fra.me.has_broke = 0;
102 fra.me.REG_size = 1;
103 fra.me.REG[0] = NIT_NULL;
104 fra.me.REG[0] = p0;
105 fra.me.REG[0] = BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString(fra.me.REG[0])));
106 /* ./../lib/standard//environ.nit:36 */
107 stack_frame_head = fra.me.prev;
108 return fra.me.REG[0];
109 }