public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
* gcc-wwwdocs branch master updated. 9f9c0a8589c2df97cedf7720f3595c58d5143ce0
@ 2022-04-11 9:00 Arnaud Charlet
0 siblings, 0 replies; only message in thread
From: Arnaud Charlet @ 2022-04-11 9:00 UTC (permalink / raw)
To: gcc-cvs-wwwdocs
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".
The branch, master has been updated
via 9f9c0a8589c2df97cedf7720f3595c58d5143ce0 (commit)
from 47ded46f26e19d56aae87c621e2752095ec73c35 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9f9c0a8589c2df97cedf7720f3595c58d5143ce0
Author: Fernando Oleo Blanco <irvise@irvise.xyz>
Date: Mon Apr 11 08:59:22 2022 +0000
Add Ada's entry in the v12 changelog
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 51d01418..91397cf5 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -183,7 +183,83 @@ a work-in-progress.</p>
</li>
</ul>
-<!-- <h3 id="ada">Ada</h3> -->
+<h3 id="ada">Ada</h3>
+<ul>
+ <li>Ada 2022
+ <ul>
+ <li>Added the <code>-gnat2022</code> flag to indicate strict Ada
+ 2022 compliance. The old <code>-gnat2020</code> flag is now
+ deprecated.</li>
+ <li>Support for Big Numbers (Annex G) has seen continuous
+ improvements. It is now cosidered complete. It is also proven to
+ be correct through the use of contracts and SPARK.</li>
+ <li>Continuous improvements to the Ada 2022 standard since GCC
+ 11. The main missing feature is support for the new
+ <code>parallel</code> keyword. However, some initial support has
+ already been put in place.</li>
+ <li>Greatly improved compile time support. More functions can now
+ have the <code>with Static</code> aspect and can be used in more
+ contexts.</li>
+ </ul>
+ </li>
+ <li>Ada 2022 extensions. The use of the <code>-gnatX</code> flag is
+ necessary to access these features as they are not considered
+ stable or standard.
+ <ul>
+ <li>Fixed lower bound for unconstrained arrays.
+ <ul>
+ <li><code>type Matrix is array (Natural range 0 .. <>, Natural
+ range 0 .. <>) of Integer;</code> is now valid.</li>
+ <li>Subtypes can also specify a lower bound: <code>subtype
+ String_1 is String (1 .. <>);</code>. Boundaries from slices
+ will "slide" to the correct lower bound of the subtype.</li>
+ </ul>
+ </li>
+ <li>Generalized <code>Object.Operand</code> notation. The follwing
+ code is now valid <code>V.Add_Element(42);</code>,
+ with <code>V</code> being a vector, for example.</li>
+ <li>Additional <code>when</code> constructs. Keywords
+ <code>return</code>, <code>goto</code> and <code>raise</code>
+ can now use <code>when</code> in addition to the existing
+ <code>exit when</code>. The following expression is therefore
+ now valid <code>raise Constraint_Error with "Element is null"
+ when Element = null;</code></li>
+ <li>Pattern matching</li>
+ <ul>
+ <li>The <code>case</code> statement has been extended to cover
+ records and arrays as well as finer grained casing on scalar
+ types. In the future it is expected to provide more compile
+ time guarantees when accessing discriminated fields. Case
+ exhaustion is supported for patter matching. An example would
+ be <code><pre>
+type Sign is (Neg, Zero, Pos);
+
+function Multiply (S1, S2 : Sign) return Sign is
+ (case (S1, S2) is
+ when (Neg, Neg) | (Pos, Pos) => Pos,
+ when (Zero, <>) | (<>, Zero) => Zero,
+ when (Neg, Pos) | (Pos, Neg) => Neg);
+ </pre></code></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li><code>gnatfind</code> and <code>gnatxref</code>, which were
+ already deprecated, have been removed.</li>
+ <li>Greatly expanded code covered by contracts. Thanks to this work,
+ there are now several Ada standard libraries fully proven in SPARK
+ which means they have no runtime nor logical errors. They are
+ mostly numeric and string handling libraries.</li>
+ <li>Enable return-slot optimization for <code>Pure</code>
+ functions.</li>
+ <li>General optimizations, improvements and additions to the
+ standard library. Performance, correctness and in some cases
+ stability was improved. Memory pools have also seen some minor
+ enhancements.</li>
+ <li>Improvements to embedded-RTOS targets such as RTEMS, VxWorks and
+ QNX. Older targets were removed or cleaned.</li>
+ <li>Added some <a href="https://gcc.gnu.org/onlinedocs/gnat_rm/Security-Hardening-Features.html#Security-Hardening-Features">hardening features</a>.</li>
+</ul>
<h3 id="c-family">C family</h3>
<ul>
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-12/changes.html | 78 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)
hooks/post-receive
--
gcc-wwwdocs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-11 9:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11 9:00 gcc-wwwdocs branch master updated. 9f9c0a8589c2df97cedf7720f3595c58d5143ce0 Arnaud Charlet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).