From patchwork Tue Mar 5 00:28:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Sebor X-Patchwork-Id: 1051571 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-497339-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.b="fpm1gdRb"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="nEyuhTqp"; 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 44CyRw1sttz9sB3 for ; Tue, 5 Mar 2019 11:28:41 +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=DWgX3PAJAxuci0X7AaT2UZDx1iWXLdptWA4MM+axnOhZVGYTJx 6PEs6hWqD1CdVTOFQqSBU+PbIc5XBos7eu+NKmRHIs/b51tPJlp/S03pp7rEJR7C /y0IZzyWJsFwMfbuZWwUhUuF55XAKM19JGl79zkiPkcNe5Wl5Io3SYULM= 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=0fopHfwMOa0pidT58/NiCWTipgk=; b=fpm1gdRbN0tGEFOIbt0f 6OYVUx3M4GvHUrgJ6kvr7+4d7IDyQnMpKpAcm9l+kE4d3OaNR6FxrvdbjVu5DGTy bWU2P72APLl95nxb0ULMBUn7jg/ULHCtOkpG3eA1prXckh9LkwKPOHj9xU7hnJhG xlYTQiSffZjy/N4jThUVmU8= Received: (qmail 130710 invoked by alias); 5 Mar 2019 00:28:34 -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 130699 invoked by uid 89); 5 Mar 2019 00:28:33 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=compact, denoting, probability, UD:changes.html X-HELO: mail-qt1-f175.google.com Received: from mail-qt1-f175.google.com (HELO mail-qt1-f175.google.com) (209.85.160.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 05 Mar 2019 00:28:31 +0000 Received: by mail-qt1-f175.google.com with SMTP id o6so7234721qtk.6 for ; Mon, 04 Mar 2019 16:28:30 -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=ksjBGlmX3XlIVnDFbjnrdcF/xQGsVsoeWBCWON5Qz/U=; b=nEyuhTqprbc09XVDalbRpvRwJG/O9bBGGY+Vx2BxqZc8sxuYmmE+I4/y2DZuESBli7 A/9vBsB9hJU+wiikUW8JRpW4s9xoStzYYs4wdd1OY4P7BCK6v7Z+M9/e5W73qGPXaPZ7 n7pQJQK2vNoEpoQ9W3vXCTk/rI1IEDbrM6aXfdtFQFRR4LQN5NVYSSgM8MM8bPDjSspm HIzjHUHGWsz6BeBWnfc2FzZGxCC2QihzHUjGlile2yRZ419aKBjwBSMvYHMtoOFy9Ysc bzf7ghvzfBUdOJ/lC/l9EIppOFcEsqtiq034I/OxrAjohZH4GdLzeNwEe2rrfpTVU836 05/Q== Received: from [192.168.0.106] (174-16-104-92.hlrn.qwest.net. [174.16.104.92]) by smtp.gmail.com with ESMTPSA id o5sm4878225qkl.24.2019.03.04.16.28.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Mar 2019 16:28:27 -0800 (PST) To: "gcc-patches@gcc.gnu.org" From: Martin Sebor Subject: [wwwdocs] add gcc 9 changes Message-ID: <061259ae-4189-8f4a-f482-4619a130c907@gmail.com> Date: Mon, 4 Mar 2019 17:28:26 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 X-IsSubscribed: yes Attached is a patch with (mostly) my changes for GCC 9. To make things easier to find I grouped related changes together within the sections I changed. I put warnings under the same bullet, built-ins, and attributes. Martin Index: gcc-9/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-9/changes.html,v retrieving revision 1.49 diff -u -r1.49 changes.html --- gcc-9/changes.html 28 Feb 2019 21:49:05 -0000 1.49 +++ gcc-9/changes.html 5 Mar 2019 00:18:18 -0000 @@ -60,8 +60,17 @@

General Improvements

+

The following GCC command line options have been introduced or improved.

  • + All command line options that take a byte-size argument accept + 64-bit integers as well as standard SI and IEC suffixes such as + kb and KiB, MB and MiB, + or GB and GiB denoting the corresponding + multiples of bytes. See + Invoking GCC for more. +
  • +
  • A new option, -flive-patching=[inline-only-static|inline-clone], has been introduced to provide a safe compilation for live-patching. At the same time, provides multiple-level control on the enabled IPA optimizations. @@ -79,9 +88,41 @@ alignment (e.g. -falign-loops=n:m:n2:m2).
  • - A new built-in function, __builtin_expect_with_probability, - has been added. + New pair of profiling options (-fprofile-filter-files + and -fprofile-exclude-files) has been added. + The options help to filter which source files are instrumented. +
  • +
  • + AddressSanitizer generates more compact red-zones for automatic variables. + That helps to reduce memory footprint of a sanitized binary.
  • +
+

The following built-in functions have been introduced.

+ +

The following attributes have been introduced.

+
    +
  • + The copy function attribute has been + added. The attribute can also be applied to type definitions and to + variable declarations. +
  • +
+

A large number of improvements to code generation have been made, + including but not limited to the following.

+
  • Switch expansion has been improved by using a different strategy (jump table, bit test, decision tree) for a subset of switch cases. @@ -106,6 +147,10 @@ can be transformed into 100 * how + 5 (for values defined in the switch statement).
  • +
+

The following improvements to the gcov command line utilitly + have been made.

+
  • The gcov tool received a new option --use-hotness-colors (-q) that can provide perf-like coloring of hot functions. @@ -113,15 +158,6 @@
  • The gcov tool has changed its intermediate format to a new JSON format.
  • -
  • - New pair of profiling options (-fprofile-filter-files - and -fprofile-exclude-files) has been added. - The options help to filter which source files are instrumented. -
  • -
  • - AddressSanitizer generates more compact red-zones for automatic variables. - That helps to reduce memory footprint of a sanitized binary. -
@@ -139,7 +175,6 @@ not supported in the GCC 9 release see this mail. -
  • New extensions:
    • __builtin_convertvector built-in for vector conversions @@ -152,7 +187,40 @@ warns about an unaligned pointer value from the address of a packed member of a struct or union.
    • -
  • + + +
  • Enhancements to existing warnings: +
      +
    • + -Warray-bounds detects more instances + of out-of-bounds indices. +
    • +
    • + -Wattribute-alias also detects attribute + mismatches between alias declarations and their targets, in addition + to mismatches between their types. +
    • +
    • + -Wformat-overflow and + -Wformat-truncation have been extended + to all formatted input/output functions (where applicable) and + enhanced to detect a subset of instances of reading past the end + of unterminated constant character arrays in %s + directives. +
    • +
    • + -Wmissing-attributes detects instances + of missing function attributes on declarations of aliases and weak + references. +
    • +
    • + -Wstringop-truncation also detects + a subset of instances of reading past the end of unterminated + constant character arrays, +
    • +
    +
  • +

    C