This reverts commit a3a7d6318027bb86e6614c022e77e0bd81aef6dc.
When compiling with MSVC2022 in C++32 mode this is giving an error.
Compiling this simple test case:
t1.cpp:
with -std=c++23 will give the following error:
In file included from C:\Users\zahiraam\t1.cpp:1:
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3329:16:
error:
compile with '-ffixed-point' to enable fixed point types
3329 | _Vbase _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3329:23:
error:
expected unqualified-id
3329 | _Vbase _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3334:13:
error:
compile with '-ffixed-point' to enable fixed point types
3334 | _Accum |= _Tmp ? _Mask : _Vbase{0};
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3334:20:
error:
expected unqualified-id
3334 | _Accum |= _Tmp ? _Mask : _Vbase{0};
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3336:53:
error:
expected '(' for function-style cast or type construction
3336 | this->_Emplace_back_unchecked(_Accum);
| ~~~~~~^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3337:17:
error:
compile with '-ffixed-point' to enable fixed point types
3337 | _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3337:24:
error:
expected unqualified-id
3337 | _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3343:49:
error:
expected '(' for function-style cast or type construction
3343 | this->_Emplace_back_unchecked(_Accum);
| ~~~~~~^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3352:16:
error:
compile with '-ffixed-point' to enable fixed point types
3352 | _Vbase _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3352:26:
error:
expected unqualified-id
3352 | _Vbase _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3357:13:
error:
compile with '-ffixed-point' to enable fixed point types
3357 | _Accum |= _Tmp ? _Mask : _Vbase{0};
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3357:20:
error:
expected unqualified-id
3357 | _Accum |= _Tmp ? _Mask : _Vbase{0};
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3359:46:
error:
expected '(' for function-style cast or type construction
3359 | this->_Myvec.push_back(_Accum);
| ~~~~~~^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3360:17:
error:
compile with '-ffixed-point' to enable fixed point types
3360 | _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3360:24:
error:
expected unqualified-id
3360 | _Accum = 0;
| ^
c:\Program files\Microsoft Visual
Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\vector:3366:42:
error:
expected '(' for function-style cast or type construction
3366 | this->_Myvec.push_back(_Accum);
| ~~~~~~^
16 errors generated.
See also comment here:
https://github.com/llvm/llvm-project/pull/67750#issuecomment-1775264907
15 lines
861 B
C++
15 lines
861 B
C++
// RUN: %clang_cc1 -x c++ %s -verify
|
|
// RUN: %clang_cc1 -x c++ -ffixed-point %s -verify
|
|
|
|
// Name namgling is not provided for fixed point types in c++
|
|
|
|
_Accum accum; // expected-error{{unknown type name '_Accum'}}
|
|
_Fract fract; // expected-error{{unknown type name '_Fract'}}
|
|
_Sat _Accum sat_accum; // expected-error{{unknown type name '_Sat'}}
|
|
// expected-error@-1{{expected ';' after top level declarator}}
|
|
|
|
int accum_int = 10k; // expected-error{{invalid suffix 'k' on integer constant}}
|
|
int fract_int = 10r; // expected-error{{invalid suffix 'r' on integer constant}}
|
|
float accum_flt = 10.0k; // expected-error{{invalid suffix 'k' on floating constant}}
|
|
float fract_flt = 10.0r; // expected-error{{invalid suffix 'r' on floating constant}}
|