The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
florian ee10850a57 * patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018:
For CPU64, the size of record TAnsiRec and TUnicodeRec is 16 bytes instead of 24.
    Which is very good also because of the alignment. when allocating memory, the address
    of the first character of the string will be aligned on the 16-byte boundary.
    At the same time, the useless Dummy field, which is needed in CPU64 for exactly alignment, has been removed.
    For CPU32 (and CPU16), the record size has not changed, so procedures such as
    fpc_AnsiStr_Decr_Ref, implemented in assembler (see i386, arm), remained working correctly.
  * tests adapted
2021-10-17 11:13:29 +02:00
.gitlab Add two more templates to show the possibilities 2021-10-06 17:26:28 +00:00
compiler * patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018: 2021-10-17 11:13:29 +02:00
installer * set EXEEXT to .wasm for the WASI target in fpcmake 2021-06-24 00:16:00 +00:00
packages * fix also IDE building after fpccrc to fpchash renaming 2021-10-10 11:15:36 +02:00
rtl * patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018: 2021-10-17 11:13:29 +02:00
tests * patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018: 2021-10-17 11:13:29 +02:00
utils Disable utils for wasi target, because paszlib cannot be compiled due to use of goto labels 2021-10-08 08:41:14 +00:00
.gitattributes Use pascal hunk for diff output for pascal source files 2021-09-06 23:31:20 +02:00
.gitconfig * + .gitconfig with configuration for better diffing, needs a 2021-09-18 14:26:18 +02:00
.gitignore Add symbol_order*.fpc files to .gitignore 2021-09-07 20:19:09 +00:00
.gitlab-ci.yml Compile with -Oodfa to get better warnings 2021-09-17 20:01:23 +00:00
fpmake_add1.inc
fpmake_proc1.inc
fpmake.pp
LICENSE + LICENSE and README.md added, taken from git test conversion as committed by Michael 2021-06-18 16:15:19 +00:00
Makefile * set EXEEXT to .wasm for the WASI target in fpcmake 2021-06-24 00:16:00 +00:00
Makefile.fpc Exchange REQUIREDVERSION and REQUIREDVERSION2 values to get 3.2.2 version in reuired release version message 2021-06-11 11:58:47 +00:00
README.md + LICENSE and README.md added, taken from git test conversion as committed by Michael 2021-06-18 16:15:19 +00:00

FPC Source code repository

Synopsis

This repository contains the sources of the Free Pascal compiler distribution.

It contains

  • The compiler sources in the directory compiler.
  • The run-time library in the directory rtl.
  • The packages distributed with the compiler in the directory packages.
  • Several utilities in the directory utils.
  • The compiler testsuite in the directory tests.

License

The compiler is licensed under GPL v2, the run-time files are licensed under modified LGPL. Both can be found in the LICENSE file, and the file rtl/COPYING.txt

Documentation

Extensive documentation can be found on the documentation website.