AaronBallman wrote: This is introducing an extension from C into C++ -- was there an RFC or something discussed about whether we wish to support this in C++? This breaks code in system headers entirely unrelated to fixed point: ``` #include <functional> #include <iostream>
int main(int argc, char* argv[]) { std:: plus<int> x; int a = x((int)30, (int)5); int b = 35; std::cout << a << "vs" << b << std::endl; } ``` when compiled against MSVC 2022 headers in C++23 mode gives: ``` F:\source\llvm-project>llvm\out\build\x64-Debug\bin\clang.exe -std=c++23 -fsyntax-only "C:\Users\aballman\OneDrive - Intel Corporation\Desktop\test.cpp" In file included from C:\Users\aballman\OneDrive - Intel Corporation\Desktop\test.cpp:1: In file included from C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\functional:19: In file included from C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\unordered_map:11: In file included from C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\xhash:14: C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3263:16: error: compile with '-ffixed-point' to enable fixed point types 3263 | _Vbase _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3263:23: error: expected unqualified-id 3263 | _Vbase _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3268:13: error: compile with '-ffixed-point' to enable fixed point types 3268 | _Accum |= _Tmp ? _Mask : _Vbase{0}; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3268:20: error: expected unqualified-id 3268 | _Accum |= _Tmp ? _Mask : _Vbase{0}; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3270:53: error: expected '(' for function-style cast or type construction 3270 | this->_Emplace_back_unchecked(_Accum); | ~~~~~~^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3271:17: error: compile with '-ffixed-point' to enable fixed point types 3271 | _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3271:24: error: expected unqualified-id 3271 | _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3277:49: error: expected '(' for function-style cast or type construction 3277 | this->_Emplace_back_unchecked(_Accum); | ~~~~~~^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3286:16: error: compile with '-ffixed-point' to enable fixed point types 3286 | _Vbase _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3286:26: error: expected unqualified-id 3286 | _Vbase _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3291:13: error: compile with '-ffixed-point' to enable fixed point types 3291 | _Accum |= _Tmp ? _Mask : _Vbase{0}; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3291:20: error: expected unqualified-id 3291 | _Accum |= _Tmp ? _Mask : _Vbase{0}; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3293:46: error: expected '(' for function-style cast or type construction 3293 | this->_Myvec.push_back(_Accum); | ~~~~~~^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3294:17: error: compile with '-ffixed-point' to enable fixed point types 3294 | _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3294:24: error: expected unqualified-id 3294 | _Accum = 0; | ^ C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\vector:3300:42: error: expected '(' for function-style cast or type construction 3300 | this->_Myvec.push_back(_Accum); | ~~~~~~^ 16 errors generated. ``` because Microsoft is already using this reserved identifier as part of their implementation in `<algorithm>` and `<vector>`. This needs to be reverted temporarily until this issue can be resolved. https://github.com/llvm/llvm-project/pull/67750 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits