Commit Graph

49730 Commits

Author SHA1 Message Date
sergei
d5ffc2da97 * Force OPR_LOCAL operand into reference whenever subscripting is used, so that all record fields are handled in same way regardless of their offset. Previously, operand was changed to reference only by fields with non-zero offset (see logic in tcgasmnode.ResolveRef method).
git-svn-id: trunk@34911 -
2016-11-18 05:56:12 +00:00
Tomas Hajny
1e6ee7f3c7 * fix remaining search handle leaks in Dos.FSearch - fix for bug #30896
git-svn-id: trunk@34910 -
2016-11-17 22:05:17 +00:00
florian
67570a6262 + patch to support assigning class procedures to procedure variables by Ondrej Pokorny, resolves #30936
+ additional tests

git-svn-id: trunk@34909 -
2016-11-17 19:40:42 +00:00
sergei
4ddbb7cd26 * Fixed assembler blocks to comply with x86_64 ABIs, which normally do not allow to change stack pointer at arbitrary locations. Register RBX is now saved/restored by compiler in function prologue, due to its presence in list of modified registers.
git-svn-id: trunk@34908 -
2016-11-17 10:58:10 +00:00
florian
78e945d471 - removed accidently added debug statement
git-svn-id: trunk@34907 -
2016-11-16 20:49:58 +00:00
pierre
a4f361ad50 Fix error in header line used by dotest, use %target instead of %os
git-svn-id: trunk@34906 -
2016-11-16 09:29:21 +00:00
michael
d55ed2a3fd * CamelCase for Top/Left properties (bug ID 30413)
git-svn-id: trunk@34905 -
2016-11-16 07:57:57 +00:00
florian
3f072b3e29 * workaround for issue #30348, FPC allowes now 65535 sections in coff object files, but as the section index is normally signed, this is only a dirty workaround
git-svn-id: trunk@34904 -
2016-11-15 22:06:00 +00:00
michael
8e3381b4bc Fix bug #30930
git-svn-id: trunk@34903 -
2016-11-15 20:15:33 +00:00
sergei
b4904deea8 * MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552.
git-svn-id: trunk@34902 -
2016-11-15 20:04:27 +00:00
marcus
f3d080f57a AROS: improve ARM-startupcode with Alloc own stack, if OS stack is too small
git-svn-id: trunk@34901 -
2016-11-15 19:33:46 +00:00
lacak
ae509ecd15 fcl-db: base: initialize local variable to zero. Bug #30928
git-svn-id: trunk@34900 -
2016-11-15 11:56:23 +00:00
pierre
a82a134be8 * Set REVSTR to empty if 'svnversion -c .' outputs 'exported'
git-svn-id: trunk@34899 -
2016-11-14 10:57:49 +00:00
Jonas Maebe
e1e3ad15f0 * escape all occurrences of '$' in function-level inline assembly
o temporarily encode the uses of '$' for references to function-level inline
     assembly arguments as '^', because those have to remain/become a single
     '$'

git-svn-id: trunk@34898 -
2016-11-13 22:10:00 +00:00
Jonas Maebe
43e599d6be * fixed function-level inline assembly constraints in case there are no
parameters

git-svn-id: trunk@34897 -
2016-11-13 22:09:57 +00:00
florian
6d6a45c034 * add/sub nodes with nf_internal set should not do overflow checking, resolves #30889
* do not convert succ/pred into add/sub nodes if nf_internal is set

git-svn-id: trunk@34896 -
2016-11-13 21:18:39 +00:00
marcus
3207a346e1 AROS: arm needs AROS_FLAVOUR_BINCOMPAT defines
git-svn-id: trunk@34895 -
2016-11-13 21:05:12 +00:00
Jonas Maebe
0117602b6e * reset unitimportsymsderefs in tppumodule.reset, hopefully fixes
mantis #30289 (no feedback)

git-svn-id: trunk@34894 -
2016-11-13 16:42:04 +00:00
Jonas Maebe
7a57161b6d * in x:=f(..), we only checked for aliasing between x and any parameters of
f(..) before using x directly as function result for f(..) (instead of a
    temp) in case the function result of temp is passed via a hiddel
    call-by-reference parameter. After all, if the result is returned by
    value, then any changes to the function result inside the callee code
    won't affect whatever we will assign the result to until the callee
    has returned. However, this is not true in case of inlining: then
    the replaced function result node will be substituted directly in the
    inlined code -> also check for aliasing in that case.
   o fixes test/toperator5.pp on x86-64

git-svn-id: trunk@34893 -
2016-11-13 16:06:35 +00:00
Jonas Maebe
c3aa9e2890 * generate LLVM function-level inline assembly blocks, replacing
references to local variables and parameters with references to
    assembler block constraints/parameters

git-svn-id: trunk@34892 -
2016-11-13 16:06:32 +00:00
Jonas Maebe
c4ae040258 + support for writing LLVM function-level inline assembly blocks
git-svn-id: trunk@34891 -
2016-11-13 16:06:29 +00:00
Jonas Maebe
f3409b4c9d + new la_asm LLVM pseudo-instruction to represent function-level inline
assembly blocks

git-svn-id: trunk@34890 -
2016-11-13 16:06:26 +00:00
Jonas Maebe
d2873e433e + top_asmlist operand type for LLVM inline assembly "call" instructions
git-svn-id: trunk@34889 -
2016-11-13 16:06:23 +00:00
Jonas Maebe
1c23218375 * pass the parameter list directly to getparas()
git-svn-id: trunk@34888 -
2016-11-13 16:06:20 +00:00
Jonas Maebe
bdfd588b47 * free the temporary assembler writer created for writing the code of pure
assembler routines

git-svn-id: trunk@34887 -
2016-11-13 16:06:17 +00:00
Jonas Maebe
b28221349e - removed aoptcs unit and (dummy) units that used it
o remenants of a long abandoned attempt at adding a generic
     assembler CSE optimiser

git-svn-id: trunk@34886 -
2016-11-13 16:06:14 +00:00
florian
9bff3ac624 * copy also pushedparasize when copying call nodes, resolves #30923
git-svn-id: trunk@34885 -
2016-11-13 14:46:55 +00:00
michael
8b2d858ba5 * Fix bug ID #30672, patch by Silvio Clecio
git-svn-id: trunk@34884 -
2016-11-13 11:02:09 +00:00
michael
1415d86f86 * String of length 1 is character (bug ID 30723)
git-svn-id: trunk@34883 -
2016-11-12 22:59:18 +00:00
michael
58d0239558 * Fix some bordercases for if..then (bug ID 30717)
git-svn-id: trunk@34882 -
2016-11-12 22:47:14 +00:00
michael
62e8807ebd * Handle DispID methods (bug ID 30782)
git-svn-id: trunk@34881 -
2016-11-12 22:24:20 +00:00
michael
16d8435fde * Fix generic as record field name, bug ID #30718
git-svn-id: trunk@34880 -
2016-11-12 22:07:15 +00:00
michael
5d4f605a39 * Fix bug #30720, } is processed wrongly when scanning and PPIsSkipping
git-svn-id: trunk@34879 -
2016-11-12 21:55:43 +00:00
michael
1f498123c6 * ReadOnly DispID property (bug 30780)
git-svn-id: trunk@34878 -
2016-11-12 21:25:57 +00:00
marco
1458243b33 * fix uuchar rule for file to compile outside default directory, also for NetBSD. OpenBSD was already ok
git-svn-id: trunk@34877 -
2016-11-11 14:51:20 +00:00
marco
9844b86480 * fix uuchar rule for file to compile outside default directory.
git-svn-id: trunk@34876 -
2016-11-11 14:43:37 +00:00
michael
5e6026b020 * Added KeepConnection by Silvio Clecio (Bug ID 30788)
git-svn-id: trunk@34875 -
2016-11-11 12:28:44 +00:00
michael
f648bdecba * Made some additional functions inlined (Bug ID 30909)
git-svn-id: trunk@34874 -
2016-11-11 10:28:19 +00:00
michael
2e3ab0d37e * Introduce TFPList.CheckIndex (bug ID 30887)
git-svn-id: trunk@34873 -
2016-11-11 10:26:05 +00:00
michael
aa6a8acb72 * Introduce TFPSList checkindex (bug ID 30886)
git-svn-id: trunk@34872 -
2016-11-11 10:16:57 +00:00
michael
5af24e94ae * Patch from wp to add BOM detection to CSV reader (bug ID 30897)
git-svn-id: trunk@34871 -
2016-11-11 10:03:14 +00:00
michael
66b07b045b * Delete Value/Path must set Modified flag (Bug ID 30907)
git-svn-id: trunk@34870 -
2016-11-11 09:49:44 +00:00
michael
65469ebd4d * Inline some functions, bugreport ID 30906
git-svn-id: trunk@34869 -
2016-11-11 09:40:41 +00:00
michael
9b21d9a87e * Inline some functions, bug ID #30905
git-svn-id: trunk@34868 -
2016-11-11 09:33:28 +00:00
michael
6cccd87f16 * Patch from Laco to add some widechar ODBC functions
git-svn-id: trunk@34867 -
2016-11-11 09:22:49 +00:00
michael
ab566789a8 * Fix bug ID #30762
git-svn-id: trunk@34866 -
2016-11-11 09:14:25 +00:00
joost
89b471a8d6 * Added ability to add a repository with available packages which does not
need to be installed. (Instead another repository with installed 
   packages is added to the same location.
 * Added the ability to couple a repository with available packages
   to a repository in which the packages should be installed

git-svn-id: trunk@34865 -
2016-11-10 20:59:34 +00:00
pierre
3919ffccf2 Fix calcsavesize for cross-compilation from aarch64 to arm, by forcing 64-bit computation also on min<low(longint) part
git-svn-id: trunk@34864 -
2016-11-10 17:04:31 +00:00
yury
565ad7f852 * pas2jni: Do not generate unneeded imports.
git-svn-id: trunk@34863 -
2016-11-10 15:43:13 +00:00
yury
78914d9b20 * pas2jni: Do not include array element types from arrays, which is not processed.
git-svn-id: trunk@34862 -
2016-11-10 14:39:58 +00:00