|
Versions of gcc lower than 7 do not have C++17's "over-aligned new"
support. With gcc 7 and 8, following error is thrown:
```
/datadrive/projects/coreclr/src/vm/threadpoolrequest.cpp: In static member function static TPIndex PerAppDomainTPCountList::AddNewTPIndex():
/datadrive/projects/coreclr/src/vm/threadpoolrequest.cpp:79:81: error: new of type ManagedPerAppDomainTPCount with extended alignment 64 [-Werror=aligned-new=]
ManagedPerAppDomainTPCount * pAdCount = new ManagedPerAppDomainTPCount(index);
^
/datadrive/projects/coreclr/src/vm/threadpoolrequest.cpp:79:81: note: uses void* operator new(size_t), which does not have an alignment parameter
/datadrive/projects/coreclr/src/vm/threadpoolrequest.cpp:79:81: note: use -faligned-new to enable C++17 over-aligned new support
```
The fix is to enable `-falign-new` (without fully activating C++17
features), that does auto-alignment like gcc 6x and below and clang.
|