nickysn
72d6876225
+ initialize the PrefixSeg variable from the win16 startup code
...
git-svn-id: trunk@31535 -
2015-09-05 18:03:37 +00:00
nickysn
a062fb17b3
+ added makefiles for the win16 rtl
...
git-svn-id: trunk@31534 -
2015-09-05 15:50:19 +00:00
nickysn
8610065db4
+ started porting the win16 api units
...
git-svn-id: trunk@31533 -
2015-09-05 15:48:40 +00:00
nickysn
393d86a2e5
+ implemented writing proper win16 dll import libraries
...
git-svn-id: trunk@31532 -
2015-09-05 13:45:23 +00:00
nickysn
049171c69c
* moved the imports of InitTask, WaitEvent and InitApp to the win16 startup module
...
git-svn-id: trunk@31531 -
2015-09-05 12:43:26 +00:00
nickysn
c2c008c09a
* switch to a full blown win16 system unit
...
git-svn-id: trunk@31530 -
2015-09-05 12:39:58 +00:00
nickysn
4068a05631
+ support the 'absolute seg:ofs' variable declaration in the win16 target as well
...
git-svn-id: trunk@31529 -
2015-09-05 12:07:29 +00:00
nickysn
8bca76e645
* improved formatting and added comments to the win16 startup code
...
git-svn-id: trunk@31528 -
2015-09-05 11:48:05 +00:00
nickysn
e83f3d2978
* updated all the remaining makefiles that 'fpcmake -r' missed
...
git-svn-id: trunk@31527 -
2015-09-05 11:21:36 +00:00
nickysn
e05aec2083
+ added the win16 target to fpmake
...
git-svn-id: trunk@31526 -
2015-09-05 11:11:59 +00:00
nickysn
2e3cb70489
* regenerated makefiles after adding the win16 target
...
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
nickysn
fb0f606793
* update revision.inc
...
git-svn-id: trunk@31524 -
2015-09-05 10:52:13 +00:00
nickysn
b8b90f96a1
+ added the win16 target to fpcmake
...
git-svn-id: trunk@31523 -
2015-09-05 10:15:10 +00:00
nickysn
3145d68fdb
* fixed compilation of ppudump
...
git-svn-id: trunk@31522 -
2015-09-05 03:38:51 +00:00
nickysn
839ab714cc
+ started implementing a win16 target :)
...
git-svn-id: trunk@31521 -
2015-09-05 02:47:42 +00:00
nickysn
a1d29b8251
* always pop DS in huge memory models in asm routines that don't specify
...
'nostackframe'
git-svn-id: trunk@31520 -
2015-09-04 21:51:04 +00:00
nickysn
98ec7a2211
* eliminated the dual initialization of DS in interrupt procedures in the huge
...
memory model
git-svn-id: trunk@31519 -
2015-09-04 21:37:07 +00:00
nickysn
4c9b339c22
+ added the huge memory model option to the compiler help screen
...
git-svn-id: trunk@31518 -
2015-09-04 20:43:38 +00:00
nickysn
69042574b2
* assume external variables are in a different segment in the huge memory model
...
git-svn-id: trunk@31517 -
2015-09-04 19:39:55 +00:00
nickysn
2087290802
* i8086 huge memory model threadvar code generation fixes
...
git-svn-id: trunk@31516 -
2015-09-04 19:15:10 +00:00
nickysn
2b42c17318
+ also initialize the proper (foreign) segment when loading a global variable
...
from another unit in the huge memory model
git-svn-id: trunk@31515 -
2015-09-04 16:05:52 +00:00
svenbarth
eaab604f0c
pgenutil.pas:
...
* split generate_specialization() into two phases: generate_specialization_phase1() and generate_specialization_phase2(); the former parses the generic parameters and determines the correct generic def while the latter does the real specialization. This is needed for generic functions/methods as no full specialization needs to be done until overload selection by tcallcandidates
pgentype.pas:
+ new type tspecializationcontext
git-svn-id: trunk@31514 -
2015-09-04 15:37:54 +00:00
svenbarth
5255c936d3
symsym.pas:
...
+ add an overload of check_hints() that allows to specify the current file position
* have the previous check_hints() procedure be an inline procedure as it simply calls the new overload
git-svn-id: trunk@31513 -
2015-09-04 14:50:16 +00:00
svenbarth
af75198907
symsym.pas:
...
+ provide possibility to create syms that are not registered in the current module. These syms won't be stored in the ppu.
git-svn-id: trunk@31512 -
2015-09-04 14:43:02 +00:00
nickysn
1487236f29
+ support addr_fardataseg references in the internal asm writer
...
git-svn-id: trunk@31511 -
2015-09-04 14:33:48 +00:00
svenbarth
938c8335a9
symdef.pas:
...
* provide possibility to create defs that are not registered in the current module and also not in the symtablestack. These defs won't be stored in the ppu.
git-svn-id: trunk@31510 -
2015-09-04 14:24:27 +00:00
svenbarth
66df1cafb1
pdecsub.pas:
...
* move handling after parsing a procedure's/function's/method's name and its parameters from parse_proc_dec() into a new function parse_proc_dec_finish(), so that it can be used for generic functions/methods in the future
git-svn-id: trunk@31509 -
2015-09-04 14:03:16 +00:00
michael
f759815d04
* Patch from Inoussa to decompose canonically (to be able to implement CompareText)
...
git-svn-id: trunk@31508 -
2015-09-04 13:58:28 +00:00
svenbarth
e8fca1c9c0
* move tspecializationstate from pgenutil.pas into a new unit named pgentype.pas which contains types related to generics with as few dependencies as possible.
...
git-svn-id: trunk@31507 -
2015-09-04 13:37:06 +00:00
svenbarth
267adf4e46
scanner.pas, tscanner:
...
+ new method to check how many token replays are currently active. This is needed for example to determine the end of a generic method which may contain modifiers and such.
git-svn-id: trunk@31506 -
2015-09-04 13:27:28 +00:00
nickysn
cbaa02e7b5
+ support writing more than 1024 zeros in TObjSection.WriteZeros
...
git-svn-id: trunk@31505 -
2015-09-04 13:26:37 +00:00
svenbarth
5b216cca08
scanner.pas, tscanner:
...
* extend the state of the scanner that is saved/restored when starting/stopping a token recording so that the token recorder can be started on every kind of token.
git-svn-id: trunk@31504 -
2015-09-04 13:24:45 +00:00
nickysn
4a855b140a
+ support mixing initialized and bss data in the same object section (only in
...
case the section options contain the new option 'oso_sparse_data') in the
internal object writer (needed for the huge memory model)
git-svn-id: trunk@31503 -
2015-09-04 13:16:45 +00:00
nickysn
1264eaf8c6
* fixed "nil pointer assignment" error in huge memory model
...
git-svn-id: trunk@31502 -
2015-09-03 22:37:01 +00:00
nickysn
63f86ee6a5
+ huge memory model fixes in the i8086-msdos startup code
...
git-svn-id: trunk@31501 -
2015-09-03 22:08:53 +00:00
nickysn
0fdc62e0f7
+ initialize DS with the current unit's data segment in the function entry code
...
generated in the huge memory model
git-svn-id: trunk@31500 -
2015-09-03 21:44:16 +00:00
nickysn
2725b1160b
* name the 'FAR_DATA' class segments as module_name+'_DATA'
...
git-svn-id: trunk@31499 -
2015-09-03 19:00:55 +00:00
nickysn
97f65d350d
+ position the 'FAR_DATA' segments after the 'CODE' segments and before the
...
regular 'DATA' segments
git-svn-id: trunk@31498 -
2015-09-03 17:57:27 +00:00
nickysn
f14f4ff924
* use the 'FAR_DATA' segment class name instead of 'DATA' or 'BSS' in the huge
...
memory model
git-svn-id: trunk@31497 -
2015-09-03 17:53:15 +00:00
nickysn
cfab5d3d3e
* the omfbase.omf_segclass const array converted to function in order to be able
...
to return different names for some sections in the huge memory model
git-svn-id: trunk@31496 -
2015-09-03 17:48:07 +00:00
nickysn
8458bbfaf6
+ enabled the huge memory model command line option
...
git-svn-id: trunk@31495 -
2015-09-03 17:31:41 +00:00
nickysn
cf144a7fb7
* use a dummy non-nil pointer in FSectionsUsed and FSectionsInDGROUP, because
...
TFPHashList refuses to add an item with nil pointer data
git-svn-id: trunk@31494 -
2015-09-03 15:14:00 +00:00
nickysn
3b36e3d0b5
* declare segments as use16 or use32 in the nasm asm writer
...
git-svn-id: trunk@31493 -
2015-09-03 13:57:36 +00:00
nickysn
672ff1d863
* fixed memleak after r31487
...
git-svn-id: trunk@31492 -
2015-09-03 13:40:00 +00:00
nickysn
314b5e5eac
* fixed class name in comment
...
git-svn-id: trunk@31491 -
2015-09-03 13:36:12 +00:00
Jonas Maebe
0031e12bf3
* enable the code that determines the complexity of arguments to inline
...
routines to see through free type conversions (such as type conversions
inserted for absolute variables, like the 'result' variable)
git-svn-id: trunk@31490 -
2015-09-03 13:36:03 +00:00
Jonas Maebe
ee3f89246c
* assume that compilerprocs never capture the addresses of their arguments
...
git-svn-id: trunk@31489 -
2015-09-03 13:35:59 +00:00
Jonas Maebe
2b551d0241
* don't do anything in SetCodePage() if the requested code page is the same
...
as the current one, even if there are multiple references to the string
git-svn-id: trunk@31488 -
2015-09-03 13:35:55 +00:00
nickysn
92c831c3dd
* writing of omf section attributes in the NASM asm writer rewritten to use the
...
new functions in unit omfbase (also used by the internal asm)
git-svn-id: trunk@31487 -
2015-09-03 13:32:17 +00:00
nickysn
cc2e27b555
* the function which returns the alignment of omf sections moved to unit
...
omfbase, so it can be used by the nasm asm writer as well
git-svn-id: trunk@31486 -
2015-09-03 12:36:58 +00:00