Das ist ein Flag beim Kompilieren des Compiler frontends.
Und wenn damit dann die
RTL gebuildet wird, ist halt
AUTOREFCOUNT gesetzt oder nicht.
Außerdem wird bei ARC ja noch mehr gemacht (__ObjAddRef/__ObjRelease, unterschiedliches verhalten bei .Free, ...) was nur der Compiler kann und nicht ein ifdef in der
RTL.
Auch die __ObjAddRef/__ObjRelease Aurufe werden in der SYSTEM.PAS
unit der
RTL verwendet und gerufen.
Soweit ich das gesehen und gelesen habe, ist ARC kein Compiler-Feature.
Z.B. der leicht geändert Delphi X86 Compiler erzeugt ja auch den Code für den iOS Simulator, mit ARC.