1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Merge pull request #1 from ptomato/linux-fixes

Linux fixes
This commit is contained in:
Graham Nelson 2022-04-15 09:53:52 +01:00 committed by GitHub
commit 73fbe6c357
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 33 additions and 13 deletions

6
inform7/.gitignore vendored
View file

@ -44,6 +44,12 @@ Tests/Test Inter/_Inter_Binary/
Tests/Test Externals/_Build/
Tests/Test Externals/_Executables/
Tests/Test Externals/_Textual/
Tests/Test Makes/Eg?-C/Eg?
Tests/Test Makes/Eg?-C/Eg?-I.[co]
Tests/Test Makes/Eg?-C/Eg?-C.o
Tests/Test Makes/Eg?-C/actual_output.txt
Tests/Test Makes/Eg?-C/build_log.txt
Tests/Test Makes/Eg?-C/inform7_symbols.h
Tests/Test Maps/_Maps_Actual/
Tests/Test Problems/_Results_Actual/
Tests/Documentation/

View file

@ -198,7 +198,7 @@ typedef struct i7_property_set {
i7word_t address[I7_MAX_PROPERTY_IDS];
i7word_t len[I7_MAX_PROPERTY_IDS];
} i7_property_set;
i7_property_set i7_properties[];
extern i7_property_set i7_properties[];
i7word_t i7_prop_addr(i7process_t *proc, i7word_t K, i7word_t obj, i7word_t pr);
i7word_t i7_prop_len(i7process_t *proc, i7word_t K, i7word_t obj, i7word_t pr);

View file

@ -4,11 +4,15 @@
-set CCOMPILER 'set-me-to-some-c-compiler-please'
-set CLINKER 'set-me-to-some-c-linker-please'
-set EXESUFFIX ''
-set MAKEFLAGS '-s'
-if MacOS -set CCOMPILER 'clang -g -std=c11 -ferror-limit=10000 -Wno-unused-value -c'
-if MacOS -set CLINKER 'clang -g -ferror-limit=10000'
-if Windows -set CCOMPILER 'x86_64-w64-mingw32-clang -g -std=c11 -ferror-limit=10000 -Wno-unused-value -c'
-if Windows -set CLINKER 'x86_64-w64-mingw32-clang -g -ferror-limit=10000'
-if Windows -set EXESUFFIX '.exe'
-if linux -set CCOMPILER 'gcc -g -std=c11 -fmax-errors=10000 -c'
-if linux -set CLINKER 'gcc -g -lm'
-if linux -set MAKEFLAGS '-s --no-print-directory'
-case [Diagnostics] 'inform7/Tests/GenerateDiagnostics-G.txt'
-cases [Main] 'inform7/Tests/Test Cases'
@ -530,7 +534,7 @@
step: make -C $MAKERSPACE >$LOG 2>&1
or: 'failed to build example make' $LOG
step: make -C $MAKERSPACE -s run >$RLOG 2>&1
step: make -C $MAKERSPACE `$$MAKEFLAGS run >$RLOG 2>&1
or: 'failed to run example make' $RLOG
match text: $RLOG $ILOG

View file

@ -1105,6 +1105,7 @@ void ImperativeSubtrees::unroll_says(parse_node *cb_node, wording W, int depth)
case '[': sqb++; if (sqb > 1) @<Issue problem message for nested substitution@>; break;
case ']': sqb--; if (sqb < 0) @<Issue problem message for unopened substitution@>; break;
case ':': if ((k>0) && (Characters::isdigit(p[k-1])) && (Characters::isdigit(p[k+1]))) break;
/* fall through */
case ';':
if (sqb > 0) @<Issue PM_TSWithPunctuation problem@>;
break;

View file

@ -33,6 +33,12 @@ Tests/Test Inter/_Inter_Binary/
Tests/Test Externals/_Build/
Tests/Test Externals/_Executables/
Tests/Test Externals/_Textual/
Tests/Test Makes/Eg?-C/Eg?
Tests/Test Makes/Eg?-C/Eg?-I.[co]
Tests/Test Makes/Eg?-C/Eg?-C.o
Tests/Test Makes/Eg?-C/actual_output.txt
Tests/Test Makes/Eg?-C/build_log.txt
Tests/Test Makes/Eg?-C/inform7_symbols.h
Tests/Test Maps/_Maps_Actual/
Tests/Test Problems/_Results_Actual/
Tests/Documentation/

View file

@ -484,6 +484,7 @@ example. (See below.)
case FILTER_DEFER:
EmitCode::inv(POSTINCREMENT_BIP);
EmitCode::down();
if (Q_sp <= 0) internal_error("Q stack underflow");
EmitCode::ref_symbol(K_value, qcn_s[Q_sp-1]);
EmitCode::up();
break;

View file

@ -6,6 +6,8 @@
-if Windows -set CCOMPILER 'x86_64-w64-mingw32-clang -g -std=c11 -ferror-limit=10000 -Wno-unused-value -c'
-if Windows -set CLINKER 'x86_64-w64-mingw32-clang -g -ferror-limit=10000'
-if Windows -set EXESUFFIX '.exe'
-if linux -set CCOMPILER 'gcc -g -std=c11 -fmax-errors=10000 -c'
-if linux -set CLINKER 'gcc -g -lm'
-cases [Valid] 'inter/Tests/Valid'
-cases [Invalid] 'inter/Tests/Invalid'

View file

@ -808,7 +808,7 @@ typedef struct i7_property_set {
i7word_t address[I7_MAX_PROPERTY_IDS];
i7word_t len[I7_MAX_PROPERTY_IDS];
} i7_property_set;
i7_property_set i7_properties[];
extern i7_property_set i7_properties[];
i7word_t i7_prop_addr(i7process_t *proc, i7word_t K, i7word_t obj, i7word_t pr);
i7word_t i7_prop_len(i7process_t *proc, i7word_t K, i7word_t obj, i7word_t pr);

View file

@ -5,10 +5,10 @@
set: $A = $PATH/_Results_Actual/$CASE.txt
set: $I = $PATH/_Results_Ideal/$CASE.txt
set: $K1 = inform7/internal/Inter/BasicInformKit/kinds/Macros.neptune
set: $K2 = inform7/internal/Inter/BasicInformKit/kinds/Protocols.neptune
set: $K3 = inform7/internal/Inter/BasicInformKit/kinds/Core.neptune
set: $K4 = inform7/internal/Inter/BasicInformKit/kinds/Punctuation.neptune
set: $K1 = inform7/Internal/Inter/BasicInformKit/kinds/Macros.neptune
set: $K2 = inform7/Internal/Inter/BasicInformKit/kinds/Protocols.neptune
set: $K3 = inform7/Internal/Inter/BasicInformKit/kinds/Core.neptune
set: $K4 = inform7/Internal/Inter/BasicInformKit/kinds/Punctuation.neptune
mkdir: $PATH/_Results_Actual
step: services/calculus-test/Tangled/calculus-test -load $K1 -load $K2 -load $K3 -load $K4 -interpret $PATH/$CASE.txt >$A 2>&1

View file

@ -147,7 +147,7 @@ kind *Latticework::j_or_m(kind *K1, kind *K2, int direction) {
int a2 = KindConstructors::arity(K2->construct);
if ((a1 > 0) || (a2 > 0)) {
if (K2->construct != con) return K_value;
kind *ka[MAX_KIND_CONSTRUCTION_ARITY];
kind *ka[MAX_KIND_CONSTRUCTION_ARITY] = { NULL, };
for (int i=0; i<a1; i++)
if (con->variance[i] == COVARIANT)
ka[i] = Latticework::j_or_m(K1->kc_args[i], K2->kc_args[i], direction);

View file

@ -5,10 +5,10 @@
set: $A = $PATH/_Results_Actual/$CASE.txt
set: $I = $PATH/_Results_Ideal/$CASE.txt
set: $K1 = inform7/internal/Inter/BasicInformKit/kinds/Macros.neptune
set: $K2 = inform7/internal/Inter/BasicInformKit/kinds/Protocols.neptune
set: $K3 = inform7/internal/Inter/BasicInformKit/kinds/Core.neptune
set: $K4 = inform7/internal/Inter/BasicInformKit/kinds/Punctuation.neptune
set: $K1 = inform7/Internal/Inter/BasicInformKit/kinds/Macros.neptune
set: $K2 = inform7/Internal/Inter/BasicInformKit/kinds/Protocols.neptune
set: $K3 = inform7/Internal/Inter/BasicInformKit/kinds/Core.neptune
set: $K4 = inform7/Internal/Inter/BasicInformKit/kinds/Punctuation.neptune
mkdir: $PATH/_Results_Actual
step: services/kinds-test/Tangled/kinds-test -load $K1 -load $K2 -load $K3 -load $K4 -interpret $PATH/$CASE.txt >$A 2>&1

View file

@ -319,7 +319,7 @@ int Vocabulary::hash_code_from_word(wchar_t *text) {
wchar_t *p = text;
switch(*p) {
case '-': if (p[1] == 0) break; /* an isolated minus sign is an ordinary word */
/* and otherwise fall into... */
/* and otherwise fall through to... */
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
/* the first character may prove to be the start of a number: is this true? */