added __restrict support for msvc and gcc
fixed msvc todo message