I don't think gcc is clever enough. 
I'd suggest to use an (const static) array here and get is_filled/stroked by index