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: +
      +
    • -fallocation-dce + removes unneeded pairs of new and delete + operators. +
    • +
  • 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+.