Commit Graph

37733 Commits

Author SHA1 Message Date
Jonas Maebe
c2be657671 * give an error instead of a note on the JVM target when overriding a
method by one with a lower visibility, because calling the overriding
    method results in a java.lang.AbstractMethodError in that case

git-svn-id: trunk@21839 -
2012-07-10 09:20:11 +00:00
michael
8d6557ec35 * Reversed default. Using UTF8 is now the default, old behaviour can be restored
git-svn-id: trunk@21838 -
2012-07-10 09:09:38 +00:00
michael
a7d55bc92b * Patch to allow use of UTF8 in ansistring (as requested in Bug ID #22310)
git-svn-id: trunk@21837 -
2012-07-10 06:56:06 +00:00
michael
5210d2fc94 * Patch from Silvio Clecio to implement TCookie.Expire (bug id 22361)
git-svn-id: trunk@21836 -
2012-07-10 06:16:49 +00:00
michael
4fb7d7caa5 * Forgot to commit
git-svn-id: trunk@21835 -
2012-07-09 18:24:19 +00:00
florian
95732625cc * use r11 as a normal register if no frame pointer is needed
git-svn-id: trunk@21834 -
2012-07-09 17:17:23 +00:00
michael
518af06016 * Remove wrong lineinfo unit. It does not work with DWARF
git-svn-id: trunk@21833 -
2012-07-09 15:39:12 +00:00
michael
15f59192ed * Parse complete expressions for default arguments
git-svn-id: trunk@21832 -
2012-07-09 14:53:27 +00:00
marco
9c52d89f95 * initialize variable in fpindexer. Mantis #22739
git-svn-id: trunk@21831 -
2012-07-09 13:54:35 +00:00
pierre
9bba5c956a Add support for indirect values
git-svn-id: trunk@21830 -
2012-07-09 13:46:11 +00:00
pierre
3ccfd2d74d + ESysERFKILL added
git-svn-id: trunk@21829 -
2012-07-09 13:45:20 +00:00
michael
add4de3089 *Fixed memory leak if an error occurs during argument parsing
git-svn-id: trunk@21828 -
2012-07-09 13:26:53 +00:00
pierre
6bc339192d MIPS system errors separated into errno-mips.inc file
git-svn-id: trunk@21827 -
2012-07-09 13:17:29 +00:00
pierre
2d6093645f Add a C compilation phase to check Error value
git-svn-id: trunk@21826 -
2012-07-09 13:14:37 +00:00
sergei
712f5d1c26 - Removed oso_readonly and oso_noload section options, it is enough to have just oso_write and oso_load to express possible section states.
git-svn-id: trunk@21825 -
2012-07-09 12:58:37 +00:00
sergei
2638bc01d9 * Fixed error introduced in r21732. For libraries, startup is always dllprt0.o, regardless of profiling/linking to libc. Mantis #22397.
git-svn-id: trunk@21824 -
2012-07-09 12:18:34 +00:00
pierre
b93b08427f Set needgsed to 0 for non-NetBSD systems
git-svn-id: trunk@21823 -
2012-07-09 09:56:45 +00:00
pierre
bc0c94c204 fpcdefs.inc: Set fpc_compiler_has_fixup_jmps for powerpcXX and mips CPUs.
psub.pas: Use new fpc_compiler_has_fixup_jmps conditional.
 mips/aasmcpu.pas: MIPS specific fixup_jmps function,
   The insttruction distance calculation is not exact as
   some pseudo-instruction can be expanded to a variable number of real instructions
   real calculation would only be possible if we first 
   convert pseudo-instuctions to real instructions before calling fixup_jmps.

 ncgutil.pas: Revert commit r21791
 ncgcon.pas: Revert commit r21786
 mips/cgcpu.pas: Partial revert of commit r21798, no need to always use A_J,
 as fixup_jmps now handles out of range branches.

git-svn-id: trunk@21822 -
2012-07-09 08:59:13 +00:00
michael
3d002a13c5 * Patch from Luiz Americo to return a variant with get
git-svn-id: trunk@21821 -
2012-07-09 07:39:51 +00:00
Jonas Maebe
1b3b097f3a * always interpret a function name on the RHS as a recursive function
call in MacPas mode, like in TP/Delphi (mantis #22344)

git-svn-id: trunk@21817 -
2012-07-08 09:52:30 +00:00
masta
aef81cad68 Add debug information about register spilling
If DEBUG_SPILLING is defined we'll output "XXX: Spill read/write".

git-svn-id: trunk@21816 -
2012-07-08 09:24:14 +00:00
sergei
1a25aed68d * Renamed a method for consistency (let script building methods start with ScriptAdd).
git-svn-id: trunk@21814 -
2012-07-07 22:49:05 +00:00
florian
a553798151 * improved makefile rules for linux
git-svn-id: trunk@21813 -
2012-07-07 21:22:06 +00:00
florian
9833f642fe * coalesce if either u or v are precolored, tested on arm and i386, it gives for both a small advantage
git-svn-id: trunk@21812 -
2012-07-07 21:20:26 +00:00
sergei
34fc366d64 * test/opt/tretopt.pp, test/tasmread.pp: fixed GOT calculation
* test/tcg1.pp: rewrote without PIC, was having the same issue (GOT off by 1), additionally Intel syntax part won't compile anyway. This test is about push/pop encoding, not about PIC.

git-svn-id: trunk@21811 -
2012-07-07 12:03:13 +00:00
joost
025f840dd5 * Added ReplaceStr and ReplaceText functions, for Delphi compatibility
git-svn-id: trunk@21810 -
2012-07-07 08:12:07 +00:00
masta
bba75a079c Better Code generation for SAR/ROR/ROL inline nodes
The old code forced dst and src to be the same, which is highly x86
specific and creates bad register utilization on other architectures
like arm.

The new version will use more imaginary registers, allowing the register
allocator to do a better job.

I've merged second_sar and second_rox into a single procedure
second_rox_sar because they were very similar.

git-svn-id: trunk@21809 -
2012-07-06 21:33:28 +00:00
masta
9825fbf554 Support top_shifterop and top_regset for arm in RegInOp
RegInOp did not check for a register beeing part of a shifterop
(op.shifterop^.rs) which could result in trashed registers (But that did
not seem to happen yet anyway).

I've also implemented support for top_regset, but it is currently not
generated outside of proc_entry/proc_exit anyway.

git-svn-id: trunk@21808 -
2012-07-06 21:33:22 +00:00
pierre
645698183d Integer Overflow signal must be mapped to error 215, not 205, which is for floating point overflow
git-svn-id: trunk@21807 -
2012-07-06 15:54:45 +00:00
pierre
32644a526c Use CPUMIPS instead of MIPS conditional
git-svn-id: trunk@21806 -
2012-07-06 15:26:49 +00:00
pierre
3693af4c69 Do not try to call do_client if do_server failed
git-svn-id: trunk@21805 -
2012-07-06 15:03:13 +00:00
masta
dbf0404fb0 More consolidation of OP_SHL/SHR/ROR/SAR in ARM CodeGen
This removes the duplications in a_op_reg_reg_reg_checkoverflow.
OP_ROL stays seperate because it needs some special treatment again.

The code for OP_ROL was changed, previously it generated:
mov tempreg, #32
sub src1, tempreg, src1
mov dst, src2, ror src1

This would trash src1, which MIGHT be a problem, but i'm not totally
sure. But the mov/sub was replaced with rsb, so the new code looks like
this.

rsb tempreg, src1, #32
mov dst, src2, ror tempreg

If src1 gets freed afterwards the regallocator should be able to change
that into:

rsb src1, src1, #32
mov dst, src2, ror src1

git-svn-id: trunk@21804 -
2012-07-06 15:01:31 +00:00
pierre
83d398719c Add support for MIPS cpu
git-svn-id: trunk@21803 -
2012-07-06 14:51:54 +00:00
pierre
6f12197d3b Fix set of frame poointer value for big local stack size
git-svn-id: trunk@21802 -
2012-07-06 13:32:13 +00:00
masta
d2d5d17557 Consolidate handling of OP_SHL/SHR/ROL/ROR/SAR in ARM CodeGen
The previous code was full with duplicated code, this new version just
maps the OP_* to the correct SM_* and does some special handling for
OP_ROL which is done via OP_ROR.

git-svn-id: trunk@21801 -
2012-07-06 12:10:42 +00:00
pierre
a771b32097 Use R9 instead of AT for big local stack size to avoid error due to AT being changed by pseudo-instructions
git-svn-id: trunk@21800 -
2012-07-06 12:05:58 +00:00
pierre
8b65ef2d94 * Fix error in last commit for MIPS cpu
git-svn-id: trunk@21799 -
2012-07-06 06:14:07 +00:00
pierre
2e4c704f06 Use A_J instead of A_BA for a_jmp_XXX unless we generate PIC code to avoid branch out of range error (like for packages/fpmake compilation)
git-svn-id: trunk@21798 -
2012-07-05 21:24:22 +00:00
pierre
56b4977858 Override tcallnode.pass_1 for use of got for cdecl'ared functions (assuming it can be PIC code)
git-svn-id: trunk@21797 -
2012-07-05 21:18:16 +00:00
pierre
c53d07f741 Improve addr_pic support
git-svn-id: trunk@21796 -
2012-07-05 21:16:02 +00:00
pierre
86d82a9006 Add reference to new ncpuld unit
git-svn-id: trunk@21795 -
2012-07-05 21:13:22 +00:00
pierre
514b14a5ae Override a_call_name to use _gp loading and call for cdecl (to get PIC compatible code)
git-svn-id: trunk@21794 -
2012-07-05 21:12:14 +00:00
pierre
fc81979f61 set got at create of cs_create_pic is used
git-svn-id: trunk@21793 -
2012-07-05 21:10:30 +00:00
pierre
c2cd8246cb Override tloadnode.pass_1 to for use of got for shared library variables and genrate_picvaraccess
git-svn-id: trunk@21792 -
2012-07-05 21:07:46 +00:00
pierre
b63bc6be13 MIPS: use OC_EQ instead of OC_NE for new_exception to avoid branch out of range error
git-svn-id: trunk@21791 -
2012-07-05 21:04:03 +00:00
pierre
5fb3d1398a + Use SIZEOF_PTHREAD_XXX macros for /usr/include/bits/pthreadtypes.h for MIPS cpu
git-svn-id: trunk@21790 -
2012-07-05 21:00:09 +00:00
pierre
c156b5a8b2 First version working to link with shared c library
git-svn-id: trunk@21789 -
2012-07-05 20:58:27 +00:00
pierre
d8d7c38aec * Use to call PASCALMAIN to allow linking with PIC Code
git-svn-id: trunk@21788 -
2012-07-05 20:57:25 +00:00
pierre
024bde8875 Create .ent/.end pair for mips/mipsel and alpha
git-svn-id: trunk@21787 -
2012-07-04 16:38:57 +00:00
pierre
3acc0e6686 Add needs_got_for_pic, set global_used to that procedure
git-svn-id: trunk@21786 -
2012-07-04 16:38:19 +00:00