这是 Apple 编译器 v14 优化错误吗?

Neh*_*ani 6 c++ macos clang++ xcode14

源代码:

\n
#include <cstdio>\n\nstatic const char encodeBase64Table[64 + 1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n\nint main() {\n    // create decoding table\n    unsigned long invalid = 64;\n    unsigned long decodeBase64Table[256] = {};\n    for (unsigned long i = 0; i < 256; i++)\n        decodeBase64Table[i] = invalid;\n    for (unsigned long i = 0; i < 64; i++) {\n        decodeBase64Table[(unsigned char)encodeBase64Table[i]] = i;\n    }\n    printf("decodeBase64Table[65] = %lu\\n", decodeBase64Table[65]);\n\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Apple Clang 11.0.3(预期输出,即使使用 -O3):

\n
/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf /usr/bin/clang++ --version\nApple clang version 11.0.3 (clang-1103.0.32.62)\nTarget: x86_64-apple-darwin21.6.0\nThread model: posix\nInstalledDir: /Library/Developer/CommandLineTools/usr/bin\n/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf /usr/bin/clang++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -O3 -std=c++17 a.cpp\n/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf ./a.out\ndecodeBase64Table[65] = 0\n
Run Code Online (Sandbox Code Playgroud)\n

Apple Clang 14.0.0(意外输出,仅使用 -O3):

\n
/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ --version\nApple clang version 14.0.0 (clang-1400.0.29.202)\nTarget: x86_64-apple-darwin21.6.0\nThread model: posix\nInstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin\n/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -O3 -std=c++17 a.cpp\n/t/s/1673994196 \xe2\x9d\xaf\xe2\x9d\xaf\xe2\x9d\xaf ./a.out\ndecodeBase64Table[65] = 64\n
Run Code Online (Sandbox Code Playgroud)\n