Hi, in a patch I am developing, I have the following code:
typedef struct { gfc_code *c; int branch_level; bool seen_goto; vec <gfc_expr *> extrema; } do_t; static vec<do_t> doloop_list; [...] do_t loop; doloop_list.safe_push (loop); doloop_list.last().extrema.reserve (1 << doloop_level); where the last statement segfaults. It also segfaults if I replace the last line with doloop_list[0].extrema.reserve (1 << doloop_level); Is there something glaringly obvious I am doing wrong, and could this be easily fixed? If not, I guess I'll just implement this using standard C techniques (i.e. malloc/realloc). It will look a bit strange, but, as a wise man once said, a patch that works beats an elegant idea every time... Best regards Thomas