The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
Jonas Maebe 945fd4fcf5 * wait till the end of typecheckpass before we load a call context's self
parameter instead of immediately doing it in the constructor of the call
  node, and then only create it if we actually need it.

  It was previously created in the call node constructor because it needs to be
  done before pass_1 (which is where it is actually used) due to pass_1 possibly
  being performed in the context of inlining (and then a wrong self parameter
  may be found, or none at all), and it was done unconditionally because at that
  point we don't know yet whether or not a self parameter will be necessary (as
  we haven't resolved the overloads/procdef yet).

  The problem with this is that if we use the parentfpstruct way of handling
  accesses to outer scope locals/parameters, we need to know all locals/
  parameters that will be accessed from nested routines after typecheckpass,
  otherwise we get crashes. The problem was that if a call to an RTL routine was
  generated by the compiler in a routine nested inside a method during pass_1,
  and this nested routine itself did not access self of the method (so self was
  not added to its parentfpstruct during the typecheckpass), then the
  unconditional reference to self when creating the call caused a compiler
  crash (introduced in r30908)

git-svn-id: trunk@31197 -
2015-07-07 16:34:14 +00:00
compiler * wait till the end of typecheckpass before we load a call context's self 2015-07-07 16:34:14 +00:00
ide AROS/x86_64: regenerated Makefiles 2015-06-29 00:09:06 +00:00
installer AROS/x86_64: regenerated Makefiles 2015-06-29 00:09:06 +00:00
packages * Better parsing and declaration of record types 2015-07-01 19:44:17 +00:00
rtl + provide also 8 and 16 bit div/mod helper 2015-07-05 20:16:50 +00:00
tests * wait till the end of typecheckpass before we load a call context's self 2015-07-07 16:34:14 +00:00
utils * Correct documenting of advanced records 2015-07-01 19:44:47 +00:00
.gitattributes * wait till the end of typecheckpass before we load a call context's self 2015-07-07 16:34:14 +00:00
.gitignore * Removed empty tests directory from svn 2014-11-08 15:47:53 +00:00
fpmake_add1.inc
fpmake_proc1.inc
fpmake.pp
Makefile AROS/x86_64: regenerated Makefiles 2015-06-29 00:09:06 +00:00
Makefile.fpc * turn off compiler and utils building for nds 2015-02-26 20:03:29 +00:00