nickysn
|
96c7a9325a
* CrtOpen, CrtClose, CrtRead, CrtWrite and CrtReturn changed to procedures, instead of functions
|
il y a 12 ans |
paul
|
5aa919c2a8
compiler: have unit interface symtable in stack while parsing implementation uses list (fixes issue #10477)
|
il y a 12 ans |
nickysn
|
4d369654e0
* fixed test cg/taddr2.pp for i8086 medium memory model
|
il y a 12 ans |
nickysn
|
8608969eb8
* tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model
|
il y a 12 ans |
nickysn
|
3bc89a50ed
+ added i8086-specific methods tai_const.Create_sym_near and tai_const.Create_sym_far, which allow creating explicitly a near or far ptr const, regardless of current memory model's defaults
|
il y a 12 ans |
nickysn
|
5b9341df76
* fixed compilation of unit keyboard in i8086 medium memory model
|
il y a 12 ans |
nickysn
|
a5284881f5
+ support 6-byte records in registers in thlcgcpu.location_force_mem on the i8086; this fixes the handling of methodpointers typecasted to record (TMethod) in medium and compact memory models
|
il y a 12 ans |
sergei
|
dac8cbcefc
* Handle assigned(x) expressions entirely in first pass by converting them to "x<>nil", indicate that procedure variables should not be called by setting nf_load_procvar flag (which is already used with typeconvnode for exactly the same purpose). This allows to generate better code when assigned(x) is used on right side of assigments. Mantis #24572.
|
il y a 12 ans |
svenbarth
|
4ea89d01ea
Somewhat a fix for Mantis #25025 : added generic variants of the TEnumerable/TEnumerator interfaces. Added to unit ObjPas, because mode ObjFPC does not allow overloading of types with generics (which would be the case in unit System). Also the two interfaces are not completely Delphi compatible on purpose! In Delphi they inherit from corresponding non generic interfaces, but this leads in FPC as well as in Delphi to problems.
|
il y a 12 ans |
paul
|
0d8ad2a932
compiler: don't treat TRUE and FALSE as keywords. They are predefined constants from this moment. This change is compatible with other pascal compilers. Fixes issue #0025030
|
il y a 12 ans |
michael
|
1449fbb9ff
* Added Read/Write of int64
|
il y a 12 ans |
michael
|
3ffae89e12
* Null stream implementation
|
il y a 12 ans |
paul
|
99dadf2998
compiler: allow comparative operators to have result other than Boolean. Reasons:
|
il y a 12 ans |
paul
|
93f1ba4493
compiler: don't allow to access an enum members through the enum member. It should be only possible throught the enum type name. Fixes issue #0025029
|
il y a 12 ans |
paul
|
9577aa1d0b
packages: fixed syntax error in fpmake.pp
|
il y a 12 ans |
nickysn
|
408f53fbda
+ detect whether CGA snow checking is required and initialize the CheckSnow variable accordingly
|
il y a 12 ans |
nickysn
|
d2c2193505
+ 83/84-key keyboard support added to unit keyboard for i8086-msdos
|
il y a 12 ans |
nickysn
|
034f9c6b71
+ added and implemented unit keyboard for i8086-msdos, based on the go32v2 version of the unit
|
il y a 12 ans |
sergei
|
1bd43f0ea1
* Outgoing parameters on stack do not need to inhibit stack frame optimization on targets with fixed stack, because there they do not modify stack pointer in the middle of routine.
|
il y a 12 ans |
nickysn
|
5c1fb7b009
* Crt.CursorOff fixed after r25483; the correct value of CX is 2000h, not 200h
|
il y a 12 ans |
nickysn
|
e54c87dab1
* changed a method address typecast to CodePointer instead of Pointer in TStringList.QuickSort for compatibility with the i8086 medium and compact memory models
|
il y a 12 ans |
nickysn
|
4d4ad5734b
* Crt.CursorOn and CursorBig: use CX values that are CGA compatible, which makes them CGA/EGA/VGA compatible, because EGA/VGA bioses emulate CGA cursor values; as a side effect this also makes these functions work properly under EGA/VGA's 43- and 50-line text modes
|
il y a 12 ans |
nickysn
|
19d6d202cd
* Crt.CursorOn and CursorBig: use CX values that are CGA compatible, which makes them CGA/EGA/VGA compatible, because EGA/VGA bioses emulate CGA cursor values; as a side effect this also makes these functions work properly under EGA/VGA's 43- and 50-line text modes
|
il y a 12 ans |
nickysn
|
e60c3ee740
* Crt.CursorOff: use CX=bash200, instead of CX= for making the cursor invisible; this is the correct value, according to the BIOS documentation I've found and it is also the value used by the go32v2 video unit
|
il y a 12 ans |
florian
|
02e054a09e
+ fpc -i now writes also the available inline assembler input modes
|
il y a 12 ans |
sergei
|
38c2fb755a
* RTL, fpc_val_real_shortstr(): somewhat simplified, functionality is not changed.
|
il y a 12 ans |
svenbarth
|
08543ddeba
Fix for Mantis #23899 . Allow to overwrite TStringList.ExchangeItems if necessary.
|
il y a 12 ans |
sergei
|
cf20bbc886
* RTL, Pos() with Variant: added 'const' modifiers to avoid unnecessary local copies of managed parameters.
|
il y a 12 ans |
sergei
|
b99cf8d680
* RTL: Changed 'shift' parameter of 64-bit shift helpers to CPU-native size, it doesn't have to be 64-bit because only its lower 6 bits are used. Not using 64 bit parameter improves code quality a bit.
|
il y a 12 ans |
nickysn
|
7e6092c4f2
* ScreenWidth and ScreenHeight changed to word; several other types also changed to 16-bit and added typecasts to avoid 32-bit calculations due to mixing signed and unsigned 16-bit ints
|
il y a 12 ans |