@mcc my experience with gcc vs other compilers is that if the spec doesn't explicitly define a behavior, gcc will at best error and at worst manifest unpredictable results at runtime; msvc will just do what you meant with no argument; and clang will fall somewhere in the middle (but probably err on the side of a warning or error).