These are C99 features which MSVC only got around 2015 (of course a decade later those are safe to use in portable code).
They're also in C++11. When did MSVC get that? Is it also possible they got it before the C++11 standard? And of course Microsoft has its own different spellings: BYTE, WORD, DWORD, QWORD