The new version of Free Pascal 3.2.0 arrives and these are its changes

After five years since the formation of version 3.0 and the job announcement in a new version in September 2019, at last the new version of the cross-platform compiler Free Pascal 3.2.0. The new version adds a large portion of innovations and changes in the implementation of the Pascal language, with the aim of improving compatibility with Delphi.

Besides that also common bug fixes and support for new architectures and systems included, as are AArch64, Linux, ppc64le, Android x86_64, and even 16-bit Windows.

About Free Pascal

For those who do not know, Free Pascal should know that this is a professional 32-, 64- and 16-bit Pascal compiler.

It was developed in open source for more than twenty-seven years by a large community of very active volunteer developers, it is known for its high stability, its compilation speed and a very efficient product code.

Can target many processor architectures: Intel x86 (including 8086), AMD64, x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS, and the Java virtual machine.

Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X, iOS, iPhoneSimulator, Darwin, DOS (16 and 32 bit), Windows 32, Windows 64, WinCE, OS / 2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX and AROS. Additionally, support for the Motorola 68k architecture is available in development releases.

Besides that also it's compatible with Borland Pascal 7, Delphi, Think Pascal and Metrowerks Pascal. In parallel, the Lazarus IDE is being developed, based on the Free Pascal compiler and carrying out tasks similar to Delphi.

What's new in Free Pascal 3.2?

As the development of the compiler 3.0 branch spanned five years, this new version is highly recommended for future development. It is very likely that EDIs based on this compiler (Lazarus, Code Typhon) will quickly offer their integration.

And the fact is that of the most interesting novelties of this new release are many, such as adding the ability to initialize dynamic arrays using the syntax "[…]". As well as new support for generic functions, procedures and methods that are not bound to the argument types.

Support for standard (default) module namespaces has appeared. Added block holder C which resemble anonymous methods in Delphi «.

As well the extended implementation of dynamic arrays is highlighted, Insert () operation was added to add arrays and elements to existing dynamic arrays, as well as Delete () to remove ranges and Concat () to combine arrays.

For record types, the Initialize, Finalize, Copy, and AddRef operators are implemented.

Also, do not forget that support for new platforms was also included AArch64 (ARM64), Linux, ppc64le, Android x86_64, and i8086-win16 added to the compiler.

Also keeping in mind the default namespaces the following improvements were added:

  • Numerous improvements in relation to dynamic arrays (insertion, deletion, concatenation, addition operator, constants, initialization of variables as soon as declared, constructors).
  • $ Push and $ Pop directives extension for $ MinEnumSize, $ PackSet and $ PackRecords.
  • Class threadvar section in class and record declarations.
  • Enhancement and extension of generic types, even for out-of-class routines.
  • New operators to manage types of records (Initialize, Copy, AddRef, Finalize).
  • RTTI extension and type assist for object interfaces.
  • New units: rtl-generics (generics), rtti (experimentally!), ProcessUnicode (Unicode version of TProcess).
  • The TRegistry class is fully Unicode compliant.
  • The CHM package has been rewritten to eliminate bugs and improve performance.

Finally, if you are interested in knowing more about it About this new release, you can check the full list of changes In the following link.

While for the changes that affect the old programs, you can consult them from the following link.

Download

For those who are interested in downloading the new version of this compiler, they can do so by going to the following link where they can find the different versions of the compiler for each supported platform.

The link is this.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   luix said

    at the expense of being harshly criticized, it's a shame a totem like pascal was displaced by, yuck, java ..

    1.    Gregory ros said

      +10 I never found a sensible reason for Java to be created. And do not even question the criticism, you can be in favor or against, we just had to be hiding for our opinion.

  2.   MANUEL ANGEL GUTIERREZ MONTES said

    I never got it. It is a discussion that I have had with colleagues for more than 30 years, what does C offer that Pascal does not offer? I don't even speak of java

    Everything is pure marketing, Microsoft 30 years ago decided to monopolize the compiler world, and between VB and VC attacked hard. I don't even speak of Java….

    There was portability, Pascal invented 50 years ago the concept of PVM (Pascal Virtual machine) that was abandoned for performance reasons, and now the JVM is sold as the eighth wonder of the world ……. Well, in the end I talked about Java… ..