Lines Matching defs:base
34 bool is_ambiguous(int s, int base) {
36 if ((base_present[base][i] & base_present[s][i]) == 1)
42 void add_bases(int s, int base) {
44 base_present[s][i] |= base_present[base][i];
48 if (!ret_types[base][i])
51 ret_types[s][i] = ret_types[base][i];
54 if (base_present[ret_types[base][i]][ret_types[s][i]])
55 // If the return type of the function from this base dominates
56 ret_types[s][i] = ret_types[base][i];
57 if (base_present[ret_types[s][i]][ret_types[base][i]])
58 // If a previous base dominates
91 int base = random() % (s-1) + 1;
92 if (!base_present[s][base]) {
93 if (is_ambiguous(s, base))
127 add_bases(s, base);
128 bases[n_bases] = base;
129 base_present[s][base] = base_type;
131 g(base);
132 old_base = base;
187 // For each base
188 int base = bases[i];
191 int new_base = final_override[base][fn];
193 // If the base didn't have a final overrider, skip
212 // The previous base dominates the new base, no update necessary
219 // The new base dominates the old base, no override necessary
273 /* check base layout and overrides */
279 /* check dynamic_cast to each direct base */
282 g(" mix(\"base dyn cast\", t - (char *)dynamic_cast<s"); g(bases[i]); gl("*>(this));");