| Issue |
55389
|
| Summary |
clang-cl and cl have different behavior
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
fsb4000
|
```c++
#include <stdio.h>
int main() {
#ifdef __cpp_aligned_new
puts("has aligned new");
#else
puts("nothing");
#endif
}
```
```
$ clang-cl /std:c++14 /Zc:alignedNew main.cpp
$ main
has aligned new
```
```
$ cl /std:c++14 /Zc:alignedNew main.cpp
$ main
nothing
```
```
clang-cl -v
clang version 13.0.1
Target: i686-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\Llvm\bin
```
Probably not a big deal but Microsoft STL doesn't expect that.
So
```c++
#include <iostream>
int main() {}
```
doesn't compile with
```
clang-cl /std:c++14 /Zc:alignedNew main.cpp
In file included from main.cpp:1:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\iostream:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\istream:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\ostream:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\ios:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\xlocnum:16:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\streambuf:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\xiosbase:12:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\system_error:14:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\stdexcept:12:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\xstring:14:
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.33.31424\include\xmemory(96,56): error: cannot initialize a value of type 'std::align_val_t' with an lvalue of type 'const size_t' (aka 'const unsigned int')
return ::operator new (_Bytes, align_val_t{_Align});
^~~~~~
1 error generated.
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs