Commit Graph

47967 Commits

Author SHA1 Message Date
svenbarth
1951b8aaaa Fix threadvar handling. Basically a merge of r31913 of my packages branch.
rtl/inc/system.inc:
  * provide a public alias for SetupEntryInformation so that it can be used in SysInit as well without globally exporting it
rtl/win/systlsdir.inc:
  * Exec_tls_callback: call SetupEntryInformation before initalizing the heap and multithreading so that the threadvar tables can be referenced correctly

git-svn-id: trunk@33035 -
2016-01-30 23:10:35 +00:00
svenbarth
191a293e4a Fix compilation of Mac OS X. Without the cdecl modifier we need the _
rtl/bsd/system.pp:
  * use _PASCALMAIN instead of PASCALMAIN

git-svn-id: trunk@33034 -
2016-01-30 19:38:40 +00:00
pierre
987907d2a2 Call system.Flush only once within ReadFromStream nested in ExecuteFPC for interactve mode
git-svn-id: trunk@33033 -
2016-01-29 22:50:53 +00:00
michael
0ca95e99df * Introduce DefaultRequestUploadDir for easy configuration of Upload directory location
git-svn-id: trunk@33032 -
2016-01-29 22:43:19 +00:00
pierre
80c5db7aba * Do not call CloseHandle on hStdInput if poPassInput is in Options
git-svn-id: trunk@33031 -
2016-01-29 22:41:05 +00:00
michael
fe1e18eb8d * Fixed TRect setwith and setheight (from Ondrej Pokorny)
git-svn-id: trunk@33030 -
2016-01-29 20:50:21 +00:00
Jonas Maebe
9c3cab8224 * replaced pure LGPL Mersenne Twister implementation with a public domain
version

git-svn-id: trunk@33029 -
2016-01-29 18:03:14 +00:00
svenbarth
e3060130a4 Adjustments so that the resource string related tables are provided inside the system unit (both for indirect and direct entry targets).
rtl/inc/system.inc:
  + new variables that hold pointers to the tables
  + new procedure SetupEntryInformation() that should be used in the entry points of indirect entry targets to setup cross target fields
  + for direct entry targets the two resource string tables are imported here and supplied as initialization to the table pointers
objpas/objpas.pp:
  * adjust table declarations so that the pointers provided from the System unit are used
  * adjust usages of the tables as they are now pointers
win32/system.pp:
  * Exe_Entry: use SetupEntryInformation()
win/syswin.inc:
  * Dll_Entry: use SetupEntryInformation()

git-svn-id: trunk@33028 -
2016-01-29 17:19:33 +00:00
svenbarth
7b67ead440 Pass further main program data through the indirect entry information.
rtl/inc/systemh.inc:
  + TEntryInformation: add Pointer fields ResourceStringTables, ResStrInitTables, WideInitTables (for targets with separate WideString type) and ResLocation (not used on Windows, but since most other targets don't have Windows' resource system it's not part of OS)
rtl/java/jsystemh_types.inc:
  + TEntryInformation: adjust for consistency reasons
rtl/win32/sysinit.inc:
  * SysInitEntryInformation: initialize with pointers to the correct tables

git-svn-id: trunk@33027 -
2016-01-29 16:51:27 +00:00
svenbarth
0491bca72a inc/system.inc:
+ add (uninitialized) global variable EntryInformation for systems that use indirect main information
win32/system.pp:
  - remove initialized EntryInformation and instead rely on the one passed by the sysinit* units

git-svn-id: trunk@33026 -
2016-01-29 16:24:53 +00:00
svenbarth
7e1e947b71 asm_exit is only needed on Win32 (Note: the removal of asm_exit from TEntryInformation in the previous commit should have been in this one -.- )
rtl/win32/sysosh.inc:
  + add TEntryInformationOS for Win32 which contains asm_exit
rtl/win32/system.pp:
  * EntryInformation: adjust initialization
  * system_exit: call the correct function variable
rtl/win32/sysinit.inc:
  * SysInitEntryInformation: adjust initialization
  * SetupEntryInformation: adjust commented setup of the function variable
rtl/java/jsystemh_types.inc:
  * adjust TEntryInformation for consistency reasons

git-svn-id: trunk@33025 -
2016-01-29 15:36:58 +00:00
svenbarth
3da7675eb1 Add a possiblity for targets to specify additional fields for TEntryInformation using an optional sub record called TEntryInformationOS
rtl/inc/systemh.inc:
  + add field OS of type TEntryInformationOS if the target specifies HAS_ENTRYINFORMATION_OS
rtl/java/jsystemh_types.inc:
  + same adjustments as above for consistency reasons despite it being not used there anyway

git-svn-id: trunk@33024 -
2016-01-29 15:32:33 +00:00
svenbarth
b525cecad8 - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) )
(Note: adjusted merge info as in my packages branch there is a less complete commit for this)

git-svn-id: trunk@33023 -
2016-01-29 14:51:15 +00:00
pierre
6b1c604cb5 Add -I, --interactive option to fpmkunit using new poPassInput TProcess option, allows to use gppc386 with fpmake
git-svn-id: trunk@33022 -
2016-01-29 14:41:40 +00:00
pierre
6c0d2f1b36 Handle poPassInput to be able to handle interactive processes for Windows and Unix systems
git-svn-id: trunk@33021 -
2016-01-29 14:39:41 +00:00
pierre
e1736933fe Add poPassInput to be able to handle interactive processes
git-svn-id: trunk@33020 -
2016-01-29 14:38:35 +00:00
svenbarth
a3871c9d30 Fix compilation of fcl-process on WinCE
packages/fcl-process/src/winall/simpleipc.inc:
  * a WndProc needs to be declared as cdecl
  * WinCE does not provide Get-/SetWindowLongPtr() as it's 32-bit only anyway, so Get-/SetWindowLong() needs to be used

git-svn-id: trunk@33019 -
2016-01-29 14:37:36 +00:00
svenbarth
e15e80ab1f Fix for Mantis #29499.
wince/wininc/struct.inc:
  * the Windows unit of WinCE is compiled with $calling cdecl, but cdecl functions don't support high parameters, thus we need to adjust the calling convention when including the typshrd*.inc files

git-svn-id: trunk@33018 -
2016-01-29 14:32:59 +00:00
pierre
aa293d9465 Fix last commit by raise Compilation failure again in finally block in CompileBuildUnit procedure
git-svn-id: trunk@33017 -
2016-01-29 07:43:25 +00:00
pierre
5e47be4cd5 * Use also 3 retries for mswindows implementation of SysDeleteDirectory
* Do not delete Build_unit_PACKAGE if compilation fails to allow easieer debugging

git-svn-id: trunk@33016 -
2016-01-28 21:34:28 +00:00
pierre
315ce0447b Fix compilation with range check on by redefining tat array in ClearComments procedure
git-svn-id: trunk@33015 -
2016-01-28 17:14:11 +00:00
pierre
d081d9fdc0 Fix cycle for x86_64-win64 target with -Cr option
git-svn-id: trunk@33014 -
2016-01-28 15:07:40 +00:00
pierre
9881125ba1 Fix NtpGetHeapProcess for Win64 system
git-svn-id: trunk@33013 -
2016-01-28 15:06:39 +00:00
pierre
1e5883b6d1 Avoid overflow error for single MinValue in rtl syshelph.inc for x86_64 CPU
git-svn-id: trunk@33012 -
2016-01-28 14:20:51 +00:00
marco
1d5e9ba35f * removed deprecated props
git-svn-id: trunk@33011 -
2016-01-27 15:39:50 +00:00
pierre
f9011289b5 * Fix default OS target for i386 and sparc processor on solaris OS
git-svn-id: trunk@33010 -
2016-01-27 15:32:55 +00:00
pierre
aec9ef1b70 Fix StackTop computation by using StackTopPtr variable set in _start code
git-svn-id: trunk@33009 -
2016-01-27 13:50:02 +00:00
pierre
3de617c79e Fix phdr pointer increment and use envp variable from system unit for Solaris operating system
git-svn-id: trunk@33008 -
2016-01-27 10:47:16 +00:00
pierre
90359bcb3c Add code to find base address in unix ELF aux vector above enviroment in startup stack
git-svn-id: trunk@33007 -
2016-01-26 14:44:31 +00:00
nickysn
c2b0256869 - don't define 'CPU8086' on the i8086 target, because it clashes with the
selected instruction set define (CPU8086/CPU80186/CPU80286, etc.)
  For a generic i8086 target define, 'CPUI8086' should be used instead of
  'CPU8086'.

git-svn-id: trunk@33006 -
2016-01-26 00:33:02 +00:00
yury
3597519087 * pas2jni: Fixed handling of global procvars.
git-svn-id: trunk@33005 -
2016-01-25 15:43:12 +00:00
Jonas Maebe
f54c3dc523 * re-enabled SEM_GETNCNT..SEM_SETALL for Darwin, after they were disabled
when AIX support was added. Not sure why that happened (mantis #29495)

git-svn-id: trunk@33004 -
2016-01-24 21:37:40 +00:00
florian
8b4a392863 * compilation fixed
git-svn-id: trunk@33003 -
2016-01-24 16:52:49 +00:00
florian
5aabe71aee * better throw an internalerror in TAoptBase.RegLoadedWithNewValue instead of trying to make a safe approximation
git-svn-id: trunk@33002 -
2016-01-24 16:24:45 +00:00
florian
1cb91cc7bb * forgotten commit to redir.ExecuteProcess
git-svn-id: trunk@33001 -
2016-01-24 15:25:59 +00:00
florian
1266491085 o refactored some peephole optimizer code:
* updated TAOptObj.RegUsedAfterInstruction with the arm implementation and removed the arm specific implementation
  * RegLoadedWithNewValue and InstructionLoadsFromReg are now a methods of TAoptBase
  * moved RegEndOfLife to TAOptObj
* during this refactoring, fixed also TCpuAsmOptimizer.RegLoadedWithNewValue for arm regarding post/preindexed 
  memory references: those modify the register but do not load it with a new value in the sense of RegLoadedWithNewValue

git-svn-id: trunk@33000 -
2016-01-24 15:25:16 +00:00
michael
273f88a54c * Remove redundant files
git-svn-id: trunk@32999 -
2016-01-24 15:18:25 +00:00
michael
e7a722cdd9 * Patch from Ondrej Pokorny to make Trect methods more Delphi compatible (Bug ID 29479)
git-svn-id: trunk@32998 -
2016-01-24 15:16:18 +00:00
michael
7d4905470d * Fix compilation (doubled code due to patch ?)
git-svn-id: trunk@32997 -
2016-01-24 14:24:34 +00:00
marcus
e8cb0d0415 arosunits: Removed Objfpc in all units, changed "array of const" to "array of PtrUInt"
git-svn-id: trunk@32996 -
2016-01-24 14:00:54 +00:00
florian
356ab8f63d + test/example programs for WaitOnExit with time out
git-svn-id: trunk@32995 -
2016-01-24 13:55:51 +00:00
michael
ec6ab0233b * Patch from Denis Kozlov to merge all Windows versions into 1 (Bug ID 29496)
git-svn-id: trunk@32994 -
2016-01-24 13:40:45 +00:00
florian
2466b58095 * improved TProcess.WaitOnExit with timeout implementation to use fpGetTimeOfDay to work more precise
git-svn-id: trunk@32993 -
2016-01-24 13:21:31 +00:00
florian
2e506ec4ac * Redir.ExecuteProcess uses TProcess.WaitFor with timeout for FPC > 3.0
git-svn-id: trunk@32992 -
2016-01-24 09:39:23 +00:00
florian
bdbdee6acf + TProcess.WaitForExit implementation with timeout
git-svn-id: trunk@32991 -
2016-01-24 09:38:01 +00:00
svenbarth
d2a7f17d8c Fix for Mantis #29372.
compiler/ncgcal.pas:
  * tchcallnode.release_para_temps: don't release temps of a constructor's self parameter

+ added test

git-svn-id: trunk@32990 -
2016-01-23 22:19:00 +00:00
michael
c97504da86 * Patch from Denis Kozlov to use *W functions (preparation for use on WinCE)
git-svn-id: trunk@32989 -
2016-01-22 23:28:15 +00:00
michael
2b1b4a0899 * Patch from Tony Whyman to implement single registry instance (allows multiple simultaneous TRegistry instances to operate synchronously (Bug ID 29472)
git-svn-id: trunk@32988 -
2016-01-22 23:21:48 +00:00
michael
46315176f4 * Patch from Silvio Clecio implementing TFPGMapObject (Bug ID 29438)
git-svn-id: trunk@32987 -
2016-01-22 23:07:05 +00:00
michael
702dd7f31f * Forgot to commit, part of Inoussas update of unicode tables
git-svn-id: trunk@32986 -
2016-01-22 22:58:51 +00:00