https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107091
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2022-09-29 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- clang produces: <source>:3:12: error: returning 'void *' from a function with incompatible result type 'double' return (void *)0; ^~~~~~~~~ MSVC produces: <source>(3): error C2440: 'return': cannot convert from 'void *' to 'double' ICC Produces: <source>(3): error: return value type does not match the function type return (void *)0; ^ cproc (https://github.com/michaelforney/cproc) produces: <source>:2:22: error: assignment to arithmetic type must be from arithmetic type MSVC seems similar to what is produced for GCC's C++ front-end. I don't know the best wording here really because convert might even be wrong.