Commit Graph

9844 Commits

Author SHA1 Message Date
peter
e1132f8fe1 * check register type to not mixup sse registers
git-svn-id: trunk@7505 -
2007-05-28 19:12:12 +00:00
florian
7b519c1ce3 * prevent usage of units being compiled with different fpu emulation state
git-svn-id: trunk@7501 -
2007-05-28 16:18:35 +00:00
florian
a3d906f1ca - removed several ;;
git-svn-id: trunk@7498 -
2007-05-28 15:59:17 +00:00
Jonas Maebe
e1b7ce5aa9 * fixed dynarr_property:=nil + test
git-svn-id: trunk@7495 -
2007-05-28 13:48:32 +00:00
peter
a58797f989 * use linkunitofiles instead of linkotherofiles to prevent path from being stored in ppu
git-svn-id: trunk@7490 -
2007-05-27 15:27:08 +00:00
peter
2e55b74a87 * force Archvie bit for file to get a difference if a fileexists or not
git-svn-id: trunk@7485 -
2007-05-27 10:50:51 +00:00
Jonas Maebe
fa5e232055 * fixed assigning an interface to a property after better property
checks

git-svn-id: trunk@7484 -
2007-05-27 10:25:46 +00:00
Jonas Maebe
a767e89a5b - removed a comment which wasn't true anymore
git-svn-id: trunk@7472 -
2007-05-25 12:30:14 +00:00
Jonas Maebe
4919cecb3b + defined FPC_SUPPORTS_UNALIGNED if the compiler supports the
unaligned() expression

git-svn-id: trunk@7469 -
2007-05-25 12:00:55 +00:00
Jonas Maebe
a244d54d6f * fixed a_load_ref_reg_unaligned in case reg is used in ref
git-svn-id: trunk@7466 -
2007-05-25 08:49:07 +00:00
yury
cf19c0993a * fixed bug #8919.
+ test.

git-svn-id: trunk@7448 -
2007-05-24 08:15:28 +00:00
michael
001ba5de84 * Applied patch from Ido Kanner
git-svn-id: trunk@7446 -
2007-05-24 07:42:39 +00:00
peter
c83f5c8546 * use elf writer for beos
git-svn-id: trunk@7439 -
2007-05-24 07:08:29 +00:00
peter
ecbcdcdabb * added status.currentmodulestate
git-svn-id: trunk@7435 -
2007-05-24 06:21:31 +00:00
Jonas Maebe
683de5ada2 * don't destroy source register when performing division of signed
number by constant power of two

git-svn-id: trunk@7431 -
2007-05-23 14:05:27 +00:00
peter
b29e4ad12f * add used by unit to can't find unit message
git-svn-id: trunk@7430 -
2007-05-23 13:40:27 +00:00
peter
e2db0a3982 * cleanup current module status
* new set_current_module function that sets the current_module and
    all related variables. Also closes scanner files if required, but
    that might still need some optimization to prevent closing/opening
    files too often

git-svn-id: trunk@7428 -
2007-05-23 13:33:53 +00:00
Jonas Maebe
085689af60 + support for unaligned stores
* avoid some unnecessary unaligned load sequences

git-svn-id: trunk@7427 -
2007-05-23 12:03:42 +00:00
Jonas Maebe
1e10424c6b * fixed a_load_reg_ref_unaligned() so it doesn't destroy the source
register anymore

git-svn-id: trunk@7426 -
2007-05-23 11:45:26 +00:00
Jonas Maebe
528eb2ec50 * shl/shr count on sparc is "mod <bitsize>" -> fix subsetref routines to
take that behaviour into account

git-svn-id: trunk@7424 -
2007-05-23 09:32:48 +00:00
peter
b09df37cef * size of secrel32 added
git-svn-id: trunk@7421 -
2007-05-22 20:36:39 +00:00
florian
9f56a89617 + added cyrillic code page tables
+ support -Fm<x> to load unicode tables from rtl/ucmaps, they must be in the same dir as the compiler though

git-svn-id: trunk@7420 -
2007-05-22 19:38:39 +00:00
Jonas Maebe
5cf2511283 - removed/disabled all normalset code (except for bootstrapping), since
it's no longer needed

git-svn-id: trunk@7403 -
2007-05-20 11:19:36 +00:00
Jonas Maebe
497df2bb37 * also check for properties passed to read(ln) when reading integers
different from the native size, or when reading enums (because those
    are handled via a temp internally -> regular var parameter checks
    were not automatically performed)

git-svn-id: trunk@7398 -
2007-05-19 18:53:24 +00:00
Jonas Maebe
02a69ff049 * mwpascal is also a clearstack_pocall (fixes e.g. calling
CGAffineTransformMakeRotation on Darwin/i386)

git-svn-id: trunk@7397 -
2007-05-19 18:10:22 +00:00
Jonas Maebe
a0b57eddb5 * new internal set format for big endian systems. Advantages:
* varsets ({$packset x}) are now supported on big endian targets
    * gdb now displays sets properly on big endian systems
    * cleanup of generic set code (in, include/exclude, helpers), all
      based on "bitpacked array[] of 0..1" now
  * there are no helpers available yet to convert sets from the old to
    the new format, because the set format will change again slightly
    in the near future (so that e.g. a set of 24..31 will be stored in
    1 byte), and creating two classes of set conversion helpers would
    confuse things (i.e., it's not recommended to use trunk currently for
    programs  which load sets stored to disk by big endian programs compiled
    by previous FPC versions)
  * cross-endian compiling has been tested and still works, but one case
    is not supported: compiling a compiler for a different endianess
    using a starting compiler from before the current revision (so first
    cycle natively, and then use the newly created compiler to create a
    cross-compiler)

git-svn-id: trunk@7395 -
2007-05-19 17:15:15 +00:00
Jonas Maebe
2546dc5a8d * allow to load the address of a bitpacked array in assembler code
git-svn-id: trunk@7389 -
2007-05-18 11:14:43 +00:00
florian
39dc562326 * changed some message handling to ansistring, no slow down measurable with make cycle, resolves #8890
git-svn-id: trunk@7370 -
2007-05-16 21:25:55 +00:00
peter
e7ead9fc9f * nested procedures are not supported in generic methods
git-svn-id: trunk@7368 -
2007-05-16 20:56:00 +00:00
peter
cbb3667d73 * default dynamic linker for i386
git-svn-id: trunk@7367 -
2007-05-16 20:34:21 +00:00
peter
377aae4ba0 * only add .o extension if no extension is provided. fixes 8520
git-svn-id: trunk@7366 -
2007-05-16 20:11:09 +00:00
peter
6c916a032d * support - and + after -S options
git-svn-id: trunk@7365 -
2007-05-16 19:20:32 +00:00
Jonas Maebe
6555f37cff * do not search variant operators when looking for an overloaded
operator for a non-variant type (was already intended that way,
    but checks didn't work) (mantis #7070) + tests
  * some tab->spaces in defcmp.pas

git-svn-id: trunk@7359 -
2007-05-16 13:59:35 +00:00
Jonas Maebe
fdc813db9a * no need to synchronise the upper bound of a for-loop after the loop
anymore if it is a regvar, because it cannot be a regvar anymore
    after the fix for tw8883

git-svn-id: trunk@7358 -
2007-05-16 12:13:28 +00:00
yury
df36385c89 * fixed mantis #8887. (please merge to fixes).
git-svn-id: trunk@7356 -
2007-05-16 09:04:34 +00:00
peter
ea92a0e1a7 * prefer overloaded methods in current object over
inherited overloaded methods

git-svn-id: trunk@7355 -
2007-05-16 08:12:14 +00:00
Jonas Maebe
2c5a284060 * upper bound of for-loop cannot be a regvar, because the regvar may
be modified inside the loop (mantis #8883)

git-svn-id: trunk@7352 -
2007-05-15 20:25:30 +00:00
tom_at_work
8c70e81c9c * 6 bit sized members of packed records can never be split over more than 2 bytes too
git-svn-id: trunk@7350 -
2007-05-15 19:03:55 +00:00
peter
83ccc62cf0 * during specialization use the symtable stack at
definition time, fixes tgeneric14

git-svn-id: trunk@7348 -
2007-05-15 17:39:09 +00:00
pierre
e0783f446e + new program to ease cross RTL compilation tests
git-svn-id: trunk@7346 -
2007-05-15 13:41:26 +00:00
peter
bf7275576c * use sysutils instead of dos
git-svn-id: trunk@7342 -
2007-05-15 07:18:55 +00:00
peter
aa72495049 * fix resourcestring assignment in typedconst
git-svn-id: trunk@7339 -
2007-05-15 06:52:36 +00:00
Jonas Maebe
20206500aa * don't change a sequence of shifts and sub/adds into a lea() in case
the flags are read afterwards (broke shldl/sub/sbb sequence generated
    for 64 bit "*2", which appears in bitpacked size calculation)

git-svn-id: trunk@7336 -
2007-05-14 20:37:42 +00:00
Jonas Maebe
7bd8d0200e * handle mod/div between a cardinal/qword and a smaller unsigned variable
(byte, word, postive subrange) as an unsigned operation (mantis #8870)

git-svn-id: trunk@7334 -
2007-05-14 19:24:33 +00:00
Jonas Maebe
c80d4225ca + support for ISO Extended Pascal ReadStr() and WriteStr() routines
git-svn-id: trunk@7333 -
2007-05-14 17:34:01 +00:00
peter
c831b2fb00 * set symoptions for all implicit created parameters
git-svn-id: trunk@7321 -
2007-05-12 22:16:06 +00:00
daniel
182fca72f2 * Change spill_* routines to return Taicpu instead of Tai to increase
strong typing.
  * Fix PowerPC R0 register allocation

git-svn-id: trunk@7317 -
2007-05-12 15:43:16 +00:00
yury
821c91c230 * fix Mantis #8760: do not put actually empty sections in executable by internal linker.
* .bss section no longer required by internal linker.

git-svn-id: trunk@7316 -
2007-05-12 13:32:52 +00:00
Jonas Maebe
acad2913d6 * a loadsize of 1 can never cause alignment problems in subsetref
routines

git-svn-id: trunk@7308 -
2007-05-11 09:17:01 +00:00
peter
b3c650bd98 * fix shortstring:=char
git-svn-id: trunk@7302 -
2007-05-10 06:01:42 +00:00