nickysn
d0fa5fff8c
* use Tai_const.Create_nil_dataptr in TVMTWriter.intf_gen_intf_ref for writing the nil value for the GUID ptr of Corba interfaces
...
git-svn-id: trunk@25201 -
2013-07-31 15:18:13 +00:00
nickysn
875e676441
* use Create_nil_dataptr in objectdef_rtti_class_full() when writing the current vmt address for objects that have no vmt
...
git-svn-id: trunk@25200 -
2013-07-31 15:10:46 +00:00
nickysn
a000d65447
* use Taiconst.Create_nil_codeptr when writing nil values for abstract methods in TVMTWriter.do_gen_published_methods
...
git-svn-id: trunk@25199 -
2013-07-31 14:51:18 +00:00
marco
0c3f9d73c9
* old comment removed. closesocket is considered stable now.
...
git-svn-id: trunk@25198 -
2013-07-31 07:54:58 +00:00
Tomas Hajny
9c68645784
* more complete fix for bug #24802 (use SocketClose instead of FileClose on all platforms)
...
git-svn-id: trunk@25197 -
2013-07-31 00:32:25 +00:00
Tomas Hajny
2015c55bf1
+ additional constants added to unit sockets to make it more complete and improve compatibility with implementation for other platforms
...
git-svn-id: trunk@25196 -
2013-07-31 00:14:09 +00:00
nickysn
259bb5421e
* tobjectdef.vmtmethodoffset updated to take into account the current i8086 memory model code pointer size
...
git-svn-id: trunk@25195 -
2013-07-30 23:26:34 +00:00
nickysn
b85f87620c
* use Tai_const.Create_nil_dataptr for creating the nil pointers located before the method table in the class vmt
...
git-svn-id: trunk@25194 -
2013-07-30 23:09:52 +00:00
nickysn
0bdd9db7a2
* terminate the list of virtual method pointers in the vmt with Tai_const.Create_nil_codeptr
...
git-svn-id: trunk@25193 -
2013-07-30 23:04:25 +00:00
nickysn
728e8c62a7
* virtual method pointers in the objpas.TVmt record declared as codepointer; the vmtXXX constants also fixed
...
git-svn-id: trunk@25192 -
2013-07-30 23:02:32 +00:00
nickysn
9b364f4989
* use Tai_const.Create_nil_dataptr instead of Tai_const.Create_sym(nil) when writing nil for the parent vmt pointer
...
git-svn-id: trunk@25191 -
2013-07-30 22:48:05 +00:00
Tomas Hajny
c8221c4196
* fix breakage of the OS/2 RTL
...
git-svn-id: trunk@25190 -
2013-07-30 22:43:23 +00:00
Károly Balogh
614afca755
ARM: try to inline 64bit multiplication for the most common cases instead of calling FPC_MUL_ helpers (results in 5-10x speedup)
...
git-svn-id: trunk@25189 -
2013-07-30 14:40:50 +00:00
Jonas Maebe
fcbc435435
* only call findclose if findfirst succeeded
...
git-svn-id: trunk@25188 -
2013-07-30 13:39:32 +00:00
marco
ba263f162b
* call closesocket for mswindows instead of fileclose. Probably needs to be checked for Amiga and OS/2 too.
...
git-svn-id: trunk@25187 -
2013-07-30 13:38:16 +00:00
sergei
1f8a67f552
+ Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil.
...
* For common symbols, report objdata of the original ObjSymbol, not of the resolving one, so the map file shows where it comes from.
+ TElfExeOutput.OrderOrphanSections method, handles object sections not mentioned in script similar to ld.
- t_linux.pas: removed sections that are not part of ld scripts, they are now handled by OrderOrphanSections.
git-svn-id: trunk@25184 -
2013-07-30 09:23:48 +00:00
nickysn
42e82c9de3
* when a i8086 reference uses only one register, choose it from the set [BX,BP,SI,DI] as it can be treated either as a base or an index, depending on what's convenient
...
git-svn-id: trunk@25183 -
2013-07-29 21:03:10 +00:00
sergei
5b6e50c9da
* It is incorrect to use var_align() in linker code: it depends on current_settings.alignment, which is valid only while compiling, not while linking. Replaced with size_2_align().
...
git-svn-id: trunk@25182 -
2013-07-29 15:51:30 +00:00
sergei
e7f6b06969
+ MIPS internal linker: support TLS IE/LE and GPREL32 relocations, is now able to link tw14265.
...
git-svn-id: trunk@25181 -
2013-07-29 09:30:40 +00:00
sergei
11b72b5515
x86_64 internal ELF linker:
...
* Split generation of regular and TLSIE GOT entries. Although code for both is similar to some extent, mixing them in a single method turns it into spaghetti.
* Several fixes to content and dynamic relocations of TLSIE entries.
git-svn-id: trunk@25180 -
2013-07-29 08:34:00 +00:00
michael
db0585f388
* Clear request/response variables in case of an error
...
git-svn-id: trunk@25179 -
2013-07-29 08:16:59 +00:00
joost
5459dc4401
* Fix for selecting OneByOne mode
...
git-svn-id: trunk@25178 -
2013-07-28 22:36:46 +00:00
florian
c2f7ccb253
* coalesce more aggressive
...
git-svn-id: trunk@25177 -
2013-07-26 19:06:20 +00:00
sergei
70dda94474
* x86_64-win64: don't allocate outgoing parameter area in nostackframe procedures, it fails compilation if range/overflow/etc checking is enabled (which always sets pi_do_call) due to check introduced in r22677.
...
git-svn-id: trunk@25176 -
2013-07-26 10:24:31 +00:00
svenbarth
53ea24a0b1
Correctly specialize generics if locally declared types are used (e.g. two procedures could both define a different "TRec" type which is used to specialize a generic inside the procedures).
...
symtype.pas, tdef:
+ add method "fullownerhierarchyname" which allows to retrieve the owner hierarchy name including procedure/function/method names
+ add method "fulltypename" which uses "fullownerhierarchyname" to return a full type name
symdef.pas, tstoreddef:
* implement "fullownerhierarchyname" (including caching of the result)
pgenutil.pas, parse_generic_specialization_types_internal:
* use "tdef.fulltypename" instead of "tdef.typename" to have unique values for each parsed type and thus for the specialization itself
+ tests
git-svn-id: trunk@25175 -
2013-07-26 09:02:24 +00:00
lacak
a4ef523461
fcl-db: base: for UniDirectional DataSet initialize BufferCount=1; + adapt also test (checked with Delphi, where for UniDirectional sql dataset (f.e.TSQLTable) on Next is also generated deDataSetScroll:-1 not deDataSetScroll:0)
...
git-svn-id: trunk@25174 -
2013-07-26 07:34:07 +00:00
lacak
6fca40b729
fcl-db: base: formatting (unification char-case)
...
git-svn-id: trunk@25173 -
2013-07-26 07:14:12 +00:00
florian
6f5bcaae2b
* UMUL et al. have only register restrictions on arm below v6
...
git-svn-id: trunk@25171 -
2013-07-24 20:18:12 +00:00
sergei
404c3efa58
* MIPS: handle get_frame internally, so it sets pi_needs_stackframe flag on current procedure. This makes possible not to force pi_needs_stackframe on every procedure and thus omit saving/restoring $fp register when it is not necessary.
...
git-svn-id: trunk@25170 -
2013-07-24 15:25:12 +00:00
marco
b33431775f
* workaround for Lazarus include file browsing bug (Mantis #24778 ).
...
Committed because it is very unintrusive and actually improves the style
of the unit, though in essence it is a lazarus problem.
git-svn-id: trunk@25168 -
2013-07-24 14:24:36 +00:00
Jonas Maebe
832b902df6
* ordered the declarations the same was as in bunxh.inc, so it's easier
...
to see what's missing
+ added missing declarations for fpexecv (causing an unnecessary
slowdown in executeprocess due to it calling the ansistring overload),
fplink, fpwait and fpsetrlimit
* changed sigset parameters of FpSigSuspend and FpSigTimedWait from const
into constref, since they must be passed by reference
git-svn-id: trunk@25167 -
2013-07-24 13:49:35 +00:00
lacak
59b2c38530
fcl-db: sqldb: formatting
...
git-svn-id: trunk@25166 -
2013-07-24 11:02:02 +00:00
lacak
bc7fd7afa8
fcl-db: sqldb: - Move private method "GetStatementInfo" to protected and make it virtual to allow TSQLConnection descendants override it
...
- Rename new property "CheckParams" to "ParamCheck" to align with other components such as Zeos, IBObjects, IBX, ADODB, ElevateDB, SQLMemTable and many others.
git-svn-id: trunk@25165 -
2013-07-24 10:40:08 +00:00
Jonas Maebe
35b771e421
* previously, we preferred pchar->shortstring to pchar->ansistring in
...
case of {$h-}. Now this is no longer done because it caused
pchar->ansistring and pchar->unicodestring to have the same
overload preference, which regularly caused problems with the
added unicodestring overloads in the RTL in the cpstrrtl branch.
* fixed tw3328.pp (it was missing a {$mode delphi}), which failed
before this patch but compiles new
+ extra variants of that test for the compiler changes
git-svn-id: trunk@25164 -
2013-07-24 09:39:34 +00:00
lacak
7e137889ff
fcl-db: tests: formatting (reorder methods, so related tests are together)
...
git-svn-id: trunk@25163 -
2013-07-23 11:11:24 +00:00
sergei
b0153f1482
* RTL, fpc_val_int64_shortstr and fpc_val_qword_shortstr: variable 'u' does not have to be 64-bit because it only takes values 0 to 15. Changing to sizeint improves code quality on 32-bit targets.
...
* fpc_val_uint_shortstr and fpc_val_qword_shortstr: variable 'prev' is not needed, removed.
* ShortCompareText: variable 'i' type changed from integer to sizeint; integer is 16-bit here, resulting in suboptimal code on non-x86.
git-svn-id: trunk@25159 -
2013-07-22 10:13:03 +00:00
nickysn
6daadff427
* compilation of unit objects in the i8086 medium memory model fixed (via the use of codepointer)
...
git-svn-id: trunk@25158 -
2013-07-21 17:43:44 +00:00
Jeppe Johansen
d89b9a4311
Add support in ARM assembler reader for ldr reg, =literal syntax
...
git-svn-id: trunk@25157 -
2013-07-21 16:06:57 +00:00
Jeppe Johansen
fdcc68cfd7
Disabled preindex/postindexed peephole optimizations for Thumb and Thumb2
...
git-svn-id: trunk@25156 -
2013-07-21 14:21:16 +00:00
Jeppe Johansen
0977d76f42
Mark global symbols with assembler references as non-regable
...
git-svn-id: trunk@25155 -
2013-07-21 13:41:10 +00:00
sergei
dddc78514d
* Internal ELF linker: for MIPS targets, place .got section after .data. This corresponds to behavior of ld, and reduces amount of processing when adding GOT slots for local symbols (which requires re-doing layout for all sections that come after .got)
...
git-svn-id: trunk@25154 -
2013-07-21 13:10:57 +00:00
nickysn
4953fd0bb0
* use CodePointer in Classes.TReader.FindMethod() and TFindMethodEvent for i8086 medium memory model compatibility
...
git-svn-id: trunk@25153 -
2013-07-20 22:10:22 +00:00
nickysn
ef2423128f
* use CodePointer instead of Pointer in TObject.MethodName() and .MethodAddress() for i8086 medium memory model compatibility
...
git-svn-id: trunk@25152 -
2013-07-20 22:08:38 +00:00
nickysn
2e97de9522
+ added an i8086 specific override of thlcgcpu.location_force_mem, which handles 6-byte (medium/compact memory model) method pointers
...
git-svn-id: trunk@25151 -
2013-07-20 19:40:27 +00:00
nickysn
f5a0702f9a
+ added i8086 specific implementation of Tcgtypeconvnode.second_nil_to_methodprocvar, which supports memory models with far code and/or far data
...
git-svn-id: trunk@25150 -
2013-07-20 16:58:41 +00:00
nickysn
91d7b2bc94
+ added i8086 medium/compact model 6-byte (mixed near + far) method pointer support in tcgloadnode and tcgassignmentnode
...
git-svn-id: trunk@25149 -
2013-07-20 15:06:14 +00:00
sergei
8e6d4b41e2
+ MIPS: started the peephole optimizer.
...
git-svn-id: trunk@25148 -
2013-07-20 13:44:21 +00:00
sergei
9494fadf08
* MIPS: set pi_do_call flag for assembler procedures with stackframes, so in PIC mode it further receives pi_needs_got in PIC mode and allocates the GP save temp.
...
* Deallocate GP save temp in epilogue to avoid warnings when compiled with -dEXTDEBUG
* g_concatcopy: don't check alignment, this allows single byte or word locations to be copied with 2 instructions. Larger unaligned references are supposed to be handled in g_concatcopy_unaligned instead.
git-svn-id: trunk@25147 -
2013-07-20 13:42:41 +00:00
Károly Balogh
4df92ddc08
dummy GetLastOSerror to make fcl-whatever build, and header cleanup/fixes
...
git-svn-id: trunk@25146 -
2013-07-19 22:55:44 +00:00
Károly Balogh
4f041157c4
build ctypes on Amiga too
...
git-svn-id: trunk@25145 -
2013-07-19 22:54:34 +00:00