From patchwork Sat Apr 18 19:48:21 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerald Pfeifer X-Patchwork-Id: 462390 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 A5651140291 for ; Sun, 19 Apr 2015 05:48:44 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass reason="1024-bit key; unprotected key" header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=UEnKVS6m; dkim-adsp=none (unprotected policy); dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type; q=dns; s=default; b=Fo7YNlspXgaMUHbO +X3pW6GbavL16itTk/9RxEvYiBsw2lZmep3oK949OHG9KbZ5HViVjJGcgnLWkq9N Ds46x1cVGqAluKCFX2iMSjwdY6Vq5YgvT8qRmeuqSHQsp+vBuHjy3V6FH2SciUdD Q99u5s5gn+N5dIOGGowVIbVqehQ= 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:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type; s=default; bh=bqzivvq43AjXN4cDECC3v+ SdDbc=; b=UEnKVS6mvaUY1EK+arekITZXqvsZSYR1eT+Y4KTCQ14VhqnWAEm7FP EngeE4vFj3JGUDS/ljjZNf1Q/jflYiDlJPbjqXsq2Bz1Y+zw5BNeNk8Ao9oJRF8u vJ2xXAIQ5XIIsuJTQFm2vuzmPAxFpqG+C53dyhlErFGLB4kVZoC58= Received: (qmail 77482 invoked by alias); 18 Apr 2015 19:48: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 77468 invoked by uid 89); 18 Apr 2015 19:48:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL, BAYES_00, SPF_PASS autolearn=ham version=3.3.2 X-HELO: ainaz.pair.com Received: from ainaz.pair.com (HELO ainaz.pair.com) (209.68.2.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sat, 18 Apr 2015 19:48:30 +0000 Received: from [192.168.0.133] (vie-91-186-145-235.dsl.sil.at [91.186.145.235]) by ainaz.pair.com (Postfix) with ESMTPSA id 252D03F41E; Sat, 18 Apr 2015 15:48:26 -0400 (EDT) Date: Sat, 18 Apr 2015 21:48:21 +0200 (CEST) From: Gerald Pfeifer To: Marek Polacek cc: Joseph Myers , GCC Patches Subject: Re: [wwwdocs] Some stuff for porting to In-Reply-To: <20150211110530.GN28333@redhat.com> Message-ID: References: <20150210180134.GL28333@redhat.com> <20150211110530.GN28333@redhat.com> MIME-Version: 1.0 X-IsSubscribed: yes On Wed, 11 Feb 2015, Marek Polacek wrote: > Oops, I must have been thinking of __STDC_VERSION__ when writing that. > Fixed, thanks. Here is a small set of tweaks on top of this (no material changes). Applied. Gerald Index: porting_to.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/porting_to.html,v retrieving revision 1.7 diff -u -r1.7 porting_to.html --- porting_to.html 10 Mar 2015 17:58:12 -0000 1.7 +++ porting_to.html 18 Apr 2015 19:43:37 -0000 @@ -24,6 +24,7 @@ manner. Additions and suggestions for improvement are welcome.

+

Preprocessor issues

The preprocessor started to emit line markers to properly distinguish @@ -59,6 +60,7 @@ As can be seen, the exitfailure and 1 tokens are not on the same line anymore. +

C language issues

Default standard is now GNU11

@@ -290,9 +292,9 @@

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

-Typically, this macro is used as in the following:

+

Typically, this macro is used as in the following:


   #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
@@ -307,12 +309,12 @@
 

Different meaning of the %a *scanf conversion specification

In C89, the GNU C library supports dynamic allocation via the %as, -%aS, and %a[...] conversion specification; see +%aS, and %a[...] conversion specifications; see this for more info. -But in C99, the a conversion specifier is a synonym for f -(float), so the compiler expects an argument of type float *. Different -meaning of %a is a change in semantics, and in combination with the +In C99, the a conversion specifier is a synonym for f +(float), so the compiler expects an argument of type float *. +This is a change in semantics, and in combination with the -Wformat warning option the compiler may emit additional warnings:


@@ -333,14 +335,14 @@
 

To use the dynamic allocation conversion specifier in C99 and C11, specify -m as a length modifier, specified by POSIX.1-2008. That is, use +m as a length modifier as per POSIX.1-2008. That is, use %ms or %m[...].

New warnings

-

Several new warnings have been added to the C front end. One of the new -warnings is that GCC now warns about non-standard predefined identifiers with -the -Wpedantic option. For instance:

+

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


   void
@@ -363,14 +365,16 @@
   const char *s = __extension__ __FUNCTION__;
 
+

C++ language issues

Converting std::nullptr_t to bool

-

Converting std::nullptr_t to bool in the C++11 +

Converting std::nullptr_t to bool in C++11 mode now requires direct-initialization. This has been changed in -DR 1423. -As a consequence, the following is invalid:

+DR 1423.

+ +

As a consequence, the following is invalid:


   bool b = nullptr;