This PR fixes compilation issues on MSVC. Note: #warning is non-standard, so replaced it with TODO comments