even if the compiler is not defining __GNUC__. Per report from Dirk Tilger that it is possible for icc to not do that.