Skip to content

Upgrade coreclr c++ standard to c++17 #118683

@max-charlamb

Description

@max-charlamb

While working on the cDAC's datadescriptor infrastructure, several issues have come up that would be solved by moving coreclr to target c++17 instead of c++11 today. Most of these relate to constexpr and various relaxations in c++14 and c++17.

#118050 has faced several issues relating to getting the address of a type wrapped by the VOLATILE(T) macro as a constexpr. This is somewhat challenging because VOLATILE(T) sometimes is the volatile keyword and others a Volatile<T> wrapper class. The wrapper class overrides the built-in address-of operator &. This can be solved two different ways with features available in c++17:

Other benefits

Metadata

Metadata

Assignees

Labels

needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area ownersruntime-coreclrspecific to the CoreCLR runtime

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions