use gcc's format attribute to validate formatstring at compiletime