public inbox for
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 <>
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>
-<!-- <h3 id="ada">Ada</h3> -->
+<h3 id="ada">Ada</h3>
+  <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="">hardening features</a>.</li>
 <h3 id="c-family">C family</h3>


Summary of changes:
 htdocs/gcc-12/changes.html | 78 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)


^ 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).