Jonas Maebe
9d1063f94c
* adjustments/fixes for AIX/ppc64
...
git-svn-id: trunk@21053 -
2012-04-25 20:28:32 +00:00
Jonas Maebe
0278d67764
* use generic ppc version of a_loadaddr_ref_reg() for AIX/ppc64
...
* also recognize addr_pic_no_got as a PIC'ed address
git-svn-id: trunk@21052 -
2012-04-25 20:28:27 +00:00
Jonas Maebe
b33b744f78
* enabled null pointer load checking for AIX/ppc64
...
git-svn-id: trunk@21051 -
2012-04-25 20:28:23 +00:00
Jonas Maebe
cec20e1c34
* specify the branch opcode to use for a_call_name_direct/a_jmp_name_direct,
...
because it's sometimes different for AIX and other platforms (AIX uses
absolute branches for entry/exit code helpers)
git-svn-id: trunk@21050 -
2012-04-25 20:28:18 +00:00
Jonas Maebe
3fc1a274c8
- removed ifdefed/inactive "ti386addnode.second_addmmx" from ppc code
...
generator
git-svn-id: trunk@21049 -
2012-04-25 20:28:14 +00:00
Jonas Maebe
cecdff01e0
* corrected sharedClibext for AIX/ppc32
...
git-svn-id: trunk@21048 -
2012-04-25 20:28:09 +00:00
Jonas Maebe
52d1172f6d
* correctly call assembler for AIX/ppc64
...
* corrected target flags for AIX/ppc64
* corrected some file extensions for AIX/ppc64
git-svn-id: trunk@21047 -
2012-04-25 20:28:05 +00:00
Jonas Maebe
d43387dff8
* equivalent of r20829 for AIX/ppc64 (and linux/ppc64): automatically create
...
dotted names when calling functions from assembler
git-svn-id: trunk@21046 -
2012-04-25 20:28:00 +00:00
Jonas Maebe
b99a8c129d
* write pointer data on AIX/ppc64 using .vbyte rather than using .llong
...
(= equivalent of gas .quad), because .llong forces the alignment to
8 bytes and this causes problems with some typed constant records (such
as RTTI)
git-svn-id: trunk@21045 -
2012-04-25 20:27:56 +00:00
Jonas Maebe
6502717e67
* align all code/data sections to sizeof(pint), instead of sometimes
...
to 0 or 1 (section alignment <> alignment of individual data
elements in section on some platforms, such as AIX)
* set constalignmin and varalignmin to 8 bytes for AIX/ppc64
git-svn-id: trunk@21044 -
2012-04-25 20:27:41 +00:00
marco
e59be6884e
* Some minor changes that make the recent changes more backwards compatible. Mantis #21837
...
git-svn-id: trunk@21043 -
2012-04-25 19:47:54 +00:00
sergei
5b09fa8a8c
* Changed tagVariant.pbstrVal to ^WideString and added a comment about impossibility of having managed members in this record (Mantis #21075 ).
...
git-svn-id: trunk@21042 -
2012-04-25 18:14:47 +00:00
Jonas Maebe
81d1cfb3ca
+ -prefix_constants <x>, -prefix_fields <x> and -prefix_innerclasses <x>
...
options to customise the prefixes that the translator adds to to resp.
constant, field and inner class names. For an empty prefix, use "".
Defaults: nothing for constants, "f" for fields and "Inner" for inner
classes.
git-svn-id: branches/jvmbackend@21041 -
2012-04-25 18:14:35 +00:00
Jonas Maebe
9a10c5aea8
* don't mark final class methods as virtual
...
git-svn-id: branches/jvmbackend@21040 -
2012-04-25 18:14:29 +00:00
marco
6b93cbcbea
* Fix for #21636 , TFPSList.Pack several fixes.
...
git-svn-id: trunk@21039 -
2012-04-25 17:25:00 +00:00
marco
69fbbcedf3
* fix passing of only one parameter on non unix platforms. Mantis #21630
...
git-svn-id: trunk@21038 -
2012-04-25 17:21:16 +00:00
marco
8f39076a69
* changed tbookmark to tbytes, bookmarkstr to ansistring. Delphi 2009+ compat.
...
git-svn-id: trunk@21037 -
2012-04-25 16:51:05 +00:00
sergei
5f93d9992a
* Ignore FPU/MM registers in tcg.(de)allocallcpuregisters if they are not used in current procedure. This is consistent with logic of tcgcallnode and removes a lot of useless xmm regallocs on win64.
...
git-svn-id: trunk@21036 -
2012-04-25 15:42:50 +00:00
sergei
3edaa66ee7
* For Win64, handle environment variables the same way as on Win32 (the generic version of GetEnvPChar does not return nil for non-existent environment variables).
...
git-svn-id: trunk@21035 -
2012-04-25 15:28:55 +00:00
sergei
6fd9dc6d32
* Fixed 64-bit compilation warnings (Integer -> PtrUInt)
...
git-svn-id: trunk@21034 -
2012-04-25 11:26:00 +00:00
Legolas
0976d0304f
* Updated libogcfpc to ver.1.8.11 and devkitPPC to r26
...
git-svn-id: trunk@21033 -
2012-04-25 08:24:27 +00:00
Legolas
6bf0bc70a1
* Updated libndsfpc to ver.1.5.6 and devkitARM to r38
...
git-svn-id: trunk@21032 -
2012-04-25 08:23:07 +00:00
pierre
1b3fd997fc
+ Regenerate all Makefiles's after adding x86_64 netbsd target
...
git-svn-id: trunk@21031 -
2012-04-24 23:15:18 +00:00
pierre
1b6c45455e
+ Add x86_64 netbsd target
...
git-svn-id: trunk@21030 -
2012-04-24 23:12:30 +00:00
pierre
2684c3fec4
Define USE_SIGACTION_SIGTRAMP for x86_64
...
git-svn-id: trunk@21029 -
2012-04-24 23:06:22 +00:00
pierre
e0aa5839a9
* Add missing sc_arg6 to sc_arg9 fields in x86_64 SigContext record
...
git-svn-id: trunk@21028 -
2012-04-24 23:05:20 +00:00
pierre
23f21254bd
+ Add USE_SIGACTION_SIGTRAMP
...
git-svn-id: trunk@21027 -
2012-04-24 23:03:08 +00:00
florian
13e152f8a9
* even if currency is handle by an int64, it needs no extra handling in handle_default
...
git-svn-id: trunk@21025 -
2012-04-24 18:47:58 +00:00
florian
aa2a9dbf2e
patches by Nico Erfurth to improve the arm peephole optimizer:
...
* Introduce MatchInstruction and MatchOperand
MatchInstruction allows to match an instruction by condition and
oppostfix. MatchOperand checks if an operand is a register and matches
another operand. In the future this could be overloaded with other
versions not only accepting TRegister.
* Optimize cmp,moveq,movne sequence on ARM
This patch implements an peephole optimizer for the following sequence:
cmp reg,const1
movne reg,const2
moveq reg,const1
* Small improvements to the ARM peephole optimizer
Most instructions in the ARM ISA have taicpu(p).oper[0]^.typ = top_reg
as the only option, so there is no need to check for it if we're
looking at those instructions.
* Remove redundant mov instructions on ARM
This is an addition to the ARM PeepHole Optimizer.
It folds code like this:
mov reg1, reg2
add reg1, reg1, (const|reg)
git-svn-id: trunk@21024 -
2012-04-24 18:25:19 +00:00
marco
7800cd4ff5
* Cleanup of adding records to bufdatasets with indexes. Mantis #20514 , patch by Lacak2.
...
git-svn-id: trunk@21023 -
2012-04-24 17:47:18 +00:00
pierre
bf1690458a
Partial fix for x86_64 peephole optimization
...
git-svn-id: trunk@21022 -
2012-04-24 15:38:07 +00:00
sergei
13e513fdf7
* Pass NR_FUNCTION_RESULT_REG to FPC_SAFECALLCHECK in target-independent way.
...
* Added missing call to paramanager.freecgpara.
* Handle safecall stuff after deallocating registers of the main call in order to keep allocations balanced.
git-svn-id: trunk@21021 -
2012-04-24 14:50:56 +00:00
sergei
04ca8a9126
* translate_disp_call: improved building the parameter block by using ttemprefnode.create_offset instead of taking address/pointer additions/dereference. Results in simpler node tree and lesser CPU instructions generated.
...
git-svn-id: trunk@21018 -
2012-04-24 12:51:36 +00:00
sergei
6d0dd50be3
* tcallnode.maybe_load_in_temp: treat asnode like callnode, because asnodes are converted into helper calls in pass 1. Improves code generated for expressions "(a as b).SomeMethod".
...
git-svn-id: trunk@21017 -
2012-04-24 12:31:21 +00:00
Jonas Maebe
05f9edbd08
* fixed compilation on Solaris after r20815
...
git-svn-id: trunk@21014 -
2012-04-24 11:08:08 +00:00
marco
abaf2eaf12
* sqlDB update SQLParser to parse DML statements WITH common table expressions
...
Patch by Lacak2, Mantis #21851
git-svn-id: trunk@21010 -
2012-04-24 08:45:16 +00:00
marco
61c4366c8e
* fcl-db test for opening non-select statements, which return data by Lacak2, Mantis #21850
...
* Test for already fixed bugs #0016842 "show tables from <dbname>" and #0014519 "check table <tablename>"
* Test for common table expressions used with select statement
* plus reformating of test values (which I forgot did in rev.20585)
git-svn-id: trunk@21009 -
2012-04-24 08:35:29 +00:00
Jonas Maebe
d08a17b763
* AIX requires record data that partially fills a register to be
...
left-aligned. Other targets only require this if the total size of the
parameter was > 8 bytes (this last part used to be ensured by
the ppc64-specific version of a_load_ref_cgpara() that was removed in
r20962)
git-svn-id: trunk@21008 -
2012-04-23 21:14:38 +00:00
michael
c664a1b921
* Added context info (method/classname/id) and fixed access violation in case of (ID<>Nil) or not (jdoNotifications in Options) error
...
git-svn-id: trunk@21007 -
2012-04-23 21:00:35 +00:00
pierre
cea6ca2df9
Fix FpSigProcMask overload for OpenBSD: Warning this probably breaks compilation of unix's RTL by obsolete 2.4.4 release compiler, 2.6.0 required
...
git-svn-id: trunk@21005 -
2012-04-23 10:12:43 +00:00
pierre
afaea929a1
* Also enable ELF32 or ELF64 for OpenBSD OS
...
git-svn-id: trunk@21004 -
2012-04-23 10:10:10 +00:00
michael
b5b0388f17
* Indexed is by default false, in sync with usepalette which is false by default
...
git-svn-id: trunk@21003 -
2012-04-23 09:44:30 +00:00
michael
a49112dcc2
* Patch from Michalis Kamburelis to fix memory leak (bug 21835)
...
git-svn-id: trunk@21002 -
2012-04-23 09:42:34 +00:00
paul
e399f8f9bf
rtl: reduce warnings about deprecated symbol access
...
git-svn-id: trunk@21001 -
2012-04-23 05:57:44 +00:00
Jonas Maebe
426d44905e
* add symtable to uses clause for tabstractsymtable, part of r20967
...
(fixes powerpc64 compiler compilation)
git-svn-id: trunk@20981 -
2012-04-22 10:41:02 +00:00
Jonas Maebe
bbdf9fca73
- disabled fpc_qword_to_double() assembler version for AIX/ppc64 like for
...
AIX/ppc32
+ AIX/ppc64 support in powerpc64/mathu.inc (file is the same as
powerpc/mathu.inc, should be unified)
* fixed macos assembler code in powerpc64/strings.inc and enabled
for AIX/ppc64
git-svn-id: trunk@20980 -
2012-04-22 10:40:57 +00:00
Jonas Maebe
653996dde1
* {$linklib libnsl.so} -> {$linklib nsl} for AIX (copy/paste error)
...
git-svn-id: trunk@20979 -
2012-04-22 10:40:51 +00:00
Jonas Maebe
2ec79fd357
* fixed timespec and mcontext_t types for AIX 64 bit
...
* fixed a few more (harmless because in fields we don't use) errors in AIX
mcontext_t definition
git-svn-id: trunk@20978 -
2012-04-22 10:40:46 +00:00
marco
743e58ed0f
* test for bzip2 from Mantis #21261
...
git-svn-id: trunk@20977 -
2012-04-22 10:12:45 +00:00
marco
d8101679fa
* chunk protected instead of private, Mantis #20543
...
git-svn-id: trunk@20969 -
2012-04-21 22:52:58 +00:00