On Thursday, 4 February 2016 at 23:25:58 UTC, Ola Fosheim Grøstad wrote:
On Thursday, 4 February 2016 at 23:21:54 UTC, tsbockman wrote:
It should just see that the post-preprocessor signatures of `spectral_contrast()` in match.c and spectral_contrast.c are in conflict, and either issue a warning, or refuse to link them at all.

Has nothing to do with the preprocessor.

Yes, that was my point...

He defined float_t to be an alias for double in one compilation unit, and float_t to be an alias for float in another compilation unit.

In C, compilation units are completely independent, and can in fact come from different compilers and different languages. C is very much a system level programming language.

Just because *sometimes* the source code of the other module must be compiled independently, is a poor excuse to skip obvious, useful safety checks *all* the time.

Reply via email to