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
florian
38f3644b0b
+ response file support for gparmake
...
* create a file list of all test/t*.pp tests and pass it as response file to gparmake to overcome command line length limits
git-svn-id: trunk@32548 -
2015-11-28 20:37:28 +00:00
Jonas Maebe
64c4e16f8b
* converted last part of second_real_to_real() to the high level code
...
generator
git-svn-id: trunk@32546 -
2015-11-27 14:44:37 +00:00
Jonas Maebe
f97192edf9
* support typecasts in a_loadmm_ref_reg()
...
git-svn-id: trunk@32545 -
2015-11-27 14:44:35 +00:00
Jonas Maebe
126046dabf
* set the def for SSE 64 bit parameters to double instead of an
...
array of 2 singles
git-svn-id: trunk@32544 -
2015-11-27 14:44:32 +00:00
Jonas Maebe
d0f97a6441
* converted open array range checking to the high level code generator
...
git-svn-id: trunk@32543 -
2015-11-27 14:44:29 +00:00
sergei
1b965e6766
* x86: Don't save/restore integer registers that are volatile per calling convention of current procedure. It implies that nothing will be saved for procedures with OLDFPCCALL, FAR16 and PASCAL and calling conventions. OLDFPCCALL restores behavior that was in effect before r25224.
...
git-svn-id: trunk@32542 -
2015-11-27 05:48:49 +00:00
sergei
a78250a78b
* x87 FBSTP and FBLD instructions cannot have size suffix in ATT syntax. Mantis #29095 .
...
git-svn-id: trunk@32541 -
2015-11-27 03:59:06 +00:00
michael
278a8fc39c
* Applied patch from Bart Broersma to fix bug #28725
...
git-svn-id: trunk@32540 -
2015-11-26 20:54:48 +00:00
yury
3e894e592d
* pas2jni: Fixed code generation for i386 targets.
...
git-svn-id: trunk@32539 -
2015-11-26 19:21:04 +00:00
yury
6f8e9ad23e
* Fixed cwstring for Android after latest widestring manager changes.
...
git-svn-id: trunk@32538 -
2015-11-26 18:14:26 +00:00
yury
17358aa3ed
* Removed unused local vars.
...
git-svn-id: trunk@32537 -
2015-11-26 17:15:04 +00:00
yury
78b4950b97
* Fixed calling of external procs for i386 non-darwin targets when PIC is enabled.
...
git-svn-id: trunk@32536 -
2015-11-26 17:04:55 +00:00
Jonas Maebe
ac743195b6
* fixup for r32534: don't define external symbols, only reference them
...
(mantis #29091 )
git-svn-id: trunk@32535 -
2015-11-26 07:56:50 +00:00
Jonas Maebe
ac18eb005f
* make the vectorized dead strip section symbol external for files that
...
don't define it
git-svn-id: trunk@32534 -
2015-11-25 22:25:54 +00:00
Jonas Maebe
4c720b8ba2
* fixed parameter order of llvm.memcpy call
...
git-svn-id: trunk@32533 -
2015-11-25 22:25:51 +00:00
Jonas Maebe
eefcbaff69
* converted tnodeutils.InsertResourceInfo to the high level typed constant
...
builder and enabled it for llvm
git-svn-id: trunk@32532 -
2015-11-25 22:25:48 +00:00
Jonas Maebe
682d133e1e
* enable generic tllvmnodeutils.InsertResourceTablesTable for llvm
...
git-svn-id: trunk@32531 -
2015-11-25 22:25:45 +00:00
Jonas Maebe
0c4edd2aa9
* fixed getting address of interface methods after r32414: interfaces are not
...
a pointer to a vmt, but a pointer to a pointer to vmt (mantis #29086 )
o also adjusted the llvm type for interfaces accordingly
git-svn-id: trunk@32530 -
2015-11-25 19:28:17 +00:00
nickysn
bfa96171e0
* changed the asizeint and asizeuint to 32-bit on CPUs with 16-bit address
...
space, in order to allow data structures larger than 32k (and less than 64k)
git-svn-id: trunk@32529 -
2015-11-25 15:35:38 +00:00
Jonas Maebe
f65cb5d933
* equivalent of r32525/32526 for the assembler version of the startup code
...
git-svn-id: trunk@32528 -
2015-11-25 00:10:26 +00:00
Jonas Maebe
2249d95ddb
* call external routines via their TOC entry instead of directly
...
(mantis #29004 )
git-svn-id: trunk@32527 -
2015-11-25 00:10:23 +00:00
Jonas Maebe
740f8532df
* fixed saving the stack pointer in r32525
...
git-svn-id: trunk@32526 -
2015-11-25 00:10:19 +00:00
Jonas Maebe
816c66107e
* fixed dynamic startup of programs that don't link against libc (they get
...
argc/argv/envp in r3/r4/r5)
git-svn-id: trunk@32525 -
2015-11-24 23:34:30 +00:00
Jonas Maebe
71e27e85c9
* fixed llvm unaryminus for comp/currency on platforms supporting extended
...
git-svn-id: trunk@32524 -
2015-11-24 20:10:48 +00:00
Jonas Maebe
6cf67b7ace
* only convert left/right to the resultdef of an addnode involving pointers
...
if the it's an addn/subn. For comparisons, the resultdef is boolean, and
left and right will already have the same type (with addn/subn, one could
be a pointer and the other an integer)
git-svn-id: trunk@32523 -
2015-11-24 20:10:45 +00:00
Jonas Maebe
2ad8bc3b27
* fixed operation size of comparison with maximum legal value in
...
tcginnode.passs_generate_code
git-svn-id: trunk@32522 -
2015-11-24 20:10:42 +00:00
Jonas Maebe
1d460eebc1
* ensure that necessary padding bytes in a non-anonymous aggregate are added
...
before any nested aggregate
git-svn-id: trunk@32521 -
2015-11-24 20:10:38 +00:00
Jonas Maebe
ef3bafd67c
* fixed resetting defs after generating the llvm "type" instructions: the
...
dbg_state is not sufficient to determine whether or not a def has
already been processed or not -> use stab_number (and reset it)
o also record all defs we don't emit "type" instruction for, but which
we still process to find other defs, so we reset those too
git-svn-id: trunk@32520 -
2015-11-24 20:10:35 +00:00