Commit Graph

10326 Commits

Author SHA1 Message Date
florian
6ac5ed6a47 * store character constants converted to shortstrings unaligned
git-svn-id: trunk@9106 -
2007-11-03 16:07:18 +00:00
yury
40c3092b99 * Fixed compilation.
git-svn-id: trunk@9094 -
2007-11-03 09:51:45 +00:00
yury
13d948c07b * Fixed: import Address Table should contain the same data as Import Lookup Table.
* Perform import by name with index as hint, if both import name and import index are specified.
* Fixed import by ordinal when external linker is used.
* Fixed some warnings and notes.

git-svn-id: trunk@9083 -
2007-11-02 23:07:15 +00:00
florian
d9e0f078e1 * continued to play around with package support
git-svn-id: trunk@9075 -
2007-11-02 22:26:43 +00:00
florian
965bb41288 * fixed more rex placements
git-svn-id: trunk@9069 -
2007-11-02 21:30:43 +00:00
peter
676f477ddb * remove obsolete scripts
git-svn-id: trunk@9068 -
2007-11-02 21:21:56 +00:00
florian
4fed8c4ab5 + write aliasnames to ppu as well
+ ppudump updated
* ppu version increased

git-svn-id: trunk@9064 -
2007-11-02 20:50:01 +00:00
Jonas Maebe
e716ac6b6b * give ord->formaldef again a higher precedence than ord->floatdef
(last convert level that is added, needs a more structural
     solution)

git-svn-id: trunk@9057 -
2007-11-02 11:17:11 +00:00
florian
01fd678211 + basic parsing of package files
+ basic implementation of creation of packages

git-svn-id: trunk@9054 -
2007-11-01 23:20:28 +00:00
Károly Balogh
1536e9e65b + de-uglified the previous hack
+ made Amiga syscalls to save/restore the frame pointer (do we really need a frame pointer?)
 + some disabled debug comments (to asm source)
 + compiler is now able to generate some VERY basic, but working Amiga-m68k executables

git-svn-id: trunk@9051 -
2007-11-01 19:31:58 +00:00
Jonas Maebe
e621b30af8 * remove procedures with var/out parameters which are supposed to
be passed a constant expression from the overload candidates

git-svn-id: trunk@9050 -
2007-11-01 16:27:41 +00:00
Károly Balogh
12bcb539e6 + fix(?) stack return address with an ugly hack...
git-svn-id: trunk@9047 -
2007-11-01 16:04:16 +00:00
Károly Balogh
91abb3aeb9 + first (failed) attempt to have a working stackframe generation
git-svn-id: trunk@9040 -
2007-11-01 14:16:17 +00:00
Jonas Maebe
ad5ce1adf4 * fixed a_load_reg_ref: the store size has to depend on the tosize,
not on the fromsize (fixes webtbs/tw10072, and hopefully also
    resolves mantis #8121)

git-svn-id: trunk@9037 -
2007-11-01 13:31:23 +00:00
florian
5bdea6b5b3 * avoid generation of __stklen if not necessary
git-svn-id: trunk@9029 -
2007-11-01 10:28:49 +00:00
Károly Balogh
8562910185 + quick hack to have linker support for amiga/m68k (it produces some kind of binary at least)
git-svn-id: trunk@9024 -
2007-11-01 00:22:47 +00:00
florian
90af7ebf72 * use only windows exceptions for stack checking on win32/win64, resolves #9166
git-svn-id: trunk@9020 -
2007-10-31 23:19:48 +00:00
yury
22c1f6381d * Fixed cross CPU cycle after changes in rev. 8911.
git-svn-id: trunk@9018 -
2007-10-31 22:44:25 +00:00
Károly Balogh
b91c0756c4 + made m68k to compile system unit again
git-svn-id: trunk@9017 -
2007-10-31 22:33:00 +00:00
florian
e3a0f3d303 * updates from Ido Kanner
git-svn-id: trunk@9016 -
2007-10-31 19:55:37 +00:00
Jonas Maebe
82a0749970 * prefer non-matching orddef conversions to orddef-to-pointer conversions
(mantis #10002) and also to orddef-to-real conversions
    (delphi-compatible). More tests and fixes will follow later.

git-svn-id: trunk@9015 -
2007-10-31 17:20:37 +00:00
Jonas Maebe
df2ecd14f5 * fixed comparisons of orddefs with fourcharcodes in macpas mode + test
git-svn-id: trunk@9014 -
2007-10-31 15:11:13 +00:00
Jonas Maebe
68570e5471 * save/restore true/false label when secondpassing arrayconstructor
elements (mantis #10072)

git-svn-id: trunk@9013 -
2007-10-31 12:37:35 +00:00
peter
ee479f31a1 * remove duplciate m68k from ALLTARGETS
git-svn-id: trunk@8999 -
2007-10-30 07:15:48 +00:00
florian
7f4c387841 o new BeOS patch by Olivier Coursiere:
* correctly define the stack size for BeOS,
  + implement a minimum nl_langinfo function to correctly initialize WideString support
  + add fgl unit in the BeOS RTL makefile
  * SysOSAlloc now return nil when the system can not allocate the asked memory,
  * HAS_SYSOSFREE is no more defined with an empty implementation under BeOS. This was preventing FPC to reuse memory.
  + there is now a basic implementation of CheckPointer under BeOS.

git-svn-id: trunk@8994 -
2007-10-29 19:00:32 +00:00
Jonas Maebe
8d8ba9a583 * fixed pic reference loading for non-darwin i386 platforms after
r8657

git-svn-id: trunk@8993 -
2007-10-29 19:00:15 +00:00
peter
a0984505b2 * regenerated to fix fpc detection on non-i386
git-svn-id: trunk@8991 -
2007-10-29 16:34:18 +00:00
peter
324b1732ab * regenerated to update dependencies
git-svn-id: trunk@8988 -
2007-10-29 09:07:18 +00:00
florian
50cc61c8fd * ignore register list in pure assembler routines, resolves #9335
git-svn-id: trunk@8978 -
2007-10-28 20:41:19 +00:00
florian
c3475dddc0 * handle case ranges properly for unsigned types with a non-zero base, resolves #10009
git-svn-id: trunk@8974 -
2007-10-28 17:06:02 +00:00
florian
1e618b499d * fixes unaligned load_ref_reg on little endian arm
git-svn-id: trunk@8972 -
2007-10-28 15:30:50 +00:00
florian
0b83cb5761 * align locations where mm registers are stored to be preserved
git-svn-id: trunk@8970 -
2007-10-28 14:09:38 +00:00
florian
19b79468ad * store/load mmx registers properly
* sse registers can be stored/loaded aligned on x86-64

git-svn-id: trunk@8969 -
2007-10-28 14:08:57 +00:00
florian
82c7896d8d * more ins. dat issues popped up, did I mention I start to hate it :(?
git-svn-id: trunk@8968 -
2007-10-28 14:08:04 +00:00
florian
c1d62172fe * the saga continues, fixed previously broken assembler table entries
git-svn-id: trunk@8967 -
2007-10-28 13:01:58 +00:00
florian
9d88b1d9ef * x86-64 fixed
git-svn-id: trunk@8963 -
2007-10-28 08:45:48 +00:00
florian
f32831c44a * fixed assembling of fisttp of sse3 instruction set
+ sse3 optimized trunc() using fisttp
+ -Cfsse3 for x86-64

git-svn-id: trunk@8962 -
2007-10-27 20:50:46 +00:00
florian
46e1587395 * another bunch of assembler fixes, win64 builds again
git-svn-id: trunk@8957 -
2007-10-27 19:49:53 +00:00
florian
3cadba6010 + create target directory before starting ins. dat. creation
git-svn-id: trunk@8956 -
2007-10-27 19:40:01 +00:00
florian
00d6a03b2c + default code now preserves mm registers
* save|restore_standard_registers => save|restore_registers

git-svn-id: trunk@8954 -
2007-10-27 12:02:28 +00:00
florian
3a630340be * fixed m68k compilation and put it in fullcycle
git-svn-id: trunk@8953 -
2007-10-27 11:24:50 +00:00
florian
8f5a4cc514 * more, hopefully correct, x86-64 assembler fixes
git-svn-id: trunk@8952 -
2007-10-26 20:44:57 +00:00
Jonas Maebe
368cd52f97 * fixed bug in typed constant record parsing with variant records
in case a variant part other than the first is initialised (the
    index of the next symbol was not adjusted, causing incorrect error
    messages in case there are some alignment bits/bytes between the
    previous and next field)

git-svn-id: trunk@8948 -
2007-10-26 18:22:30 +00:00
Jonas Maebe
920a626c17 * mark darwin as case sensitive, because the dircache isn't always used
anymore (the dircache masks the effects of case-sensitive file
    systems on targets marked as case-aware)

git-svn-id: trunk@8946 -
2007-10-26 13:01:01 +00:00
Jonas Maebe
327c5935f0 * add all implicit units (system, objpas, variants, cmem, ...) using
their name in all lower case, so the compiler doesn't waste time
    searching for System.ppu/System.pas/System.pp/... on case-sensitive
    file systems

git-svn-id: trunk@8945 -
2007-10-26 12:36:38 +00:00
Jonas Maebe
71c314c550 * Only start caching a directory once more than 20 lookups have been
done in it, to avoid caching very large current directories (such as
    those of the testsuite) without reason. It would be better if that
    decision were based on a fraction of the total number of entries in
    each directory, but that information doesn not appear to be available
    in a cross-platform way

git-svn-id: trunk@8938 -
2007-10-25 20:30:04 +00:00
Jonas Maebe
81c5abfb72 * don't add target_info.unit_env to the unit search path
if it's not set/empty

git-svn-id: trunk@8931 -
2007-10-25 19:30:48 +00:00
peter
c8ed392469 * defstates doesn't affect any crc
git-svn-id: trunk@8927 -
2007-10-25 18:13:03 +00:00
florian
c5f492ef50 * fixed assembling of movq mem,xmmreg
git-svn-id: trunk@8923 -
2007-10-24 20:45:38 +00:00
peter
273bfffe5b * store defstates in ppu, this field keeps the info what
is generated for a def so it can be reused, e.g. dwarf debuginfo

git-svn-id: trunk@8920 -
2007-10-23 21:50:10 +00:00