Version 6.2


The following additional C++20 features are now supported:


- Non-type template parameters: Class types in non-type template parameters (P0732R2)
- Non-type template parameters: inconsistencies with non-type template
  parameters (P1907R1)
- Fixing inconsistencies between constexpr and consteval functions (P1937R2)


It also contains significant improvements in our support of concepts.


Our current C++20 implementation status (and links to the associated
standards committee papers) is available here:


    https://www.edg.com/cpp20_features.html


We are in the process of implementing modules.  Our initial support of
modules (completion date not yet known) will support the consumption of
Microsoft module files.  Although Microsoft module support is still
only partial, it is enabled in Microsoft mode when microsoft_version
is >= 1928.  We have enabled it in this mode so that the front end will
attempt to process an import rather than always giving an error at that point.
We have done this because we would like feedback from your experience, but
you probably won't want to enable it in versions that you ship to your
customers.


Consuming Microsoft module files means importing IFC files produced by the
Microsoft compiler.  Currently, the compatibility of those files has strong dependence on the particular version of the Microsoft compiler used to produce the
files.  This version can consume files produced by a pre-release version
of the Microsoft compiler (19.28.29624.95, IFC version 0.25).  The front end
issues an error and ignores the import if the IFC file is not of the version
supported.


In addition to the features described above, the front end now supports use of color in diagnostics to improve readability.  See the EDGcpfe/23666 Changes entry for more information.


This is our third release that must be built as C++ code.  The minimum
compiler requirements have not changed, so they continue to be:


     g++: 4.7.0 (it does not work with 4.6)
     clang: 3.2 (the oldest version we have tried)
     MSVC: VS 2015 (tested with build 19.00.24215.1)


The front end can be self-compiled with a C-generating back end version for
platforms that lack a native C++ compiler.   We do not use exception
handling or RTTI, so those can be disabled to produce
more efficient code.


We do not use the standard library specified in the C++ standard.  So if your
code uses the standard library you don't have to worry about our possible use
of an incompatible version of the library.


The builtin function support incorporates changes in the GCC builtin function
signatures through GCC version 10.2.0 and in the clang builtin function
signatures as of clang 11.0.1.


As usual, we have fixed bugs, added many minor features, and continued to
improve our various compatibility modes.  See the Changes_6.2 file for
full details (about 4,700 lines).
