..
aarch64
* fix aarch64 building
2017-08-22 08:44:56 +00:00
arm
changes to fix #32043
2017-10-06 21:07:19 +00:00
avr
+ implemented some AVR specific intrinsics
2017-11-01 16:33:34 +00:00
generic
html
i386
* factored out OptPass1Sub
2017-11-10 20:55:22 +00:00
i8086
* factored out OptPass1Sub
2017-11-10 20:55:22 +00:00
jvm
* rework InsertInitFinalTable a bit more so that the list of init/fini entries does not need to be generated twice for AVR
2017-05-23 19:58:39 +00:00
llvm
+ inline trunc() support for the LLVM backend when using -Oofastmath (because
2017-05-20 19:28:15 +00:00
m68k
changes to fix #32043
2017-10-06 21:07:19 +00:00
mips
changes to fix #32043
2017-10-06 21:07:19 +00:00
msg
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
powerpc
changes to fix #32043
2017-10-06 21:07:19 +00:00
powerpc64
* only take into account the location of the parameter at the callee side to
2017-05-21 20:17:11 +00:00
ppcgen
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
sparc
* split create_paraloc_info_intern for sparc32 and sparc64
2017-08-20 15:21:51 +00:00
sparc64
* take advantage of the fact that SRA reg1,x,reg2 sign extends to the upper 32 bit bits of a 64 bit register
2017-08-20 17:20:37 +00:00
sparcgen
changes to fix #32043
2017-10-06 21:07:19 +00:00
systems
m68k-palmos: internal sysinit, and patch target support so it works prc-tools-remix on a modern system
2017-09-16 21:34:55 +00:00
utils
* compilation fixed
2017-10-30 21:01:10 +00:00
x86
* factored out OptPass1Sub
2017-11-10 20:55:22 +00:00
x86_64
* factored out OptPass1Sub
2017-11-10 20:55:22 +00:00
aasmbase.pas
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
aasmcnst.pas
* properly align unicode- and ansistring constants
2017-06-19 21:18:03 +00:00
aasmdata.pas
* keep track of the sections that are created in the asmlists
2017-02-10 14:38:53 +00:00
aasmdef.pas
* add ability to disable the generation of an indirect symbol if needed (useful if that's done by the constant builder)
2017-01-29 17:42:00 +00:00
aasmsym.pas
+ added volatility information to all memory references
2016-11-27 18:17:37 +00:00
aasmtai.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
aggas.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
aopt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
aoptbase.pas
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
2017-08-20 17:20:38 +00:00
aoptda.pas
* removed unused units
2017-05-09 19:53:14 +00:00
aoptobj.pas
* fix JumpTargetOp for sparc64
2017-09-09 19:36:50 +00:00
aoptutils.pas
* unified usage of MatchOpType
2017-05-07 16:18:33 +00:00
assemble.pas
Fix cross-compiler with soft 80bit with external assembler
2017-09-23 20:52:57 +00:00
blockutl.pas
* removed unused units
2017-05-09 19:53:14 +00:00
browcol.pas
catch.pas
ccharset.pas
cclasses.pas
+ TLinkedList.RemoveAll
2017-05-25 12:44:32 +00:00
cfidwarf.pas
cfileutl.pas
Rectify display of shell command, do it if -vx option is used even without -vu
2016-08-28 13:02:34 +00:00
cg64f32.pas
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
2017-04-07 16:02:40 +00:00
cgbase.pas
+ SPARC64 cpugas unit
2017-06-10 11:24:55 +00:00
cghlcpu.pas
cgobj.pas
+ let a_load_loc_reg handle also LOC_*MMREGISTER as we have loadmm_*intreg*
2017-10-01 16:13:18 +00:00
cgutils.pas
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
2017-09-11 14:53:06 +00:00
cmsgs.pas
+ implemented support for codepage aware compiler messages. It can be enabled
2017-06-08 16:11:33 +00:00
comphook.pas
compiler.pas
* ensure that source info is set correctly on Win64 by including i_win for all Windows targets (this is especially important when cross compiling (e.g. Java) as otherwise the utilities won't be found correctly)
2017-08-11 20:27:43 +00:00
compinnr.pas
+ implemented some AVR specific intrinsics
2017-11-01 16:33:34 +00:00
comprsrc.pas
constexp.pas
COPYING.txt
* updated FSF address (mantis #30198 , patch by Paul Gevers)
2016-10-02 12:56:59 +00:00
cpid.pas
crefs.pas
cresstr.pas
* removed unused units
2017-05-09 19:53:14 +00:00
cstreams.pas
cutils.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
cwindirs.pp
dbgbase.pas
* removed unused units
2017-05-09 19:53:14 +00:00
dbgdwarf.pas
* use create_int_dataptr_unaligned instead of create_pint_unaligned in TDebugInfoDwarf.appendsym_absolute
2016-11-07 15:41:44 +00:00
dbgstabs.pas
Add explicit '.set nompis16' at front of stabs debug information to solve bug report 32138
2017-07-24 07:31:31 +00:00
dbgstabx.pas
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
2016-08-05 07:09:16 +00:00
defcmp.pas
* fix for Mantis #31756 : have array constructors prefer open array parameters instead of dynamic array parameters for backwards compatibility
2017-05-10 21:01:23 +00:00
defutil.pas
+ new utility function get_typekind() to retrieve the TTypeKind value of a def
2017-08-11 22:02:22 +00:00
dirparse.pas
- disable -Ooregvar for the LLVM-based x86-64 code generator, as it causes
2016-12-04 11:15:12 +00:00
elfbase.pas
entfile.pas
Move getptruint/putptruint methods to tentfile class to allow use with ppudump
2017-09-17 20:41:51 +00:00
export.pas
* removed unused units
2017-05-09 19:53:14 +00:00
expunix.pas
* removed unused units
2017-05-09 19:53:14 +00:00
finput.pas
fmodule.pas
* removed unused units
2017-05-09 19:53:14 +00:00
fpccrc.pas
fpcdefs.inc
Allow compilation of ppc386 compiler using FPC_SOFT_FPUX80, i.e. soft float 80-bit extended float
2017-09-21 14:36:48 +00:00
fpcp.pas
* removed unused units
2017-05-09 19:53:14 +00:00
fpkg.pas
Merged revision(s) 32508-32510, 32512 from branches/svenbarth/packages:
2016-04-15 14:42:24 +00:00
fppu.pas
* write full path name when ppu crc checks fail/conflict (patch by
2017-04-17 20:42:03 +00:00
gendef.pas
Add obsolete prefix to cpu_ia64, system_ia64_win64 and system_ia64_embedded, ia64 specfic code has been removed in rev 30836 dated 2015-05-09
2017-08-04 08:54:34 +00:00
globals.pas
+ add support for $SetPE{OS,SubSys,User}Version directives; Delphi compatible; Note: $SetPEUserVersion takes precedence to $Version
2017-09-30 13:55:29 +00:00
globstat.pas
globtype.pas
* fix for Mantis #32355 : adjust the meaning of the typehelpers modeswitch for Delphi modes in that it enables the "type helper" syntax as it is in the non-Delphi modes; extending primitive types with record helpers is now always enabled in Delphi modes
2017-09-15 21:09:21 +00:00
hlcg2ll.pas
* removed unused units
2017-05-09 19:53:14 +00:00
hlcgobj.pas
* avoid unneeded the generation of un-needed shift instructions thlcgobj.in a_load_subsetreg_reg
2017-10-01 16:13:22 +00:00
htypechk.pas
* rework the checks for a helper's extended def to be a class so that it can be more easily extended by other objecttypes
2017-08-21 20:48:02 +00:00
impdef.pas
import.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ldscript.pas
link.pas
* removed unused units
2017-05-09 19:53:14 +00:00
macho.pas
macho.pas:
2016-03-19 12:18:16 +00:00
machoutils.pas
Makefile
* Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
2017-10-16 00:27:27 +00:00
Makefile.fpc
Fix the RTL directory for old OSes that use OS_TARGET only for rtlppulogs rule
2017-09-15 11:24:06 +00:00
MPWMake
msgidx.inc
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
msgtxt.inc
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
nadd.pas
Disable some code using bestrealrec if macro FPC_SOFT_FPUX80 is defined
2017-09-21 14:39:14 +00:00
nbas.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncal.pas
+ add support for type helpers to also extend interface types
2017-08-21 20:49:20 +00:00
ncgadd.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgbas.pas
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
2017-09-11 14:53:06 +00:00
ncgcal.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgcnv.pas
+ support for the different flag registers of sparc
2017-07-03 20:49:05 +00:00
ncgcon.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgflw.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncghlmat.pas
ncginl.pas
+ tinlinenode calls cpu specific routines for unknown inline numbers
2017-11-01 16:33:32 +00:00
ncgld.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgmat.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgmem.pas
+ tcgsubscriptnode.pass_generate_code makes use of a_loadmm_reg_intreg to avoid location_force_mem calls
2017-10-01 16:13:20 +00:00
ncgnstfl.pas
* fixed interprocedural gotos for llvm
2016-11-21 07:39:13 +00:00
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgopt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ncgrtti.pas
* correctly encapsulate the RTTI data for sets to avoid alignment problems with the new SetSize field (fixes compilation on Sparc and basically every other target that requires proper alignment with 64-bit values dictating an 8-Byte alignment)
2017-09-13 21:05:04 +00:00
ncgset.pas
* correctly calc case label distance after r36362, resolves #32115 and #32311
2017-10-03 20:36:09 +00:00
ncgutil.pas
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
2017-09-11 14:53:06 +00:00
ncgvmt.pas
* change the class references in a class' field table to indirect references
2017-10-17 20:34:21 +00:00
ncnv.pas
* ttypeconvnode.typecheck_arrayconstructor_to_dynarray: the assignment node of the temp array to the resulting array always needs to exist, so remove the assigned() check
2017-05-18 20:07:57 +00:00
ncon.pas
* removed unused units
2017-05-09 19:53:14 +00:00
nflw.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
ngenutil.pas
* ngenutil.tnodeutils.sym_maybe_initialize: don't use "is" operator, but corresponding is_* functions
2017-06-29 18:51:35 +00:00
ngtcon.pas
* fix range check error
2017-08-20 15:21:48 +00:00
ninl.pas
* compilation fixed
2017-11-01 16:54:08 +00:00
nld.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
nmat.pas
+ perform the optimization in tmoddivnode.firstoptimize also for div/mod by
2017-08-17 15:56:20 +00:00
nmem.pas
less tab more spaces. no functional change.
2017-09-25 14:52:39 +00:00
nobj.pas
* removed unused units
2017-05-09 19:53:14 +00:00
nobjc.pas
* removed unused units
2017-05-09 19:53:14 +00:00
node.pas
- removed some dataconstn remenants
2017-01-16 21:27:20 +00:00
nopt.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
nset.pas
* removed unused units
2017-05-09 19:53:14 +00:00
nutils.pas
* improve node complexity calculations for type nodes
2017-09-06 20:34:56 +00:00
objcasm.pas
* fixed bootstrap for Darwin/ppc with FPC 3.0 (workaround for
2016-05-03 09:01:55 +00:00
objcdef.pas
* removed unused units
2017-05-09 19:53:14 +00:00
objcgutl.pas
* use .create_int_dataptr instead of .create_pint in the remaining two places where .create_pint is used
2016-11-07 15:09:07 +00:00
objcutil.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ogbase.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogcoff.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogelf.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
oglx.pas
ogmacho.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogmap.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ognlm.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ogomf.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
omfbase.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
optbase.pas
optconstprop.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
optcse.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
optdead.pas
* removed unused units
2017-05-09 19:53:14 +00:00
optdeadstore.pas
* removed unused units
2017-05-09 19:53:14 +00:00
optdfa.pas
* removed unused units
2017-05-09 19:53:14 +00:00
options.pas
* fix for Mantis #30344 : applied patch by Mario Ray Mahardhika to add new command line option -Sj[-|+] to control writeable typed constants (with a small adjustment to the help text)
2017-10-09 19:19:23 +00:00
optloadmodifystore.pas
+ enabled the load-modify-store optimization for the double argument version
2017-07-21 13:17:18 +00:00
optloop.pas
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
opttail.pas
optutils.pas
+ PrintNodeDFA writes also the defsum
2016-03-13 18:19:52 +00:00
optvirt.pas
* removed unused units
2017-05-09 19:53:14 +00:00
owar.pas
owbase.pas
owomflib.pas
* removed unused units
2017-05-09 19:53:14 +00:00
parabase.pas
* fix compilation of LLVM backend (mantis #31794 )
2017-05-19 21:52:49 +00:00
paramgr.pas
* unified internalerror
2017-08-20 15:21:46 +00:00
parser.pas
Accept syscall procedure modifier for arm-palmos
2017-09-15 20:27:57 +00:00
pass_1.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pass_2.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pbase.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pcp.pas
Merged revision(s) 31988, 31991-31993, 32136, 32308-32309, 32312, 32318 from branches/svenbarth/packages:
2016-04-15 13:39:41 +00:00
pdecl.pas
* fix for Mantis #32108 : ensure that types are registered once there is no more specialization is going on
2017-09-27 20:47:16 +00:00
pdecobj.pas
* fix for Mantis #32355 : adjust the meaning of the typehelpers modeswitch for Delphi modes in that it enables the "type helper" syntax as it is in the non-Delphi modes; extending primitive types with record helpers is now always enabled in Delphi modes
2017-09-15 21:09:21 +00:00
pdecsub.pas
Handle arm-palmos syscall modifier
2017-09-15 20:29:02 +00:00
pdecvar.pas
+ also support 'external near' var declarations on i8086
2017-10-30 21:52:03 +00:00
pexports.pas
pexpr.pas
* move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
2017-10-08 10:39:34 +00:00
pgentype.pas
pgenutil.pas
* move code to add a symbol to the current module's generic dummy symbols into a new function pgenutil.add_generic_dummysym()
2017-06-09 14:30:23 +00:00
pinline.pas
* move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
2017-10-08 10:39:34 +00:00
pkgutil.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pmodules.pas
Add _GLOBAL_OFFSET_TABLE_ for sparc64 if -Cg is used
2017-07-18 12:49:26 +00:00
pp.lpi
- removed missing file from project
2017-04-30 20:48:35 +00:00
pp.pas
List possible CPU in alphabetical order
2017-08-04 11:14:12 +00:00
pparautl.pas
* use sizesinttype instead of ptrsinttype for the index and high parameter of
2016-10-08 13:56:24 +00:00
ppc68k.lpi
ppc8086.lpi
* use an enum instead of integer constants to represent inline numbers
2017-05-10 14:41:43 +00:00
ppcaarch64.lpi
* fixed exe output path
2016-03-28 20:44:08 +00:00
ppcarm.lpi
ppcavr.lpi
ppcjvm.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc.lpi
ppcsparc64.lpi
+ basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
2017-05-30 21:17:17 +00:00
ppcsparc.lpi
+ basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
2017-05-30 21:17:17 +00:00
ppheap.pas
Always write filename, truncate directory part if needed
2016-08-21 22:24:07 +00:00
ppu.pas
* changed type used for section alignment from byte/shortint to longint, so the
2017-10-25 15:47:29 +00:00
ppx86_64.lpi
procinfo.pas
* removed unused units
2017-05-09 19:53:14 +00:00
pstatmnt.pas
* reuse more sparc code for sparc64
2017-08-20 17:20:43 +00:00
psub.pas
* fix for Mantis #31945 : two fixes for nested routines inside generic methods
2017-06-09 15:46:10 +00:00
psystem.pas
+ new Delphi-compatible intrinsic GetTypeKind() which returns the TTypeKind of a type as a constant value (and thus can be optimized away in If- and Case-statements)
2017-08-11 22:12:53 +00:00
ptconst.pas
* removed unused units
2017-05-09 19:53:14 +00:00
ptype.pas
* fix for Mantis #32355 : adjust the meaning of the typehelpers modeswitch for Delphi modes in that it enables the "type helper" syntax as it is in the non-Delphi modes; extending primitive types with record helpers is now always enabled in Delphi modes
2017-09-15 21:09:21 +00:00
raatt.pas
+ support exporting labels from asm blocks in intel syntax asm blocks via the
2017-10-30 16:44:13 +00:00
rabase.pas
rasm.pas
* removed unused units
2017-05-09 19:53:14 +00:00
rautils.pas
* fixed support for access from inline asm to absolute vars, pointing to an
2017-11-06 16:06:34 +00:00
README.txt
rescmn.pas
rgbase.pas
+ added individual bits of the x86 flags register as subregisters
2017-04-26 13:52:52 +00:00
rgobj.pas
* reuse more sparc code for sparc64
2017-08-20 17:20:43 +00:00
scandir.pas
+ add support for $SetPE{OS,SubSys,User}Version directives; Delphi compatible; Note: $SetPEUserVersion takes precedence to $Version
2017-09-30 13:55:29 +00:00
scanner.pas
Revert revision 36436 from trunk. Final fix for issue #31675 .
2017-06-07 21:06:54 +00:00
script.pas
* fix some more occured->occured
2016-12-13 12:55:32 +00:00
switches.pas
Add new Delphi compatible switch {$G+/-}, {$IMPORTEDDATA ON/OFF} which handles generation of indirect references for cross unit variable accesses if needed for the target.
2016-03-18 22:04:57 +00:00
symbase.pas
symconst.pas
+ added support for 'external far' variables for i8086
2017-10-30 18:03:44 +00:00
symcreat.pas
* removed unused units
2017-05-09 19:53:14 +00:00
symdef.pas
* when registering a def also register the syms and defs of its symtables
2017-09-27 20:34:38 +00:00
symsym.pas
* avoid range check errors with absolute symbols for cpus where addresses are bigger than the registers
2017-05-28 08:59:53 +00:00
symtable.pas
+ extend tstoredsymtable with method register_children to register all its symbols and defs
2017-09-27 20:27:05 +00:00
symtype.pas
* fix that *annoying* search & replace remnant of incorrect casing
2017-09-27 19:42:47 +00:00
symutil.pas
* removed unused units
2017-05-09 19:53:14 +00:00
syscinfo.pas
Add arm-palmos target to list supporting po_syscall
2017-09-15 20:25:59 +00:00
systems.inc
m68k: changed the internal name of 68k MacOS from system_m68k_mac to system_m68k_macos, so it's consistent with the PowerPC version. suggestion/request by Sven :)
2017-08-22 11:22:15 +00:00
systems.pas
+ added support for 'external far' variables for i8086
2017-10-30 18:03:44 +00:00
tgobj.pas
* removed unused units
2017-05-09 19:53:14 +00:00
tokens.pas
* symtable.pas:
2017-02-18 19:27:53 +00:00
verbose.pas
+ implemented support for codepage aware compiler messages. It can be enabled
2017-06-08 16:11:33 +00:00
version.pas
+ support sparc64 as host/source cpu
2017-06-18 21:06:29 +00:00
widestr.pas
wpo.pas
wpobase.pas
* fix warnings which were caused by last changes to for node generation
2016-11-05 23:05:44 +00:00
wpoinfo.pas
* removed unused units
2017-05-09 19:53:14 +00:00