Commit Graph

48774 Commits

Author SHA1 Message Date
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
Jonas Maebe
e521a029b1 * fixed fpcmake Makefile
git-svn-id: trunk@33978 -
2016-06-12 20:56:35 +00:00
marco
bb75790e38 * german error file updates mantis #30024
git-svn-id: trunk@33977 -
2016-06-12 20:37:17 +00:00
svenbarth
f606d0d2ec Fix for Mantis #29051 to add the ability to only load the core profiles of OpenGL.
git-svn-id: trunk@33971 -
2016-06-12 17:22:46 +00:00
svenbarth
266eccde9f Merge revision(s) 32484 from branches/svenbarth/packages
Move PascalMain external from the si_*.inc files to a new include file si_impl.inc that's included in the implementation sections of the si_*.pp units

git-svn-id: trunk@33970 -
2016-06-12 16:49:56 +00:00
svenbarth
bb853d135c Fix compilation after r33958.
git-svn-id: trunk@33969 -
2016-06-12 16:06:48 +00:00
svenbarth
e527b6fe4f psub.pas, read_proc:
* always register implementation-only, public routines as they might only be called from other units using an external declaration

git-svn-id: trunk@33967 -
2016-06-12 13:47:08 +00:00
svenbarth
a4cfa64d96 pkgutil.pas, insert_export:
* only export the symbol name with the indirect suffix (on Windows the indirect ones will be generated in the module that does the importing on other system's they're not needed anyway)

git-svn-id: trunk@33966 -
2016-06-12 12:50:20 +00:00