Change bug status of 1996/august

On another reading of one of the files it occurred to me that he hanging
I observed with clang (after fixing it for gcc) was actually documented
by the judges in the first place. They noted that some compilers compile
the code into an infinite loop and that is indeed what clang does. Thus
because it's documented it's a feature not a bug.
This commit is contained in:
Cody Boone Ferguson committed 2023-07-09 09:59:49 -07:00
1 parent d2beb64941
commit 2e1494c695
2 files changed
+10 -36

No files matched your search

+4 -25
View File
@@ -912,33 +912,12 @@ We would appreciate anyone who has it or even just knows the name! Thank you.
# 1996
## [1996/august](1996/august/august.c) ([README.md](1996/august/README.md))
## STATUS: doesn't work with some compilers - please provide alternative code
## STATUS: INABIAF - please **DO NOT** fix
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed a segfault in
this program that prevented it from working but he observes that this hangs
in macOS with this invocation in particular:
```sh
cat august.c august.oc | ./august > august.oo
```
This happens to do with the fact that macOS is `clang` even the binary `gcc`.
Trying clang in linux and the same problem occurs. As well if specifying (even
with gcc) certain flags this also happens namely `-ggdb3`. The bug fix involved
increasing the value of `Z` as it was accessing way out of range of the array,
thus causing a segfault.
The compilation should look like:
```sh
cc -std=gnu90 -Wall -Wextra -pedantic -Wno-error -Wno-implicit-function-declaration -Wno-invalid-source-encoding -Wno-invalid-utf8 -DZ=240000 -D'T=m[s]' -D'P=m[s++]' -D'L=m[p++]' -D'g=getchar()' -DE=else -DW=while -D'B=m[p++]' -DI=if -DR='s=s+l/2;T=r;I(l%2)s++' -D'X=m[s-' -D'D=Q(13,-)Q(14,*)Q(15,/)Q(16,%)Q(6,==)Q(7,!=)Q(8,<)C(1,r=P;m[T]=r;T=r)C(9,r=P;m[T]=r;s++)' -O3 august.c -o august
```
but again this will not work with clang. As the judges noted that some compilers
compile it into an infinite loop I'm (Cody) inclined to believe that this is the
source of the problem.
Nevertheless if you have a fix for clang we welcome it!
this program that prevented it from working in gcc. It is known, however, that
some compilers (like clang) will compile the code so that it enters an infinite
loop. See the README.md file for an example command that this can happen with.
## [1996/gandalf](1996/gandalf/gandalf.c) ([README.md](1996/gandalf/README.md))