michael
ffe626fe6e
* Patch from Graeme Geldenhuys to remove unneeded tools
...
git-svn-id: trunk@34037 -
2016-06-30 17:47:26 +00:00
Jonas Maebe
95f28e5e0c
* avoid a crash when processing synthetic methods of specialised classes:
...
these are generated after the other specialisation methods (via
add_synthetic_method_implementations, rather than via
generate_specialization_procs)
o fixes crash in tests/test/jvm/tw20212.pp
git-svn-id: trunk@34036 -
2016-06-30 15:33:54 +00:00
Jonas Maebe
ec5dea1092
* don't perform the "/ const" to "* (1/const)" transformation for comp-typed
...
expressions, since comp cannot represent fractions (bug reported at
http://lists.freepascal.org/pipermail/fpc-pascal/2016-June/048234.html )
git-svn-id: trunk@34035 -
2016-06-30 15:33:51 +00:00
Jonas Maebe
996e325175
* converted range checking for open arrays/array of const from the code
...
generator to the typecheck pass, so that it also works for platforms
that use the parentfpstruct way to handle accesses to nested frames
in case the array has been migrated to such a parentfpstruct
o additionally, the number of comparisons for such range checks
has been reduced from 3 (for signed indices) or 2 (for unsigned
indices) to 1 in all cases
o the range checking code is disabled for the JVM target, as the
JVM automatically range checks all array accesses itself anyway
git-svn-id: trunk@34034 -
2016-06-30 15:33:47 +00:00
Jonas Maebe
33b44443b8
+ get_unsigned_inttype(def) to get an unsigned integer type of the same
...
size as the provided def (must be an orddef or enumdef)
git-svn-id: trunk@34033 -
2016-06-30 15:33:43 +00:00
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