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

Reply via email to