c99 and gcc specific functions for msvc9