Commit Graph

9321 Commits

Author SHA1 Message Date
Jonas Maebe
a23fa2e81e * moved (unfinished) routines related to writing taicpu's to ppu files
from x86/aasmcpu to aasmtai and (new) aasmsym, so that when they're
    finished they're available for all targets
  * added dummy implementation of tai_cpu_abstract.pass1 and pass2 so there
    are no more hundreds of warnings on non-x86 about constructing taicpu
    instances with abstract methods

git-svn-id: trunk@5787 -
2007-01-02 18:28:05 +00:00
Jonas Maebe
912e1e13eb * getrange parameters from "var" to "out"
git-svn-id: trunk@5786 -
2007-01-02 18:16:56 +00:00
florian
98d6014c73 * register saving on win64 fixed
git-svn-id: trunk@5785 -
2007-01-02 14:34:03 +00:00
Jonas Maebe
e4e6f8112d * fixed some warnings about hidden constructors
git-svn-id: trunk@5784 -
2007-01-02 14:18:12 +00:00
Károly Balogh
e5249a8b56 + some messy m68k changes (first attempt to implement a_param_*)
git-svn-id: trunk@5782 -
2007-01-02 00:11:52 +00:00
florian
a95c2220cc * fixed volatile registers for x86_64-win64
git-svn-id: trunk@5781 -
2007-01-01 23:26:21 +00:00
florian
2049837dd9 * dispinterfaces are publishable as well
git-svn-id: trunk@5773 -
2007-01-01 18:30:53 +00:00
florian
d5291d0e18 + handle variant dispatching
git-svn-id: trunk@5771 -
2006-12-31 17:50:29 +00:00
florian
11aa2b483e * kicked ignore_equal, usage was wrong anyways
git-svn-id: trunk@5763 -
2006-12-31 00:48:52 +00:00
florian
475664acf5 * fixed local check, fixes #7242
git-svn-id: trunk@5760 -
2006-12-30 23:47:21 +00:00
florian
c4d96ec538 * only non generic types can be used when specializing generics, fixes 7735
git-svn-id: trunk@5754 -
2006-12-30 21:51:24 +00:00
peter
6562e40a3e * ignore program module when resolving unit names during ppu load
git-svn-id: trunk@5749 -
2006-12-30 17:18:28 +00:00
Jonas Maebe
b86e2aa33a * fixed crash when compiling certain invalid "in" constructions
(mantis 8031)

git-svn-id: trunk@5748 -
2006-12-29 23:13:02 +00:00
yury
f8cfa49971 * enabled af_smartlink_sections for i386-wince.
git-svn-id: trunk@5743 -
2006-12-29 21:06:05 +00:00
yury
1044e84ea3 * fixed i386-wince flags.
* enabled internal linker for i386-wince.

git-svn-id: trunk@5742 -
2006-12-29 20:50:43 +00:00
pierre
fc66d46beb + added several warnings about use of references
involving (%ebp) or (%esp) in assembler code.
   Useful to track code that might suffer from regcall
   convention.

git-svn-id: trunk@5736 -
2006-12-29 09:37:15 +00:00
Jonas Maebe
5988e6d117 * niln has a compelxity of 0 (so the inlining code doesn't try to take
its address) (mantis 8028)

git-svn-id: trunk@5735 -
2006-12-29 01:11:41 +00:00
Jonas Maebe
03c7e345cd * committed wrong version in previous revision
git-svn-id: trunk@5733 -
2006-12-28 17:02:24 +00:00
Jonas Maebe
47ff7b62e7 * fixed overload choosing algorithm so it's Delphi-compatible +
tests (and test generator) (also fixes mantis 6641)

git-svn-id: trunk@5732 -
2006-12-28 16:54:07 +00:00
Jonas Maebe
e6fbeee5a8 * updated for new compiler switches (mantis 7063)
git-svn-id: trunk@5725 -
2006-12-27 15:09:13 +00:00
Jonas Maebe
4ae9ac969a * implicitly call procvars in tp/delphi modes for divmodn, shlshrn
and notn (mantis 7200)

git-svn-id: trunk@5724 -
2006-12-27 14:29:23 +00:00
tom_at_work
92538bcb2a Fixed lineinfo compilation with -gl
git-svn-id: trunk@5723 -
2006-12-26 19:27:45 +00:00
Jonas Maebe
66a07eba3e * give an error if the same method declaration is added twice to an
interface/class/object (mantis 8019)

git-svn-id: trunk@5721 -
2006-12-26 18:12:56 +00:00
Jonas Maebe
f6473ac074 * give more information about array types in error messages
(dynamic, open, const open array) (mantis 8021)

git-svn-id: trunk@5720 -
2006-12-26 17:19:00 +00:00
Jonas Maebe
f56d53c0e1 * disable generation of smartlinkable code for Darwin for now since
the result doesn't work yet due to a bug in Apple's linker

git-svn-id: trunk@5719 -
2006-12-26 17:07:28 +00:00
Károly Balogh
121a5c3cb8 + workaround for old Amiga GNU AS, which vomits for .fpc sections
git-svn-id: trunk@5714 -
2006-12-26 08:43:27 +00:00
Károly Balogh
b0bc5d92fd + fixed suspected typo
git-svn-id: trunk@5710 -
2006-12-25 15:26:55 +00:00
Jonas Maebe
f308bfb45c * fixed mantis 6686 ("function a;" without prior definition of "a"
accepted in Delphi mode + extra test case where something similar
    has to succeed)

git-svn-id: trunk@5698 -
2006-12-24 10:48:49 +00:00
pierre
e0d9b9e307 * fix previous patch for -g alone,
now debug type is set to target_info.dbg

git-svn-id: trunk@5695 -
2006-12-24 01:27:26 +00:00
Jonas Maebe
9d28af4269 * removed po_function and instead check proctypeoption (more
comprehensive too)

git-svn-id: trunk@5693 -
2006-12-23 21:04:30 +00:00
Jonas Maebe
a63ed25f74 * fixed support for repeating constructor without parameters in Delphi
mode + test

git-svn-id: trunk@5692 -
2006-12-23 20:53:47 +00:00
Jonas Maebe
d3ded54ae0 * temporarily turn off self and vmt checking after calling
AfterConstruction, since self may no longer be valid afterwards
    (the instance may already have freed itself, e.g. in case of a
     TThread with FreeOnTerminate=true)

git-svn-id: trunk@5689 -
2006-12-23 14:03:43 +00:00
Jonas Maebe
e5a1d628eb * fixed one regression in r5682: implementation declarations with a
calling convention that has different hidden parameters than the
    interface declaration no longer compiled in Delphi mode (e.g.
    webtbs/tw7329.pp on i386)
  * fixed remaining declaration parsing incompatibilities in TP/Delphi
    modes (other modes already gave errors for the things below):
    * give an error for "function a: byte;" in interface followed by
      "procedure a;" in implementation ("function a;" in implementation
      still allowed as in TP/Delphi)
    * give an error for "function a(b: byte):byte" in interface
      followed by "function a: byte;" in implementation (if one parameter
      or return type is specified in implementation, everything must
      be repeated -- "function a;" still allowed)
  * copied webtbs/tw0890.pp to webtbf/tw0890a.pp since it now correctly
    fails, and modified webtbs/tw0890.pp so it doesn't fail with the
    new code

git-svn-id: trunk@5688 -
2006-12-23 11:17:21 +00:00
Jonas Maebe
2b9bdf2155 * fixed mantis 6631, 7322 and 7989: check parameters and return
types of interface methods implemented in a class

git-svn-id: trunk@5686 -
2006-12-22 19:50:52 +00:00
Jonas Maebe
f3f8a76559 * fixed mantis 7173 (properly check parameters in unit
implementation in Delphi/TP mode if they are repeated)

git-svn-id: trunk@5682 -
2006-12-22 17:48:28 +00:00
pierre
a9da7ec275 * use stabs as default debug format if none is
explicitly selected. 

git-svn-id: trunk@5679 -
2006-12-22 16:36:07 +00:00
Jonas Maebe
24ba57fe91 * fixed error message for attempts to initialise typed const
classes/interfaces (mantis 8006)

git-svn-id: trunk@5676 -
2006-12-22 14:12:26 +00:00
yury
8765e488ac * fixed compilation of tbs/tb0460.pp for targets where currency is stored as ordinal.
git-svn-id: trunk@5672 -
2006-12-22 00:48:17 +00:00
yury
11daaa31f2 * fixed Internal error 200408203 in tbs/tb0258.pp for ARM.
git-svn-id: trunk@5669 -
2006-12-21 22:02:29 +00:00
yury
2a274aa510 * fixed tbs/tb0350.pp.
* removed unused local variables.

git-svn-id: trunk@5667 -
2006-12-21 21:18:38 +00:00
Jonas Maebe
e4a2fb7f35 * fixed mantis 7975 and 7107 (ie 200311075 when working using somewhat
complex method calls in inlined procedures)

git-svn-id: trunk@5666 -
2006-12-21 21:03:47 +00:00
yury
4092321ae9 * Compiler directives {$...} are allowed in ARM inline assembler. It fixes tb0142.pp and tb0193.pp.
git-svn-id: trunk@5664 -
2006-12-21 20:48:18 +00:00
yury
496e19c9c2 * fixed ARM register allocation problem when additional register is used for spilling.
git-svn-id: trunk@5659 -
2006-12-21 14:18:03 +00:00
daniel
1b173fd0f3 + Enable resourcestring in all modes
* Pre-initialize resourcestrings

git-svn-id: trunk@5637 -
2006-12-18 21:25:47 +00:00
Legolas
5f81d9e656 * arm9 binaries are automatically patched
git-svn-id: trunk@5634 -
2006-12-18 18:43:51 +00:00
tom_at_work
949aa60805 * DWARF debug lineinfo reader
git-svn-id: trunk@5632 -
2006-12-17 23:11:25 +00:00
florian
fd2032dab2 + start of embedded rtl
+ feature support in the compiler

git-svn-id: trunk@5628 -
2006-12-17 18:40:36 +00:00
Jonas Maebe
991c7da136 * support inc(pointer) in TP mode with range/overflow checking on as well
git-svn-id: trunk@5605 -
2006-12-15 13:02:00 +00:00
Jonas Maebe
87e7e435bf * store parameters at the callee side with the required alignment
git-svn-id: trunk@5604 -
2006-12-15 10:37:26 +00:00
Jonas Maebe
26f81bfe08 * fixed arithmetic overflow when loading the recorddef of large
(> high(aint)/8 bytes) records from ppu files

git-svn-id: trunk@5595 -
2006-12-14 20:24:20 +00:00