On 27-02-23 19:19, FreeBSD User wrote:
Running recent CURRENT as host (FreeBSD 14.0-CURRENT #23 
main-n261147-b8bb73ab724b: Sun Feb 26
17:39:38 CET 2023 amd64), and nanoBSD (recent 13-STABLE, git stable/13).

Building an appliance based on 13-STABLE sources, a customized kernel via 
nanoBSD, since a
couple of weeks for now building the sources fails in kernel sources:

[...]
--- modules-all ---
--- all_subdir_an ---
/pool/home/ohartmann/Projects/router/router/apu2c4/src/sys/dev/an/if_an_pci.c:143:1:
 error: a
function definition without a prototype is deprecated in all versions of C and 
is not
supported in C2x [-Werror,-Wdeprecated-non-prototype]
[..]

You need to either fix the C code or find someone else that can fix it.*

This is code that ensures that function calls correctly match function definitions using the high tech method of "cross your fingers and hope that it works".

This was "fixed" by ANSI C going on for 35 years ago. Ancient code like this is probably safe enough - the finger crossing seems to have worked for a long time.

It's no wonder people are clamouring to only use safe languages like Rust for new projects.

A+
Paul

* well maybe there is a compiler switch like
 -Wno-sane-person-would-do-this

Reply via email to