Show: Delphi C++
Display Preferences

LLVM-based Delphi Compilers

From RAD Studio
Jump to: navigation, search

Go Up to Delphi Toolchains


The latest branch of Delphi compilers, also known as "next generation", is based on a ground-up implementation of a compiler front end, tied to LLVM as the compiler backend.

LLVM-based Delphi compilers are DCCIOSARM (32-bit iOS), DCCIOSARM64 (64-bit iOS) and DCCAARM (Android).

New Language Features in LLVM-based Delphi Compilers

LLVM-based Delphi compilers introduce some significant new features in the Delphi language.

Following are the major language differences between LLVM-based Delphi compilers and other Delphi compilers:

  • Automatic reference counting (ARC) for classes is supported by LLVM-based Delphi compilers.
    Note: All Delphi compilers (based or not on LLVM) support ARC for interfaces and dynamic arrays.
  • Strings are 0-based (instead of 1-based) and are likely to become immutable (constant) in LLVM-based Delphi compilers.
  • The following string types are NOT supported by LLVM-based Delphi compilers (but they do support UnicodeString, the default string type):
    • WideString
    • AnsiString and ShortString
    • AnsiChar
    • PAnsiChar and PWideChar
    • OpenString
  • Use of pointers is not supported by LLVM-based Delphi compilers.

For more information about writing code for LLVM-based Delphi compilers, see Migrating Delphi Code to Mobile from Desktop.

Topics

See Also

Personal tools
In other languages
Previous Versions
Assistance