1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-13 23:27:12 +00:00

3 Commits

Author SHA1 Message Date
Bruce Mitchener
fa13cc964c
Switch to compiling as ISO C99 + GNU extensions. (#203)
We currently build for ISO C90 with GNU extensions. The GNU
extensions include both library and language features.
Compiling without GNU extensions results in a number of compilation
failures due to use of those library features.

With this, we'll build for ISO C99 with the GNU extensions and
can evaluate what's going on with those library features in the
future.
2021-01-10 20:47:55 -08:00
Bruce Mitchener
810e33125b
Update how we configure gcc / clang command lines. (#103)
* Move clang/gcc options into makefile-header.

This puts all of the shared options into a single place so that
we can easily update it.

* Add -fwrapv to the clang/gcc command lines.

This is a step along the way to fixing interlisp/medley#90.

Enabling `-fwrapv` will let overflow checks that rely upon undefined
behavior to work correctly. Without this, with modern versions of
clang and gcc, the overflow checks in the C code are eliminated
by the compiler, resulting in incorrect behavior on the part of
Maiko.

See the linked bug for details and discussion.

Hopefully, this usage of `-fwrapv` will go away once we're using
the correct compiler builtins to detect and handle overflow
correctly.
2020-12-19 20:16:31 -08:00
Nick Briggs
de170a64d9 Maiko sources matching state as of 020102 prior to initial patching for Mac OSX 2015-04-20 18:53:52 -07:00