mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 15:19:27 +02:00
The sources of the Free Pascal compiler, RTL, packages and utilities.
See https://www.freepascal.org/ for more info.
![]() loongarch64 compiler has a specific routine, called fixupref that generates some instructions that are stored into a tasmlist given as an input parameter. This function returns a boolean, if the return value is false, the populated list gets sometimes discarded. This can lead to a later crash, because the unused and freed instructions might have been stored in live and live_end fields of the reginfo record used inside rgobj unit. The fix checks if any of the to be discarded instructions has been stored inside reginfo records, and resets the field in that case. The fix might need to be more general, because other parts of the compiler, like all optimization code, also remove instructions... |
||
---|---|---|
.gitlab | ||
compiler | ||
installer | ||
packages | ||
rtl | ||
tests | ||
utils | ||
.gitattributes | ||
.gitconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
fpmake_add1.inc | ||
fpmake_proc1.inc | ||
fpmake.pp | ||
LICENSE | ||
Makefile | ||
Makefile.fpc | ||
README.md |
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.