Die Funktionen werden von Links nach Rechts aufgerufen.
Und ja, das ganze ist vom Compilerschalter abhängig. Ebenso wie viele Funktionen in der
Unit SysUtils.
Somit ist das ganze an einen Compilerschalter gebunden der nahezu immer notwendig ist.
Ich würde es auch nicht generell verurteilen Quelltext an Compilerschalter anzupassen. Ich würde das eher Optimierung nennen.
Zum Beispiel knallt folgender Quelltext bei einem Leerstring wenn die Bereichsprüfung an ist weil angeblich auf Index 1 des Strings zugegriffen wird (was durch die Lengthangabe aber nicht stört)
move(LeerString[1], MyBuffer[0], Length(LeerString));
Jetzt könnte man da eine Prüfung der Länge davor setzen aber warum eine zusätzliche Anweisung einbauen die bei einem selbst nicht notwendig ist.
Also bitte keine 4- sondern eine 3+