The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
svenbarth 9d48bc0baf Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498.
symtable.pas:
  + add new tsymbol_search_flag type which can be passed to various searchsym* routines
  + add support to not call "addsymref"
  + add new searchsym_with_flags function that calls searchsym_maybe_with_symoption
  * adjust searchsym_maybe_with_symoption, searchsym_in_class & searchsym_in_helper to use new flag type instead of Boolean arguments
  * adjust searchsym & searchsym_with_symoption which call the modified functions
nutils.pas, handle_staticfield_access:
  * adjust searchsym_in_class call
pexpr.pas, handle_factor_typenode, postfixoperators, factor:
  * adjust searchsym_in_helper and searchsym_in_class calls
pinline.pas, new_function:
  * adjust searchsym_in_class call
scanner.pas, try_consume_nestedsym:
  * adjust searchsym_in_class call
fmodule.pas, tmodule:
  + add genericdummysyms field which is a TFPHashObjectList that contains TFPObjectList instances per generic dummy that in turn contains tgenericdummysyms instances
pgenutil.pas:
  + add function split_generic_name to split a generic name into non-generic name and count value of type parameters
  + add function resolve_generic_dummysym which tries to use the new genericdummysyms field to find the real symbol of a dummy sym
  * generate_specialization: adjust searchsym_in_class call
  * specialization_init/specialization_done: save/restore genericdummysyms of module
symdef.pas, tdefawaresymtablestack:
  + add new intermediate method pushcommon which is used by both push and pushafter
  + add new intermediate method remove_helpers_and_generics (which calls remove_generics and remove_helpers if necessary)
  * rename removehelpers to remove_helpers
  * rename addhelpers to add_helpers_and_generics and extend it to correctly fill current_module.genericdummysyms
  * call remove_helpers_and_generics from pop instead of remove_helpers
ptype.pas, single_type, read_named_type.expr_type, read_named_type:
  * try to resolve symbols with sp_generic_dummy with resolve_generic_dummysym

+ added test

git-svn-id: trunk@25519 -
2013-09-18 14:28:46 +00:00
compiler Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498. 2013-09-18 14:28:46 +00:00
ide Fix option passing for freebsd ans netbsd, add -Xd for linux also 2013-08-13 14:10:34 +00:00
installer Regenerate all Makefiles with an up-to-date fpcmake binary 2013-04-29 12:38:48 +00:00
packages fcl-db: bufdataset: make TFpcBinaryDatapacketReader more flexible hence descendant can override version preset in constructor and write in old format. 2013-09-17 12:43:45 +00:00
rtl * Classes unit functions related to exceptions and stacktraces updated to use CodePointer 2013-09-17 22:13:31 +00:00
tests Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498. 2013-09-18 14:28:46 +00:00
utils * synchronized with trunk up to and including r25430 2013-09-06 10:09:26 +00:00
.gitattributes Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498. 2013-09-18 14:28:46 +00:00
.gitignore * more finegrained parallelism support for testsuite runs: the tests are no 2012-06-03 17:56:28 +00:00
fpmake_add1.inc * Handle the location of each package at run-time, not at compilation time 2013-06-02 17:55:23 +00:00
fpmake_proc1.inc * Handle the location of each package at run-time, not at compilation time 2013-06-02 17:55:23 +00:00
fpmake.pp * Handle the location of each package at run-time, not at compilation time 2013-06-02 17:55:23 +00:00
Makefile * Fixed cross-installation after r24625. 2013-05-28 12:55:25 +00:00
Makefile.fpc * Fixed cross-installation after r24625. 2013-05-28 12:55:25 +00:00