Get 1989 entries to compile

There were some which cannot be compiled under clang. One entry we used
a patch from Yusuke Endoh to get the entry to compile; thank you Yusuke
for your assistance! Another one we used a patch from Yusuke (thank
you!) but I further fixed it so that it would work with clang. It had to
be done: IOCCC Tetris has to work! This was done by changing the
environment arg to main() to be a char * in main() itself rather than a
char **. Using a char ** in main() third arg got it to compile but only
one key worked with clang so I changed it to be not the third argument
but a regular char * in main(). **a (third arg) evaluated correctly but
*a[1] and onward was actually part of the environment. Again IOCCC
Tetris has to work!

I also fixed fubar to work which took a few tweaks.

README.md files were also updated.
This commit is contained in:
Cody Boone Ferguson committed 2023-03-06 09:04:46 -08:00
1 parent b6be01bdc6
commit 9d63c37f49
23 files changed
+353 -280

No files matched your search

+20 -19
View File
@@ -1,4 +1,4 @@
Strangest abuse of the rules:
## Strangest abuse of the rules:
Jari Arkko
Laboratory of Information Processing Science
@@ -7,31 +7,32 @@ Strangest abuse of the rules:
02150 Espoo
Finland
Judges notes:
## Judges notes:
On many systems the compiler will not allow you to send the
object file to /dev/tty. The author suggested:
On many systems the compiler will not allow you to send the
object file to /dev/tty. The author suggested:
cc -c -o /dev/tty jar.1.c
cc -c -o /dev/tty jar.1.c
On systems that have symbolic links, we suggest:
On systems that have symbolic links, we suggest:
ln -s /dev/tty jar.1.o
cc -c jar.1.c
if your system has symbolic links. The shell script run
by the makefile simply cats the .o file to the terminal
which can be used as a last resort.
ln -s /dev/tty jar.1.o
cc -c jar.1.c
Abuse of the rules winners usually result in a change of the
rules. Starting in 1990, compiling entries must result an
regular file which can be executed.
if your system has symbolic links. The shell script run
by the Makefile simply cats the .o file to the terminal
which can be used as a last resort.
Selected notes from the author:
Abuse of the rules winners usually result in a change of the
rules. Starting in 1990, compiling entries must result an
regular file which can be executed.
## Selected notes from the author:
This program is (supposedly) the smallest C program able to
print "Hello world.". The compilation itself produces the
desired printout and the program need not be actually run.
This program is (supposedly) the smallest C program able to
print "Hello world.". The compilation itself produces the
desired printout and the program need not be actually run.
Copyright (c) 1989, Landon Curt Noll & Larry Bassel.
All Rights Reserved. Permission for personal, educational or non-profit use is