tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Cross compiling Kernel with all options enabled and compiler wrapper
>> error: conflicting types for 'strncasecmp'; have 'int(void)'
>> 127 | extern int strncasecmp ();
>> [...]
> That sounds like the combination of a long-term issue with visibility
> on Linux and newer GCC defaulting to break old code.
I would say, rather, newer GCC defaulting to point out errors in old
code.
int strncasecmp();
has never been compatible with
int strncasecmp(const char *, const char *);
but gcc has had a long-standing (mis)feature whereby the prototype
declaration silently overrides the old-style declaration, thereby
letting people get away with such mismatches. C23 has, though, done
away with old-style declarations entirely.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index