From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Kettenis Date: Mon, 14 May 2018 22:58:49 +0200 (CEST) Subject: [U-Boot] [PATCH v2] Makefile: adopt --std=gnu11 for HOSTCFLAGS on Linux In-Reply-To: <20180514145712.GT12235@bill-the-cat.ec.rr.com> (message from Tom Rini on Mon, 14 May 2018 10:57:12 -0400) References: <1526304126-47200-1-git-send-email-philipp.tomsich@theobroma-systems.com> <245989a70d59d0ce@bloch.sibelius.xs4all.nl> <20180514145712.GT12235@bill-the-cat.ec.rr.com> Message-ID: <24598ac4d5a11851@bloch.sibelius.xs4all.nl> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > Date: Mon, 14 May 2018 10:57:12 -0400 > From: Tom Rini > > On Mon, May 14, 2018 at 04:53:49PM +0200, Mark Kettenis wrote: > > > From: Philipp Tomsich > > > Date: Mon, 14 May 2018 15:22:06 +0200 > > > > > > Following the conversion of the SPDX license tags, a number of files > > > compiled with -pedantic now generate warnings similar to the following > > > for using C99-style '//' comments in ISO C90 code: > > > > > > tools/gen_eth_addr.c:1:1: warning: C++ style comments are not allowed in ISO C90 > > > // SPDX-License-Identifier: GPL-2.0+ > > > ^ > > > > > > The SPDX comment-style change means that these files have adopted C99, > > > so need to change the language-standard to --std=gnu99 or --std=gnu11 > > > to let the compiler know this. > > > > > > As we now require GCC 6 or newer for the cross-compiler, the project has > > > implicitly moved the project to GNU11: let older GCC versions on various > > > Linux distros know to treat our host tools as GNU11 as well. > > > > Note that the requirement is on the cross-compiler, not the host > > compiler. On our "primary" architectures OpenBSD 6.3 ships with Clang > > 5.0.1 and the current development version uses Clang 6.0.0, which > > default to --std=gnu11. I do hope those will continue to be supported > > as the host compiler... > > Does Clang 5.0.1 support gnu11 ? Note that at this point we're not even > talking about moving to GNU11 features being used anywhere, just > enforcing consistency between modern (post gcc-5) and old (gcc-4.x) > compilers all in order to not have // style comments be a warning (which > in turn is a C99/gnu99 thing). Thanks! Yes. Both Clang 5.0.1 and Clang 6.0.0 support gnu11 and even default to it. If tere is no intention to use C11 features (and frankly I don't think C11 offers any significant benefits over C99), it'd make more sense to add --std=gnu99 instead of --std=gnu11 wouldn't it? That would actually catch accidental use of C11 features.