Just playing around, I came across the fact that {$ifend} seems to be an "undocumented" synonym of "$endif" as the following short program shows:
The
$IFEND-directive was introduced by Delphi together with the
$IF-directive and one needed to close a
$IF with a
$IFEND while a
$IFDEF continued to be closed with a
$ENDIF. Later Delphi versions (XE3 or so) relaxed this so that
$ENDIF can be used with
$IF as well.
FPC on the other hand got support for
$IF rather soon and never had the restriction of
$IF requiring
$IFEND (or for that matter
$IFDEF requiring
$ENDIF), cause
$IFEND is simply an alias to
$ENDIF.
$ENDIF is considered the main terminator of a conditional clause with
$IFEND flying under the radar and existing mostly for Delphi compatibility which might explain why it was never documented.
So if you want, you can raise a bug report about
$IFEND missing from the documentation, but in the end it's merely an alias for
$ENDIF.