Skip to content

Fix build on kernels defaulting to gnu89 (pre-5.18) - #26

Open
knakazawa-ics wants to merge 1 commit into
intrepidcs:masterfrom
knakazawa-ics:fix/gnu89-build
Open

Fix build on kernels defaulting to gnu89 (pre-5.18)#26
knakazawa-ics wants to merge 1 commit into
intrepidcs:masterfrom
knakazawa-ics:fix/gnu89-build

Conversation

@knakazawa-ics

@knakazawa-ics knakazawa-ics commented Aug 11, 2026

Copy link
Copy Markdown

Kernels before 5.18 compile modules with -std=gnu89, where the C99 for-loop
declaration in intrepid_remove_eth_if() is a hard error, so current master does not
build on e.g. Ubuntu 22.04 LTS (kernel 5.15):

intrepid.c:779:9: error: 'for' loop initial declarations are only allowed in C99 or C11 mode

Hoist the declarations to the top of the function, which also satisfies
-Wdeclaration-after-statement on newer kernels. Independent of, but required for,
testing #27 on such kernels.

A few pre-existing declaration-after-statement warnings remain in other functions
(SIOCSBAUDRATE handler, intrepid_dev_poll); those are warnings rather than errors and
are left untouched to keep this diff minimal.

Kernels before 5.18 compile modules with -std=gnu89, where the C99
for-loop declaration in intrepid_remove_eth_if() is a hard error, so
current master does not build on e.g. Ubuntu 22.04 LTS (5.15). Hoist the
declarations to the top of the function, which also satisfies
-Wdeclaration-after-statement on newer kernels.

Signed-off-by: Koki Nakazawa <knakazawa@intrepidcs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant