Fix internal gcc error in 1998/schweikh2

(Note that it used to be that some compilers had a problem with the
original source but now some compilers have a problem with the C
pre-processed code and in particular with the #line macro and this
commit addresses this problem.)

A funny problem occurred when compiling with gcc: an internal compiler
error:

    :10:16: warning: type defaults to 'int' in declaration of 'zero' [-Wimplicit-int]
    : In function 'main':
    :12:1: warning: missing terminating " character
    :12:19: internal compiler error: invalid built-in macro "__FILE__"

It now works with clang and gcc just as well. The alt source file was
removed as there is no need for it now. The fix was quite simple. The
string '"01\015"' had to be replaced with 'ONE(O(1,1,2,6,0,6))' and this
was actually what was in the original code in the archive and in the alt
code (which was removed as there is no need for it now though it
differed slightly from what is in the archive).

The trigraph was restored as the Makefile already had the -trigraphs
option forced in CFLAGS.

Note that the README.md file has had the judges' remarks changed in such
a way that there is a historical note as at the time of judging it was
the original code that had a problem with some compilers whereas now
some compilers have a problem with the modified code (or C pre-processed
code). These details are put in a new subsection 'Historical remarks'.
This commit is contained in:
Cody Boone Ferguson committed 2023-07-06 07:38:40 -07:00
1 parent 5daa925803
commit 2028d9c0b3
6 files changed
+44 -40

No files matched your search

+2 -2
View File
@@ -111,8 +111,8 @@ OBJ= ${PROG}.o
DATA=
TARGET= ${PROG}
#
ALT_OBJ= ${PROG}.alt.o
ALT_TARGET= ${PROG}.alt
ALT_OBJ=
ALT_TARGET=
# FORCE use of -trigraphs
#