minor improvements to bugs.md

Added double whitespace around level 1, 2 and 3 markdown headers
to make it easier to see different sections and entries.

Made a few minor edits.
This commit is contained in:
Landon Curt Noll committed 2023-03-22 02:14:48 -07:00
1 parent 7e6e156ddc
commit fe6d6abb02
1 file changed
+38 -13
+38 -13
View File
@@ -1,5 +1,6 @@
# BUGS and (mis)FEATURES
There are a number of known problems with IOCCC winners: many of
which have to do with differences between today's compiler environments
and those of today. In some cases the original code has a bug, some
@@ -18,12 +19,13 @@ entries in the file (if you're not we can add a link to your personal website if
you have one if you like).
## Known bugs that are OK to fix
## Known bugs to fix
### [1995/cdua](1995/cdua/cdua.c) ([README.md](1995/cdua/README.md))
This did not compile under macOS and after it did it crashed.
This did not originally compile under macOS and after it did compile under macOS, it crashed.
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this but he
observed that sometimes the program asks the user to hit return a second time to
resume solving the maze. It does not always happen. It doesn't seem to be
@@ -34,6 +36,7 @@ type).
### [2014/vik](2014/vik/prog.c) ([README.md](2014/vik/README.md))
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) discovered a bug that
shows itself in some cases (it works in others) when working on his [2020 Enigma
machine](2020/ferguson2/prog.c) entry. See his
@@ -44,8 +47,10 @@ He provides a tip in testing the problem: it might help to use the Enigma
machine to find problems as it will allow you to verify what is correct and what
is not. Again see his README.md for details.
## Compiler specific requirements on type of args to main
The following entries have a problem in that the args to main() are not of a
specific type due this being allowed in earlier C. This shows itself in some
compilers like clang. Looking at the source code of `clang` there is no way to
@@ -71,6 +76,7 @@ You may provide an alt version for the fix as well.
### [1989/westley](1989/westley/westley.c) ([README.md](1989/westley/README.md))
Although [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this for
some of the versions that are generated (see below tip) it will not work for
all. He noted that trying to fix it in some cases causes a segfault and in other
@@ -88,24 +94,24 @@ The segfault happens when running the main program.
This will not be a problem with gcc.
## INABIAF (it's not a bug it's a feature)
The following entries should NOT be touched: they are system specific by design
but are noteworthy nonetheless.
### [1984/mullender](1984/mullender/mullender.c) ([README.md](1984/mullender/README.md))
This entry is likely to fail and/or dump core on any computer other than a
Vax-11 or pdp-11. In 1984 machine dependent code was allowed.
### [1986/august](1986/august/august.c) ([README.md](1986/august/README.md))
This entry is known to segfault after printing its output. It was documented by
the judges and needn't be fixed.
### [1990/jaw](1990/jaw/jaw.c) ([README.md](1990/jaw/README.md))
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed the scripts to
work in modern systems. He notes however that the command in the try section,
the one to test the official C entry, appear to not work with macOS, giving:
@@ -144,9 +150,9 @@ Should the entry use `perror()`? Perhaps not but we're not sure of its purpose
so it can stay for now with this note.
### [1996/westley](1996/westley/westley.c) ([README.md](1996/westley/README.md))
This entry will possibly segfault even when showing the proper output in the
`clock1`, `clock2` and `clock3` scripts. Though this doesn't need to be fixed as
long as it works right it wouldn't hurt to fix it either.
@@ -154,25 +160,32 @@ long as it works right it wouldn't hurt to fix it either.
### [2019/endoh](2019/endoh/prog.c) ([README.md](2019/endoh/README.md))
As a backtrace quine this entry is SUPPOSED to segfault so this should not be
touched either.
### [2020/ferguson1](2020/ferguson1/prog.c) ([README.md](2020/ferguson1/README.md))
There are some things that might appear to be bugs but are actually features or
things that are misinterpreted as bugs. See his
[bugs.md](2020/ferguson1/bugs.md) and
[troubleshooting.md](2020/ferguson1/troubleshooting.md) files for details.
### ... more to be added later ...
.. entries to be added later ..
## Mis-features that should not be fixed
The following entries should not be touched either as although it might seem
wrong they are not.
### [1986/holloway](1986/holloway/holloway.c) ([README.md](1986/holloway/README.md))
When compiling this entry you might get an incompatible pointer type warning but
this should be ignored. When [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this he experimented with the
@@ -188,8 +201,10 @@ alternatives and it did not work. Thus if you see something like:
it is NOT a problem and should not be changed.
## Entries that require a compiler that support `-traditional-cpp`
The following entries need a compiler that support `-traditional-cpp`. `gcc`
supports this but `clang` does not. Please be advised that `gcc` under macOS is
actually gcc if it looks like it's gcc (two different binaries).
@@ -199,17 +214,25 @@ actually gcc if it looks like it's gcc (two different binaries).
- [1986/wall/wall.c](1986/wall/wall.c) ([README.md](1986/wall/README.md))
- [1988/dale](1988/dale/dale.c) ([README.md](1988/dale/README.md))
.. more to be added as they are discovered ..
XXX - .. more entries to be added later ..
## Entries that can no longer compile
.. entries to be added later ..
## Entries that can compile but crash (sometimes or always)
### [1984/mullender](1984/mullender/mullender.c) ([README.md](1984/mullender/README.md))
This entry is likely to fail and/or dump core on any computer other than a
Vax-11 or pdp-11. In 1984 machine dependent code was allowed.
Perhaps what is needed is for someone to supply a Vax-11 or pdp-11 emulator for this entry.
### [2004/gavin](2004/gavin/gavin.c) ([README.md](2004/gavin//README.md))
Segmentation fault occurs when running `gavin` to produce the kernel:
```sh
@@ -226,8 +249,10 @@ Undefined symbols for architecture arm64:
ld: symbol(s) not found for architecture arm64
```
#### Recent for 2004/gavin mods:
In case recent modification are part of the problem, here is a full disclosure
of what was changed: