Commit Graph

47578 Commits

Author SHA1 Message Date
svenbarth
d3660fec31 Implement support for parsing "generic [class] procedure" and "generic [class] function" in non-Delphi modes. Since "generic" is a prefix it is quite ugly to implement, but from a Pascal language point of view it fits better than "procedure generic xyz".
Supporting such a prefix of course means that all section handling code ("var", "type", etc.) needs to respect the case of a "generic" token followed by "function", "procedure" or "class" and thus abort doing its own business.
Maybe I'll find the time somewhen in the future to rework the parser (plus scanner?) a bit so that code like this gets more easy to add and more importantly less ugly.

pdecsub.pas:
  * extend parse_proc_dec() and parse_record_method_dec() so that they can be told that they are supposed to handle the to be parsed function/procedure/method header as a generic
pdecvar.pas:
  + new entry for tvar_dec_option named "vd_check_generic" to tell read_var_decls() and read_record_fields() to look out for "generic"
  * extend read_var_decls() and read_record_fields() to check for "generic" if needed and to clean up correctly if it is encountered
pdecl.pas:
  * the section handling procedures types_dec(), resourcestring_dec(), var_dec(), threadvar_dec() and consts_dec() all return whether they had encountered a "generic" token that was followed by one of $
pdecobj.pas:
  * extend method_dec() to take a parameter that says whether the method is supposed to be a generic one
  * parse_object_members: while read_record_fields() can handle "generic" we also need to handle the case of "generic" if no fields are allowed anymore
psub.pas:
  * extend read_proc() by the possibility to tell it that the procedure/function to be parsed is supposed to be generic
  * adjust read_declarations() and read_interface_declarations() to keep track of parsed "generic" tokens and to pass them on accordingly
ptype.pas:
  * parse_record_members: same remark as for pdecobj.parse_object_members

git-svn-id: trunk@32380 -
2015-11-20 16:50:58 +00:00
nickysn
ba66456bdb * properly determine the operand size for inline assembler references to procvar
variables without a manually specified size override such as 'dword ptr'.
  Mantis #29010.

git-svn-id: trunk@32379 -
2015-11-20 16:29:40 +00:00
marco
581f1188a5 * deprecated dt routines in unixutils. Julian routines already were
duplicated to the implementations of dos & sysutils.
   localtoepoch and vv not yet.

git-svn-id: trunk@32378 -
2015-11-20 15:06:29 +00:00
Jeppe Johansen
291434be22 Enabled internal assembler for arm-linux. Will allow people to start running tests.
git-svn-id: trunk@32377 -
2015-11-20 14:37:10 +00:00
michael
c5495cb49c * Examples
git-svn-id: trunk@32376 -
2015-11-20 11:34:44 +00:00
svenbarth
74c79803f7 Extend tlocalvarsym with the ability to not register it if needed.
git-svn-id: trunk@32375 -
2015-11-20 11:29:21 +00:00
michael
a192c54e7d * Basedir support
git-svn-id: trunk@32374 -
2015-11-20 11:26:58 +00:00
svenbarth
0ac12f0eaf Extend tstaticvarsym (and by extension tabstractnormalvarsym) with the capability to create it as unregistered if needed.
git-svn-id: trunk@32373 -
2015-11-20 11:15:30 +00:00
svenbarth
922646d106 Adjust tfieldvarsym (and by extension tabstractvarsym) so that it can be created as not registered if needed.
git-svn-id: trunk@32372 -
2015-11-20 10:43:25 +00:00
svenbarth
fe39de1573 pexpr.pas:
* sub_expr: don't extract the def from the node using gettypedef, but use the already retrieved symbol instead

git-svn-id: trunk@32371 -
2015-11-20 10:22:08 +00:00
nickysn
885af367f8 * use OEM_FIXED_FONT instead of SYSTEM_FIXED_FONT in the win16 video unit
git-svn-id: trunk@32370 -
2015-11-19 23:47:41 +00:00
michael
b651a8925e * Observe TZ and TZDir when determining timezone
git-svn-id: trunk@32369 -
2015-11-19 22:34:23 +00:00
Jonas Maebe
fd0c2f36e5 * don't parse "flags" as a register name in the Intel assembler reader
(mantis #29040)

git-svn-id: trunk@32368 -
2015-11-19 19:40:06 +00:00
nickysn
8e9256a93c * fixed IDE compilation with GDBMI=1 (mantis #28890)
git-svn-id: trunk@32367 -
2015-11-19 17:28:37 +00:00
pierre
7250cdb43e Regenerated after: Use explicit rules for all units, needed for GNU make 3.82
git-svn-id: trunk@32366 -
2015-11-19 17:27:00 +00:00
pierre
9c50d25ccc Use explicit rules for all units, needed for GNU make 3.82
git-svn-id: trunk@32365 -
2015-11-19 17:26:26 +00:00
pierre
25ddd745b7 Regenerated after: Fix cross-compilation from win32 using GNU make 3.82
git-svn-id: trunk@32364 -
2015-11-19 15:57:20 +00:00
pierre
5c53adccb3 Fix cross-compilation from win32 using GNU make 3.82
git-svn-id: trunk@32363 -
2015-11-19 15:57:00 +00:00
marco
c379362529 * wince has its own struct. Fix it in same way as win/wininc/struct.inc
git-svn-id: trunk@32362 -
2015-11-19 14:12:10 +00:00
marco
f383a39cda * add tag types for size and point, but deprecated, since redundant.
git-svn-id: trunk@32361 -
2015-11-19 11:53:05 +00:00
michael
2af4cd9a4e * Added missing tree classes
git-svn-id: trunk@32360 -
2015-11-19 08:52:39 +00:00
lacak
124100cde1 fcl-db: sqldb: Propagate ConnOptions from Proxy connection to TSQLConnector.ConnOptions, when ConnectorType changes (not OnInternalConnect, which is late).
Attempt to set TSQLTransaction.Options to stoUseImplicit check if TSQLConnection support sqImplicitTransaction.

git-svn-id: trunk@32359 -
2015-11-19 07:25:03 +00:00
michael
13cfc4ac8f * Added test for NormalizedBCD
git-svn-id: trunk@32358 -
2015-11-18 14:39:29 +00:00
michael
525982b9ca * Patch to fix Bug ID #28993
git-svn-id: trunk@32357 -
2015-11-18 14:34:56 +00:00
pierre
55b32f741d Add explicit dependency of extpas unit on dos unit for freebsd/netbsd/openbsd and dragonfly
git-svn-id: trunk@32356 -
2015-11-18 10:05:11 +00:00
michael
8b8ebd19a0 * Small patch from Silvio Clecio to update version number
git-svn-id: trunk@32355 -
2015-11-18 08:11:42 +00:00
nickysn
05a3a91d19 * fixed msdos cross compiler compilation with "make -j2"
git-svn-id: trunk@32354 -
2015-11-17 19:30:57 +00:00
nickysn
a19c506b46 + added a very simple test for i8086-msdos for linking an external TASM
assembler .obj module. Note that TASM modules aren't fully supported yet,
  because our OMF internal linker doesn't support all features of the OMF object
  format. This test works, because it's really simple. As more OMF features are
  supported, this test will be extended.

git-svn-id: trunk@32353 -
2015-11-17 17:08:25 +00:00
Tomas Hajny
e54be530d7 * added SDL sources
git-svn-id: trunk@32352 -
2015-11-17 12:03:49 +00:00
marco
08f9400070 * adding puint64 mantis #29020
git-svn-id: trunk@32351 -
2015-11-16 20:39:38 +00:00
michael
5a7080b3b7 * Fix bug ID #28926
git-svn-id: trunk@32350 -
2015-11-16 20:29:28 +00:00
michael
69d9a7a2de * Fix bug ID #28925
git-svn-id: trunk@32349 -
2015-11-16 20:07:12 +00:00
michael
e45686f24d * Fixes from Denis Kozlov, bug ID #28951
1) Erroneously increased `pind` in `findmatch()` by the length of matched string instead of by pattern token length.
2) Erroneously increased `ind` and `pind` by 2 after processing `ampm` (localized AM/PM pattern token).
3) Not updated `pind` when doing recursive subpattern matching ("ddddd", "dddddd", "t", "tt").
4) Incorrect interpretation of "t" pattern token as `ShortDateFormat`, when it should be `ShortTimeFormat`.
5) Incorrect scanning for "y" pattern (2 digit year), max scanned digits was 1 while it should be 2.
6) Protect against buffer over-read of `p` variable in `findimatch()`.

git-svn-id: trunk@32348 -
2015-11-16 19:52:17 +00:00
michael
dfedc081e0 * Test for scandatetime (bug ID 28952)
git-svn-id: trunk@32347 -
2015-11-16 19:51:14 +00:00
nickysn
0d48e5f6c7 + added support to the omf/i8086-msdos internal linker for omf relocation with
location type 3 (fltFarPointer). This isn't generated by nasm, nor by the
  internal object writer (yet), but may be generated by other
  assemblers/compilers - TASM generates it (tested with it), MASM probably also
  does.

git-svn-id: trunk@32346 -
2015-11-16 14:51:05 +00:00
michael
2809e98bf9 * Fix bug #0028994 (hopefully completely)
git-svn-id: trunk@32345 -
2015-11-16 14:22:59 +00:00
marco
be6c2e6c94 * modeswitches for win64 + wince.
git-svn-id: trunk@32344 -
2015-11-16 13:51:37 +00:00
Károly Balogh
623af612e4 morphunits: interface units for cybergraphics.library and cgxvideo.library
git-svn-id: trunk@32343 -
2015-11-16 02:36:11 +00:00
Jonas Maebe
18ad8fc004 * fixup for r32338: to reset a typeconvn, its convtype must also be set
back to tc_none

git-svn-id: trunk@32342 -
2015-11-15 23:15:46 +00:00
Jonas Maebe
33d711794e * adaptation for symx86 to r32340
git-svn-id: trunk@32341 -
2015-11-15 23:15:43 +00:00
Jonas Maebe
46dfa1af30 * correctly handle t*def.getreusable*() in case the original def was in
an exception symtable (then the new def cannot be safely made reusable,
    as the exception symtable may be freed before the module is completely
    compiled)

git-svn-id: trunk@32340 -
2015-11-15 22:23:00 +00:00
florian
7f13f845ac * fix Makefile after r32336
git-svn-id: trunk@32339 -
2015-11-15 20:01:45 +00:00
Jonas Maebe
6677747d74 * reprocess changed typeconvn in doremoveinttypeconvs(), as the changed
resultdef can result in a different type conversion (e.g. from nothing
    to int_2_int in case the result size changes)

git-svn-id: trunk@32338 -
2015-11-15 19:57:04 +00:00
Jonas Maebe
4d53455379 * the "types" unit depends on "math" since r32333 -> updated Makefiles
git-svn-id: trunk@32337 -
2015-11-15 19:38:49 +00:00
florian
d102bdc192 + include tests/test/units/fmtbcd into the list of directories being searched for tests
git-svn-id: trunk@32336 -
2015-11-15 19:06:58 +00:00
marco
1407995a37 * part of advanced record patch
git-svn-id: trunk@32335 -
2015-11-15 18:48:26 +00:00
marco
700a22f420 * revert accidentally committed part of executeprocess patch
git-svn-id: trunk@32334 -
2015-11-15 18:47:42 +00:00
marco
92960ff3ac * initial advanced records support for TSize..TRect and -F.
git-svn-id: trunk@32333 -
2015-11-15 18:34:19 +00:00
michael
7d2c723a54 * Re-instated initialization of memory when adding item
git-svn-id: trunk@32332 -
2015-11-15 18:24:12 +00:00
Károly Balogh
ac75f544f7 morphunits: added diskfont.library interface unit, based on the Amiga version
git-svn-id: trunk@32331 -
2015-11-15 18:05:08 +00:00