Legolas
086b4cf7ee
* libc and libgcc linking enabled
...
git-svn-id: trunk@5542 -
2006-12-05 18:24:56 +00:00
Jonas Maebe
b957d59391
* don't override varregable for tabstractvarsyms loaded from a ppu when
...
setting their vardef (since the varregable was stored/loaded in the ppu
and should be kept the same -- fixes webtbs/tw7817a.pp and tw7817b.pp
when both compiled separately and with regvars)
git-svn-id: trunk@5540 -
2006-12-04 14:16:43 +00:00
Jonas Maebe
d7633e9dd0
* removed wrong comment from r5389 (no longer applicable since r5390)
...
git-svn-id: trunk@5539 -
2006-12-04 14:13:45 +00:00
Jonas Maebe
7c387c9f82
- removed double initialisation of local typed constants/initialised
...
variables (initialization code of inlined routines is stored/loaded
from ppu as wel)
git-svn-id: trunk@5538 -
2006-12-04 14:10:10 +00:00
yury
c427fcf902
* fixed register to register conversion for ARM.
...
git-svn-id: trunk@5537 -
2006-12-03 22:01:33 +00:00
florian
4c2b412613
* x86_64-win64 returns structured types up to 8 bytes in rax
...
git-svn-id: trunk@5528 -
2006-12-02 15:36:32 +00:00
micha
d9c91a9663
fix TFPList.QuickSort duplicate in compiler cclasses (rtl is also broken)
...
git-svn-id: trunk@5525 -
2006-12-02 08:03:21 +00:00
Jonas Maebe
7588b4378c
* fixed warnings about "uninitialized" initialized local variables
...
based on test for web bug #7285 (which was already fixed)
git-svn-id: trunk@5523 -
2006-12-01 20:47:28 +00:00
Jonas Maebe
9e60d6791d
* show name of procedure/function called with too few parameters
...
git-svn-id: trunk@5522 -
2006-12-01 20:15:57 +00:00
Jonas Maebe
c963543c74
* fixed typo in comments
...
git-svn-id: trunk@5521 -
2006-12-01 19:40:31 +00:00
Jonas Maebe
85404fbe79
+ support multiple gcc dirs depending on the target architecture for
...
Darwin (ppc, ppc64, i386, x86_64)
git-svn-id: trunk@5518 -
2006-12-01 18:54:06 +00:00
Jonas Maebe
05a07a7dd2
* better fix for previous revision
...
* also applied to x86 and m68k
git-svn-id: trunk@5512 -
2006-11-30 20:55:32 +00:00
Jonas Maebe
3c26e1c40b
* fix subsetref/subsetreg support for int_to_real
...
git-svn-id: trunk@5511 -
2006-11-30 20:29:28 +00:00
peter
8e4e504cd8
* range error
...
git-svn-id: trunk@5509 -
2006-11-28 07:07:15 +00:00
florian
836dbad1b2
* bitpacked stuff fixed for x86-64
...
git-svn-id: trunk@5503 -
2006-11-26 21:57:34 +00:00
tom_at_work
3b6d5c3676
- cleanup, fixing of uninitialized variables, missing return values and unused variables
...
git-svn-id: trunk@5502 -
2006-11-26 21:54:23 +00:00
tom_at_work
7ab5fc7980
- cleanup, fixed range check error in cgcpu
...
git-svn-id: trunk@5501 -
2006-11-26 21:35:57 +00:00
Tomas Hajny
eb46534f92
* update by Ido Kanner - 3 messages were excluded from docs, fixed
...
git-svn-id: trunk@5498 -
2006-11-26 18:56:43 +00:00
Tomas Hajny
8966d54b4b
* updates by Ido Kanner - errore.msg rev. 5473
...
git-svn-id: trunk@5497 -
2006-11-26 18:55:55 +00:00
Károly Balogh
119cdbb772
- fixed bra #.label assembler errors hopefully
...
git-svn-id: trunk@5492 -
2006-11-26 16:19:54 +00:00
yury
319d92fe9a
* Release register of by value parameter after making its local copy. It fixes bug when local stack location is referenced using big (>4k) PC relative offset by ARM CPU. In this case temp register is needed and wrong temp register is allocated.
...
git-svn-id: trunk@5488 -
2006-11-26 14:42:17 +00:00
yury
2fd4be4637
* Additionally check procedure's para_stack_size before doing stackframe optimization. It handles the case when a parameter is passed partially in registers and partially in the stack.
...
git-svn-id: trunk@5486 -
2006-11-26 13:22:11 +00:00
yury
96bfb7ce97
* don't destroy both r11 and r13 when copying data.
...
git-svn-id: trunk@5485 -
2006-11-26 13:18:27 +00:00
yury
d4335749ec
* reverted r5481. That order of instructions can be executed more effectively on newer ARM CPUs.
...
git-svn-id: trunk@5484 -
2006-11-26 11:42:29 +00:00
florian
01a20b25a2
* don't reuse registers
...
git-svn-id: trunk@5483 -
2006-11-26 11:11:14 +00:00
yury
35b1014207
* more usual order of instructions.
...
git-svn-id: trunk@5481 -
2006-11-26 10:06:12 +00:00
florian
d47dc38f2c
* ignore PIC directive on windows and warn about it
...
git-svn-id: trunk@5479 -
2006-11-25 22:58:52 +00:00
florian
f8072062bc
* update german error files by Karl-Michael Schindler
...
git-svn-id: trunk@5478 -
2006-11-25 21:49:13 +00:00
florian
6118c3e477
* fixed assembling of movd with 64 bit registers
...
* fixed passing of floats to c varargs
git-svn-id: trunk@5477 -
2006-11-25 20:32:32 +00:00
florian
b77a5016ca
* don't destroy r13 when copying data
...
git-svn-id: trunk@5470 -
2006-11-24 21:55:23 +00:00
yury
a4407d5ad2
* fixed insertpcrelativedata when case jump table is used.
...
git-svn-id: trunk@5468 -
2006-11-24 13:40:49 +00:00
yury
e94277d5dc
* removed unneeded label.
...
* asm output beautification.
git-svn-id: trunk@5467 -
2006-11-24 13:20:32 +00:00
florian
964a98edca
* fixed spilling with large offsets
...
git-svn-id: trunk@5463 -
2006-11-23 19:49:27 +00:00
Jonas Maebe
1c8dc092b2
* create fpc_write* length/frac parameters as s32inttype to match the
...
declaration in the system unit for 64 OS'es
git-svn-id: trunk@5462 -
2006-11-23 16:40:20 +00:00
Jonas Maebe
f4cb8c1bef
* fixed case for ppc64 with 64 bit values
...
git-svn-id: trunk@5461 -
2006-11-23 16:18:31 +00:00
yury
70b5d41d5c
* optimized case jump table generation for ARM.
...
git-svn-id: trunk@5458 -
2006-11-23 00:55:16 +00:00
yury
187c71ac18
* fixed and enabled case jump table generation for ARM.
...
git-svn-id: trunk@5446 -
2006-11-22 12:16:33 +00:00
yury
61f0f0b793
* define FPC_DOUBLE_HILO_SWAPPED for ARM CPU if needed to properly handle doubles in RTL.
...
git-svn-id: trunk@5439 -
2006-11-21 21:24:01 +00:00
yury
5ceef96cf3
* fixed double parameters passing and storing result for ARM in softfloat mode (by removing old hacks).
...
git-svn-id: trunk@5438 -
2006-11-21 21:20:24 +00:00
yury
257a76d6c8
* finally fixed case code generation for ARM.
...
git-svn-id: trunk@5437 -
2006-11-21 21:16:25 +00:00
florian
ab919747a6
* several m68k fixes
...
* push_value_para partially cleaned up
git-svn-id: trunk@5435 -
2006-11-20 22:13:49 +00:00
Jonas Maebe
c0d46e65ee
* (finally) fixed tests/test/trangeob.pp
...
git-svn-id: trunk@5434 -
2006-11-20 22:03:08 +00:00
micha
09c8d571a6
* fix shared library linking for linux (issue #7849 , patch from Dominique Leducq)
...
git-svn-id: trunk@5433 -
2006-11-20 19:24:20 +00:00
Jonas Maebe
c54e49d428
* fixed range check errors
...
git-svn-id: trunk@5432 -
2006-11-20 13:15:30 +00:00
florian
2b7fb31a9e
* return float values in fpu registers only in non emulation mode
...
git-svn-id: trunk@5429 -
2006-11-19 22:25:23 +00:00
florian
28c5578976
* don't generate vmt for a generic
...
git-svn-id: trunk@5428 -
2006-11-19 22:07:28 +00:00
florian
0d38bda5c4
* small m68k-linux fixes
...
git-svn-id: trunk@5427 -
2006-11-19 21:51:20 +00:00
Jonas Maebe
a15e5dc61c
* always call tobject.create/free in MacPas mode for new/dispose constructs
...
(since macpas methods may accidentally be called like that as well,
as it doesn't have any constructors/destructors)
+ some tests for MacPas objects from the GNU Pascal testsuite
git-svn-id: trunk@5421 -
2006-11-18 13:36:38 +00:00
florian
81726e85d7
* properties can be also passed to formal const parameters
...
git-svn-id: trunk@5419 -
2006-11-18 09:09:21 +00:00
Marc Weustink
6b48dc8143
* fixed lineinfo reference
...
git-svn-id: trunk@5418 -
2006-11-18 02:05:54 +00:00
Marc Weustink
1a5c19fdcf
* reverted to defines for 64bit targets
...
* added 64bit header support
git-svn-id: trunk@5417 -
2006-11-18 00:50:46 +00:00
florian
fbc197f27a
* fixed writing of double constants on WinCE
...
git-svn-id: trunk@5416 -
2006-11-17 22:17:54 +00:00
Jonas Maebe
4dc98db426
* don't put classes/interfaces which need to be finalized in regvars
...
because the code generated by finalize_data_node() can't deal with that
(and it's called from gen_finalize_code() *after* the local symtable
of the current procedure has been allocated, and therefore the
make_not_regable() call of the generated addrnode doesn't do anything)
git-svn-id: trunk@5414 -
2006-11-17 12:06:20 +00:00
Marc Weustink
cfbedf5a10
* added a temp fix for dwarf64 debug generation
...
git-svn-id: trunk@5412 -
2006-11-16 23:56:08 +00:00
florian
ac5b260ec2
* registers of references aren't reused so we can safe a mov
...
git-svn-id: trunk@5411 -
2006-11-16 22:26:03 +00:00
tom_at_work
9905e6d7ff
* never generate 64 bit offsets/sizes in DWARF debug info for now
...
git-svn-id: trunk@5410 -
2006-11-16 22:12:30 +00:00
Jonas Maebe
e04e668640
* give internalerror if trying to take the address of something else
...
than a LOC_REFERENCE or LOC_CREFERENCE
git-svn-id: trunk@5408 -
2006-11-16 20:23:55 +00:00
Jonas Maebe
108c6f4d73
* unified nppcset for ppc32/ppc64 since virtually identical
...
* fixed case bug for ppc64 regarding qwords (must be handled via
genlinearcmplist)
git-svn-id: trunk@5406 -
2006-11-16 18:56:28 +00:00
Jonas Maebe
f60b6faf17
* nppcinl is currently the same for ppc32 and ppc64
...
git-svn-id: trunk@5405 -
2006-11-16 18:27:10 +00:00
Jonas Maebe
7b0d6364a7
* moved ppc32/ppc64 second_int_to_bool to common file
...
git-svn-id: trunk@5404 -
2006-11-16 18:04:58 +00:00
yury
135c0ecfb7
* fixed passing float constants as part of "array of const" parameter for ARM.
...
git-svn-id: trunk@5403 -
2006-11-16 17:01:17 +00:00
yury
347af4dbe4
* fixed case code for ARM.
...
git-svn-id: trunk@5402 -
2006-11-16 13:07:32 +00:00
florian
3f0dfdcba4
* OP_SUB must set always the flags in case of case
...
git-svn-id: trunk@5400 -
2006-11-16 10:21:43 +00:00
florian
3f77637b56
* set is_jmp flag correctly
...
git-svn-id: trunk@5399 -
2006-11-16 09:43:58 +00:00
Károly Balogh
eb01d935d3
- typo fix
...
git-svn-id: trunk@5397 -
2006-11-15 23:10:49 +00:00
florian
6ad8307653
+ better case code generation for arm
...
git-svn-id: trunk@5395 -
2006-11-15 22:44:13 +00:00
florian
1e1f711663
* instructions being already conditional can't be marked as conditional again
...
git-svn-id: trunk@5394 -
2006-11-15 22:42:22 +00:00
florian
84f0b62f93
* cond. instruction optimization enabled
...
git-svn-id: trunk@5393 -
2006-11-15 21:59:29 +00:00
florian
8998a04bf6
* initial copy from i386
...
git-svn-id: trunk@5391 -
2006-11-15 20:33:43 +00:00
Jonas Maebe
5444207df8
* better fix for tw1623 (generates more optimal code)
...
git-svn-id: trunk@5390 -
2006-11-15 14:15:00 +00:00
Jonas Maebe
248046320a
* fixed inlining of functions called in their own parameters (tw1623)
...
git-svn-id: trunk@5389 -
2006-11-15 09:56:11 +00:00
florian
4010d66c2c
* arm cond. instruction support
...
git-svn-id: trunk@5387 -
2006-11-14 22:37:22 +00:00
florian
876a3651d1
* varsets disabled completely for now
...
git-svn-id: trunk@5384 -
2006-11-14 21:43:29 +00:00
Jonas Maebe
41c23b8904
- disabled varsets for big endian targets for now since it breaks sets
...
git-svn-id: trunk@5382 -
2006-11-14 20:47:11 +00:00
Jonas Maebe
76cd84f2a1
* fixed cs_externally_visible (macpas {$z+})
...
git-svn-id: trunk@5381 -
2006-11-14 20:38:54 +00:00
Jonas Maebe
7528e074a5
* fixed compilation for non-ARM
...
git-svn-id: trunk@5380 -
2006-11-14 20:24:03 +00:00
florian
5f4cf8654c
* activate FPC_HAS_VALGRINDBOOL
...
git-svn-id: trunk@5379 -
2006-11-14 19:40:56 +00:00
florian
47010f2e5f
* properly optimize jumps on ARM
...
git-svn-id: trunk@5378 -
2006-11-14 19:40:32 +00:00
yury
f258b907fb
* Set procalign alignment for sections of import jumps table.
...
git-svn-id: trunk@5376 -
2006-11-14 17:05:46 +00:00
yury
87d5058dec
* fix arm-wince exception handling.
...
git-svn-id: trunk@5375 -
2006-11-14 16:49:02 +00:00
yury
8abe2d365e
* Implemented stackframe optimization for ARM CPU.
...
git-svn-id: trunk@5374 -
2006-11-14 16:18:49 +00:00
yury
d8d25c2489
* fixed memory leaks in compiler.
...
git-svn-id: trunk@5369 -
2006-11-14 09:32:58 +00:00
yury
ba53db3b5d
* ARM PC relative references optimization.
...
git-svn-id: trunk@5368 -
2006-11-14 09:31:17 +00:00
Jonas Maebe
4ba88ce33e
* fix searching of (g)ar for the arfinishcmd
...
git-svn-id: trunk@5367 -
2006-11-13 22:39:00 +00:00
peter
f21f055373
* change hashobjectlist.Delete() calls to :=nil now that the .Delete() behaviour
...
is changed
git-svn-id: trunk@5365 -
2006-11-13 22:04:21 +00:00
Jonas Maebe
25e9a60553
* expand the paths in the PATH when searching for executables
...
(e.g. ~/bin)
git-svn-id: trunk@5364 -
2006-11-13 22:03:49 +00:00
peter
9ae8e9fa21
* refactor tclassheader in tvmtbuilder and tvmtwriter
...
* fix rtti generation
* rtti is now written at the end of a module when all info is available,
this prevents some duplicate rtti entries cause by inheritance
git-svn-id: trunk@5363 -
2006-11-13 22:03:17 +00:00
peter
129ab85aad
* tfphashlist.delete needs to rehash after updating all indexes
...
git-svn-id: trunk@5362 -
2006-11-13 21:17:59 +00:00
peter
881c210908
* unitinialized sorg
...
git-svn-id: trunk@5360 -
2006-11-13 20:40:00 +00:00
peter
45621c892e
* set vs_initialised for typed consts
...
* delete old symbol when absolute is used
git-svn-id: trunk@5351 -
2006-11-13 07:42:48 +00:00
florian
b76211b426
* more improvements
...
git-svn-id: trunk@5348 -
2006-11-12 22:32:26 +00:00
florian
e29892329a
* improved pp.lpi
...
git-svn-id: trunk@5347 -
2006-11-12 22:24:15 +00:00
Jonas Maebe
4454f6da0f
* enable pipe-assembling again for solaris
...
git-svn-id: trunk@5346 -
2006-11-12 21:43:58 +00:00
florian
cab0f71d13
* comment fixed
...
git-svn-id: trunk@5343 -
2006-11-12 19:07:41 +00:00
florian
90787bb436
* disable sse/mmx fastmode code in case of valgrind usage
...
git-svn-id: trunk@5342 -
2006-11-12 16:54:44 +00:00
florian
d80bfc692d
* don't open error file twice but close it first if necessary
...
git-svn-id: trunk@5340 -
2006-11-12 16:00:01 +00:00
florian
2162f63def
* properly clean up current_procinfo
...
git-svn-id: trunk@5339 -
2006-11-12 15:39:01 +00:00
florian
f9235938b4
* storing/restoring of settings when doing a specialization
...
git-svn-id: trunk@5336 -
2006-11-11 21:37:09 +00:00
florian
80876932aa
+ parsing of type casts with nested types
...
git-svn-id: trunk@5335 -
2006-11-11 20:45:02 +00:00
florian
534048e286
* fixed parameter name change message
...
git-svn-id: trunk@5334 -
2006-11-11 18:06:11 +00:00