From 4b487b836a89c0274b1918302cffd241adbdc34b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 8 Aug 2019 10:18:35 +0200 Subject: [PATCH] Fix builds on Ubuntu 16.04 The most recent commits introduced 'C99' syntax by declaring variables inside the 'for' statement itself, rather than before. This resulted in compile failures in the Ubuntu 16.04 builds on build.opensuse.org: [ 105s] libcommon/source/usb.c: In function 'SIMtrace_USB_Initialize': [ 105s] libcommon/source/usb.c:679:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(device_id_string) - 1; i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:679:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 105s] libcommon/source/usb.c:686:15: error: redefinition of 'i' [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(git_version) - 1; i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:679:15: note: previous definition of 'i' was here [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(device_id_string) - 1; i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:686:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(git_version) - 1; i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:692:15: error: redefinition of 'i' [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(usb_strings) && i < ARRAY_SIZE(usb_strings_extended); i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:686:15: note: previous definition of 'i' was here [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(git_version) - 1; i++) { [ 105s] ^ [ 105s] libcommon/source/usb.c:692:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 105s] for (uint8_t i = 0; i < ARRAY_SIZE(usb_strings) && i < ARRAY_SIZE(usb_strings_extended); i++) { [ 105s] ^ [ 105s] Makefile:227: recipe for target 'obj/simtrace/flash_usb.o' faile Change-Id: Ibdb837ac105664484b10873c2c0d9561051b1c2a --- firmware/libcommon/source/usb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/firmware/libcommon/source/usb.c b/firmware/libcommon/source/usb.c index 3efb9fc5..9d3072fa 100644 --- a/firmware/libcommon/source/usb.c +++ b/firmware/libcommon/source/usb.c @@ -653,7 +653,7 @@ static const USBDDriverDescriptors driverDescriptors = { void SIMtrace_USB_Initialize(void) { - + unsigned int i; /* Signal USB reset by disabling the pull-up on USB D+ for at least 10 ms */ #ifdef PIN_USB_PULLUP const Pin usb_dp_pullup = PIN_USB_PULLUP; @@ -676,20 +676,20 @@ void SIMtrace_USB_Initialize(void) char device_id_string[32 + 1]; snprintf(device_id_string, ARRAY_SIZE(device_id_string), "%08x%08x%08x%08x", device_id[0], device_id[1], device_id[2], device_id[3]); - for (uint8_t i = 0; i < ARRAY_SIZE(device_id_string) - 1; i++) { + for (i = 0; i < ARRAY_SIZE(device_id_string) - 1; i++) { usb_string_serial[2 + 2 * i] = device_id_string[i]; } // put version into USB string usb_string_version[0] = USBStringDescriptor_LENGTH(ARRAY_SIZE(git_version) - 1); usb_string_version[1] = USBGenericDescriptor_STRING; - for (uint8_t i = 0; i < ARRAY_SIZE(git_version) - 1; i++) { + for (i = 0; i < ARRAY_SIZE(git_version) - 1; i++) { usb_string_version[2 + i * 2 + 0] = git_version[i]; usb_string_version[2 + i * 2 + 1] = 0; } // fill extended USB strings - for (uint8_t i = 0; i < ARRAY_SIZE(usb_strings) && i < ARRAY_SIZE(usb_strings_extended); i++) { + for (i = 0; i < ARRAY_SIZE(usb_strings) && i < ARRAY_SIZE(usb_strings_extended); i++) { usb_strings_extended[i] = usb_strings[i]; } usb_strings_extended[SERIAL_STR] = usb_string_serial;