Commit Graph

47749 Commits

Author SHA1 Message Date
Jonas Maebe
ce40b2e449 * added/clarified some comments
* made internal method check_add_placeholder() protected

git-svn-id: trunk@32606 -
2015-12-07 09:17:11 +00:00
pierre
ab730efac7 Fixed use with 7.9 release or later, symtab strcut was completely changed
git-svn-id: trunk@32605 -
2015-12-07 00:28:57 +00:00
pierre
312e51328a Regenerated after: Add -Cg for bootstrap depending on source OS/CPU as it is normally added for target OS/CPU
git-svn-id: trunk@32604 -
2015-12-07 00:08:23 +00:00
pierre
b1e4b56900 Add -Cg for bootstrap depending on source OS/CPU as it is normally added for target OS/CPU
git-svn-id: trunk@32603 -
2015-12-07 00:06:38 +00:00
florian
cad29a4e19 * set nf_write flag correctly for subscript nodes, resolves issue #28713
git-svn-id: trunk@32602 -
2015-12-06 19:17:50 +00:00
pierre
60070169bb Regenerated Makefile's for rtl/linux and rtl/win32, aarch64-linux target was missing
git-svn-id: trunk@32601 -
2015-12-06 11:35:28 +00:00
Jonas Maebe
477e087857 * only check the shiftval in llvmbyvalparaloc() if it's a register parameter
location (it's invalid for other locations)

git-svn-id: trunk@32600 -
2015-12-05 18:04:02 +00:00
Jonas Maebe
99361994b7 * only copy the shiftval field from the original para location when creating
a temporary parameter location if the original location was not a reference
    (because in that case part of the reference overlaps with the shiftval
     variant field, and if we optimise the temp location into a register,
     this register will get a random/bogus shiftval)

git-svn-id: trunk@32599 -
2015-12-05 18:03:59 +00:00
Jonas Maebe
e4647ac133 - removed "nostackframe" from floating point helpers for llvm, as FPC
doesn't handle nostackframe correctly in combination with extended
    parameters on x86 (with or without llvm)

git-svn-id: trunk@32598 -
2015-12-05 18:03:57 +00:00
Jonas Maebe
a249950a45 * fixed types in tcgcallnode.load_block_invoke()
o made the method non-virtual, as there is no reason to override it
     anymore (it was virtual to be able to override it with a typesafe
     LLVM-specific version)

git-svn-id: trunk@32597 -
2015-12-05 18:03:54 +00:00
Jonas Maebe
2046220f56 + helper methods to load a field into a register
git-svn-id: trunk@32596 -
2015-12-05 18:03:51 +00:00
Jonas Maebe
a9498b6735 * fixed the parameter order for thlcgobj.g_load_const_field_by_name()
git-svn-id: trunk@32595 -
2015-12-05 18:03:48 +00:00
Jonas Maebe
df9efdeb4c * fixed llvm types for loading the address of a nested routine
git-svn-id: trunk@32594 -
2015-12-05 18:03:45 +00:00
Jonas Maebe
d16d2e6e3c * don't crash when inserting the parentfp parameter for "is nested" procvar
declarations on systems_fpnestedstruct platforms

git-svn-id: trunk@32593 -
2015-12-05 18:03:42 +00:00
Jonas Maebe
4821fa7c67 * fixed second_proc_to_procvar for 8086 after r32553
git-svn-id: trunk@32592 -
2015-12-05 18:03:40 +00:00
Jonas Maebe
da696057ab * converted register_maybe_adjust_setbase() to the high level code generator
git-svn-id: trunk@32591 -
2015-12-05 18:03:37 +00:00
Jonas Maebe
ab22aaa2b7 * adjust the set base for i8086 before loading it into cx as a shift count
git-svn-id: trunk@32590 -
2015-12-05 18:03:34 +00:00
Jeppe Johansen
159c28eca8 Fix AVR comparison with zero.
git-svn-id: trunk@32589 -
2015-12-05 15:25:33 +00:00
pierre
42e08b4c01 Set PIC_OPT if -Cg of -fPIC option is used, also use -KPIC for mips and mipsel ASTARGET if PIC_OPT is set
git-svn-id: trunk@32588 -
2015-12-05 11:45:09 +00:00
pierre
fee0c228cc Regenerate after: Fix rtl compilation for AIX OS
git-svn-id: trunk@32587 -
2015-12-05 00:16:31 +00:00
pierre
e333877ab8 Fix rtl compilation for AIX OS
git-svn-id: trunk@32586 -
2015-12-05 00:15:17 +00:00
nickysn
47475c775f * fixed testsuite after r32548 for certain GNU Make versions, where "-s" is not
enough to suppress the "entering directory" and "leaving directory" messages
  (GNU Make 4.0 under Fedora 23 happens to be one that needed that fix)

git-svn-id: trunk@32585 -
2015-12-04 23:58:08 +00:00
pierre
8ca036c3b6 Derefedata length can be zero if there are no references in PPU
git-svn-id: trunk@32584 -
2015-12-04 17:26:30 +00:00
yury
0e056ece03 * pas2jni: Basic support for arrays.
git-svn-id: trunk@32578 -
2015-12-04 14:50:15 +00:00
Jonas Maebe
03067f240c + added already working test for mantis #27149
git-svn-id: trunk@32577 -
2015-12-04 14:00:37 +00:00
Jeppe Johansen
f21f9ab930 Fix issue with absolute offsets being sign extended from aint to asizeint.
git-svn-id: trunk@32576 -
2015-12-03 21:43:39 +00:00
Jonas Maebe
b5c9a20d3f * fixed range of llvm definition of bitpacked arrays
git-svn-id: trunk@32572 -
2015-12-02 22:29:26 +00:00
Jonas Maebe
35714e5d50 * don't internallerror when encountering an "absolute" type conversion to
a differently sized def in LLVM

git-svn-id: trunk@32571 -
2015-12-02 22:29:23 +00:00
Jonas Maebe
86b02cf76e * handle bitpacked ordinal fields whose size is a multiple of 8 bits the same
other bitpacked ordinal fields, since they can also start on a non-byte-
    aligned boundary

git-svn-id: trunk@32570 -
2015-12-02 22:24:04 +00:00
Jonas Maebe
00d97d54ca * don't overwrite the curroffset field while adding bytes for bitpacked fields
git-svn-id: trunk@32569 -
2015-12-02 22:24:00 +00:00
Jeppe Johansen
4b1eb0e4f3 Applied patch from Michael Ring fixing the startup code for Freescale microcontrollers.
git-svn-id: trunk@32568 -
2015-12-02 18:44:20 +00:00
Jonas Maebe
2e0fea94b8 * set operand size information when accessing fields in assembly
(mantis #29096)

git-svn-id: trunk@32567 -
2015-12-02 15:53:22 +00:00
lacak
6f9d542d81 fcl-db: sqldb: fixes AV when SQL is empty, Cursor is not allocated yet. Bug #29124
git-svn-id: trunk@32566 -
2015-12-02 06:37:49 +00:00
Jonas Maebe
8df979e5e8 * take into account the fact that bitpacked ordinal fields are all encoded
as bytes in the LLVM type, so typecast them to the correct type (which is
    the size that will be used by hlcg.a_load*subsetref*)

git-svn-id: trunk@32565 -
2015-12-01 21:52:23 +00:00
Jonas Maebe
bbbceb08d9 * fixed the number of bytes added for packed record ordinal fields in the
llvm shadow table

git-svn-id: trunk@32564 -
2015-12-01 21:52:20 +00:00
yury
d973c1c0c9 * pas2jni: Support for interfaces.
git-svn-id: trunk@32563 -
2015-12-01 16:04:15 +00:00
nickysn
1e33924f73 + support procvardefs (address only) in i8086's hlcgcpu.getaddressregister; this
fixes e.g. obtaining the address of a method in i8086 far code memory models
  after r32414

git-svn-id: trunk@32562 -
2015-12-01 15:58:11 +00:00
yury
3c32f814de * pas2jni: Fixed memory leaks when using method pointers.
git-svn-id: trunk@32561 -
2015-12-01 14:22:31 +00:00
yury
cddbe1b83d * pas2jni:
- Support for objects.
  - Support for pointers to records,objects,classes.
  - Fixed memory leaks when using records.
  - Added handy enum constructors.

git-svn-id: trunk@32560 -
2015-12-01 11:56:29 +00:00
Jonas Maebe
6fda08705b * moved the generation of th ehidden self parameter from pass_1 to
typecheckpass, because if it's for a nested routine on a platform
    that uses ncgnstmm/ncgnstld, all parentfpstructs (which are
    generated by the typecheckpass of the loadparentfpnode) must be
    generated before pass_1 starts

git-svn-id: trunk@32559 -
2015-12-01 07:54:08 +00:00
lacak
e0ee5c30bf fcl-db: bufdataset: add limited support for ftBCD fields in filter parser.
As DBF filter/expression parser does not support etBCD type of expression, I have used etFloat type, so I convert currency data type to double data type.
(which can lead in some cases in false results, when currency can not be expressed as double, without loss of precision)

git-svn-id: trunk@32558 -
2015-12-01 07:45:54 +00:00
marco
11dd843f77 * 64-bit fix + mantis #29111, fix cmsghdr in an unit that is not actively compiled.
git-svn-id: trunk@32557 -
2015-11-30 21:49:39 +00:00
Jonas Maebe
3ff265da88 * fixed rol/ror
git-svn-id: trunk@32556 -
2015-11-29 21:46:10 +00:00
Jonas Maebe
da8d276766 * correctly encode bitpacked arrays of elements that can't be bitpacked
git-svn-id: trunk@32555 -
2015-11-29 21:46:06 +00:00
Jonas Maebe
a27927e658 * disable parameter struct padding for llvm, as llvm does that it by itself
(and interprets our padding as extra parameters)

git-svn-id: trunk@32554 -
2015-11-29 21:46:03 +00:00
Jonas Maebe
d6fb458129 * made second_proc_to_procvar type safe
git-svn-id: trunk@32553 -
2015-11-29 21:46:00 +00:00
Jonas Maebe
9fd4531e79 * fixed parameter allocation if there are fewer locations than the parameter
is long (e.g. if the last 4 bytes of a record is padding) -- not triggered
    by default because we just extend the last parameter location to 8 bytes
    in such a case, but can happen when we remove that for llvm

git-svn-id: trunk@32552 -
2015-11-29 21:45:57 +00:00
Jonas Maebe
e144ba05c1 * fixed storing "self" (nestedfpstruct) when taking the address of a nested
routine

git-svn-id: trunk@32551 -
2015-11-29 21:45:54 +00:00
Jonas Maebe
4f4d4d9456 * also support non-pointerdefs as first argument for g_ptrtypecast_ref()
via internal restructuring of the llvm code generator (so we can
    typecast e.g. a procvardef to a pointerdef)

git-svn-id: trunk@32550 -
2015-11-29 21:45:50 +00:00
Jonas Maebe
6735def16f * fixed jvm compilation after r32517
git-svn-id: trunk@32549 -
2015-11-29 21:45:47 +00:00