symdef.pas, tstoreddef:
* deref: don't free the deref list and it's entries as deref() might be called again when the unit reloaded a second time
git-svn-id: trunk@33054 -
with envp (fixes bug in fix from r32528, mantis #29587 for FPC 3.0.x
-- FPC 3.1.1+ uses si_*.inc instead, which already works correctly)
git-svn-id: trunk@33045 -
* also made lnfodwrf dependent on lineinfo for all platforms,
because both units implicitly depend on the exeinfo unit
and if both are compiled at the same time they can fall
over each other while writing its .ppu or .s file
git-svn-id: trunk@33039 -
htypechk.pas, tcallcandidates:
* create_candidate_list: don't check whether the pd is a specialization if the owner is valid; happens if a generic method is used more than once (which should happen here and then :P )
+ added test
git-svn-id: trunk@33037 -
The result type of the intrinsic is determined by the Then-expression to provide a bit of control. There might however be some situations in which this fails, for this exceptions need to be added (e.g. a constant string needs to be converted to a normal string).
compinnr.inc:
+ add new constant in_ifthen_x_y_z for the IfThen() intrinsic
psystem.pas:
+ create_intern_symbols: add symbol for IfThen() intrinsic
pexpr.pas:
* statement_syssym: parse parameters of IfThen() intrinsic and return corresponding inline node
ninl.pas, tinlinenode:
+ new method handle_ifthen() which converts the inline node to an if-node which assigns the expressions to a temp node that is returned
* pass_typecheck: handle in_ifthen_x_y_z using handle_ifthen()
* pass_1: in_ifthen_x_y_z does not need a first pass as it's already converted after the typecheck pass
+ added tests
git-svn-id: trunk@33036 -
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 -
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 -
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 -
+ 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 -
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 -
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 -
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 -