use compiler flag check macro