diff mbox series

[U-Boot] tools/Makefile: build host tools with -std=gnu99

Message ID 20190330142923.18385-1-thomas.petazzoni@bootlin.com
State Accepted
Commit d7edeba79b2776a2097adf952b3b392c2dfb036b
Delegated to: Tom Rini
Headers show
Series [U-Boot] tools/Makefile: build host tools with -std=gnu99 | expand

Commit Message

Thomas Petazzoni March 30, 2019, 2:29 p.m. UTC
Parts of the code are using C99 constructs (such as variables declared
inside loops), but also GNU extensions (such as typeof), so using
-std=gnu99 is necessary to build with older versions of gcc that don't
default to building with gnu99.

It fixes the following build failure:

./tools/../lib/crc16.c: In function "crc16_ccitt":
./tools/../lib/crc16.c:70:2: error: "for" loop initial declarations are only allowed in C99 mode
  for (int i = 0;  i < len;  i++)
  ^
./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code

when building the host tools with gcc 4.7.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 tools/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Philipp Tomsich March 30, 2019, 2:39 p.m. UTC | #1
> On 30.03.2019, at 15:29, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> 
> Parts of the code are using C99 constructs (such as variables declared
> inside loops), but also GNU extensions (such as typeof), so using
> -std=gnu99 is necessary to build with older versions of gcc that don't
> default to building with gnu99.
> 
> It fixes the following build failure:
> 
> ./tools/../lib/crc16.c: In function "crc16_ccitt":
> ./tools/../lib/crc16.c:70:2: error: "for" loop initial declarations are only allowed in C99 mode
>  for (int i = 0;  i < len;  i++)
>  ^
> ./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code
> 
> when building the host tools with gcc 4.7.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tom Rini April 3, 2019, 5:23 p.m. UTC | #2
On Sat, Mar 30, 2019 at 03:29:23PM +0100, Thomas Petazzoni wrote:

> Parts of the code are using C99 constructs (such as variables declared
> inside loops), but also GNU extensions (such as typeof), so using
> -std=gnu99 is necessary to build with older versions of gcc that don't
> default to building with gnu99.
> 
> It fixes the following build failure:
> 
> ./tools/../lib/crc16.c: In function "crc16_ccitt":
> ./tools/../lib/crc16.c:70:2: error: "for" loop initial declarations are only allowed in C99 mode
>   for (int i = 0;  i < len;  i++)
>   ^
> ./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code
> 
> when building the host tools with gcc 4.7.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/tools/Makefile b/tools/Makefile
index 081383d7a7..d377d85f74 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -254,7 +254,8 @@  HOST_EXTRACFLAGS += -include $(srctree)/include/compiler.h \
 		-I$(srctree)/tools \
 		-DUSE_HOSTCC \
 		-D__KERNEL_STRICT_NAMES \
-		-D_GNU_SOURCE
+		-D_GNU_SOURCE \
+		-std=gnu99
 
 __build:	$(LOGO-y)