From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 101623 invoked by alias); 5 Jun 2019 16:49:26 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 101614 invoked by uid 89); 5 Jun 2019 16:49:25 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= X-HELO: gate.crashing.org Received: from gate.crashing.org (HELO gate.crashing.org) (63.228.1.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 05 Jun 2019 16:49:24 +0000 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id x55GnMA8005388; Wed, 5 Jun 2019 11:49:22 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id x55GnLfa005387; Wed, 5 Jun 2019 11:49:21 -0500 Date: Wed, 05 Jun 2019 16:49:00 -0000 From: Segher Boessenkool To: Jozef Lawrynowicz Cc: gcc@gcc.gnu.org Subject: Re: Preventing ISO C errors when using macros for builtin types Message-ID: <20190605164921.GT31586@gate.crashing.org> References: <20190605142559.05791323@jozef-kubuntu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190605142559.05791323@jozef-kubuntu> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2019-06/txt/msg00026.txt.bz2 On Wed, Jun 05, 2019 at 02:25:59PM +0100, Jozef Lawrynowicz wrote: > I'm assuming it would not be valid to modify the behaviour of __extension__ > so it can be placed within a declaration, and not just at the > beginning. However, there is minimal documentation on this keyword (it does not > state that it can be used in declarations, even though it can), so I wonder > what the "rules" are. The documentation says '-pedantic' and other options cause warnings for many GNU C extensions. You can prevent such warnings within one expression by writing '__extension__' before the expression. '__extension__' has no effect aside from this. It's not clear to me why you cannot simply put __extension__ earlier in your case? Segher