Added restrict keyword support for MSVC