use __GNUG__ instead