https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109750
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to jim.gray from comment #3) > The "correct" answer is also provided by the Intel C++ compiler, > so apparently GCC is the odd one out. I think MSVC is the odd one out really. see below. You can also do the testing yourself at https://godbolt.org/ to see that. Huh? Maybe ICC on windows gives a different answer than ICC on Linux. Which might make sense if ICC on Windows is trying to provide bug for bug compatibility with MSVC. ICC gives: icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message. ASM generation compiler returned: 0 icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message. Execution build compiler returned: 0 Program returned: 0 Example showing GCC bug: Source = 000000020000 Target = 000000000200 Target = 1777777777760000000200 clang gives: <source>:103:14: warning: unused parameter 'argc' [-Wunused-parameter] int main(int argc, char *argv[]) { ^ <source>:103:26: warning: unused parameter 'argv' [-Wunused-parameter] int main(int argc, char *argv[]) { ^ 2 warnings generated. ASM generation compiler returned: 0 <source>:103:14: warning: unused parameter 'argc' [-Wunused-parameter] int main(int argc, char *argv[]) { ^ <source>:103:26: warning: unused parameter 'argv' [-Wunused-parameter] int main(int argc, char *argv[]) { ^ 2 warnings generated. Execution build compiler returned: 0 Program returned: 0 Example showing GCC bug: Source = 000000020000 Target = 000000000200 Target = 1777777777760000000200