Lines Matching defs:fieldstack
5696 /* This structure is used during pushing fields onto the fieldstack
5745 /* Sort a fieldstack according to the field offset and sizes. */
5747 sort_fieldstack (vec<fieldoff_s> &fieldstack)
5749 fieldstack.qsort (fieldoff_compare);
5805 /* Given a TYPE, and a vector of field offsets FIELDSTACK, push all
5806 the fields of TYPE onto fieldstack, recording their offsets along
5815 push_fields_onto_fieldstack (tree type, vec<fieldoff_s> *fieldstack,
5827 if (fieldstack->length () > (unsigned)param_max_fields_for_field_sensitive)
5842 (field_type, fieldstack, offset + foff)
5856 if (!fieldstack->is_empty ())
5857 pair = &fieldstack->last ();
5865 pair = fieldstack->safe_push (e);
5900 fieldstack->safe_push (e);
6153 /* Return true if FIELDSTACK contains fields that overlap.
6154 FIELDSTACK is assumed to be sorted by offset. */
6157 check_for_overlaps (const vec<fieldoff_s> &fieldstack)
6163 FOR_EACH_VEC_ELT (fieldstack, i, fo)
6188 auto_vec<fieldoff_s> fieldstack;
6217 push_fields_onto_fieldstack (decl_type, &fieldstack, 0);
6219 for (i = 0; !notokay && fieldstack.iterate (i, &fo); i++)
6233 sort_fieldstack (fieldstack);
6238 notokay = check_for_overlaps (fieldstack);
6242 fieldstack
6247 if (fieldstack.length () == 0
6248 || fieldstack.length () > (unsigned)param_max_fields_for_field_sensitive)
6281 fieldstack.release ();
6287 if (fieldstack.length () == 1)
6290 fieldstack.iterate (i, &fo);
6298 if (fieldstack.length () != 1)
6340 if (i + 1 < fieldstack.length ())