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
nickysn
3abfa177c4
* initialization of stack and dwarf debug omf sections moved from
...
TOmfObjSection.create to TOmfObjData.createsection and is now based on the
section type (TAsmSectionType) instead of name (string)
git-svn-id: trunk@31485 -
2015-09-03 11:38:51 +00:00
nickysn
efef3882a0
* moved the code for determining whether an omf object section should
...
belong to group DGROUP to a function in unit omfbase (so it can be used in the
future by the nasm asm writer as well)
git-svn-id: trunk@31484 -
2015-09-02 16:11:02 +00:00
nickysn
2e6d462ff6
* omf segment class names moved to a const array in omfbase, so they can be used
...
(in the future) in the nasm asm writer as well
git-svn-id: trunk@31483 -
2015-09-02 14:37:20 +00:00
nickysn
4061628ffb
* the i8086-msdos default code segment (in near code memory models) renamed
...
'_TEXT'. This name is used in object modules, produced by Borland C and Open
Watcom.
git-svn-id: trunk@31482 -
2015-09-02 13:14:12 +00:00
nickysn
1a8e203bf5
* moved the omf section names constant to the omfbase unit and use it also in
...
the nasm asm writer when targeting i8086-msdos
git-svn-id: trunk@31481 -
2015-09-02 12:28:46 +00:00
Jonas Maebe
85403876cd
* fixed UCS4Decode() for #$ffff (patch by Inoussa OUEDRAOGO, mantis #28593 )
...
git-svn-id: trunk@31480 -
2015-09-02 12:10:45 +00:00
Jonas Maebe
5c5935346a
* explain why we may have to search for the uppercase version of a symbol in
...
tcallnode.createintern()
git-svn-id: trunk@31479 -
2015-09-02 09:54:06 +00:00
Jonas Maebe
fbacf9682f
* rename WinCE softfp compilerproc names to lowercase, needed since r31404
...
(mantis #28598 )
git-svn-id: trunk@31478 -
2015-09-02 09:54:02 +00:00
Jonas Maebe
675c02dd17
* don't call softfp compilerprocs in the implementation of others, but let
...
them be called implicitly by the compiler (these symbols are no longer
accessible from Pascal code since r31404)
git-svn-id: trunk@31477 -
2015-09-02 09:53:57 +00:00
sergei
5cfeaedd23
* Fixed copy&paste error introduced in r24398, resolves #28584 .
...
git-svn-id: trunk@31475 -
2015-09-01 14:06:02 +00:00
florian
c9b1df2c91
* the test $-1,%reg optimization shall be done not only if the cpu type is i386, but for the i386 compiler
...
git-svn-id: trunk@31474 -
2015-08-31 20:03:56 +00:00
florian
63f828d54e
* take care of nf_internal when doing range checking and inserting type conversions in tassignmentnode.pass_typecheck
...
git-svn-id: trunk@31473 -
2015-08-31 20:03:54 +00:00
florian
27828d41e7
* extended nodes which return true from is_const
...
git-svn-id: trunk@31472 -
2015-08-31 20:03:52 +00:00
florian
f00a55ae08
+ tinlinenode.createintern
...
* do not do range checking on constants created by pred/succ if these nodes are created internally
git-svn-id: trunk@31471 -
2015-08-31 20:03:51 +00:00
florian
049491a573
+ fold the constructs @<record type>(nil^).<field >) and @<record point>(nil)^.<field> used to get the offset of a field into a constant
...
git-svn-id: trunk@31470 -
2015-08-31 20:03:49 +00:00
florian
495b7181a8
+ write the value of a pointer constant node in printnodedata
...
git-svn-id: trunk@31469 -
2015-08-31 20:03:47 +00:00
michael
a8978361dd
* Fix signatures on all platforms
...
git-svn-id: trunk@31468 -
2015-08-31 19:36:15 +00:00
michael
154b9bdd11
* Correct signature of pos
...
git-svn-id: trunk@31467 -
2015-08-31 19:34:15 +00:00
Jonas Maebe
f374b81c12
* disabled ARM-specific code for smallset in-operations on big endian targets,
...
as it's also little endian-specific (mantis #28592 )
git-svn-id: trunk@31466 -
2015-08-31 13:06:42 +00:00
michael
a687cc1469
* Add tests for offset argument to pos
...
git-svn-id: trunk@31465 -
2015-08-31 13:06:14 +00:00
michael
8161c1135c
* Add offset to Pos functions, Delphi XE 8 compatible.
...
git-svn-id: trunk@31464 -
2015-08-31 13:05:37 +00:00
yury
130eba51ee
* pas2jni: Fixed code generation in case of duplicate method names in a class hierarchy.
...
git-svn-id: trunk@31463 -
2015-08-31 12:24:48 +00:00
michael
a4502a50d5
* Added TArray generic
...
git-svn-id: trunk@31462 -
2015-08-31 12:03:55 +00:00
michael
d3350b18ba
* Some Delphi XE8 compatibility types
...
git-svn-id: trunk@31461 -
2015-08-31 12:00:22 +00:00