Commit Graph

12587 Commits

Author SHA1 Message Date
Jonas Maebe
852ae48cb7 * also use blx instead of bl for direct calls on ARMv5+, since the target
may be thumb(2) (mantis #19896)
  * don't conditionalize "blx <imm target>", because that's not a valid
    encoding

git-svn-id: trunk@18984 -
2011-09-05 20:33:15 +00:00
sergei
16859976da Mantis #19182, Delphi compatible tweaks:
* Allow properties of type interface to implement not just the same interface, but also any of its ancestors.
* Allow a single property to implement multiple interfaces.

git-svn-id: trunk@18983 -
2011-09-05 19:51:10 +00:00
pierre
df4388a47d + Added code to display 80-bit value on
system supporting only 64-bit double type.
  * Try to display reals in target format.
  * Corrected ibrecorddef handling if df_copied_def is set.

git-svn-id: trunk@18979 -
2011-09-05 16:16:25 +00:00
pierre
713f269ce2 * Change Field passing type of FreeLocalVerbosity parameter
to by value to avoid passing an unaligned pointer.
  * Adapt code calling FreeLocalVerbosity  to reset
    currrent_settings.pmessage to nil afterwards.

git-svn-id: trunk@18978 -
2011-09-05 12:52:37 +00:00
pierre
b526bb4dfa * Fix failures introduced by rev 18975
git-svn-id: trunk@18976 -
2011-09-05 07:51:22 +00:00
pierre
68d27263e7 Try to improve RecordTokenBuf with respect to PPU reading
git-svn-id: trunk@18975 -
2011-09-04 22:43:41 +00:00
florian
e9f2f3388e * use dwarf2 on avr-embedded by default because stabs is difficult due to name mangling issues
git-svn-id: trunk@18973 -
2011-09-04 19:37:26 +00:00
florian
f1f0cb033a * move ReplaceForbiddenChars to cpubase of avr so it can be used in dbgstabs as well
* tried to fix dbgstabs so that it doesn't emit illegal chars using ReplaceForbiddenChars, however, dbgstabs accesses symbol names quite often, so this failed

git-svn-id: trunk@18972 -
2011-09-04 19:36:43 +00:00
florian
7bceba2392 * since the last name mangling changes, gas writer for avr needs to replace more illegal characters
git-svn-id: trunk@18971 -
2011-09-04 18:56:47 +00:00
florian
645b6942d0 * version update
git-svn-id: trunk@18970 -
2011-09-04 18:53:12 +00:00
florian
0066a12974 * makes a_jmp_cond working
git-svn-id: trunk@18969 -
2011-09-04 18:47:08 +00:00
sergei
689d4b3ecc + Mantis #19651: Generate table of typed string constants which are initialized with resourcestrings, so they are updated when SetResourceStrings or SetUnitResourceStrings is called.
git-svn-id: trunk@18968 -
2011-09-04 16:01:26 +00:00
florian
a1381c1240 * some aint -> tcgint changes to avoid range check errors on systems with sizeof(aint)<4
git-svn-id: trunk@18966 -
2011-09-04 14:26:27 +00:00
florian
a1b7ec0999 * forgot again part of a commit, this belongs to r18962
git-svn-id: trunk@18963 -
2011-09-03 20:42:01 +00:00
florian
6d996bf832 * made a_call_ref of PowerPC generic, we need to allocate a register after all on risc platforms
git-svn-id: trunk@18962 -
2011-09-03 20:37:53 +00:00
florian
b17a9385e5 * use generic first_int_to_real 64 bit values on sparc
* compile part of softfpu into the system unit as consequence of using the generic first_int_to_real

git-svn-id: trunk@18961 -
2011-09-03 19:58:32 +00:00
florian
1de4d16eea - remove ncpucall for sparc, it has no use anymore
git-svn-id: trunk@18960 -
2011-09-03 19:46:13 +00:00
florian
7b72e21743 * forgotten part of r18958
git-svn-id: trunk@18959 -
2011-09-03 19:45:17 +00:00
florian
6211a83865 * write variable locations of 64 bit integer values on 32 bit targets correctly
* when transforming imag. register variable locations into real ones, take care of the register type

git-svn-id: trunk@18958 -
2011-09-03 19:43:50 +00:00
pierre
637a4671d9 Fix messages to tokenbuufer writing to zvoid problems with PPU
git-svn-id: trunk@18957 -
2011-09-03 17:38:53 +00:00
pierre
4c633c46ed Change mangling to avoid overlap and increase PPU version
git-svn-id: trunk@18946 -
2011-09-02 14:20:14 +00:00
paul
8a8db0a822 compiler: pass both modulename and filename to tmodule.create. extract modulename from filename if modulename is not passed (probably fix an error with asm/obj filename appeared after the namespace branch merge).
git-svn-id: trunk@18930 -
2011-09-01 01:50:53 +00:00
florian
0781ac1f82 + support for lpc1768 by David Welch
git-svn-id: trunk@18927 -
2011-08-31 20:17:23 +00:00
pierre
041f3d0222 Fix 20093 bug report
git-svn-id: trunk@18922 -
2011-08-31 16:20:40 +00:00
paul
3c5d642685 fix indenting (after the merge of namespaces branch)
git-svn-id: trunk@18920 -
2011-08-31 08:10:31 +00:00
sergei
2650326e6b * Call get_high_value_sym() instead of duplicating its functionality.
git-svn-id: trunk@18914 -
2011-08-30 08:44:04 +00:00
paul
4b24a58871 compiler: remove/hide few unused variables
git-svn-id: trunk@18912 -
2011-08-30 01:32:23 +00:00
paul
adceaf438c reintegrate paul/namespaces branch into trunk:
r18890 | paul | 2011-08-29 16:45:23 +0800 (Пн, 29 авг 2011) | 1 line

compiler: also parse dots in package name and in units which package contains (although package support is not implemented yet in FPC it can parse packages)
------------------------------------------------------------------------
r18886 | paul | 2011-08-29 10:46:13 +0800 (Пн, 29 авг 2011) | 1 line

compiler: replace "string" with ansistring where we concatenate substrings to prevent 255 chars limit overflow
------------------------------------------------------------------------
r18859 | paul | 2011-08-27 11:52:07 +0800 (Сб, 27 авг 2011) | 1 line

compiler: implement delphi like namespaces

git-svn-id: trunk@18911 -
2011-08-30 01:10:24 +00:00
paul
fbbbc1117d compiler: also parse dots in package name and in units which package contains (although package support is not implemented yet in FPC it can parse packages)
git-svn-id: branches/paul/namespaces@18890 -
2011-08-29 08:45:23 +00:00
paul
61f2335de9 compiler: replace "string" with ansistring where we concatenate substrings to prevent 255 chars limit overflow
git-svn-id: branches/paul/namespaces@18886 -
2011-08-29 02:46:13 +00:00
florian
df01d0209e * report code and data size for embedded targets
git-svn-id: trunk@18866 -
2011-08-27 22:03:40 +00:00
florian
1491d77c9d * avoid ugly space in compilation summary
git-svn-id: trunk@18865 -
2011-08-27 21:21:24 +00:00
florian
34b033ba72 + armv4t
* use armv4t and armv7m, in the makefiles instead of armv7 and cortexm3

git-svn-id: trunk@18863 -
2011-08-27 20:21:42 +00:00
florian
c95f7b1c2f * remove cpu type cortex m3 on arm, it is just an ARMv7-M
git-svn-id: trunk@18862 -
2011-08-27 19:26:16 +00:00
florian
7e537161c4 * allow %seg. register:offset without (...), resolves #20035
git-svn-id: trunk@18861 -
2011-08-27 15:41:39 +00:00
paul
de21de2024 compiler: implement delphi like namespaces
git-svn-id: branches/paul/namespaces@18859 -
2011-08-27 03:52:07 +00:00
florian
42c94d1b91 * controllerunit.inc is no longer used
git-svn-id: trunk@18852 -
2011-08-26 07:22:09 +00:00
florian
f629e3b4fb * new version
* title name is ppcarm now

git-svn-id: trunk@18851 -
2011-08-26 07:21:40 +00:00
florian
a08dfdf803 o slightly modified patch by John Clymer:
* converts the embedded information into controller specific records (arm and avr)
  * new cpu-specific units for several Stellaris (Fury and Tempest class) targets, 
  + STM32F103RB
  - old Stellaris unit has been removed

git-svn-id: trunk@18848 -
2011-08-25 21:46:26 +00:00
florian
6005ec2c91 + a_jmp_cond implemented
git-svn-id: trunk@18840 -
2011-08-25 18:27:33 +00:00
florian
cf0d808708 + avr assemblers do not convert automatically cond. branches with too large jump distances into an unconditional branch and a reverse condition branch, so fpc does this now
git-svn-id: trunk@18837 -
2011-08-24 22:29:50 +00:00
paul
8309809a0d compiler: use try_consume_unitsym for except variable parse. this is needed to reduce maintenance cost for later unit identifier search changes
git-svn-id: trunk@18826 -
2011-08-24 10:54:17 +00:00
florian
4c403baa85 * new lpi version
git-svn-id: trunk@18805 -
2011-08-21 19:56:40 +00:00
Jonas Maebe
1bb9a3b3d7 * fixed generic code for subtracting one set from another if both are
in registers, because the left set could be overwritten before its
    last use

git-svn-id: trunk@18792 -
2011-08-20 20:36:13 +00:00
florian
46cc0209de * make use of mulps/mulpd and haddps/haddpd/hsubpd/hsubps to optimze x*x+y*y and x*x-y*y where x and y might be single or double
git-svn-id: trunk@18790 -
2011-08-20 12:34:37 +00:00
florian
13ac5d185f * fix add_move_instruction for sse moves
git-svn-id: trunk@18789 -
2011-08-20 12:30:47 +00:00
florian
ca1f33aae1 * extended do_spill_replace with some sse instructions
git-svn-id: trunk@18788 -
2011-08-20 12:29:41 +00:00
florian
e8dafe4dde * fixed change information for a lot of sse instructions
git-svn-id: trunk@18787 -
2011-08-20 12:28:49 +00:00
florian
2f4fcf7dee * avoid range check error
git-svn-id: trunk@18786 -
2011-08-20 12:25:58 +00:00
florian
da9d0d24e8 * update of german error message files by Karl-Michael Schindler, resolves #20021
git-svn-id: trunk@18457 -
2011-08-20 08:01:26 +00:00