Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/bash/src/unwind_prot.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||||||||||||||
7 | - | |||||||||||||||||||||||||||||||||||||
8 | - | |||||||||||||||||||||||||||||||||||||
9 | - | |||||||||||||||||||||||||||||||||||||
10 | - | |||||||||||||||||||||||||||||||||||||
11 | - | |||||||||||||||||||||||||||||||||||||
12 | - | |||||||||||||||||||||||||||||||||||||
13 | - | |||||||||||||||||||||||||||||||||||||
14 | - | |||||||||||||||||||||||||||||||||||||
15 | typedef struct { | - | ||||||||||||||||||||||||||||||||||||
16 | char *variable; | - | ||||||||||||||||||||||||||||||||||||
17 | int size; | - | ||||||||||||||||||||||||||||||||||||
18 | char desired_setting[1]; | - | ||||||||||||||||||||||||||||||||||||
19 | } SAVED_VAR; | - | ||||||||||||||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||||||||||||||
21 | - | |||||||||||||||||||||||||||||||||||||
22 | - | |||||||||||||||||||||||||||||||||||||
23 | - | |||||||||||||||||||||||||||||||||||||
24 | typedef union uwp { | - | ||||||||||||||||||||||||||||||||||||
25 | struct uwp_head { | - | ||||||||||||||||||||||||||||||||||||
26 | union uwp *next; | - | ||||||||||||||||||||||||||||||||||||
27 | Function *cleanup; | - | ||||||||||||||||||||||||||||||||||||
28 | } head; | - | ||||||||||||||||||||||||||||||||||||
29 | struct { | - | ||||||||||||||||||||||||||||||||||||
30 | struct uwp_head uwp_head; | - | ||||||||||||||||||||||||||||||||||||
31 | char *v; | - | ||||||||||||||||||||||||||||||||||||
32 | } arg; | - | ||||||||||||||||||||||||||||||||||||
33 | struct { | - | ||||||||||||||||||||||||||||||||||||
34 | struct uwp_head uwp_head; | - | ||||||||||||||||||||||||||||||||||||
35 | SAVED_VAR v; | - | ||||||||||||||||||||||||||||||||||||
36 | } sv; | - | ||||||||||||||||||||||||||||||||||||
37 | } UNWIND_ELT; | - | ||||||||||||||||||||||||||||||||||||
38 | - | |||||||||||||||||||||||||||||||||||||
39 | static void without_interrupts (VFunction *, char *, char *); | - | ||||||||||||||||||||||||||||||||||||
40 | static void unwind_frame_discard_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
41 | static void unwind_frame_run_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
42 | static void add_unwind_protect_internal (Function *, char *); | - | ||||||||||||||||||||||||||||||||||||
43 | static void remove_unwind_protect_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
44 | static void run_unwind_protects_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
45 | static void clear_unwind_protects_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
46 | static inline void restore_variable (SAVED_VAR *); | - | ||||||||||||||||||||||||||||||||||||
47 | static void unwind_protect_mem_internal (char *, char *); | - | ||||||||||||||||||||||||||||||||||||
48 | - | |||||||||||||||||||||||||||||||||||||
49 | static UNWIND_ELT *unwind_protect_list = (UNWIND_ELT *) | - | ||||||||||||||||||||||||||||||||||||
50 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
51 | ; | - | ||||||||||||||||||||||||||||||||||||
52 | - | |||||||||||||||||||||||||||||||||||||
53 | - | |||||||||||||||||||||||||||||||||||||
54 | - | |||||||||||||||||||||||||||||||||||||
55 | - | |||||||||||||||||||||||||||||||||||||
56 | sh_obj_cache_t uwcache = {0, 0, 0}; | - | ||||||||||||||||||||||||||||||||||||
57 | void | - | ||||||||||||||||||||||||||||||||||||
58 | uwp_init () | - | ||||||||||||||||||||||||||||||||||||
59 | { | - | ||||||||||||||||||||||||||||||||||||
60 | do { (uwcache).data = sh_xmalloc(((128) * sizeof (UNWIND_ELT *)), "unwind_prot.c", 107); (uwcache).cs = (128); (uwcache).nc = 0; } while (0); | - | ||||||||||||||||||||||||||||||||||||
61 | } executed 5446 times by 1 test: end of block Executed by:
| 5446 | ||||||||||||||||||||||||||||||||||||
62 | - | |||||||||||||||||||||||||||||||||||||
63 | - | |||||||||||||||||||||||||||||||||||||
64 | - | |||||||||||||||||||||||||||||||||||||
65 | - | |||||||||||||||||||||||||||||||||||||
66 | static void | - | ||||||||||||||||||||||||||||||||||||
67 | without_interrupts (function, arg1, arg2) | - | ||||||||||||||||||||||||||||||||||||
68 | VFunction *function; | - | ||||||||||||||||||||||||||||||||||||
69 | char *arg1, *arg2; | - | ||||||||||||||||||||||||||||||||||||
70 | { | - | ||||||||||||||||||||||||||||||||||||
71 | int old_interrupt_immediately; | - | ||||||||||||||||||||||||||||||||||||
72 | - | |||||||||||||||||||||||||||||||||||||
73 | old_interrupt_immediately = interrupt_immediately; | - | ||||||||||||||||||||||||||||||||||||
74 | interrupt_immediately = 0; | - | ||||||||||||||||||||||||||||||||||||
75 | - | |||||||||||||||||||||||||||||||||||||
76 | (*function)(arg1, arg2); | - | ||||||||||||||||||||||||||||||||||||
77 | - | |||||||||||||||||||||||||||||||||||||
78 | interrupt_immediately = old_interrupt_immediately; | - | ||||||||||||||||||||||||||||||||||||
79 | } executed 1263365939 times by 1 test: end of block Executed by:
| 1263365939 | ||||||||||||||||||||||||||||||||||||
80 | - | |||||||||||||||||||||||||||||||||||||
81 | - | |||||||||||||||||||||||||||||||||||||
82 | void | - | ||||||||||||||||||||||||||||||||||||
83 | begin_unwind_frame (tag) | - | ||||||||||||||||||||||||||||||||||||
84 | char *tag; | - | ||||||||||||||||||||||||||||||||||||
85 | { | - | ||||||||||||||||||||||||||||||||||||
86 | add_unwind_protect ((Function *) | - | ||||||||||||||||||||||||||||||||||||
87 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
88 | , tag); | - | ||||||||||||||||||||||||||||||||||||
89 | } executed 401509304 times by 1 test: end of block Executed by:
| 401509304 | ||||||||||||||||||||||||||||||||||||
90 | - | |||||||||||||||||||||||||||||||||||||
91 | - | |||||||||||||||||||||||||||||||||||||
92 | void | - | ||||||||||||||||||||||||||||||||||||
93 | discard_unwind_frame (tag) | - | ||||||||||||||||||||||||||||||||||||
94 | char *tag; | - | ||||||||||||||||||||||||||||||||||||
95 | { | - | ||||||||||||||||||||||||||||||||||||
96 | if (unwind_protect_list
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
97 | without_interrupts (unwind_frame_discard_internal, tag, (char *) executed 397673183 times by 1 test: without_interrupts (unwind_frame_discard_internal, tag, (char *) ((void *)0) ); Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
98 | ((void *)0) executed 397673183 times by 1 test: without_interrupts (unwind_frame_discard_internal, tag, (char *) ((void *)0) ); Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
99 | ); executed 397673183 times by 1 test: without_interrupts (unwind_frame_discard_internal, tag, (char *) ((void *)0) ); Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
100 | } executed 397673183 times by 1 test: end of block Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
101 | - | |||||||||||||||||||||||||||||||||||||
102 | - | |||||||||||||||||||||||||||||||||||||
103 | void | - | ||||||||||||||||||||||||||||||||||||
104 | run_unwind_frame (tag) | - | ||||||||||||||||||||||||||||||||||||
105 | char *tag; | - | ||||||||||||||||||||||||||||||||||||
106 | { | - | ||||||||||||||||||||||||||||||||||||
107 | if (unwind_protect_list
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
108 | without_interrupts (unwind_frame_run_internal, tag, (char *) executed 3720435 times by 1 test: without_interrupts (unwind_frame_run_internal, tag, (char *) ((void *)0) ); Executed by:
| 3720435 | ||||||||||||||||||||||||||||||||||||
109 | ((void *)0) executed 3720435 times by 1 test: without_interrupts (unwind_frame_run_internal, tag, (char *) ((void *)0) ); Executed by:
| 3720435 | ||||||||||||||||||||||||||||||||||||
110 | ); executed 3720435 times by 1 test: without_interrupts (unwind_frame_run_internal, tag, (char *) ((void *)0) ); Executed by:
| 3720435 | ||||||||||||||||||||||||||||||||||||
111 | } executed 3720435 times by 1 test: end of block Executed by:
| 3720435 | ||||||||||||||||||||||||||||||||||||
112 | - | |||||||||||||||||||||||||||||||||||||
113 | - | |||||||||||||||||||||||||||||||||||||
114 | void | - | ||||||||||||||||||||||||||||||||||||
115 | add_unwind_protect (cleanup, arg) | - | ||||||||||||||||||||||||||||||||||||
116 | Function *cleanup; | - | ||||||||||||||||||||||||||||||||||||
117 | char *arg; | - | ||||||||||||||||||||||||||||||||||||
118 | { | - | ||||||||||||||||||||||||||||||||||||
119 | without_interrupts (add_unwind_protect_internal, (char *)cleanup, arg); | - | ||||||||||||||||||||||||||||||||||||
120 | } executed 775457496 times by 1 test: end of block Executed by:
| 775457496 | ||||||||||||||||||||||||||||||||||||
121 | - | |||||||||||||||||||||||||||||||||||||
122 | - | |||||||||||||||||||||||||||||||||||||
123 | void | - | ||||||||||||||||||||||||||||||||||||
124 | remove_unwind_protect () | - | ||||||||||||||||||||||||||||||||||||
125 | { | - | ||||||||||||||||||||||||||||||||||||
126 | if (unwind_protect_list
| 0-11 | ||||||||||||||||||||||||||||||||||||
127 | without_interrupts executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
128 | (remove_unwind_protect_internal, (char *) executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
129 | ((void *)0) executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
130 | , (char *) executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
131 | ((void *)0) executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
132 | ); executed 11 times by 1 test: without_interrupts (remove_unwind_protect_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
133 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
134 | - | |||||||||||||||||||||||||||||||||||||
135 | - | |||||||||||||||||||||||||||||||||||||
136 | void | - | ||||||||||||||||||||||||||||||||||||
137 | run_unwind_protects () | - | ||||||||||||||||||||||||||||||||||||
138 | { | - | ||||||||||||||||||||||||||||||||||||
139 | if (unwind_protect_list
| 0-389 | ||||||||||||||||||||||||||||||||||||
140 | without_interrupts executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
141 | (run_unwind_protects_internal, (char *) executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
142 | ((void *)0) executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
143 | , (char *) executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
144 | ((void *)0) executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
145 | ); executed 389 times by 1 test: without_interrupts (run_unwind_protects_internal, (char *) ((void *)0) , (char *) ((void *)0) ); Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
146 | } executed 389 times by 1 test: end of block Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
147 | - | |||||||||||||||||||||||||||||||||||||
148 | - | |||||||||||||||||||||||||||||||||||||
149 | void | - | ||||||||||||||||||||||||||||||||||||
150 | clear_unwind_protect_list (flags) | - | ||||||||||||||||||||||||||||||||||||
151 | int flags; | - | ||||||||||||||||||||||||||||||||||||
152 | { | - | ||||||||||||||||||||||||||||||||||||
153 | char *flag; | - | ||||||||||||||||||||||||||||||||||||
154 | - | |||||||||||||||||||||||||||||||||||||
155 | if (unwind_protect_list
| 0-15 | ||||||||||||||||||||||||||||||||||||
156 | { | - | ||||||||||||||||||||||||||||||||||||
157 | flag = flags
| 0-15 | ||||||||||||||||||||||||||||||||||||
158 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
159 | ; | - | ||||||||||||||||||||||||||||||||||||
160 | without_interrupts | - | ||||||||||||||||||||||||||||||||||||
161 | (clear_unwind_protects_internal, flag, (char *) | - | ||||||||||||||||||||||||||||||||||||
162 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
163 | ); | - | ||||||||||||||||||||||||||||||||||||
164 | } executed 15 times by 1 test: end of block Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
165 | } executed 15 times by 1 test: end of block Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
166 | - | |||||||||||||||||||||||||||||||||||||
167 | int | - | ||||||||||||||||||||||||||||||||||||
168 | have_unwind_protects () | - | ||||||||||||||||||||||||||||||||||||
169 | { | - | ||||||||||||||||||||||||||||||||||||
170 | return executed 8 times by 1 test: (unwind_protect_list != 0);return (unwind_protect_list != 0); Executed by:
executed 8 times by 1 test: return (unwind_protect_list != 0); Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||
171 | } | - | ||||||||||||||||||||||||||||||||||||
172 | - | |||||||||||||||||||||||||||||||||||||
173 | int | - | ||||||||||||||||||||||||||||||||||||
174 | unwind_protect_tag_on_stack (tag) | - | ||||||||||||||||||||||||||||||||||||
175 | const char *tag; | - | ||||||||||||||||||||||||||||||||||||
176 | { | - | ||||||||||||||||||||||||||||||||||||
177 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
178 | - | |||||||||||||||||||||||||||||||||||||
179 | elt = unwind_protect_list; | - | ||||||||||||||||||||||||||||||||||||
180 | while (elt
| 4-122 | ||||||||||||||||||||||||||||||||||||
181 | { | - | ||||||||||||||||||||||||||||||||||||
182 | if (elt->head.cleanup == 0
| 9-87 | ||||||||||||||||||||||||||||||||||||
183 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
| 3-6 | ||||||||||||||||||||||||||||||||||||
184 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
185 | ) && __builtin_constant_p (
| 3-6 | ||||||||||||||||||||||||||||||||||||
186 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
187 | ) && (__s1_len = __builtin_strlen (
| 3-6 | ||||||||||||||||||||||||||||||||||||
188 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
189 | ), __s2_len = __builtin_strlen (
| 3-6 | ||||||||||||||||||||||||||||||||||||
190 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
191 | ), (!((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
192 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
193 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
194 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
195 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
196 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
197 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
198 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
199 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
| 3-6 | ||||||||||||||||||||||||||||||||||||
200 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
201 | ,
| 3-6 | ||||||||||||||||||||||||||||||||||||
202 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
203 | ) : (__builtin_constant_p (
| 3-6 | ||||||||||||||||||||||||||||||||||||
204 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
205 | ) && ((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
206 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
207 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
208 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
209 | ) == 1) && (__s1_len = __builtin_strlen (
| 3-6 | ||||||||||||||||||||||||||||||||||||
210 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
211 | ), __s1_len < 4) ? (__builtin_constant_p (
| 3-6 | ||||||||||||||||||||||||||||||||||||
212 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
213 | ) && ((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
214 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
215 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
216 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
217 | ) == 1) ? __builtin_strcmp (
| 3-6 | ||||||||||||||||||||||||||||||||||||
218 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
219 | ,
| 3-6 | ||||||||||||||||||||||||||||||||||||
220 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
221 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 3-6 | ||||||||||||||||||||||||||||||||||||
222 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
223 | ); int __result = (((const unsigned char *) (const char *) (
| 3-6 | ||||||||||||||||||||||||||||||||||||
224 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
225 | ))[0] - __s2[0]); if (__s1_len > 0
| 0-6 | ||||||||||||||||||||||||||||||||||||
226 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
227 | ))[1] - __s2[1]); if (__s1_len > 1
| 0-6 | ||||||||||||||||||||||||||||||||||||
228 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
229 | ))[2] - __s2[2]); if (__s1_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]);
| 0-6 | ||||||||||||||||||||||||||||||||||||
230 | elt->arg.v
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); | 0-6 | ||||||||||||||||||||||||||||||||||||
231 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : (__builtin_constant_p (end of block
| 0-6 | ||||||||||||||||||||||||||||||||||||
232 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
233 | ) && ((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
234 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
235 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
236 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
237 | ) == 1) && (__s2_len = __builtin_strlen (
| 3-6 | ||||||||||||||||||||||||||||||||||||
238 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
239 | ), __s2_len < 4) ? (__builtin_constant_p (
| 3-6 | ||||||||||||||||||||||||||||||||||||
240 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
241 | ) && ((size_t)(const void *)((
| 3-6 | ||||||||||||||||||||||||||||||||||||
242 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
243 | ) + 1) - (size_t)(const void *)(
| 3-6 | ||||||||||||||||||||||||||||||||||||
244 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
245 | ) == 1) ? __builtin_strcmp (
| 3-6 | ||||||||||||||||||||||||||||||||||||
246 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
247 | ,
| 3-6 | ||||||||||||||||||||||||||||||||||||
248 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
249 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 3-6 | ||||||||||||||||||||||||||||||||||||
250 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
251 | ); int __result = (((const unsigned char *) (const char *) (
| 3-6 | ||||||||||||||||||||||||||||||||||||
252 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
253 | ))[0] - __s2[0]); if (__s2_len > 0
| 0-6 | ||||||||||||||||||||||||||||||||||||
254 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
255 | ))[1] - __s2[1]); if (__s2_len > 1
| 0-6 | ||||||||||||||||||||||||||||||||||||
256 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
257 | ))[2] - __s2[2]); if (__s2_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]);
| 0-6 | ||||||||||||||||||||||||||||||||||||
258 | tag
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); | 0-6 | ||||||||||||||||||||||||||||||||||||
259 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : __builtin_strcmp (end of block
| 0-6 | ||||||||||||||||||||||||||||||||||||
260 | elt->arg.v
| 3-6 | ||||||||||||||||||||||||||||||||||||
261 | ,
| 3-6 | ||||||||||||||||||||||||||||||||||||
262 | tag
| 3-6 | ||||||||||||||||||||||||||||||||||||
263 | )))); })
| 3-6 | ||||||||||||||||||||||||||||||||||||
264 | == 0
| 3-6 | ||||||||||||||||||||||||||||||||||||
265 | return executed 3 times by 1 test: 1;return 1; Executed by:
executed 3 times by 1 test: return 1; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||
266 | elt = elt->head.next; | - | ||||||||||||||||||||||||||||||||||||
267 | } executed 119 times by 1 test: end of block Executed by:
| 119 | ||||||||||||||||||||||||||||||||||||
268 | return executed 4 times by 1 test: 0;return 0; Executed by:
executed 4 times by 1 test: return 0; Executed by:
| 4 | ||||||||||||||||||||||||||||||||||||
269 | } | - | ||||||||||||||||||||||||||||||||||||
270 | - | |||||||||||||||||||||||||||||||||||||
271 | - | |||||||||||||||||||||||||||||||||||||
272 | - | |||||||||||||||||||||||||||||||||||||
273 | - | |||||||||||||||||||||||||||||||||||||
274 | - | |||||||||||||||||||||||||||||||||||||
275 | - | |||||||||||||||||||||||||||||||||||||
276 | - | |||||||||||||||||||||||||||||||||||||
277 | static void | - | ||||||||||||||||||||||||||||||||||||
278 | add_unwind_protect_internal (cleanup, arg) | - | ||||||||||||||||||||||||||||||||||||
279 | Function *cleanup; | - | ||||||||||||||||||||||||||||||||||||
280 | char *arg; | - | ||||||||||||||||||||||||||||||||||||
281 | { | - | ||||||||||||||||||||||||||||||||||||
282 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
283 | - | |||||||||||||||||||||||||||||||||||||
284 | do { if ((
executed 775230315 times by 1 test: else (end of block Executed by:
executed 227181 times by 1 test: elt) = (UNWIND_ELT *)sh_xmalloc((sizeof (UNWIND_ELT)), "unwind_prot.c", 231);(elt) = (UNWIND_ELT *)sh_xmalloc((sizeof (UNWIND_ELT)), "unwind_prot.c", 231); Executed by:
executed 227181 times by 1 test: } while (0);(elt) = (UNWIND_ELT *)sh_xmalloc((sizeof (UNWIND_ELT)), "unwind_prot.c", 231); Executed by:
| 227181-775230315 | ||||||||||||||||||||||||||||||||||||
285 | elt->head.next = unwind_protect_list; | - | ||||||||||||||||||||||||||||||||||||
286 | elt->head.cleanup = cleanup; | - | ||||||||||||||||||||||||||||||||||||
287 | elt->arg.v = arg; | - | ||||||||||||||||||||||||||||||||||||
288 | unwind_protect_list = elt; | - | ||||||||||||||||||||||||||||||||||||
289 | } executed 775457496 times by 1 test: end of block Executed by:
| 775457496 | ||||||||||||||||||||||||||||||||||||
290 | - | |||||||||||||||||||||||||||||||||||||
291 | static void | - | ||||||||||||||||||||||||||||||||||||
292 | remove_unwind_protect_internal (ignore1, ignore2) | - | ||||||||||||||||||||||||||||||||||||
293 | char *ignore1, *ignore2; | - | ||||||||||||||||||||||||||||||||||||
294 | { | - | ||||||||||||||||||||||||||||||||||||
295 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
296 | - | |||||||||||||||||||||||||||||||||||||
297 | elt = unwind_protect_list; | - | ||||||||||||||||||||||||||||||||||||
298 | if (elt
| 0-11 | ||||||||||||||||||||||||||||||||||||
299 | { | - | ||||||||||||||||||||||||||||||||||||
300 | unwind_protect_list = unwind_protect_list->head.next; | - | ||||||||||||||||||||||||||||||||||||
301 | do { if ((
never executed: else { mcn = (mctmp-1)/8; mctmp &= 7; }mcn = 0; executed 6 times by 1 test: switch (mctmp) { caseend of block Executed by:
executed 6 times by 1 test: 0:case 0: Executed by:
executed 6 times by 1 test: for(;;) { *mzp++ = 0xdf; casecase 0: Executed by:
never executed: case 7: code before this statement executed 24 times by 1 test: case 7: Executed by:
never executed: 7:case 7: code before this statement executed 24 times by 1 test: case 7: Executed by:
never executed: *mzp++ = 0xdf; casecase 7: never executed: case 6: code before this statement executed 24 times by 1 test: case 6: Executed by:
never executed: 6:case 6: code before this statement executed 24 times by 1 test: case 6: Executed by:
never executed: *mzp++ = 0xdf; casecase 6: never executed: case 5: code before this statement executed 24 times by 1 test: case 5: Executed by:
never executed: 5:case 5: code before this statement executed 24 times by 1 test: case 5: Executed by:
never executed: *mzp++ = 0xdf; casecase 5: never executed: case 4: code before this statement executed 24 times by 1 test: case 4: Executed by:
never executed: 4:case 4: code before this statement executed 24 times by 1 test: case 4: Executed by:
never executed: *mzp++ = 0xdf; casecase 4: never executed: case 3: code before this statement executed 24 times by 1 test: case 3: Executed by:
never executed: 3:case 3: code before this statement executed 24 times by 1 test: case 3: Executed by:
never executed: *mzp++ = 0xdf; casecase 3: never executed: case 2: code before this statement executed 24 times by 1 test: case 2: Executed by:
never executed: 2:case 2: code before this statement executed 24 times by 1 test: case 2: Executed by:
never executed: *mzp++ = 0xdf; casecase 2: never executed: case 1: code before this statement executed 24 times by 1 test: case 1: Executed by:
never executed: 1:case 1: code before this statement executed 24 times by 1 test: case 1: Executed by:
never executed: *mzp++ = 0xdf; if(mcn <= 0case 1:
executed 6 times by 1 test: mcn--; }break; Executed by:
executed 18 times by 1 test: }end of block Executed by:
executed 6 times by 1 test: }end of block Executed by:
executed 6 times by 1 test: else memset (((elt)), (0xdf), (sizeof(UNWIND_ELT)));end of block Executed by:
never executed: } while(0); ((UNWIND_ELT **)((uwcache).data))[(uwcache).nc++] = (elt); }memset (((elt)), (0xdf), (sizeof(UNWIND_ELT))); executed 6 times by 1 test: else sh_xfree((elt), "unwind_prot.c", 248);end of block Executed by:
executed 5 times by 1 test: } while (0);sh_xfree((elt), "unwind_prot.c", 248); Executed by:
| 0-24 | ||||||||||||||||||||||||||||||||||||
302 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
303 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||||||||||||||||||||
304 | - | |||||||||||||||||||||||||||||||||||||
305 | static void | - | ||||||||||||||||||||||||||||||||||||
306 | run_unwind_protects_internal (ignore1, ignore2) | - | ||||||||||||||||||||||||||||||||||||
307 | char *ignore1, *ignore2; | - | ||||||||||||||||||||||||||||||||||||
308 | { | - | ||||||||||||||||||||||||||||||||||||
309 | unwind_frame_run_internal ((char *) | - | ||||||||||||||||||||||||||||||||||||
310 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
311 | , (char *) | - | ||||||||||||||||||||||||||||||||||||
312 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
313 | ); | - | ||||||||||||||||||||||||||||||||||||
314 | } executed 389 times by 1 test: end of block Executed by:
| 389 | ||||||||||||||||||||||||||||||||||||
315 | - | |||||||||||||||||||||||||||||||||||||
316 | static void | - | ||||||||||||||||||||||||||||||||||||
317 | clear_unwind_protects_internal (flag, ignore) | - | ||||||||||||||||||||||||||||||||||||
318 | char *flag, *ignore; | - | ||||||||||||||||||||||||||||||||||||
319 | { | - | ||||||||||||||||||||||||||||||||||||
320 | if (flag
| 0-15 | ||||||||||||||||||||||||||||||||||||
321 | { | - | ||||||||||||||||||||||||||||||||||||
322 | while (unwind_protect_list
| 0 | ||||||||||||||||||||||||||||||||||||
323 | remove_unwind_protect_internal ((char *) never executed: remove_unwind_protect_internal ((char *) ((void *)0) , (char *) ((void *)0) ); | 0 | ||||||||||||||||||||||||||||||||||||
324 | ((void *)0) never executed: remove_unwind_protect_internal ((char *) ((void *)0) , (char *) ((void *)0) ); | 0 | ||||||||||||||||||||||||||||||||||||
325 | , (char *) never executed: remove_unwind_protect_internal ((char *) ((void *)0) , (char *) ((void *)0) ); | 0 | ||||||||||||||||||||||||||||||||||||
326 | ((void *)0) never executed: remove_unwind_protect_internal ((char *) ((void *)0) , (char *) ((void *)0) ); | 0 | ||||||||||||||||||||||||||||||||||||
327 | ); never executed: remove_unwind_protect_internal ((char *) ((void *)0) , (char *) ((void *)0) ); | 0 | ||||||||||||||||||||||||||||||||||||
328 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
329 | unwind_protect_list = (UNWIND_ELT *) | - | ||||||||||||||||||||||||||||||||||||
330 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||
331 | ; | - | ||||||||||||||||||||||||||||||||||||
332 | } executed 15 times by 1 test: end of block Executed by:
| 15 | ||||||||||||||||||||||||||||||||||||
333 | - | |||||||||||||||||||||||||||||||||||||
334 | static void | - | ||||||||||||||||||||||||||||||||||||
335 | unwind_frame_discard_internal (tag, ignore) | - | ||||||||||||||||||||||||||||||||||||
336 | char *tag, *ignore; | - | ||||||||||||||||||||||||||||||||||||
337 | { | - | ||||||||||||||||||||||||||||||||||||
338 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
339 | int found; | - | ||||||||||||||||||||||||||||||||||||
340 | - | |||||||||||||||||||||||||||||||||||||
341 | found = 0; | - | ||||||||||||||||||||||||||||||||||||
342 | while (elt = unwind_protect_list
| 0-828844003 | ||||||||||||||||||||||||||||||||||||
343 | { | - | ||||||||||||||||||||||||||||||||||||
344 | unwind_protect_list = unwind_protect_list->head.next; | - | ||||||||||||||||||||||||||||||||||||
345 | if (elt->head.cleanup == 0
| 5-431170711 | ||||||||||||||||||||||||||||||||||||
346 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
347 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
348 | ) && __builtin_constant_p (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
349 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
350 | ) && (__s1_len = __builtin_strlen (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
351 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
352 | ), __s2_len = __builtin_strlen (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
353 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
354 | ), (!((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
355 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
356 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
357 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
358 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
359 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
360 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
361 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
362 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
363 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
364 | ,
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
365 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
366 | ) : (__builtin_constant_p (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
367 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
368 | ) && ((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
369 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
370 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
371 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
372 | ) == 1) && (__s1_len = __builtin_strlen (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
373 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
374 | ), __s1_len < 4) ? (__builtin_constant_p (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
375 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
376 | ) && ((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
377 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
378 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
379 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
380 | ) == 1) ? __builtin_strcmp (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
381 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
382 | ,
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
383 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
384 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
385 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
386 | ); int __result = (((const unsigned char *) (const char *) (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
387 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
388 | ))[0] - __s2[0]); if (__s1_len > 0
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
389 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
390 | ))[1] - __s2[1]); if (__s1_len > 1
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
391 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
392 | ))[2] - __s2[2]); if (__s1_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]);
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
393 | elt->arg.v
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); | 0-397673183 | ||||||||||||||||||||||||||||||||||||
394 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : (__builtin_constant_p (end of block
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
395 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
396 | ) && ((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
397 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
398 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
399 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
400 | ) == 1) && (__s2_len = __builtin_strlen (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
401 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
402 | ), __s2_len < 4) ? (__builtin_constant_p (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
403 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
404 | ) && ((size_t)(const void *)((
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
405 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
406 | ) + 1) - (size_t)(const void *)(
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
407 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
408 | ) == 1) ? __builtin_strcmp (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
409 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
410 | ,
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
411 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
412 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
413 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
414 | ); int __result = (((const unsigned char *) (const char *) (
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
415 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
416 | ))[0] - __s2[0]); if (__s2_len > 0
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
417 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
418 | ))[1] - __s2[1]); if (__s2_len > 1
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
419 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
420 | ))[2] - __s2[2]); if (__s2_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]);
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
421 | tag
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); | 0-397673183 | ||||||||||||||||||||||||||||||||||||
422 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : __builtin_strcmp (end of block
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
423 | elt->arg.v
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
424 | ,
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
425 | tag
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
426 | )))); })
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
427 | == 0
| 104-397673183 | ||||||||||||||||||||||||||||||||||||
428 | { | - | ||||||||||||||||||||||||||||||||||||
429 | do { if ((
never executed: else { mcn = (mctmp-1)/8; mctmp &= 7; }mcn = 0; executed 366550615 times by 1 test: switch (mctmp) { caseend of block Executed by:
executed 366550615 times by 1 test: 0:case 0: Executed by:
executed 366550615 times by 1 test: for(;;) { *mzp++ = 0xdf; casecase 0: Executed by:
never executed: case 7: code before this statement executed 1466202460 times by 1 test: case 7: Executed by:
never executed: 7:case 7: code before this statement executed 1466202460 times by 1 test: case 7: Executed by:
never executed: *mzp++ = 0xdf; casecase 7: never executed: case 6: code before this statement executed 1466202460 times by 1 test: case 6: Executed by:
never executed: 6:case 6: code before this statement executed 1466202460 times by 1 test: case 6: Executed by:
never executed: *mzp++ = 0xdf; casecase 6: never executed: case 5: code before this statement executed 1466202460 times by 1 test: case 5: Executed by:
never executed: 5:case 5: code before this statement executed 1466202460 times by 1 test: case 5: Executed by:
never executed: *mzp++ = 0xdf; casecase 5: never executed: case 4: code before this statement executed 1466202460 times by 1 test: case 4: Executed by:
never executed: 4:case 4: code before this statement executed 1466202460 times by 1 test: case 4: Executed by:
never executed: *mzp++ = 0xdf; casecase 4: never executed: case 3: code before this statement executed 1466202460 times by 1 test: case 3: Executed by:
never executed: 3:case 3: code before this statement executed 1466202460 times by 1 test: case 3: Executed by:
never executed: *mzp++ = 0xdf; casecase 3: never executed: case 2: code before this statement executed 1466202460 times by 1 test: case 2: Executed by:
never executed: 2:case 2: code before this statement executed 1466202460 times by 1 test: case 2: Executed by:
never executed: *mzp++ = 0xdf; casecase 2: never executed: case 1: code before this statement executed 1466202460 times by 1 test: case 1: Executed by:
never executed: 1:case 1: code before this statement executed 1466202460 times by 1 test: case 1: Executed by:
never executed: *mzp++ = 0xdf; if(mcn <= 0case 1:
executed 366550615 times by 1 test: mcn--; }break; Executed by:
executed 1099651845 times by 1 test: }end of block Executed by:
executed 366550615 times by 1 test: }end of block Executed by:
executed 366550615 times by 1 test: else memset (((elt)), (0xdf), (sizeof(UNWIND_ELT)));end of block Executed by:
never executed: } while(0); ((UNWIND_ELT **)((uwcache).data))[(uwcache).nc++] = (elt); }memset (((elt)), (0xdf), (sizeof(UNWIND_ELT))); executed 366550615 times by 1 test: else sh_xfree((elt), "unwind_prot.c", 284);end of block Executed by:
executed 31122568 times by 1 test: } while (0);sh_xfree((elt), "unwind_prot.c", 284); Executed by:
| 0-1466202460 | ||||||||||||||||||||||||||||||||||||
430 | found = 1; | - | ||||||||||||||||||||||||||||||||||||
431 | break; executed 397673183 times by 1 test: break; Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
432 | } | - | ||||||||||||||||||||||||||||||||||||
433 | else | - | ||||||||||||||||||||||||||||||||||||
434 | do { if ((
never executed: else { mcn = (mctmp-1)/8; mctmp &= 7; }mcn = 0; executed 401661059 times by 1 test: switch (mctmp) { caseend of block Executed by:
executed 401661059 times by 1 test: 0:case 0: Executed by:
executed 401661059 times by 1 test: for(;;) { *mzp++ = 0xdf; casecase 0: Executed by:
never executed: case 7: code before this statement executed 1606644236 times by 1 test: case 7: Executed by:
never executed: 7:case 7: code before this statement executed 1606644236 times by 1 test: case 7: Executed by:
never executed: *mzp++ = 0xdf; casecase 7: never executed: case 6: code before this statement executed 1606644236 times by 1 test: case 6: Executed by:
never executed: 6:case 6: code before this statement executed 1606644236 times by 1 test: case 6: Executed by:
never executed: *mzp++ = 0xdf; casecase 6: never executed: case 5: code before this statement executed 1606644236 times by 1 test: case 5: Executed by:
never executed: 5:case 5: code before this statement executed 1606644236 times by 1 test: case 5: Executed by:
never executed: *mzp++ = 0xdf; casecase 5: never executed: case 4: code before this statement executed 1606644236 times by 1 test: case 4: Executed by:
never executed: 4:case 4: code before this statement executed 1606644236 times by 1 test: case 4: Executed by:
never executed: *mzp++ = 0xdf; casecase 4: never executed: case 3: code before this statement executed 1606644236 times by 1 test: case 3: Executed by:
never executed: 3:case 3: code before this statement executed 1606644236 times by 1 test: case 3: Executed by:
never executed: *mzp++ = 0xdf; casecase 3: never executed: case 2: code before this statement executed 1606644236 times by 1 test: case 2: Executed by:
never executed: 2:case 2: code before this statement executed 1606644236 times by 1 test: case 2: Executed by:
never executed: *mzp++ = 0xdf; casecase 2: never executed: case 1: code before this statement executed 1606644236 times by 1 test: case 1: Executed by:
never executed: 1:case 1: code before this statement executed 1606644236 times by 1 test: case 1: Executed by:
never executed: *mzp++ = 0xdf; if(mcn <= 0case 1:
executed 401661059 times by 1 test: mcn--; }break; Executed by:
executed 1204983177 times by 1 test: }end of block Executed by:
executed 401661059 times by 1 test: }end of block Executed by:
executed 401661059 times by 1 test: else memset (((elt)), (0xdf), (sizeof(UNWIND_ELT)));end of block Executed by:
never executed: } while(0); ((UNWIND_ELT **)((uwcache).data))[(uwcache).nc++] = (elt); }memset (((elt)), (0xdf), (sizeof(UNWIND_ELT))); executed 401661059 times by 1 test: else sh_xfree((elt), "unwind_prot.c", 289);end of block Executed by:
executed 29509761 times by 1 test: }sh_xfree((elt), "unwind_prot.c", 289); Executed by:
executed 431170820 times by 1 test: while (0);end of block Executed by:
| 0-1606644236 | ||||||||||||||||||||||||||||||||||||
435 | } | - | ||||||||||||||||||||||||||||||||||||
436 | - | |||||||||||||||||||||||||||||||||||||
437 | if (found == 0
| 0-397673183 | ||||||||||||||||||||||||||||||||||||
438 | internal_warning ("unwind_frame_discard: %s: frame not found", tag); never executed: internal_warning ("unwind_frame_discard: %s: frame not found", tag); | 0 | ||||||||||||||||||||||||||||||||||||
439 | } executed 397673183 times by 1 test: end of block Executed by:
| 397673183 | ||||||||||||||||||||||||||||||||||||
440 | - | |||||||||||||||||||||||||||||||||||||
441 | - | |||||||||||||||||||||||||||||||||||||
442 | - | |||||||||||||||||||||||||||||||||||||
443 | - | |||||||||||||||||||||||||||||||||||||
444 | static inline void | - | ||||||||||||||||||||||||||||||||||||
445 | restore_variable (sv) | - | ||||||||||||||||||||||||||||||||||||
446 | SAVED_VAR *sv; | - | ||||||||||||||||||||||||||||||||||||
447 | { | - | ||||||||||||||||||||||||||||||||||||
448 | __builtin_memcpy ((sv->variable), (sv->desired_setting), (sv->size)); | - | ||||||||||||||||||||||||||||||||||||
449 | } executed 20361219 times by 1 test: end of block Executed by:
| 20361219 | ||||||||||||||||||||||||||||||||||||
450 | - | |||||||||||||||||||||||||||||||||||||
451 | static void | - | ||||||||||||||||||||||||||||||||||||
452 | unwind_frame_run_internal (tag, ignore) | - | ||||||||||||||||||||||||||||||||||||
453 | char *tag, *ignore; | - | ||||||||||||||||||||||||||||||||||||
454 | { | - | ||||||||||||||||||||||||||||||||||||
455 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
456 | int found; | - | ||||||||||||||||||||||||||||||||||||
457 | - | |||||||||||||||||||||||||||||||||||||
458 | found = 0; | - | ||||||||||||||||||||||||||||||||||||
459 | while (elt = unwind_protect_list
| 389-32849525 | ||||||||||||||||||||||||||||||||||||
460 | { | - | ||||||||||||||||||||||||||||||||||||
461 | unwind_protect_list = elt->head.next; | - | ||||||||||||||||||||||||||||||||||||
462 | - | |||||||||||||||||||||||||||||||||||||
463 | - | |||||||||||||||||||||||||||||||||||||
464 | if (elt->head.cleanup == 0
| 3731427-29118098 | ||||||||||||||||||||||||||||||||||||
465 | { | - | ||||||||||||||||||||||||||||||||||||
466 | if (tag
| 506-3730921 | ||||||||||||||||||||||||||||||||||||
467 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
468 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
469 | ) && __builtin_constant_p (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
470 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
471 | ) && (__s1_len = __builtin_strlen (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
472 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
473 | ), __s2_len = __builtin_strlen (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
474 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
475 | ), (!((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
476 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
477 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
478 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
479 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
480 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
481 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
482 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
483 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
484 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
485 | ,
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
486 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
487 | ) : (__builtin_constant_p (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
488 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
489 | ) && ((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
490 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
491 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
492 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
493 | ) == 1) && (__s1_len = __builtin_strlen (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
494 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
495 | ), __s1_len < 4) ? (__builtin_constant_p (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
496 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
497 | ) && ((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
498 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
499 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
500 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
501 | ) == 1) ? __builtin_strcmp (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
502 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
503 | ,
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
504 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
505 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
506 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
507 | ); int __result = (((const unsigned char *) (const char *) (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
508 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
509 | ))[0] - __s2[0]); if (__s1_len > 0
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
510 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
511 | ))[1] - __s2[1]); if (__s1_len > 1
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
512 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
513 | ))[2] - __s2[2]); if (__s1_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]);
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
514 | elt->arg.v
never executed: __result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); | 0-3720435 | ||||||||||||||||||||||||||||||||||||
515 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( elt->arg.v ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : (__builtin_constant_p (end of block
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
516 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
517 | ) && ((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
518 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
519 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
520 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
521 | ) == 1) && (__s2_len = __builtin_strlen (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
522 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
523 | ), __s2_len < 4) ? (__builtin_constant_p (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
524 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
525 | ) && ((size_t)(const void *)((
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
526 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
527 | ) + 1) - (size_t)(const void *)(
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
528 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
529 | ) == 1) ? __builtin_strcmp (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
530 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
531 | ,
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
532 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
533 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
534 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
535 | ); int __result = (((const unsigned char *) (const char *) (
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
536 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
537 | ))[0] - __s2[0]); if (__s2_len > 0
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
538 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
539 | ))[1] - __s2[1]); if (__s2_len > 1
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
540 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
541 | ))[2] - __s2[2]); if (__s2_len > 2
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]);
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
542 | tag
never executed: __result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); | 0-3720435 | ||||||||||||||||||||||||||||||||||||
543 | ))[3] - __s2[3]);
never executed: }__result = (((const unsigned char *) (const char *) ( tag ))[3] - __s2[3]); never executed: }end of block never executed: __result; }))) : __builtin_strcmp (end of block
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
544 | elt->arg.v
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
545 | ,
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
546 | tag
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
547 | )))); })
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
548 | == 0
| 21-3720435 | ||||||||||||||||||||||||||||||||||||
549 | { | - | ||||||||||||||||||||||||||||||||||||
550 | do { if ((
never executed: else { mcn = (mctmp-1)/8; mctmp &= 7; }mcn = 0; executed 1398508 times by 1 test: switch (mctmp) { caseend of block Executed by:
executed 1398508 times by 1 test: 0:case 0: Executed by:
executed 1398508 times by 1 test: for(;;) { *mzp++ = 0xdf; casecase 0: Executed by:
never executed: case 7: code before this statement executed 5594032 times by 1 test: case 7: Executed by:
never executed: 7:case 7: code before this statement executed 5594032 times by 1 test: case 7: Executed by:
never executed: *mzp++ = 0xdf; casecase 7: never executed: case 6: code before this statement executed 5594032 times by 1 test: case 6: Executed by:
never executed: 6:case 6: code before this statement executed 5594032 times by 1 test: case 6: Executed by:
never executed: *mzp++ = 0xdf; casecase 6: never executed: case 5: code before this statement executed 5594032 times by 1 test: case 5: Executed by:
never executed: 5:case 5: code before this statement executed 5594032 times by 1 test: case 5: Executed by:
never executed: *mzp++ = 0xdf; casecase 5: never executed: case 4: code before this statement executed 5594032 times by 1 test: case 4: Executed by:
never executed: 4:case 4: code before this statement executed 5594032 times by 1 test: case 4: Executed by:
never executed: *mzp++ = 0xdf; casecase 4: never executed: case 3: code before this statement executed 5594032 times by 1 test: case 3: Executed by:
never executed: 3:case 3: code before this statement executed 5594032 times by 1 test: case 3: Executed by:
never executed: *mzp++ = 0xdf; casecase 3: never executed: case 2: code before this statement executed 5594032 times by 1 test: case 2: Executed by:
never executed: 2:case 2: code before this statement executed 5594032 times by 1 test: case 2: Executed by:
never executed: *mzp++ = 0xdf; casecase 2: never executed: case 1: code before this statement executed 5594032 times by 1 test: case 1: Executed by:
never executed: 1:case 1: code before this statement executed 5594032 times by 1 test: case 1: Executed by:
never executed: *mzp++ = 0xdf; if(mcn <= 0case 1:
executed 1398508 times by 1 test: mcn--; }break; Executed by:
executed 4195524 times by 1 test: }end of block Executed by:
executed 1398508 times by 1 test: }end of block Executed by:
executed 1398508 times by 1 test: else memset (((elt)), (0xdf), (sizeof(UNWIND_ELT)));end of block Executed by:
never executed: } while(0); ((UNWIND_ELT **)((uwcache).data))[(uwcache).nc++] = (elt); }memset (((elt)), (0xdf), (sizeof(UNWIND_ELT))); executed 1398508 times by 1 test: else sh_xfree((elt), "unwind_prot.c", 323);end of block Executed by:
executed 2321927 times by 1 test: } while (0);sh_xfree((elt), "unwind_prot.c", 323); Executed by:
| 0-5594032 | ||||||||||||||||||||||||||||||||||||
551 | found = 1; | - | ||||||||||||||||||||||||||||||||||||
552 | break; executed 3720435 times by 1 test: break; Executed by:
| 3720435 | ||||||||||||||||||||||||||||||||||||
553 | } | - | ||||||||||||||||||||||||||||||||||||
554 | } executed 10992 times by 1 test: end of block Executed by:
| 10992 | ||||||||||||||||||||||||||||||||||||
555 | else | - | ||||||||||||||||||||||||||||||||||||
556 | { | - | ||||||||||||||||||||||||||||||||||||
557 | if (elt->head.cleanup == (Function *) restore_variable
| 8756879-20361219 | ||||||||||||||||||||||||||||||||||||
558 | restore_variable (&elt->sv.v); executed 20361219 times by 1 test: restore_variable (&elt->sv.v); Executed by:
| 20361219 | ||||||||||||||||||||||||||||||||||||
559 | else | - | ||||||||||||||||||||||||||||||||||||
560 | (*( executed 8756879 times by 1 test: elt->head.cleanup)) (elt->arg.v);(*(elt->head.cleanup)) (elt->arg.v); Executed by:
executed 8756879 times by 1 test: (*(elt->head.cleanup)) (elt->arg.v); Executed by:
| 8756879 | ||||||||||||||||||||||||||||||||||||
561 | } | - | ||||||||||||||||||||||||||||||||||||
562 | - | |||||||||||||||||||||||||||||||||||||
563 | do { if ((
never executed: else { mcn = (mctmp-1)/8; mctmp &= 7; }mcn = 0; executed 6159741 times by 1 test: switch (mctmp) { caseend of block Executed by:
executed 6159741 times by 1 test: 0:case 0: Executed by:
executed 6159741 times by 1 test: for(;;) { *mzp++ = 0xdf; casecase 0: Executed by:
never executed: case 7: code before this statement executed 24638964 times by 1 test: case 7: Executed by:
never executed: 7:case 7: code before this statement executed 24638964 times by 1 test: case 7: Executed by:
never executed: *mzp++ = 0xdf; casecase 7: never executed: case 6: code before this statement executed 24638964 times by 1 test: case 6: Executed by:
never executed: 6:case 6: code before this statement executed 24638964 times by 1 test: case 6: Executed by:
never executed: *mzp++ = 0xdf; casecase 6: never executed: case 5: code before this statement executed 24638964 times by 1 test: case 5: Executed by:
never executed: 5:case 5: code before this statement executed 24638964 times by 1 test: case 5: Executed by:
never executed: *mzp++ = 0xdf; casecase 5: never executed: case 4: code before this statement executed 24638964 times by 1 test: case 4: Executed by:
never executed: 4:case 4: code before this statement executed 24638964 times by 1 test: case 4: Executed by:
never executed: *mzp++ = 0xdf; casecase 4: never executed: case 3: code before this statement executed 24638964 times by 1 test: case 3: Executed by:
never executed: 3:case 3: code before this statement executed 24638964 times by 1 test: case 3: Executed by:
never executed: *mzp++ = 0xdf; casecase 3: never executed: case 2: code before this statement executed 24638964 times by 1 test: case 2: Executed by:
never executed: 2:case 2: code before this statement executed 24638964 times by 1 test: case 2: Executed by:
never executed: *mzp++ = 0xdf; casecase 2: never executed: case 1: code before this statement executed 24638964 times by 1 test: case 1: Executed by:
never executed: 1:case 1: code before this statement executed 24638964 times by 1 test: case 1: Executed by:
never executed: *mzp++ = 0xdf; if(mcn <= 0case 1:
executed 6159741 times by 1 test: mcn--; }break; Executed by:
executed 18479223 times by 1 test: }end of block Executed by:
executed 6159741 times by 1 test: }end of block Executed by:
executed 6159741 times by 1 test: else memset (((elt)), (0xdf), (sizeof(UNWIND_ELT)));end of block Executed by:
never executed: } while(0); ((UNWIND_ELT **)((uwcache).data))[(uwcache).nc++] = (elt); }memset (((elt)), (0xdf), (sizeof(UNWIND_ELT))); executed 6159741 times by 1 test: else sh_xfree((elt), "unwind_prot.c", 336);end of block Executed by:
executed 22969349 times by 1 test: } while (0);sh_xfree((elt), "unwind_prot.c", 336); Executed by:
| 0-24638964 | ||||||||||||||||||||||||||||||||||||
564 | } executed 29129090 times by 1 test: end of block Executed by:
| 29129090 | ||||||||||||||||||||||||||||||||||||
565 | if (tag
| 0-3720435 | ||||||||||||||||||||||||||||||||||||
566 | internal_warning ("unwind_frame_run: %s: frame not found", tag); never executed: internal_warning ("unwind_frame_run: %s: frame not found", tag); | 0 | ||||||||||||||||||||||||||||||||||||
567 | } executed 3720824 times by 1 test: end of block Executed by:
| 3720824 | ||||||||||||||||||||||||||||||||||||
568 | - | |||||||||||||||||||||||||||||||||||||
569 | static void | - | ||||||||||||||||||||||||||||||||||||
570 | unwind_protect_mem_internal (var, psize) | - | ||||||||||||||||||||||||||||||||||||
571 | char *var; | - | ||||||||||||||||||||||||||||||||||||
572 | char *psize; | - | ||||||||||||||||||||||||||||||||||||
573 | { | - | ||||||||||||||||||||||||||||||||||||
574 | int size, allocated; | - | ||||||||||||||||||||||||||||||||||||
575 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
576 | - | |||||||||||||||||||||||||||||||||||||
577 | size = *(int *) psize; | - | ||||||||||||||||||||||||||||||||||||
578 | allocated = size + | - | ||||||||||||||||||||||||||||||||||||
579 | __builtin_offsetof ( | - | ||||||||||||||||||||||||||||||||||||
580 | UNWIND_ELT | - | ||||||||||||||||||||||||||||||||||||
581 | , | - | ||||||||||||||||||||||||||||||||||||
582 | sv.v.desired_setting[0] | - | ||||||||||||||||||||||||||||||||||||
583 | ) | - | ||||||||||||||||||||||||||||||||||||
584 | ; | - | ||||||||||||||||||||||||||||||||||||
585 | elt = (UNWIND_ELT *)sh_xmalloc((allocated), "unwind_prot.c", 352); | - | ||||||||||||||||||||||||||||||||||||
586 | elt->head.next = unwind_protect_list; | - | ||||||||||||||||||||||||||||||||||||
587 | elt->head.cleanup = (Function *) restore_variable; | - | ||||||||||||||||||||||||||||||||||||
588 | elt->sv.v.variable = var; | - | ||||||||||||||||||||||||||||||||||||
589 | elt->sv.v.size = size; | - | ||||||||||||||||||||||||||||||||||||
590 | __builtin_memcpy ((elt->sv.v.desired_setting), (var), (size)); | - | ||||||||||||||||||||||||||||||||||||
591 | unwind_protect_list = elt; | - | ||||||||||||||||||||||||||||||||||||
592 | } executed 86514410 times by 1 test: end of block Executed by:
| 86514410 | ||||||||||||||||||||||||||||||||||||
593 | - | |||||||||||||||||||||||||||||||||||||
594 | - | |||||||||||||||||||||||||||||||||||||
595 | - | |||||||||||||||||||||||||||||||||||||
596 | - | |||||||||||||||||||||||||||||||||||||
597 | void | - | ||||||||||||||||||||||||||||||||||||
598 | unwind_protect_mem (var, size) | - | ||||||||||||||||||||||||||||||||||||
599 | char *var; | - | ||||||||||||||||||||||||||||||||||||
600 | int size; | - | ||||||||||||||||||||||||||||||||||||
601 | { | - | ||||||||||||||||||||||||||||||||||||
602 | without_interrupts (unwind_protect_mem_internal, var, (char *) &size); | - | ||||||||||||||||||||||||||||||||||||
603 | } executed 86514410 times by 1 test: end of block Executed by:
| 86514410 | ||||||||||||||||||||||||||||||||||||
604 | - | |||||||||||||||||||||||||||||||||||||
605 | - | |||||||||||||||||||||||||||||||||||||
606 | - | |||||||||||||||||||||||||||||||||||||
607 | - | |||||||||||||||||||||||||||||||||||||
608 | void | - | ||||||||||||||||||||||||||||||||||||
609 | print_unwind_protect_tags () | - | ||||||||||||||||||||||||||||||||||||
610 | { | - | ||||||||||||||||||||||||||||||||||||
611 | UNWIND_ELT *elt; | - | ||||||||||||||||||||||||||||||||||||
612 | - | |||||||||||||||||||||||||||||||||||||
613 | elt = unwind_protect_list; | - | ||||||||||||||||||||||||||||||||||||
614 | while (elt
| 0 | ||||||||||||||||||||||||||||||||||||
615 | { | - | ||||||||||||||||||||||||||||||||||||
616 | if (elt->head.cleanup == 0
| 0 | ||||||||||||||||||||||||||||||||||||
617 | fprintf( never executed: fprintf( stderr , "tag: %s\n", elt->arg.v); | 0 | ||||||||||||||||||||||||||||||||||||
618 | stderr never executed: fprintf( stderr , "tag: %s\n", elt->arg.v); | 0 | ||||||||||||||||||||||||||||||||||||
619 | , "tag: %s\n", elt->arg.v); never executed: fprintf( stderr , "tag: %s\n", elt->arg.v); | 0 | ||||||||||||||||||||||||||||||||||||
620 | elt = elt->head.next; | - | ||||||||||||||||||||||||||||||||||||
621 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
622 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||
Switch to Source code | Preprocessed file |