use gcc printf attribute