only do the former when we are using gcc