Jonas Maebe
eeae34ea7d
* simplified handling of loading a reference into a register of a
...
larger size in case of structured types
o also fixes the logic for big endian
git-svn-id: trunk@34029 -
2016-06-30 15:33:31 +00:00
Jonas Maebe
f2c1e4234f
* use g_ptrtypecast_ref() in a_load_ref_reg() when we have to typecast
...
references
git-svn-id: trunk@34028 -
2016-06-30 15:33:27 +00:00
Jonas Maebe
c421171461
* fixed handling of fpu/mm loads from "named registers" in case they involve
...
a typecast from a struct to a scalar type (webtbs/tw26993)
git-svn-id: trunk@34027 -
2016-06-30 15:33:24 +00:00
Jonas Maebe
0ce68d223f
- removed unused tllvmshadowsymtable.recordalignmin field
...
git-svn-id: trunk@34026 -
2016-06-30 15:33:21 +00:00
Jonas Maebe
542b6b604e
* missing closing comment
...
git-svn-id: trunk@34025 -
2016-06-30 15:32:50 +00:00
pierre
fb50d0860b
Use BX register instead of AX to reload DS at proc entry if register convention is used
...
git-svn-id: trunk@34024 -
2016-06-29 20:48:51 +00:00
pierre
8058f6b301
Use SizeInt type for DoMem variable argument, as it might be different from PtrInt, for instance for some msdos memory models
...
git-svn-id: trunk@34022 -
2016-06-28 16:13:24 +00:00
pierre
d2113f5ead
Use SizeInt type for DoMem variable argument, as it might be different from PtrInt, for instance for some msdos memory models
...
git-svn-id: trunk@34021 -
2016-06-28 15:59:09 +00:00
pierre
5ff51591cf
* Fix "-CX" use for i8086 with generic functions (test/tgenfuc*.pp tests),
...
it was currently broken as the specialization was declared
with local bind type, which generated no symbol at all
with the internal ogomf writer.
git-svn-id: trunk@34020 -
2016-06-28 14:33:57 +00:00
pierre
7129de8a6e
Fix compilation with -dSYSTEMDEBUG after heap changes (removal of 'tiny' in memory functions in tiny heap)
...
git-svn-id: trunk@34019 -
2016-06-25 08:16:52 +00:00
pierre
13076a3580
Use NO prefix to disable a feature (-Sfnoheap) instead of '-' prefix
...
git-svn-id: trunk@34018 -
2016-06-25 05:27:09 +00:00
pierre
270a574d6a
+ Allow to disable specific feature with -Sf-FEATURE_NAME
...
* Fix "-CX -al" use for i8086, because it was currently broken
-al triggered switch to nasm external assembler but with smart linking,
this should also generate a switch to external assembler.
git-svn-id: trunk@34017 -
2016-06-24 15:55:10 +00:00
pierre
dfeadf89e9
Modify test to take into account the specific prologue for Huge model
...
git-svn-id: trunk@34016 -
2016-06-24 15:13:37 +00:00
pierre
7efce7f121
Rewrite CommandLine creation in Dos.Exec function to avoid problems when ComLine is 255 characters long
...
git-svn-id: trunk@34015 -
2016-06-21 10:13:41 +00:00
pierre
3253711e95
Disable expliccitly overlfow and range checks
...
git-svn-id: trunk@34014 -
2016-06-21 09:21:18 +00:00
pierre
544d33bf48
Range and overflow check explicitly disabled
...
git-svn-id: trunk@34013 -
2016-06-21 08:18:22 +00:00
pierre
40292a476f
Expicitly disable range check on old test and add new test with and changes
...
git-svn-id: trunk@34012 -
2016-06-21 08:14:43 +00:00
pierre
f079701302
Also disable range check error that can happen on 64-bit processors
...
git-svn-id: trunk@34011 -
2016-06-21 08:02:19 +00:00
pierre
df7e562d94
Add explicit $R- or $Q- to avoid different results if -Criot option is used
...
git-svn-id: trunk@34010 -
2016-06-20 15:55:10 +00:00
pierre
27119cad3c
Disable range checks explicitly as THandle is unsigned at least for win32 OS
...
git-svn-id: trunk@34009 -
2016-06-20 15:26:50 +00:00
nickysn
5306ee552b
* regenerated makefiles with latest fpcmake
...
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
9233ac9e0a
* update revision.inc
...
git-svn-id: trunk@34007 -
2016-06-18 00:55:09 +00:00
nickysn
11006c2b72
* set the proper file extensions for the i8086-embedded target
...
git-svn-id: trunk@34006 -
2016-06-18 00:45:34 +00:00
nickysn
c639bf3900
* fixed bug, caused by an incorrect order of ifdefs, which caused the system
...
unit of the embedded target to not compile on CPUs, not using the softfpu
implementation
git-svn-id: trunk@34005 -
2016-06-18 00:22:20 +00:00
nickysn
20d2c74d8e
+ added system_i8086_embedded to the systems_embedded set
...
git-svn-id: trunk@34004 -
2016-06-18 00:00:18 +00:00
nickysn
73d0dae569
+ added various things, needed for i8086 compilation to the system unit of the
...
embedded target
git-svn-id: trunk@34003 -
2016-06-17 22:31:38 +00:00
nickysn
a58dd988a4
* regenerate makefiles after the fpcmake update
...
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
nickysn
cb5a2b9a2e
+ enable the i8086-embedded cpu/os combination in fpmkunit as well
...
git-svn-id: trunk@34001 -
2016-06-17 21:55:38 +00:00
nickysn
2dc530dfe3
+ enable the i8086-embedded cpu/os combination in fpcmake
...
git-svn-id: trunk@34000 -
2016-06-17 20:24:55 +00:00
nickysn
c2305809dc
+ added an i8086-embedded target support to the compiler (RTL and makefile
...
support are not done yet)
git-svn-id: trunk@33999 -
2016-06-17 19:15:24 +00:00
michael
e022ba1b53
* Annotations (and HTML links) support
...
git-svn-id: trunk@33998 -
2016-06-16 20:14:20 +00:00
florian
d31d24ed16
* r33995 was not complete
...
git-svn-id: trunk@33997 -
2016-06-16 19:26:43 +00:00
svenbarth
dfe00a8ed1
Fix for Mantis #30279 . Apply patch by Max Nazhalov to fix compilation of i386-wince and arm-wince (the only modification is that the no longer used AnsiString variants of ExecuteProcess are removed)
...
git-svn-id: trunk@33996 -
2016-06-16 17:03:17 +00:00
florian
1cbae41cab
* proper fix for the issue detected in r33945
...
git-svn-id: trunk@33995 -
2016-06-15 20:43:52 +00:00
svenbarth
248490bbf1
* declare fpc_zeromem and fpc_fillmem as inline to avoid one call
...
git-svn-id: trunk@33994 -
2016-06-15 20:16:16 +00:00
Jonas Maebe
11c90a73b1
- removed "Set8087CW(Default8087CW)" call from SysEntry:
...
o it is already performed in fpc_cpucodeinit
o in libraries, fpc_cpucodeinit first sets Default8087CW to the current x87
control word to avoid them enabling fpu exceptions if the host platform
had first disabled them
git-svn-id: trunk@33993 -
2016-06-15 18:32:07 +00:00
Jonas Maebe
899add8c7d
* don't emit default values for local variables in generic routines: those
...
default values are not used, and they are not type-correct (and hence
cause trouble with LLVM)
git-svn-id: trunk@33992 -
2016-06-15 18:32:02 +00:00
Jonas Maebe
5313db710b
* override gen_stack_check_size_para() and gen_stack_check_call()
...
for llvm and do nothing (see comments in the code)
git-svn-id: trunk@33991 -
2016-06-15 18:31:58 +00:00
Jonas Maebe
98ac6c4797
* converted gen_stack_check_call() to the high level code generator
...
git-svn-id: trunk@33990 -
2016-06-15 18:31:52 +00:00
Jonas Maebe
4121facc7a
* only free the llvm shadow symtable when the original symtable will
...
also be freed
git-svn-id: trunk@33989 -
2016-06-15 18:31:47 +00:00
Jonas Maebe
8ca9ece66a
* fixed buffer overrun in tai_aggregatetypedconst.add_to_string()
...
git-svn-id: trunk@33988 -
2016-06-15 18:31:42 +00:00
Jonas Maebe
8c006f04e2
* don't check type size equality for conversions to formaldef either
...
git-svn-id: trunk@33987 -
2016-06-15 18:31:37 +00:00
michael
15c5ea3b9c
* Fix bug in event-based variables
...
git-svn-id: trunk@33986 -
2016-06-14 17:25:14 +00:00
svenbarth
638339812e
i386-win32 also has indirect entry information, so enable this in the compiler and disable the corresponding define in system.pp
...
git-svn-id: trunk@33985 -
2016-06-14 12:25:21 +00:00
svenbarth
25c4a5c986
Fix usage of external resources on systems besides Darwin by moving the variable referencing FPC_RESLOCATION fon non-indirect entry information systems from system.inc back into intres.inc
...
git-svn-id: trunk@33984 -
2016-06-14 12:18:36 +00:00
pierre
a72434e93a
Trial to clarify heap for i8086 issues:
...
- MSDOS heap in tinyheap.inc modified to use usual
SysGetMem and similar names.
- Use HAS_MEMORYMANAGER (used previously in wince source code,
to specify that a memory manager is defined elsewhere than inside
heap.inc include file.
- Use
- Remove TinyHeapMemoryManager Structure variable completely
heaptrc.pp: remove unneeded macro code after name changes of tinyheap.inc
msdos/system.pp now only defines HAS_MEMORYMANAGER macro
win16/system.pp defines HAS_MEMORYMANAGER and FPC_NO_DEFAULT_HEAP
as it still uses a different memory manager.
__stkbottom variable added for win16 system.pp as it is required
by i8086 specific stack check code.
git-svn-id: trunk@33983 -
2016-06-13 22:26:03 +00:00
svenbarth
7f079ff58a
Fix compilation of Win64 and WinCE as those don't have indirect entry information yet and thus they'd require FPC_RESLOCATION which is not available for those platforms... Fixes Mantis #30264 .
...
git-svn-id: trunk@33982 -
2016-06-13 07:55:45 +00:00
nickysn
452d9b747b
* fixed code generation for initialized pointer variables, with the initial
...
value set to the address of an external variable in the i8086 medium and
compact memory models. Should fix Mantis #30107
git-svn-id: trunk@33981 -
2016-06-13 00:29:32 +00:00
Jonas Maebe
3f01efbee0
* adapted tcgtypeconvnode.second_int_to_int() to work with high level cpu
...
targets, and removed the (buggy) LLVM-specific version
git-svn-id: trunk@33980 -
2016-06-12 20:56:40 +00:00
Jonas Maebe
2d1023140a
* don't try to check whether the size of from and to in type conversion nodes
...
are the same in case of open arrays (their size can't be determined at
compile time) -- this is just a sanity check, which can't be performed in
this case
git-svn-id: trunk@33979 -
2016-06-12 20:56:37 +00:00