Any cast from pointer to an int type invokes potential portability problems, so you can expect each compiler to take a different default attitude toward associated warnings. The option /Wp64 seems to have worn out its welcome, now that most people who are willing to consider 64-bit mode have completed their efforts, so it isn't getting so much consideration as to what it should flag. What is same-sized on one platform won't be on another. Some practioners are dead set on the Windows scheme that traditional int types don't change size between 32- and 64-bit mode, using Windows-specific macros to bridge over the differences, and others are dead set on as many int types as possible changing from 32- to 64-bit in accordance with target mode. Certain OS vendors buck the trends advocated by standard C since more than a decade ago, and others go with the consensus of the compiler developers. It's a mystery why that 64-bit forum was started without even a post as to what the intention might have been, so long after most practitioners had made up their mind about their primary preferences.