Irgendwer kam auch mal auf die saublöde Idee $EndIf und $IfEnd gleichzusetzen.
https://docwiki.embarcadero.com/RADS...IFEND_(Delphi)
per se ist es so
{$IfDef} {$EndIf}
{$If} .. {$IfEnd}
PS: $IFDEF beachtet nur die erste Angabe und ignoriert den Rest
Drum geht auch sowas
{$IFDEF VER220 DelphiXE} {$ENDIF}
und bei dir meckert es deswegen auch nicht, wegen der "vermeintlich" falschen Syntax.
PPS:
{$IFDEF FPC}
=
{$IF Defined(FPC)}
{$IF not Defined(FPC) and Declared(Bezeichner) or BooleanKonstante or (IntegerKonstante <> 123)}
Bezeichner = TEineCooleKlasse, ein Typ, Variable, Konstante, Funktionsname oder sonstwas