diff -r 5ccbfd632820 -r da4a56294886 sourcepawn/compiler/sc2.c --- a/sourcepawn/compiler/sc2.c Fri May 09 12:32:49 2014 -0700 +++ b/sourcepawn/compiler/sc2.c Fri May 09 23:17:14 2014 -0400 @@ -2461,6 +2461,16 @@ free_symbol(sym); } +SC_FUNC int get_actual_compound(symbol *sym) +{ + if (sym->ident == iARRAY || sym->ident == iREFARRAY) { + while (sym->parent) + sym = sym->parent; + } + + return sym->compound; +} + SC_FUNC void delete_symbols(symbol *root,int level,int delete_labels,int delete_functions) { symbol *origRoot=root; @@ -2472,7 +2482,7 @@ * specified nesting level */ while (root->next!=NULL) { sym=root->next; - if (sym->compoundident) { case iLABEL: