Commit Graph

10470 Commits

Author SHA1 Message Date
daniel
4ca3a590e8 * Labels that are defined or referenced in a different lexical level
than their declaration need to be code generated as global asmlabels.

git-svn-id: trunk@9791 -
2008-01-19 13:50:58 +00:00
peter
793fd8fc09 * Add -Xg to help pages
* -Xg now produces a .dbg file with debuginfo
    that can be used by gdb. The main executable gets
    a debuglink section that references the .dbg file.

git-svn-id: trunk@9778 -
2008-01-17 01:20:37 +00:00
Vincent Snijders
9de3695061 * fixed comparing ppu time with source time (bug 10443)
git-svn-id: trunk@9776 -
2008-01-16 18:57:43 +00:00
florian
cd4b05f3de * better detection of source file change while writing debug info
* set module index before replaying tokens of a generic

git-svn-id: trunk@9767 -
2008-01-15 21:36:58 +00:00
florian
b5c114934d * reverted 9727 and made a better fix for it
git-svn-id: trunk@9734 -
2008-01-13 13:23:19 +00:00
florian
295fdbe37c * use the current cgsizes instead of the def to determine if loadfpu can be used, else softfloats are broken
git-svn-id: trunk@9728 -
2008-01-13 09:59:13 +00:00
florian
2d91fef4f1 + accept system.string, resolves #10489
git-svn-id: trunk@9727 -
2008-01-12 22:25:33 +00:00
Jonas Maebe
be2119b489 * simply discard overloaded routines which cannot accept a variant
when determining the optimal candidate for a single variant
    parameter, rather than giving an internal error (mantis #10623)

git-svn-id: trunk@9726 -
2008-01-12 19:01:49 +00:00
Jonas Maebe
70d94fecc1 * enable {$push}/{$pop} in all syntax modes instead of ony in macpas
(mantis #10351)

git-svn-id: trunk@9723 -
2008-01-12 16:47:46 +00:00
tom_at_work
4e60ceb237 * removed code which splits "unaligned" 8 byte stores/loads into two 4 bytes stores/loads on ppc64. The processor manuals and extensive testing showed that PPC970+ class processors have hardware assisted handling of unaligned memory accesses, which results in 8 byte memory accesses to be always faster than 4 byte ones
git-svn-id: trunk@9721 -
2008-01-12 13:47:55 +00:00
Jonas Maebe
cf295c8e88 * increased ppu version number because the ansi/widestring result patch
makes the generated code ABI-incompatible with code compiled with
    older compilers

git-svn-id: trunk@9719 -
2008-01-11 22:50:07 +00:00
Jonas Maebe
cdfb7c8f26 * patch from Sergei Gorelkin to return ansi/widestrings by reference
in an invisible parameter (Delphi compatible, faster/smaller code)

git-svn-id: trunk@9718 -
2008-01-11 22:36:50 +00:00
Jonas Maebe
e72fab1e43 * perform floating point type conversions directly in assignment nodes
when possible, as this can save a lot of useless memory traffic
    (and fpu<->sse conversions on x86)

git-svn-id: trunk@9716 -
2008-01-11 21:18:49 +00:00
Jonas Maebe
9772da7eeb * compare stripped copies of the compiler instead of the original
compiler binaries when determining whether cycle has finished
    on darwin, because when using Dwarf the linked binaries are
    always slightly different there (because the Dwarf info is kept
    in the object files and is referenced using a unique identifier,
    to be able to ascertain that you are using the correct object
    files and binary together when debugging)

git-svn-id: trunk@9715 -
2008-01-11 20:08:47 +00:00
Jonas Maebe
6e9b3bf345 * perform double->single-conversion-before-storing workaround for
fpu bug on some ppc's depending on the selected target cpu type
    rather than depending on whether we're compiling for 64 bit

git-svn-id: trunk@9685 -
2008-01-08 22:00:37 +00:00
Legolas
9dc6b3992f * Some cleaning on nds linker; new extension for intermediate files
git-svn-id: trunk@9672 -
2008-01-07 19:31:32 +00:00
Jonas Maebe
84159b3cbb * optimize away unnecessary implicit upcasts to int64 for subtractions
of u32bit values on 32 bit platforms (after the int64 values have 
    already been used for overload selection etc, i.e., semantically
    nothing changes)
  + test which checks that not too many typecasts are optimized away

git-svn-id: trunk@9664 -
2008-01-06 23:30:19 +00:00
Jonas Maebe
03e9f652fd * fixed range error in case node distance calculation
git-svn-id: trunk@9662 -
2008-01-06 23:18:12 +00:00
Jonas Maebe
482b83c3cb * typecheckpass before calling do_simplify, as the siplify methods
assume that the resultdefs are available

git-svn-id: trunk@9652 -
2008-01-06 15:30:04 +00:00
peter
bbae08d0ef * fix range check error when compiling with 2.2.x
git-svn-id: trunk@9650 -
2008-01-06 12:45:26 +00:00
Jonas Maebe
9ec3cc2022 * fixed sign of location.size for divmodn, 64 shlshrn and for muln
git-svn-id: trunk@9646 -
2008-01-05 21:35:42 +00:00
Jonas Maebe
e3d82f1953 * don't change the temp location of types which needs to be
initialised/finalised, because the init/final generation code
    happens after pass 2 using plain nodes and therefore needs the
    original locations intact

git-svn-id: trunk@9626 -
2008-01-04 20:51:09 +00:00
Jonas Maebe
08ccb30e3b * perform real "exactness" checking for open array parameters
git-svn-id: trunk@9624 -
2008-01-04 12:54:47 +00:00
Jonas Maebe
af2b4ee178 - reverted r9519 because it breaks tbs/tb0162 and test/tint644
git-svn-id: trunk@9622 -
2008-01-03 22:13:13 +00:00
Jonas Maebe
db6e60789b * only use ".set" directive when creating dwarf relsyms on darwin and
not for other relsyms, as older versions of the darwin assembler
    don't understand the ".set" directive (mantis #10541)

git-svn-id: trunk@9621 -
2008-01-03 12:47:31 +00:00
Jonas Maebe
7dac4e7e81 * fixed ppc compiler compilation with -dextdebug
git-svn-id: trunk@9620 -
2008-01-03 12:45:13 +00:00
michael
eddde27b0b It is of course apache 1.3, not 1.13
git-svn-id: trunk@9614 -
2008-01-02 13:18:05 +00:00
michael
7839c9e46b Fixed wrong path for apache defines
git-svn-id: trunk@9613 -
2008-01-02 10:55:45 +00:00
marco
38bbdb95ee * patch from KMS, resolves 10147
git-svn-id: trunk@9611 -
2008-01-02 09:43:55 +00:00
florian
6843833d60 * regenerated
git-svn-id: trunk@9606 -
2008-01-01 11:07:42 +00:00
florian
2dd91ca248 * updates from Karl-Michael Schindler
git-svn-id: trunk@9605 -
2008-01-01 11:03:55 +00:00
michael
130bac9c03 * Fixed bug #10511
git-svn-id: trunk@9594 -
2007-12-30 21:35:04 +00:00
michael
ee099500a1 * FPCAPACHE_1_13 or FPCAPACHE_2_0 define will determine what Apache version is taken
git-svn-id: trunk@9590 -
2007-12-30 20:46:27 +00:00
michael
b01e0d69d5 * FPCAPACHE_1_13 or FPCAPACHE_2_0 define will determine what Apache version is taken
git-svn-id: trunk@9589 -
2007-12-30 20:46:20 +00:00
michael
ac7f8dee39 * FPCAPACHE_1_13 or FPCAPACHE_2_0 define will determine what Apache version is taken
git-svn-id: trunk@9588 -
2007-12-30 20:42:32 +00:00
yury
e5f8426f61 * Prevent warning about automatic type conversion when using VAL with COMP type on x86.
git-svn-id: trunk@9540 -
2007-12-26 17:47:40 +00:00
yury
9bca56ac44 * Don't issue "Local variable is assigned but never used" warning for external variables.
git-svn-id: trunk@9538 -
2007-12-26 16:30:45 +00:00
Jonas Maebe
c05f18a1b0 * catch duplicate field declarations in a single class in Delphi mode
(mantis #10457)

git-svn-id: trunk@9534 -
2007-12-26 15:21:18 +00:00
Jonas Maebe
ca7650418d * fixed/added overflow checking in generic unarminusn code + test
+ added support for OP_NEG/OP_NOT in tcg64f386.a_op64_ref_reg (needed
    for the above)

git-svn-id: trunk@9528 -
2007-12-25 23:52:09 +00:00
Jonas Maebe
3d89822bc4 * free saved_standard_registers and saved_mm_registers in
done_register_allocators

git-svn-id: trunk@9527 -
2007-12-25 23:47:44 +00:00
Jonas Maebe
d740304b77 * don't call DoneDebugInfo twice in tmodule.reset
* call DoneDebugInfo in tmodule.destroy (fixes all remaining dwarf
    memory leaks)

git-svn-id: trunk@9526 -
2007-12-25 23:46:30 +00:00
Jonas Maebe
9a614617e4 * fixed some memory leaks
* transform directories to their dwarf format name while registering
    them so that e.g. "./" gets properly mapped to "." already at that
    point
  * fixed wrong (but harmless) typecast in self checking

git-svn-id: trunk@9525 -
2007-12-25 23:45:21 +00:00
Jonas Maebe
67431891e0 * fixed resulttype of unaryminusn for qwords on 32 bit platforms (was
qword, now is int64)
  * simplified currency checking in unaryminusn pass_typecheck

git-svn-id: trunk@9524 -
2007-12-25 23:43:07 +00:00
Jonas Maebe
8d9bfcaa7d * fixed memory corruption in trgobj.add_to_movelist on 64 bit platforms
git-svn-id: trunk@9523 -
2007-12-25 23:39:28 +00:00
peter
537319385b * support (expr[,expr]) recovery for postfixoperators
git-svn-id: trunk@9521 -
2007-12-23 20:58:28 +00:00
peter
505e4f7809 * don't give illegal expression for errorn statements. The error is already given
or can be ignored during a generic template parsing

git-svn-id: trunk@9520 -
2007-12-23 20:57:59 +00:00
peter
13ca601510 * use svalue to compare with -1
git-svn-id: trunk@9519 -
2007-12-23 20:44:02 +00:00
yury
6a4ee90cb0 * Inherit recordalignment by objects. Otherwise static instances of child objects are not aligned properly. Mantis #10454.
+ Test.

git-svn-id: trunk@9495 -
2007-12-21 15:35:32 +00:00
Jonas Maebe
0bf43d223b * fixed uses of custom-length string types in function/property
result types

git-svn-id: trunk@9486 -
2007-12-17 13:36:30 +00:00
Jonas Maebe
719c29cf86 + new cpo_openequalisexact parameter comparison option which
treats equal open arrays, open strings and arrays of const
    (implicitly also open) as exactly matching (since you
     cannot declare such types on their own, so they will
     never match exactly)
  * require that forward declared procedures match the
    implementation exactly for both the parameters (with
    the above modification) and result type (mantis
    #10425 and the related webtbf/tw10425a.pp)

git-svn-id: trunk@9484 -
2007-12-16 22:22:11 +00:00