From patchwork Thu Jan 23 10:10:50 2020
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Martin Sebor
X-Patchwork-Id: 1227744
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=209.132.180.131;
helo=sourceware.org;
envelope-from=gcc-patches-return-518116-incoming=patchwork.ozlabs.org@gcc.gnu.org;
receiver=)
Authentication-Results: ozlabs.org;
dmarc=fail (p=none dis=none) header.from=gmail.com
Authentication-Results: ozlabs.org; dkim=pass (1024-bit key;
unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org
header.a=rsa-sha1 header.s=default header.b=vDE/09eP;
dkim=fail reason="signature verification failed" (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com
header.a=rsa-sha256 header.s=20161025 header.b=B1Oc+/lW;
dkim-atps=neutral
Received: from sourceware.org (server1.sourceware.org [209.132.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256
bits)) (No client certificate requested)
by ozlabs.org (Postfix) with ESMTPS id 483J2N2DH3z9sSN
for ;
Thu, 23 Jan 2020 21:11:06 +1100 (AEDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id
:list-unsubscribe:list-archive:list-post:list-help:sender:to
:from:subject:message-id:date:mime-version:content-type; q=dns;
s=default; b=lfV5z1tl/fn6Yrdxya+TJi71Iixv4YoaN4HRn6BvxTvhWwzYXk
w7Q8tnJYsWjUaua97cQFezPlaNHiFI+erzo3wztK05vz6G5g2lzKu9BYHeDVxjrC
Ljy59+8pVc1xQuNyARqoUjO8RLn/RGHly3dKD0CU0BW9d7Nuy0VgmxwaU=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id
:list-unsubscribe:list-archive:list-post:list-help:sender:to
:from:subject:message-id:date:mime-version:content-type; s=
default; bh=plYgcI20v19YMy5AV9sPexWtXdc=; b=vDE/09ePRhxYsWVGKgOI
+IJingLcApgYT1Cjf5v+bimqCowRutS+78ZbP2aSPni4vvHwkY9TKyFkw7z6+bv1
vhBDDAqymxOBf+uPsuzM5mUYBSrpRKM2h0ruDcorKYYWbx2lqPBLVks0L7AkDqF1
rghciGkNdG9KuFaquxOhd0I=
Received: (qmail 6951 invoked by alias); 23 Jan 2020 10:10:58 -0000
Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id:
List-Unsubscribe:
List-Archive:
List-Post:
List-Help:
Sender: gcc-patches-owner@gcc.gnu.org
Delivered-To: mailing list gcc-patches@gcc.gnu.org
Received: (qmail 6943 invoked by uid 89); 23 Jan 2020 10:10:58 -0000
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-22.7 required=5.0 tests=AWL, BAYES_00,
FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2,
GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE,
SPF_PASS autolearn=ham version=3.3.1 spammy=Enhancements,
gcc-10.1.0, optimizeoptionshtml, gcc1010
X-HELO: mail-wm1-f48.google.com
Received: from mail-wm1-f48.google.com (HELO mail-wm1-f48.google.com)
(209.85.128.48) by sourceware.org
(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;
Thu, 23 Jan 2020 10:10:55 +0000
Received: by mail-wm1-f48.google.com with SMTP id b19so1902732wmj.4 for
; Thu, 23 Jan 2020 02:10:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=to:from:subject:message-id:date:user-agent:mime-version
:content-language;
bh=xH9pT/HOSzq7w9JWe9SuuK78bpn6xxxBIhmHUNdKYgU=;
b=B1Oc+/lWre3BPCOtWaElJSt1XuezJXF4mXmKnNQybYiMct2PnGdl8fAWEZrSJ1Uw5t
xpLGsnm3uLQEVLirM/M0QRrcsOAJdVEWacJ99gZBUV67ORkXNsu17t64Tnj9oMhu22f6
KGslG3URzFb5zd/cDg5vKUKSAL2QAk6lvC9k6oR4WaIh8q97f42eO8nTgGzGOCKuvrya
+DR+/zXGxa05zQOSl5YJW8rpFVHTJKQN27VStgdf2ngY1yPA3pbhYKZ1XejJd1yeV2tg
QhnB7an8vD92HJhPPkZ9/or+T7Q65vocyEqD1CRNVrCIlijLomPrGRI+IaFmJ3Jpl0jn
+9KA==
Received: from [10.0.0.34] (dynamic-194-228-13-172.ipv4.broadband.iol.cz.
[194.228.13.172]) by smtp.gmail.com with ESMTPSA id
o4sm2390111wrx.25.2020.01.23.02.10.51 (version=TLS1_3
cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Thu, 23 Jan 2020 02:10:52 -0800 (PST)
To: gcc-patches@gcc.gnu.org, Gerald Pfeifer
From: Martin Sebor
Subject: [committed] update gcc-10/changes.html
Message-ID: <7cfbdce3-7c33-7070-71f8-6b2269cf669d@gmail.com>
Date: Thu, 23 Jan 2020 11:10:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
rv:68.0) Gecko/20100101 Thunderbird/68.2.2
MIME-Version: 1.0
X-IsSubscribed: yes
I pushed the attached diff to the wwwdocs repository.
In links to the manuals that I added I pointed to the upcoming
release, 10.1.0, even though the new version directory hasn't
been created yet. I also updated existing links pointing to
the development version of GCC to point to 10.1.0 instead.
That, of course, makes testing the links error-prone. Rather
than having to remember to do all this by hand and making
mistakes in the process I wonder if it could be automated. For
instance, could we instead set up a script to update the links
automatically either when the release directory is created, or
via a post-commit hook if that's possible? Or, if that can't
be done, could the script that checks the validity of the html
be modified to also check the links and complain if they don't
point to the next release?
Marti
diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html
index 66440102..6e752157 100644
--- a/htdocs/gcc-10/changes.html
+++ b/htdocs/gcc-10/changes.html
@@ -54,21 +54,34 @@ a work-in-progress.
General Improvements
-The following built-in functions have been introduced.
- __builtin_roundeven
for the corresponding function from
- ISO/IEC TS 18661.
+ - New built-in functions:
+
+ - The
+
__has_builtin
+ built-in preprocessor operator can be used to query support
+ for built-in functions provided by GCC and other compilers
+ that support it.
+
+ __builtin_roundeven
for the corresponding function from
+ ISO/IEC TS 18661.
+
+
-
- A new option,
-fallocation-dce
- has been added. The option removes unneeded pairs of new
- and delete
operators.
+ New command-line options:
+
-
Profile driven optimization improvements:
-
- Using
-fprofile-values
,
+ Using -fprofile-values
,
an instrumented binary can track multiple
values (up to 4) for e.g. indirect calls and provide more precise profile information.
@@ -78,7 +91,7 @@ a work-in-progress.
Link-time optimization improvements:
-
- A new binary
lto-dump
+ A new binary lto-dump
has been added. The program can dump various
information about a LTO bytecode object file.
@@ -102,7 +115,63 @@ a work-in-progress.
-
+C family
+
+ - New attributes:
+
+ -
+ The
access
function and type attribute has been added
+ to describe how a function accesses objects passed to it by pointer
+ or reference, and to associate such arguments with integer arguments
+ denoting the objects' sizes. The attribute is used to enable
+ the detection of invalid accesses by user-defined functions, such
+ as those diagnosed by -Wstringop-overflow
.
+
+
+
+ - New warnings:
+
+ -Wstring-compare
, enabled
+ by -Wextra
, warns about equality and inequality
+ expressions between zero and the result of a call to either
+ strcmp
and strncmp
that evaluate to
+ a constant as a result of the length of one argument being greater
+ than the size of the array pointed to by the other.
+
+ -Wzero-length-bounds
,
+ enabled by -Warray-bounds
, warns about accesses to
+ elements of zero-length arrays that might overlap other members
+ of the same object.
+
+
+
+ - Enhancements to existing warnings:
+
+ -Warray-bounds
+ detects more out-of-bounds accesses to member arrays as well as
+ accesses to elements of zero-length arrays.
+
+ -Wformat-overflow
+ makes full use of string length information computed by
+ the strlen
optimization pass.
+
+ -Wrestrict
+ detects overlapping accesses to dynamically allocated objects.
+
+ -Wreturn-local-addr
+ diagnoses more instances of return
statements returning
+ addresses of automatic variables.
+
+ -Wstringop-overflow
+ detects more out-of-bounds stores to member arrays including
+ zero-length arrays, dynamically allocated objects and variable length
+ arrays, as well as more instances of reads of unterminated character
+ arrays by string built-in functions. The warning also detects
+ out-of-bounds accesses by calls to user-defined functions declared
+ with the new attribute access
.
+
+
+
C
@@ -185,6 +254,21 @@ a work-in-progress.
initializer-list
+ New warnings:
+
+ -Wmismatched-tags
,
+ disabled by default, warns about declarations of structs, classes,
+ and class templates and their specializations with a class-key that
+ does not match either the definition or the first declaration if no
+ definition is provided. The option is provided to ease portability
+ to Windows-based compilers.
+
+ -Wredundant-tags
,
+ disabled by default, warns about redundant class-key and
+ enum-key in contexts where the key can be eliminated without
+ causing an syntactic ambiguity.
+
+
G++ can now detect modifying constant objects in constexpr evaluation
(which is undefined behavior).
@@ -461,7 +545,7 @@ a work-in-progress.
and without the need to provide options -B
and
-mmcu=
.
See
- AVR
+ AVR
command-line options for details.
This feature is also available in GCC 9.3+ and GCC 8.4+.