Commit Graph

12394 Commits

Author SHA1 Message Date
pierre
ded1fb23a2 Improve stack trace output with -Cr option, contributed by Colin Western
git-svn-id: trunk@36134 -
2017-05-06 13:54:50 +00:00
pierre
eb378c1b94 Replace __tls_used for win64 by an alias of _tls_used
git-svn-id: trunk@36120 -
2017-05-05 14:27:04 +00:00
pierre
d2d1794b40 Use HandleError instead of RunError in fpc_help_destructor, fpc_check_object and fpc_check_object_ext
git-svn-id: trunk@36113 -
2017-05-05 11:49:16 +00:00
pierre
579b8dafd2 Do not call initunicodestringmanager if unicodestrings feature is disabled
git-svn-id: trunk@36110 -
2017-05-05 08:01:45 +00:00
pierre
7d0d41be4b Allow msdos RTL compilation with -Sfnodynlibs
git-svn-id: trunk@36108 -
2017-05-04 22:54:53 +00:00
pierre
78343902bf Allow objpas classes and sysutils units to compile with threading support disabled
git-svn-id: trunk@36107 -
2017-05-04 22:13:11 +00:00
pierre
651f8b17c1 Add minimum type/const for RTL compilation with threading support disabled
git-svn-id: trunk@36106 -
2017-05-04 22:12:17 +00:00
pierre
6c43882cf5 Allow compilation with -Sfnothreading
git-svn-id: trunk@36092 -
2017-05-04 21:18:22 +00:00
yury
2ae3ce79bb * ARM: Never use the "BLX label" instruction. Use "BL label" instead.
The linker will always change BL to BLX if necessary, but not vice versa (linker version dependent).
  "BLX label" ALWAYS changes the instruction set. It changes a processor in ARM state to Thumb state,
  or a processor in Thumb state to ARM state.

git-svn-id: trunk@36086 -
2017-05-04 15:55:55 +00:00
florian
bfca9d3477 * avr I/O space is always shifted by 32 bytes in memory
git-svn-id: trunk@36064 -
2017-05-02 19:51:22 +00:00
nickysn
056e742684 + enable the internal 8-bit and 16-bit sar on i8086
git-svn-id: trunk@36032 -
2017-05-01 12:36:36 +00:00
marco
5d317a4e46 * manual CSE for fcomponents[i] in FindComponent, mantis #31628
git-svn-id: trunk@35946 -
2017-04-25 11:34:25 +00:00
michael
e4184e0561 * Patch from Denis Kozlov to fix find in case of non-sorted list
git-svn-id: trunk@35942 -
2017-04-24 20:52:41 +00:00
michael
ac207e867b * Fix bug ID #30952
git-svn-id: trunk@35900 -
2017-04-22 12:40:51 +00:00
michael
5cd12a2521 * Better m/mm format specifier docs (bug ID 31449)
git-svn-id: trunk@35892 -
2017-04-22 10:02:29 +00:00
michael
011a88b1fe * Remove mode objfpc (bug ID 31629)
git-svn-id: trunk@35886 -
2017-04-22 08:53:13 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
marco
5a8578cfaa * dword -> dword_ptr in sendmessagetimeout (3x), mantis #31661
git-svn-id: trunk@35792 -
2017-04-14 15:52:03 +00:00
nickysn
b14f277e8f + use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on
platforms that don't have native 64-bit implementation of the corresponding
  64-bit shift/rotate operation

git-svn-id: trunk@35787 -
2017-04-13 15:24:32 +00:00
nickysn
f514657e45 + implemented the sar/shl/shr/rol/ror inline modify-in-place nodes; the actual
optimization of "i:=i shl/shr k", etc statements is not performed yet

git-svn-id: trunk@35780 -
2017-04-12 00:41:15 +00:00
nickysn
256dc546ac + implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
be used (TBD in a future commit) for optimizing x:=-x and x:=not x on CPUs
  that support performing these operations directly in memory (such as x86)

git-svn-id: trunk@35749 -
2017-04-07 16:02:40 +00:00
nickysn
321876252b + enabled the rol/ror intrinsic on i8086
git-svn-id: trunk@35734 -
2017-04-04 22:37:58 +00:00
maciej-izak
322720236c + added missing dwarf constants: DW_FORM_sec_offset, DW_FORM_exprloc and DW_FORM_flag_present
git-svn-id: trunk@35717 -
2017-04-03 10:42:27 +00:00
nickysn
fc59649a98 + added inline nodes for handling and/or/xor in place (i.e. x:=x op y, where
op=and/or/xor). They generate more optimal code on certain architectures
  (including x86). The new inline nodes aren't generated by the compiler yet,
  but will be used in the future, at certain optimization levels, whenever the
  pattern x:=x op y is detected by the compiler.

git-svn-id: trunk@35666 -
2017-03-26 23:16:53 +00:00
marco
a2d397c064 * pmethod declaration, patch from mantis #31576 by Silvio
git-svn-id: trunk@35632 -
2017-03-20 21:19:20 +00:00
michael
cd03ec93fe * Patch from Karl-Michael Schindler (Bug ID 30402)
git-svn-id: trunk@35622 -
2017-03-18 18:11:18 +00:00
michael
68bb9bef2c * Optimize fpc_AnsiStr_Compare to not use exception frame unless codepages differ
git-svn-id: trunk@35620 -
2017-03-18 14:38:50 +00:00
michael
2714a06e77 * Small optimization for comparing nil strings.
git-svn-id: trunk@35619 -
2017-03-18 14:22:57 +00:00
michael
5bbf299c22 * Fix bug #31555, disbablefile locking
git-svn-id: trunk@35611 -
2017-03-17 07:58:59 +00:00
michael
c213a4187a * Fix bug ID #21458
git-svn-id: trunk@35607 -
2017-03-16 13:48:38 +00:00
marcus
824cabd203 Fixed textractquote regression after r35598
git-svn-id: trunk@35604 -
2017-03-16 08:04:38 +00:00
michael
ae6b9652fc * Avoid exception frame in ansistring compare for cases where codepage is equal
git-svn-id: trunk@35603 -
2017-03-15 22:02:29 +00:00
michael
e2d704cc8d * Small optimization in CompareStr as suggested in bug ID #30777
git-svn-id: trunk@35601 -
2017-03-15 21:30:19 +00:00
michael
0ee31963ed * explicit check for Nil in AnsiExtractQuotedString (bug 31212)
git-svn-id: trunk@35598 -
2017-03-15 18:05:39 +00:00
pierre
7853c23a0e Fix compilation after commit 35566: change sysctl name parameter type to pcint
git-svn-id: trunk@35573 -
2017-03-12 21:00:41 +00:00
florian
1b371b15e3 * make webtbs/tw30535 also working on OSes using cthreads
git-svn-id: trunk@35570 -
2017-03-12 09:28:41 +00:00
florian
bb8b8f2eae * do not set IsMultithread on windows, if no second thread is started, resolves #30535
git-svn-id: trunk@35567 -
2017-03-11 21:35:48 +00:00
marco
ec3aa1f56a * change sysctl name parameter type to pcint as per manpage. Param names already conform to manual page names, so not changed
mantis #31515

git-svn-id: trunk@35566 -
2017-03-11 16:23:02 +00:00
michael
4f02942b55 * Fix bug #31526, missing FixedInt FixedUInt from Delphi Berlin
git-svn-id: trunk@35560 -
2017-03-11 09:26:57 +00:00
yury
3d1c988d02 * android: Use proper code page when calling a fallback implementation.
git-svn-id: trunk@35556 -
2017-03-09 22:14:38 +00:00
marco
46cd3181e4 * fix typo sysctlNAMEtomib, mantis #31515 by Heiko
git-svn-id: trunk@35548 -
2017-03-09 15:18:57 +00:00
marco
6166215174 * make istream signedness equal to MSDN and modern delphi. Denis Kozlov,
mantis #31473

git-svn-id: trunk@35542 -
2017-03-08 15:05:11 +00:00
Károly Balogh
14ba99ea09 netbsd: bits of the m68k support I started to hack together. non functional yet.
git-svn-id: trunk@35501 -
2017-03-01 17:26:23 +00:00
svenbarth
74386d444b * use correctly prefixed variant of tls_used (Win64 does not have a C prefix)
git-svn-id: trunk@35493 -
2017-02-28 20:39:36 +00:00
nickysn
2fbe5d2a8b * use ObjpasInt instead of longint in fpc_shortstr_currency (generates shorter
and more efficient code on 16 and 8-bit targets)

git-svn-id: trunk@35484 -
2017-02-27 01:29:52 +00:00
michael
cc81abdd83 * Patch from Michal Gawrycki to implement streaming interface properties (IComponent) Bug ID
git-svn-id: trunk@35474 -
2017-02-22 21:14:35 +00:00
Jonas Maebe
1b42affa8f * optimized PowerPC version of changes in r35454
git-svn-id: trunk@35458 -
2017-02-19 20:27:39 +00:00
florian
7213a13081 * split fpc_mul_<64 bit> into separate procedures with and without overflow checking
git-svn-id: trunk@35454 -
2017-02-19 19:15:14 +00:00
maciej-izak
3900ccf260 * Rename RecordOp to ManagementOp (more relevant name)
git-svn-id: trunk@35453 -
2017-02-19 18:06:54 +00:00
maciej-izak
4154b4ca8a * Call management operators also for records with zero-size. For that purpose was changed function RTTISize. New name for RTTISize is RTTISizeAndOp. RTTISizeAndOp can return size of required type and information about existing management operators for that type in current context (to determine context is used enum TRTTIRecOpType which is passed also as parameter in RTTISizeAndOp). RTTISizeAndOp is used in fpc_initialize_array, fpc_finalize_array, fpc_addref_array and CopyArray.
git-svn-id: trunk@35451 -
2017-02-19 13:20:43 +00:00