Autor |
Nachricht |
< [I6] Compilerfehler bei neuen Subroutinen |
|
Verfasst am:
Mo, 21 Okt 2013 - 22:27
|
|
|
Experte
Anmeldungsdatum: 25.03.2010
Beiträge: 660
|
|
Mein Code ist an einem Status angekommen, an der jegliche Definition einer neuen globalen Subroutine zu folgendem Fehler führt:
Zitat: | "<veneer routine 'RT__ChPrintO'>", line 1: Fatal error: Branch out of range: divide the routine up? |
Es riecht geradezu nach diesem Bug: http://inform-fiction.org/patches/C63003.html. Der Patch (der ja auch für 6.30 gedacht ist) löst jedoch mein Problem nicht. Im Gegenteil:
Zitat: | 'Compiler errors' should never occur if Inform is working properly. |
Was ich mal so interpretiere, dass der Compiler damit dann ganz zerschossen ist.
Der Vollständigkeit halber: Der obige Fehler taucht auf unabhängig vom Namen, vom Inhalt oder der Position der Subroutine.
Ist jemand schonmal auf dieses Problem gestoßen und kennt eine Lösung? |
|
|
|
|
|
Verfasst am:
Mo, 21 Okt 2013 - 23:48
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ja, das Problem kenne ich. Es taucht bei mir gern im Zusammenhang mit Infix auf. Ich habe damals Inform 6.31 (Windows) gepatcht, und das lief auch. Für Inform 6.33 habe ich jetzt auch mal den von dir verlinkten Patch angebracht (Linux), aber das kann ich nicht testen, da für meinen mittlerweile stark gewachsenen Code, bei dem der Fehler auftritt, Infix sämtliche Grenzen der Z-Machine sprengt.
Ich verzichte eigentlcih schon seit Jahren auf Infix und werde von der Veneer-Fehlermeldung seitdem nicht mehr belästigt. |
|
|
|
|
|
Verfasst am:
Di, 22 Okt 2013 - 22:12
|
|
|
Experte
Anmeldungsdatum: 25.03.2010
Beiträge: 660
|
|
Das ist natürlich ein Workaround, danke. Nur eben kein besonders befriedigender. Sicher braucht man Infix nicht unbedingt, aber es jetzt einfach so ersatzlos zu streichen finde ich auch schade. |
|
|
|
|
|