Jonas Maebe
8e2607d96d
* data for bitpacked arrays is part of an aggregate
...
git-svn-id: trunk@34032 -
2016-06-30 15:33:40 +00:00
Jonas Maebe
b5cb7a5d4f
* factored out loading of integers from memory into structs in registers or
...
vice versa, and generalised for floating point and mm registers
(webtbs/tw26993.pp)
git-svn-id: trunk@34031 -
2016-06-30 15:33:37 +00:00
Jonas Maebe
214aea8853
* a_loadfpu_ref_cgpara: use the paralocation instead of the cgpara size
...
when loading an fpu register, can be different in case of a record
that needs to be passed in an fpu register
git-svn-id: trunk@34030 -
2016-06-30 15:33:34 +00:00
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