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:
1 parent
7e6e156ddc
commit
fe6d6abb02
1 file changed
+38
-13
@@ -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:
|
||||
|
||||
|
||||
Reference in new issue
Block a user