Version 5.1

This version includes support for most of the C++20 features.

The following C++20 features are now supported:
	- Access checking on specializations
	- Allow initializing aggregates from a parenthesized list of values
	- Allow structured bindings to accessible members
	- Array size deduction in new-expressions
	- Changing active union member in constant expressions
	- char8_t type
	- Default constructible stateless lambdas
	- default member initalizers for bit-fields
	- Deprecate implicit capture of this via [=]
	- Deprecate POD
	- Designated initializers
	- dynamic_cast and typeid in constant expressions
	- explicit(bool)
	- Extending structured bindings to be more like variable declarations
	- General template syntax for generic lambdas
	- Immediate (i.e., consteval) functions
	- Lambda captures of the form [=, this]
	- Merge coroutines TS into the C++20 working draft
	- Nested inline namespaces
	- Prohibit aggregates with user-declared constructors
	- Relaxed range-for customization points
	- Relaxed structured binding customization points
	- Relaxed "typename" requirements
	- Support for empty ([[no_unique_address]]) objects
	- Support for std::is_constant_evaluated()
	- Three-way comparison operator (a.k.a., the spaceship operator)
	  including the related changes (symmetry for spaceship and
	  "<=> != ==")
	- try-catch in constexpr functions
	- Virtual calls in constant expressions
	- [[likely]] and [[unlikely]] attributes
	- __VA_OPT__

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

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

Coroutines require special support for code generation (see EDGcpfe/20917
in the Changes file for more information).  As a result, coroutines are
disabled by default in versions that do IL lowering.

Coroutines and three-way comparison make use of new header files.  Sample
versions of those (coroutine.stdh and compare.stdh) are provided in the
include directory of the release.

This version now supports IEEE 128-bit floating-point on host systems that
lack such support.  See EDGcpfe/21259 and EDGcpfe/21236 in the Changes
file for more information.

In Microsoft mode, it is now possible to choose between the traditional
Microsoft preprocessor and one that is similar to their new preprocessor that
is more standard-conforming.  See EDGcpfe/19828 in the Changes file for
more information.

The following new source files were added as part of the new floating-point
support: float_type.h, floating.c, floating.h.

The runtime is now required to be built with --c++20 in order to provide
typeinfo information for char8_t.

The builtin function support incorporates changes in the GCC builtin function
signatures through GCC version 9.1 and in the clang builtin function signatures
as of clang 8.0.0.  Builtin support has also been updated for additional
releases of earlier versions.  See the Changes file for more information.

As usual, we have fixed bugs, added many minor features, and continued to
improve our various compatibility modes.  See the Changes_5.1 file for
full details (about 8,800 lines).
