avoid variable array allocation that gcc can't figure out.