Commit Graph

10438 Commits

Author SHA1 Message Date
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
Jonas Maebe
ada2c3ca35 * increased ppu version since the darwin name mangling change
breaks compatibility with previously compiled units

git-svn-id: trunk@9474 -
2007-12-16 11:46:57 +00:00
Jonas Maebe
2adb00ac45 * enabled operand size checking (don't know why it was disabled,
but enabling it lets the compiler catch the error in tbf/tb0037
    and causes no regressions)

git-svn-id: trunk@9465 -
2007-12-15 22:30:23 +00:00
Jonas Maebe
146b3d8bf3 * fixed location.size for length node and x86_64 mul node
git-svn-id: trunk@9464 -
2007-12-15 19:27:24 +00:00
Jonas Maebe
124c6c0c13 * always let mangled names start with an underscore on Mac OS X, because
otherwise the linker does not generate the necessary debug map
    information for global variables when using dwarf

git-svn-id: trunk@9447 -
2007-12-14 18:00:35 +00:00
florian
8f17101039 * allow application of as operator only to interfaces having a guid, resolves #6797
git-svn-id: trunk@9436 -
2007-12-12 21:07:47 +00:00
Jonas Maebe
0a53dddc99 * fixed vmt format type definition
git-svn-id: trunk@9429 -
2007-12-11 19:40:00 +00:00
peter
b5e417bd19 * increase the temp requirements for saving MM registers with the full
size of an OS_VECTOR so that we can do the alignment based on the offset
    after the allocation is done. Using the size is not possible because the
    temp alignment can be smaller than the OS_VECTOR requirement

git-svn-id: trunk@9428 -
2007-12-11 19:39:05 +00:00
Jonas Maebe
ead754c2c3 * write name of "self" as "this", so you can use plain field names inside
methods in gdb without having to write "self.fieldname" (self is also
    still recognised by gdb, that's built in)

git-svn-id: trunk@9427 -
2007-12-11 18:55:48 +00:00
Jonas Maebe
47d221ee7f * dsymutil under darwin "smart links" dwarf info -> make sure we
use the DW_TAG_typedef entries, because without them a type is
    only locally visible in the file where it is declared (see
    comments)

git-svn-id: trunk@9426 -
2007-12-11 13:10:39 +00:00
Jonas Maebe
f50d9cb9cb * finish the lineinfo table with a DW_LNE_set_address of the last
instruction of the function, like in the example in the dwarf2
    specifications appendix 3 and as done by gcc (expected by Apple's
    dsymutil)

git-svn-id: trunk@9425 -
2007-12-10 22:09:12 +00:00
Legolas
27eb735d24 * Resized stack value for NDS
* Changes to prt0:
  + Added argv support 
  * New function calls

git-svn-id: trunk@9424 -
2007-12-10 17:06:14 +00:00
Jonas Maebe
974c240266 * also use sse2 instructions to convert int to real on i386
for (types convertable to) longint
  * fixed expectloc for x86_64 int_to_real if result is in mmreg

git-svn-id: trunk@9423 -
2007-12-09 18:10:23 +00:00
Jonas Maebe
444ba107f8 * fixed location.size for divmodn (in particular the sign)
git-svn-id: trunk@9422 -
2007-12-09 18:06:44 +00:00
Jonas Maebe
91e0e5db17 * avoid some superfluous memory accesses when converting a double
precision/comp value in an fpu register to an sse value

git-svn-id: trunk@9420 -
2007-12-08 22:59:24 +00:00
Jonas Maebe
814e983c98 * optimize intvar*(-1) to -intvar
git-svn-id: trunk@9418 -
2007-12-08 16:41:28 +00:00
Jonas Maebe
24f8249f36 * flush pending local switch changes before evaluating ifopt
(mantis #10350)

git-svn-id: trunk@9413 -
2007-12-07 18:24:57 +00:00
Jonas Maebe
742ff35c48 + also optimize assignments from calls to by-reference "results":
o it's a by-reference parameter, but ignore that since it's
      guaranteed to be safe because of the escape analysis
    o it's wrapped in an absolute type conversion -> added
      actualtargetnode method to tnode which digs through that

git-svn-id: trunk@9412 -
2007-12-07 17:58:25 +00:00
Jonas Maebe
d46b433778 * move conversions of winlinke widestring, variant and records/arrays-
with-init-info assignments into helper calls from
    tassignmentnode.pass_typecheck to pass_1 so they can be optimised
    in more cases (patch from Sergei Gorelkin)

git-svn-id: trunk@9410 -
2007-12-07 15:52:12 +00:00
Jonas Maebe
f38e190892 * don't substitute the result variable of an inlined function with
a regable variable, because this result variable of the inlined
    function may not be regable + test (mantis #10371)

git-svn-id: trunk@9409 -
2007-12-07 13:29:16 +00:00
florian
57acf67659 + constant unicodestrings
git-svn-id: trunk@9385 -
2007-12-02 20:43:08 +00:00
peter
6b06d551a1 * don't fail on -Cg- for platforms that do not support PIC
git-svn-id: trunk@9383 -
2007-12-02 18:29:27 +00:00
florian
5c96c4a671 + first part of support for an unicodestring type
git-svn-id: trunk@9382 -
2007-12-02 16:39:13 +00:00
Jonas Maebe
154601b41d * don't handle dynamic arrays using fpc_copy_proc(), because it
takes the address of its parameters and a dynamic array can
    be in a register (e.g. as function result, mantis #10320)

git-svn-id: trunk@9381 -
2007-12-02 15:58:48 +00:00
Jonas Maebe
95f00eb633 * fixed x86_64 and non-darwin i386 GOT/GOTPCREL parsing after r9366
(I put that code in a separate method because it appeared in two
     places, but in one of the two places it was buggy and apparently
     never triggered, and I copied that part...)

git-svn-id: trunk@9379 -
2007-12-02 11:13:51 +00:00
sekelsenmat
38048fd073 Small fix for symbian arm target.
git-svn-id: trunk@9376 -
2007-12-02 08:27:18 +00:00
Jonas Maebe
5196db1ac3 * fixed low(set)/high(set) after previous changes + test
git-svn-id: trunk@9371 -
2007-12-01 17:16:33 +00:00
Jonas Maebe
527190a875 + relsymbol support for intel asm reader
git-svn-id: trunk@9368 -
2007-12-01 14:26:24 +00:00
Jonas Maebe
3f57d681e1 * check that not more than one relsymbol is used
git-svn-id: trunk@9367 -
2007-12-01 14:26:06 +00:00
Jonas Maebe
df2980f0c0 + relsym support
* give an error message when using @GOT in darwin/i386 assembler code
    (have to use a relsym instead)

git-svn-id: trunk@9366 -
2007-12-01 11:59:37 +00:00
Jonas Maebe
46e1bec6de * forgot to commit in previous revision
git-svn-id: trunk@9365 -
2007-12-01 11:53:50 +00:00
Jonas Maebe
18eb495d0f * give a regular error message instead of an internal error on x86
when using non-PIC references in assembler code when the compiler
    is configured to generate PIC code (on ppc, sparc and arm, no
    error message is given at all currently)

git-svn-id: trunk@9364 -
2007-12-01 11:28:15 +00:00
Jonas Maebe
feec2a74f2 * fixed crashes with length(pchar) and length(pwidechar) after
r9360-r9361

git-svn-id: trunk@9363 -
2007-12-01 10:38:22 +00:00