[U-Boot] [PATCH] tools: adopt --std=gnu99 where C99 comments are needed

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon May 14 12:07:27 UTC 2018


While it’s not directly related to this patch, we should clearly state that
the U-Boot code base (with the possible exception of the tools/ directory,
which I have started touching here) has _implicitly_ moved to GNU11 
(yes, even newer than C99), when be upgraded beyond GCC 5.

For reference, see the "Default standard is now GNU11” section at 
	https://gcc.gnu.org/gcc-5/porting_to.html

Do we want to
(a)	document this somewhere (which file in doc/ would be appropriate?)
(b)	explicitly set the β€œ--std=β€œ flag to make sure that people (and their compilers)
	are aware of this?

Thanks,
Philipp.

> On 14 May 2018, at 13:53, Philipp Tomsich <philipp.tomsich at theobroma-systems.com> wrote:
> 
> 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 we change the language-standard to --std=gnu99 to let the compiler
> know this.
> 
> References: commit 83d290c56fab ("SPDX: Convert all of our single license tags to Linux Kernel style")
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> ---
> 
> tools/Makefile | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index 5dd33ed..079d902 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -38,11 +38,11 @@ hostprogs-$(CONFIG_BUILD_ENVCRC) += envcrc
> envcrc-objs := envcrc.o lib/crc32.o env/embedded.o lib/sha1.o
> 
> hostprogs-$(CONFIG_CMD_NET) += gen_eth_addr
> -HOSTCFLAGS_gen_eth_addr.o := -pedantic
> +HOSTCFLAGS_gen_eth_addr.o := --std=gnu99 -pedantic
> 
> hostprogs-$(CONFIG_CMD_NET) += gen_ethaddr_crc
> gen_ethaddr_crc-objs := gen_ethaddr_crc.o lib/crc8.o
> -HOSTCFLAGS_gen_ethaddr_crc.o := -pedantic
> +HOSTCFLAGS_gen_ethaddr_crc.o := --std=gnu99 -pedantic
> 
> hostprogs-$(CONFIG_CMD_LOADS) += img2srec
> HOSTCFLAGS_img2srec.o := -pedantic
> @@ -200,10 +200,10 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs
> # that won't build on some weird host compiler -- though there are lots of
> # exceptions for files that aren't complaint.
> HOSTCFLAGS_crc32.o := -pedantic
> -HOSTCFLAGS_crc8.o := -pedantic
> +HOSTCFLAGS_crc8.o := --std=gnu99 -pedantic
> HOSTCFLAGS_md5.o := -pedantic
> -HOSTCFLAGS_sha1.o := -pedantic
> -HOSTCFLAGS_sha256.o := -pedantic
> +HOSTCFLAGS_sha1.o := --std=gnu99 -pedantic
> +HOSTCFLAGS_sha256.o := --std=gnu99 -pedantic
> 
> quiet_cmd_wrap = WRAP    $@
> cmd_wrap = echo "\#include <../$(patsubst $(obj)/%,%,$@)>" >$@
> -- 
> 2.1.4
> 



More information about the U-Boot mailing list