many gcc extensions added