public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
* gcc-wwwdocs branch master updated. c5dabd968113d7ca52d7e5f9a1febab5e3be1056
@ 2021-05-26 13:41 Iain Buclaw
  0 siblings, 0 replies; only message in thread
From: Iain Buclaw @ 2021-05-26 13:41 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  c5dabd968113d7ca52d7e5f9a1febab5e3be1056 (commit)
      from  512805afa4a8f5db215a483b84347bbe7971da8a (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 c5dabd968113d7ca52d7e5f9a1febab5e3be1056
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Wed May 19 13:56:43 2021 +0200

    wwwdocs: Add D front-end section for GCC 11 changes

diff --git a/htdocs/gcc-11/changes.html b/htdocs/gcc-11/changes.html
index 4bdae272..08082411 100644
--- a/htdocs/gcc-11/changes.html
+++ b/htdocs/gcc-11/changes.html
@@ -544,6 +544,196 @@ You may also want to check out our
   </li>
 </ul>
 
+<h3 id="d">D</h3>
+<ul>
+  <li>New features:
+    <ul>
+      <li>A new bottom type <code>typeof(*null)</code> has been added to
+	represent run-time errors and non-terminating functions.  This also
+	introduces a new standard alias for the type named
+	<code>noreturn</code>, and is implicitly imported into every module.
+      </li>
+      <li>Printf-like and scanf-like functions are now detected by prefixing
+	them with <code>pragma(printf)</code> for printf-like functions or
+	<code>pragma(scanf)</code> for scanf-like functions.
+      </li>
+      <li>The <code>__traits()</code> expression now supports the extensions
+	<code>isDeprecated</code>, <code>isDisabled</code>,
+	<code>isFuture</code>, <code>isModule</code>, <code>isPackage</code>,
+	<code>child</code>, <code>isReturnOnStack</code>,
+	<code>isZeroInit</code>, <code>getTargetInfo</code>,
+	<code>getLocation</code>, <code>hasPostblit</code>,
+	<code>isCopyable</code>, <code>getVisibility</code>, and
+	<code>totype</code>.
+      </li>
+      <li>An expression-based contract syntax has been added to the
+	language.
+      </li>
+      <li>Function literals can now return a value by reference with the
+	<code>ref</code> keyword.
+      </li>
+      <li>A new syntax is available to declare aliases to function types using
+	the <code>alias</code> syntax based on the assignment operator.
+      </li>
+      <li>New types <code>__c_complex_float</code>,
+	<code>__c_complex_double</code>,  <code>__c_complex_real</code>, and
+	<code>__c_wchar_t</code> have been added for interfacing with C
+	and C++ code, and are available from the <code>core.stdc.config</code>
+	module.
+      </li>
+      <li>User-defined attributes can now be used to annotate enum members,
+	alias declarations, and function parameters.
+      </li>
+      <li>Templates alias parameters can now be instantiated with basic types
+	such as <code>int</code> or <code>void function()</code>.
+      </li>
+      <li>The <code>mixin</code> construct can now be used as types in the form
+	<code>mixin(string) var</code>.
+      </li>
+      <li>The <code>mixin</code> construct can now take an argument list, same
+	as <code>pragma(msg)</code>.
+      </li>
+    </ul>
+  </li>
+  <li>New intrinsics:
+    <ul>
+      <li>Bitwise rotate intrinsics <code>core.bitop.rol</code> and
+	<code>core.bitop.ror</code> have been added.
+      </li>
+      <li>Byte swap intrinsic <code>core.bitop.byteswap</code> for swapping
+	bytes in a 2-byte <code>ushort</code> has been added.
+      </li>
+      <li>Math intrinsics available from <code>core.math</code> now have
+	overloads for <code>float</code> and <code>double</code> types.
+	<li>Volatile intrinsics <code>core.volatile.volatileLoad</code> and
+	  <code>core.volatile.volatileStore</code> have been moved from the
+	  <code>core.bitop</code> module.
+	</li>
+    </ul>
+  </li>
+  <li>New attributes:
+    <ul>
+      <li>The following GCC attributes are now recognized and available from
+	the <code>gcc.attributes</code> module with short-hand aliases for
+	convenience:
+	<ul>
+	  <li><code>@attribute("alloc_size", arguments)</code> or
+	    <code>@alloc_size(arguments)</code>.
+	  </li>
+	  <li><code>@attribute("always_inline")</code> or
+	    <code>@always_inline</code>.
+	  </li>
+	  <li><code>@attribute("used")</code> or <code>@used</code>.</li>
+	  <li><code>@attribute("optimize", arguments)</code> or
+	    <code>@optimize(arguments)</code>.
+	  </li>
+	  <li><code>@attribute("cold")</code> or <code>@cold</code>.</li>
+	  <li><code>@attribute("noplt")</code> or <code>@noplt</code>.</li>
+	  <li><code>@attribute("target_clones", arguments)</code> or
+	    <code>@target_clones(arguments)</code>.
+	  </li>
+	  <li><code>@attribute("no_icf")</code> or <code>@no_icf</code>.</li>
+	  <li><code>@attribute("noipa")</code> or <code>@noipa</code>.</li>
+	  <li><code>@attribute("symver", arguments)</code> or
+	    <code>@symver(arguments)</code>.
+	  </li>
+	</ul>
+      </li>
+      <li>New aliases have been added to <code>gcc.attributes</code> for
+	compatibility with <code>ldc.attributes</code>.
+	<ul>
+	  <li>The <code>@allocSize(arguments)</code> attribute is the same as
+	    <code>@alloc_size(arguments)</code>, but uses a 0-based index for
+	    function arguments.
+	  </li>
+	  <li>The <code>@assumeUsed</code> attribute is an alias for
+	    <code>@attribute("used")</code>.
+	  </li>
+	  <li>The <code>@fastmath</code> attribute is an alias for
+	    <code>@optimize("Ofast")</code>.
+	  </li>
+	  <li>The <code>@naked</code> attribute is an alias for
+	    <code>@attribute("naked")</code>.  This attribute may not be
+	    available on all targets.
+	  </li>
+	  <li>The <code>@restrict</code> attribute has been added to specify
+	    that a function parameter is to be restrict-qualified in the C99
+	    sense of the term.
+	  </li>
+	  <li>The <code>@optStrategy(strategy)</code> attribute is an alias for
+	    <code>@optimize("O0")</code> when the <code>strategy</code> is
+	    <code>"none"</code>, otherwise <code>@optimize("Os")</code> for the
+	    <code>"optsize"</code> and <code>"minsize"</code> strategies.
+	  </li>
+	  <li>The <code>@polly</code> attribute is an alias for
+	    <code>@optimize("loop-parallelize-all")</code>.
+	  </li>
+	  <li>The <code>@section(name)</code> attribute is an alias for
+	    <code>@attribute("section", name)</code>.
+	  </li>
+	  <li>The <code>@target(arguments)</code> attribute is an alias for
+	    <code>attribute("target", arguments)</code>.
+	  </li>
+	  <li>The <code>@weak</code> attribute is an alias for
+	    <code>@attribute("weak")</code>.
+	  </li>
+	</ul>
+      </li>
+    </ul>
+  </li>
+  <li>New language options:
+    <ul>
+      <li><code>-fweak-templates</code>, added to control whether declarations
+	that can be defined in multiple objects should be emitted as weak
+	symbols. The default is to emit all symbols with extern linkage as
+	weak, unless the target lacks support for weak symbols.
+      </li>
+      <li><code>-Wdeprecated</code>, this option is now enabled by default.
+      </li>
+      <li><code>-Wextra</code>, this option now turns on all warnings that are
+	not part of the core D language front-end - <code>-Waddress</code>,
+	<code>-Wcast-result</code>, <code>-Wunknown-pragmas</code>.
+      </li>
+      <li><code>-Wvarargs</code>, added to turn on warnings about questionable
+	usage of the <code>va_start</code> intrinsic.
+      </li>
+    </ul>
+  </li>
+  <li>Deprecated and removed features:
+    <ul>
+      <li>Compiler-recognized attributes are now made available from the
+	<code>gcc.attributes</code> module, the former module
+	<code>gcc.attribute</code> has been deprecated and will be removed in
+	a future release.
+      </li>
+      <li>The <code>@attribute("alias")</code> attribute has been removed, as
+	it had been superseded by <code>pragma(mangle)</code>.
+      </li>
+      <li>The <code>@attribute("forceinline")</code> attribute has been removed
+	and renamed to <code>@always_inline</code>.
+      </li>
+      <li><code>__vector</code> types that are not supported in hardware are
+	now rejected at compile-time.  Previously all vector types were
+	accepted by the compiler and emulated when target support was absent.
+      </li>
+      <li>The <code>extern(Pascal)</code> linkage attribute has been removed.
+      </li>
+      <li>The deprecation phase for <code>-ftransition=import</code> and
+	<code>-ftransition=checkimports</code> is finished.  These switches no
+	longer have an effect and are now removed.  Symbols that are not
+	visible in a particular scope will no longer be found by the compiler.
+      </li>
+      <li>It is now an error to use private variables selectively imported from
+	other modules.  Due to a bug, some imported private members were
+	visible from other modules, violating the specification.
+      </li>
+      <li>The <code>-fweak</code> compiler switch has been removed, as it
+	existed only for testing.
+      </li>
+    </ul>
+  </li>
+</ul>
+
 <h3 id="fortran">Fortran</h3>
 
 <ul>
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 53abf9ed..9fecc24b 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -69,6 +69,8 @@ a work-in-progress.</p>
 <!-- <h3 id="cxx">C++</h3> -->
 <!-- <h4 id="libstdcxx">Runtime Library (libstdc++)</h4> -->
 
+<!-- <h3 id="d">D</h3> -->
+
 <!-- <h3 id="fortran">Fortran</h3> -->
 
 <!-- <h3 id="go">Go</h3> -->

-----------------------------------------------------------------------

Summary of changes:
 htdocs/gcc-11/changes.html | 190 +++++++++++++++++++++++++++++++++++++++++++++
 htdocs/gcc-12/changes.html |   2 +
 2 files changed, 192 insertions(+)


hooks/post-receive
-- 
gcc-wwwdocs


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-26 13:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-26 13:41 gcc-wwwdocs branch master updated. c5dabd968113d7ca52d7e5f9a1febab5e3be1056 Iain Buclaw

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