From patchwork Mon Jun 7 10:01:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 1488499 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=NrSX3u32; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fz87K62JWz9sSn for ; Mon, 7 Jun 2021 20:02:36 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 295CB383580A for ; Mon, 7 Jun 2021 10:02:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 295CB383580A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1623060147; bh=orUu6kH+RSt37jo6VXCJpdtTGYzC+sSYwukyIIU9zdE=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=NrSX3u32EnKlftiQwekglRBLLUw2vlTsMyswMqpFPOdGHns44ZX2OFsXzaz/vYkBb agnluW0JqgSQCCNzDf8JFtSqZ17YEL9x0/K3/tZh4lZ8ZtfzdJHJnpzyMVRByX8Sl2 lXI7P3nRqzarSevmfEQRwc4n9VAuWgaTCf7HFklc= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id F19F5383D02C for ; Mon, 7 Jun 2021 10:01:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F19F5383D02C Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-377-He6Cr6c0NsSIwun7ON76AQ-1; Mon, 07 Jun 2021 06:01:53 -0400 X-MC-Unique: He6Cr6c0NsSIwun7ON76AQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C4C75188E3D3; Mon, 7 Jun 2021 10:01:52 +0000 (UTC) Received: from localhost (unknown [10.33.37.1]) by smtp.corp.redhat.com (Postfix) with ESMTP id 620D95C1C2; Mon, 7 Jun 2021 10:01:52 +0000 (UTC) Date: Mon, 7 Jun 2021 11:01:51 +0100 To: gcc-patches@gcc.gnu.org Subject: [wwwdocs] Add HTML anchors to GCC 5 "porting to" notes Message-ID: MIME-Version: 1.0 X-Clacks-Overhead: GNU Terry Pratchett X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline X-Spam-Status: No, score=-14.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jonathan Wakely via Gcc-patches From: Jonathan Wakely Reply-To: Jonathan Wakely Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" This adds id attributes to the heading elements of https://gcc.gnu.org/gcc-5/porting_to.html (so that I can link directly to the section on inline functions). All later porting_to.html notes have anchors like this. OK for wwwdocs? commit 9f1723bc1d6b52fcfcfc4a8aee93eada98412e78 Author: Jonathan Wakely Date: Mon Jun 7 11:00:22 2021 +0100 Add HTML anchors to GCC 5 "porting to" notes diff --git a/htdocs/gcc-5/porting_to.html b/htdocs/gcc-5/porting_to.html index 7d629e78..c359dfb2 100644 --- a/htdocs/gcc-5/porting_to.html +++ b/htdocs/gcc-5/porting_to.html @@ -28,7 +28,7 @@ manner. Additions and suggestions for improvement are welcome.

-

Preprocessor issues

+

Preprocessor issues

The preprocessor started to emit line markers to properly distinguish whether a macro token comes from a system header, or from a normal header @@ -65,9 +65,9 @@ Observe how the exitfailure and 1 tokens are not on the same line anymore. -

C language issues

+

C language issues

-

Default standard is now GNU11

+

Default standard is now GNU11

GCC defaults to -std=gnu11 instead of -std=gnu89. This brings several changes that users should be aware of. The following @@ -84,7 +84,7 @@ former warns about features not present in ISO C90, but present in ISO C99. The latter warns about features not present in ISO C99, but present in ISO C11. See the GCC manual for more info.

-

Different semantics for inline functions

+

Different semantics for inline functions

While -std=gnu89 employs the GNU89 inline semantics, -std=gnu11 uses the C99 inline semantics. The C99 inline semantics @@ -184,7 +184,7 @@ standard due to multiple definition errors:

} -

Some warnings are enabled by default

+

Some warnings are enabled by default

The C99 mode enables some warnings by default. For instance, GCC warns about missing declarations of functions:

@@ -267,7 +267,7 @@ returning no value in a function returning non-void:

The fix is either to specify a proper return value, or to declare the return type of foo as void.

-

Initializing statics with compound literals

+

Initializing statics with compound literals

Previously, initializing objects with static storage duration with compound literals was only allowed in the GNU89 mode. This restriction has been lifted @@ -296,7 +296,7 @@ snippet is an example of such initialization:

^ -

__STDC_VERSION__ macro

+

__STDC_VERSION__ macro

As the default mode changed to C11, the __STDC_VERSION__ standard macro, introduced in C95, is now defined by default, and has @@ -314,7 +314,7 @@ the value 201112L.

You can check the macro using gcc -dM -E -std=gnu11 - < /dev/null | grep STDC_VER.

-

Different meaning of the %a *scanf conversion specification

+

Different meaning of the %a *scanf conversion specification

In C89, the GNU C library supports dynamic allocation via the %as, %aS, and %a[...] conversion specifications; see @@ -346,7 +346,7 @@ This is a change in semantics, and in combination with the m as a length modifier as per POSIX.1-2008. That is, use %ms or %m[...].

-

New warnings

+

New warnings

Several new warnings have been added to the C front end. Among others -Wpedantic now warns about non-standard predefined identifiers. @@ -374,9 +374,9 @@ For instance:

-

C++ language issues

+

C++ language issues

-

Converting std::nullptr_t to bool

+

Converting std::nullptr_t to bool

Converting std::nullptr_t to bool in C++11 mode now requires direct-initialization. This has been changed in @@ -397,7 +397,7 @@ mode now requires direct-initialization. This has been changed in It is recommended to use the false keyword instead of converting nullptr to bool. -

Return by converting move constructor

+

Return by converting move constructor

GCC 5 implements DR 1579 @@ -430,7 +430,7 @@ using return X(y); or

-

Links

+

Marek Polacek and Jakub Jelinek,