Commit Graph

9647 Commits

Author SHA1 Message Date
michael
651c5c3b8c * Applied patch to preserve case in stabs info (-gp)
git-svn-id: trunk@6612 -
2007-02-23 10:43:42 +00:00
michael
42f610f710 * Applied patch to preserve case in stabs info (-gp)
git-svn-id: trunk@6611 -
2007-02-23 10:42:20 +00:00
Jonas Maebe
06208b5c5d * removed some unused code and associated variable
from parse_packed_array_def

git-svn-id: trunk@6605 -
2007-02-22 16:56:21 +00:00
Jonas Maebe
e2e1b7b857 * changed type of bool8bit from DW_ATE_unsigned_char to
DW_ATE_boolean (was already used for bool16bit and bool32bit,
    and seems to work fine in gdb)

git-svn-id: trunk@6604 -
2007-02-22 15:29:34 +00:00
Jonas Maebe
430351e424 * fixed 64 bit bug in a_load_subsetref_regs_noindex
git-svn-id: trunk@6602 -
2007-02-22 13:52:01 +00:00
Jonas Maebe
f7f295319f * fixed win32 and go32v2 compilation
git-svn-id: trunk@6600 -
2007-02-22 07:31:19 +00:00
peter
f7a6c1e2ee * only allow pointer(integer) in fpc modes
git-svn-id: trunk@6598 -
2007-02-22 07:01:47 +00:00
Jonas Maebe
90ea73a90b * more file handling from shortstring to tcmdstr
git-svn-id: trunk@6595 -
2007-02-21 21:54:54 +00:00
Jonas Maebe
9876d04bcd * fixed dwarf definition of longstring (avoids endless loop in
gdb when loading ref_def for longstring)

git-svn-id: trunk@6589 -
2007-02-21 19:07:45 +00:00
florian
05e0a804cc * fixes cardinal in reg -> real on x86-64, resolves #8225
git-svn-id: trunk@6588 -
2007-02-21 16:53:57 +00:00
peter
9a37c04131 * cardinal-cardinal is calculated using int64
* support pointer(int64) for all modes, this is needed to
    support pointer(cardinal+longint) and pointer(cardinal-cardinal)

git-svn-id: trunk@6586 -
2007-02-21 11:52:06 +00:00
Jonas Maebe
41bf70cf2a * reverted setdef change which got accidentally committed in r6573
git-svn-id: trunk@6585 -
2007-02-21 11:48:54 +00:00
Jonas Maebe
3794fab64d + support for packed array constants
git-svn-id: trunk@6583 -
2007-02-20 21:53:46 +00:00
florian
6588b2cb57 * fix resource embedding on arm-wince
git-svn-id: trunk@6576 -
2007-02-20 18:01:10 +00:00
Jonas Maebe
badf5c70a0 * split off tf_dwarf_only_local_labels from tf_dwarf_relative_addresses
git-svn-id: trunk@6573 -
2007-02-20 09:05:03 +00:00
florian
c2db154121 * forgotten commit
git-svn-id: trunk@6565 -
2007-02-19 19:42:22 +00:00
florian
4ceadcbc6e + infrastructure for target specific resourcefile classes
git-svn-id: trunk@6564 -
2007-02-19 19:02:21 +00:00
florian
2566e38eae * handle shortstrings like arrays and records when returning them from functions
git-svn-id: trunk@6563 -
2007-02-19 18:55:44 +00:00
florian
ffd79553a0 + prefetch support for arm
git-svn-id: trunk@6561 -
2007-02-19 17:27:07 +00:00
Jonas Maebe
59f3041e67 * completed ret-in-para support for dwarf (result was already
accessible since previous patch via the "result" name)

git-svn-id: trunk@6558 -
2007-02-19 13:00:22 +00:00
Legolas
aad1de9055 * changes in linker script and gcc handling
git-svn-id: trunk@6556 -
2007-02-18 23:07:59 +00:00
Jonas Maebe
d7b5cd4f14 * fixed debug info for pass-by-reference parameters in dwarf by
declaring them as C++-style reference types (todo: do the same
    for pass-by-reference function results)

git-svn-id: trunk@6554 -
2007-02-18 22:49:47 +00:00
daniel
81bccc253b * Add one more gpc ifdef
git-svn-id: trunk@6545 -
2007-02-18 14:15:30 +00:00
Jonas Maebe
42b58affc7 + pointer to vmt for classes and objects with a vmt
git-svn-id: trunk@6544 -
2007-02-18 14:06:14 +00:00
Jonas Maebe
f81303874f * fixed the size of class instances (instance size instead of
sizeof(pointer))
  * fixed the inheritance definition of classes (refer the
    structural definition of the parent class rather than the
    associated pointer type when indicating the inheritance)

git-svn-id: trunk@6543 -
2007-02-18 12:41:52 +00:00
daniel
5b827873a8 * Remove consoleio feature from gba & nds as well.
git-svn-id: trunk@6527 -
2007-02-17 16:42:04 +00:00
daniel
a662c5fedb + On GO32, GBA and NDS, disable RTL features that aren't implemented.
git-svn-id: trunk@6521 -
2007-02-17 09:10:27 +00:00
Jonas Maebe
d4160ca74f * fixed compilation after ifdef'ing of m_gpc
git-svn-id: trunk@6520 -
2007-02-17 00:27:26 +00:00
daniel
5aef9bc086 - Put gpc mode between ifdefs. The only thing it does it disable all
features, this is not gpc compatibility.

git-svn-id: trunk@6518 -
2007-02-16 23:13:28 +00:00
Jonas Maebe
0926c4c64d * properly set needstackframe for assembler routines
git-svn-id: trunk@6516 -
2007-02-16 22:13:11 +00:00
florian
3aa64eb6b4 * made vararrays working on win64
git-svn-id: trunk@6515 -
2007-02-16 20:12:34 +00:00
Jonas Maebe
9c9684b3a3 * r6498 for ppc64
git-svn-id: trunk@6502 -
2007-02-15 21:12:44 +00:00
Jonas Maebe
10ff422d90 * committed version change in wrong branch :/
git-svn-id: trunk@6499 -
2007-02-15 20:31:56 +00:00
Jonas Maebe
c4913ac85d * don't save stack pointer if we don't need to allocate a
stack frame but nevertheless have to store registers to
    the stack (not only optimization, but also needed because
    in that case no room for the stack pointer is reserved
    and thus it'll overwrite one of the saved registers!)

git-svn-id: trunk@6498 -
2007-02-15 20:25:36 +00:00
Jonas Maebe
ead7ecf73a * update version to 2.3.0
git-svn-id: trunk@6497 -
2007-02-15 20:16:38 +00:00
tom_at_work
3f9fd66ce5 * removed R13 from freely usable registers, is reserved for threading
git-svn-id: trunk@6496 -
2007-02-15 19:57:43 +00:00
yury
48e46f1c2e * Fixed error "Incompatible type for arg no. X: Got "Array Of Char", expected "Array Of PChar"" when passing values like ['1','2','3'] for "array of PChar" parameter.
+ Test added.

git-svn-id: trunk@6495 -
2007-02-15 19:43:35 +00:00
Jonas Maebe
90e83fcee6 * reset flag to generate dummy line info after each module
compilation, since the debuginfo class isn't destroyed/
    created all the time

git-svn-id: trunk@6493 -
2007-02-15 18:32:10 +00:00
Jonas Maebe
82378bc73a * support assigned widechars with value < 255 to chars in Delphi mode
* better error messages for assigning invalid values to typed consts
   (mantis #8312, patch by Thorsten Engler)

git-svn-id: trunk@6468 -
2007-02-13 13:35:46 +00:00
florian
4575c9f424 * fixed alignment of dyn. arrays
git-svn-id: trunk@6458 -
2007-02-12 18:41:21 +00:00
peter
6932845c31 * Revert r6285, it broke some type defs
* New fix for local type defs

git-svn-id: trunk@6453 -
2007-02-12 08:22:38 +00:00
florian
e8c48ab561 + eDSP instructions for arm
git-svn-id: trunk@6425 -
2007-02-11 15:10:27 +00:00
daniel
9256c180de * Fix register allocation bug that happens when a coalesced
move is spilled in its entirely.

git-svn-id: trunk@6408 -
2007-02-10 22:47:13 +00:00
florian
38dabf82da + insdat target for easier instruction table recreation
git-svn-id: trunk@6402 -
2007-02-10 21:50:02 +00:00
florian
08f48f5fc9 * completed jrcxz support
git-svn-id: trunk@6401 -
2007-02-10 21:14:05 +00:00
florian
a19ed91cc3 * fix for jcxz, jecxz and jrcxz on 64 bit platforms
git-svn-id: trunk@6400 -
2007-02-10 21:05:27 +00:00
Jonas Maebe
9813a8708c * fixed encoding of jcxz
git-svn-id: trunk@6398 -
2007-02-10 20:38:38 +00:00
florian
c5d56702ff * properly align case target labels
git-svn-id: trunk@6395 -
2007-02-10 18:42:25 +00:00
Jonas Maebe
530d5c125d * limit the left hand side of "in" expressions to 2^32 for now
(fixes webtbs/tw8258 for 64 bit platforms)

git-svn-id: trunk@6393 -
2007-02-10 16:20:47 +00:00
peter
a48c9fe3a0 * cleanup r6369
git-svn-id: trunk@6385 -
2007-02-09 12:34:13 +00:00
tom_at_work
99bc1ccb75 * merged some code which was ifdefed separately for POWERPC and POWERPC64 code but is equal
git-svn-id: trunk@6383 -
2007-02-08 22:52:11 +00:00
tom_at_work
635117218e * fix incorrect generation of huge static arrays on 64 bit systems; however, GAS only supports 2^31-1 sized ones
git-svn-id: trunk@6382 -
2007-02-08 22:11:27 +00:00
Jonas Maebe
1863fb4c55 * make more use of location_force_register in in-code, should fix
cycle on x86-64

git-svn-id: trunk@6376 -
2007-02-08 14:14:32 +00:00
Jonas Maebe
21cef2cdb1 * r6372 for x86(-64)
git-svn-id: trunk@6373 -
2007-02-07 23:10:54 +00:00
tom_at_work
dc21781f1d * fix compilation for 64 bit platforms,
as suggested by Jonas

git-svn-id: trunk@6372 -
2007-02-07 23:05:19 +00:00
pierre
62b810700a * fix for webbug 8270
git-svn-id: trunk@6369 -
2007-02-07 21:00:14 +00:00
Jonas Maebe
3e5f64e16f * increased ppu version for setdef patch
git-svn-id: trunk@6366 -
2007-02-07 20:33:10 +00:00
florian
247a8b2698 * indoniesan language update by Zaenal Mutaqin
git-svn-id: trunk@6364 -
2007-02-07 20:28:54 +00:00
Jonas Maebe
f38d29cfab * optimized previous patch for "byte in set" (Thorsten Engler)
* fixed storing/loading of setdefs to/from ppu + test (Thorsten Engler)
  * fixed ppudump for new setdef format in ppus

git-svn-id: trunk@6363 -
2007-02-07 20:22:29 +00:00
florian
e2633cb47d * linker stuff for symbian by Felipe Monteiro de Carvalho
* updated symbian rtl makefile by Felipe Monteiro de Carvalho

git-svn-id: trunk@6361 -
2007-02-07 19:44:55 +00:00
Jonas Maebe
fc3852e59a * in non-TP modes, 'ord_larger_than_256 in set' now always returns
false instead of triggering a range error (mantis #8258,
    based on patch provided by Thorsten Engler)

git-svn-id: trunk@6357 -
2007-02-07 18:57:19 +00:00
florian
eb8b2fb138 * be more carefull with unaligned load optimization
git-svn-id: trunk@6356 -
2007-02-07 17:43:56 +00:00
florian
a800b2a3d3 * fixed interference generation for top_local
git-svn-id: trunk@6343 -
2007-02-04 20:43:31 +00:00
florian
c5d8e53758 * last commit fixed
git-svn-id: trunk@6338 -
2007-02-04 18:50:22 +00:00
florian
3609ddc5dd * more MustBeLast fixes
* const insertation algorithm fixed

git-svn-id: trunk@6337 -
2007-02-04 18:45:43 +00:00
florian
762bd12d16 * handle embedded case jump tables correctly
git-svn-id: trunk@6333 -
2007-02-04 14:33:57 +00:00
Jonas Maebe
674660d53b * getting the length of a string means that it has to be
valid and marks it as really read (mantis #8264)

git-svn-id: trunk@6327 -
2007-02-03 21:28:44 +00:00
michael
644795c316 * Improved hebrew translations from Ido Kanner
git-svn-id: trunk@6326 -
2007-02-03 19:53:26 +00:00
florian
35b9bfc83e * several range check errors fixed
git-svn-id: trunk@6324 -
2007-02-03 19:36:06 +00:00
Jonas Maebe
359c19ee9e - removed ppc601 as ppc32 cpu target
+ added ppc740 (g3), ppc7400 (G4) and ppc970 (G5) as ppc32 cpu
    targets
  * initialise optimizecputype by default to ppc7400 for ppc32 and to
    ppc970 for ppc64
  * merged ppc32/ppc64 overflow checking code and use the ppc64 one
    in case cputype or optimizecputype >= ppc970, because one of
    the instructions used in the ppc32 version no longer exists on the
    ppc970 (although it's emulated in the kernel on at least Mac OS X)
  * moved some other support routines and constants to ppcgen which
    were needed for the overflow checking (were identical for ppc32 and
    ppc64) 

git-svn-id: trunk@6323 -
2007-02-03 19:32:44 +00:00
florian
8d33f640d4 * stop conditional optimization at mov pc,...
git-svn-id: trunk@6321 -
2007-02-03 17:40:32 +00:00
Jonas Maebe
4d97044bba * mark whether or not procsyms are global (DW_AT_external)
git-svn-id: trunk@6314 -
2007-02-02 23:18:15 +00:00
Jonas Maebe
7a65ffac28 * use DW_FORM_ref4 instead of DW_FORM_ref_addr on
tf_dwarf_relative_addresses platforms
  * also add a file to the line info section if no code in the current
    module to make gdb happy when doing a "maintenance check-symtabs"

git-svn-id: trunk@6313 -
2007-02-02 23:16:47 +00:00
florian
d09295b686 * shift folding
git-svn-id: trunk@6312 -
2007-02-02 23:12:08 +00:00
florian
01b23ca896 * improved last commit
git-svn-id: trunk@6309 -
2007-02-02 22:47:29 +00:00
florian
d0b34fef46 * safe an loadaddr for simple references when generating unaligned accesses
git-svn-id: trunk@6308 -
2007-02-02 22:43:30 +00:00
florian
986a73c12c * arm compiler can handled misaligned references
git-svn-id: trunk@6307 -
2007-02-02 22:42:27 +00:00
peter
06698d6e1b * explicitly use shortstring for TFPHashList
git-svn-id: trunk@6303 -
2007-02-02 18:58:29 +00:00
Jonas Maebe
ea6204cc56 * only mark abstract varsyms as externally visible if they
are not kept in a register and either
    a) are in a globalsymtable
    b) are marked as static object/class member
    c) are marked as "public"

git-svn-id: trunk@6302 -
2007-02-02 17:31:26 +00:00
Jonas Maebe
bf38367b69 * if a module has no procedure/function/init/final code,
add a dummy entry to the lineinfo and finish it properly
    (needed for at least the Darwin linker)

git-svn-id: trunk@6301 -
2007-02-02 17:23:42 +00:00
Jonas Maebe
d39d06ea01 * initial fixes if tf_dwarf_relative_addresses is set:
* store dataptr as a relative offsets instead of absolute addresses
    * only place local (address) labels inside the debug_info section
     -> also always write debuginfo of defs used from another unit
  * don't use DW_LNS_advance_pc on Darwin, because its assembler doesn't
    support the .uleb128 pseudo-opcode -> impossible to store the difference
    between two labels as an uleb128
  ->  basic functionality of dwarf2 debug info now works on Darwin. Not
      yet workingon Darwin: accessing globals of another compilation unit.

git-svn-id: trunk@6300 -
2007-02-02 16:00:47 +00:00
Jonas Maebe
d99a616167 * simplified use_64bit_headers code to avoid if-statement blowups
when adding tf_dwarf_relative_addresses support

git-svn-id: trunk@6299 -
2007-02-02 14:36:56 +00:00
Jonas Maebe
1b25984563 + new tf_dwarf_relative_addresses target flag for platforms where all
addresses which are specified as relative offsets in the dwarf
    spec must actually be emitted as relative offsets by the compiler
    (only set for Darwin currently, not yet used)

git-svn-id: trunk@6298 -
2007-02-02 13:49:26 +00:00
Jonas Maebe
3067415fe4 * replaced hardcoded '.L' label prefixes with target_asm.labelprefix
git-svn-id: trunk@6295 -
2007-02-02 10:38:46 +00:00
tom_at_work
75e343e030 * inline sqrt since it is a mandatory instruction on PPC970 processors (and much faster than the generic routine)
git-svn-id: trunk@6286 -
2007-02-01 19:52:09 +00:00
Jonas Maebe
a4a35ced37 * fixed debugging info for local type definitions
git-svn-id: trunk@6285 -
2007-02-01 17:31:47 +00:00
Jonas Maebe
73c853757a * proper section names for sec_debug_line, sec_debug_info and
sec_debug_abbrev on darwin

git-svn-id: trunk@6284 -
2007-02-01 15:46:33 +00:00
florian
d50bc40cbe * simplified code generation for paramaddr for a register parameter
git-svn-id: trunk@6276 -
2007-01-31 16:36:34 +00:00
Jonas Maebe
1a32e4fdf5 * fixed pushing of words in intel assembler (indirectly related to
wrong bug report 7808)

git-svn-id: trunk@6274 -
2007-01-30 21:52:11 +00:00
florian
b16b9d5251 * don't load a spilled register between mov lr,pc mov pc,<reg>
git-svn-id: trunk@6273 -
2007-01-30 21:34:26 +00:00
florian
2167655902 * patch from Thorsten Engler submitted in #8235
git-svn-id: trunk@6272 -
2007-01-30 19:53:42 +00:00
Jonas Maebe
0650ebe3f2 * fixed tbf/tb0063
git-svn-id: trunk@6271 -
2007-01-30 15:53:52 +00:00
Jonas Maebe
9a75d308a8 * fixed missing lineinfo after removing inlining_procedure (missed a "not" in
a condition)

git-svn-id: trunk@6270 -
2007-01-30 15:30:47 +00:00
Jonas Maebe
cf508ece4f * fixed previous commit for -gv
git-svn-id: trunk@6267 -
2007-01-29 15:35:12 +00:00
Jonas Maebe
246f75c43a - removed inlining_procedure global var (artefact from pass_2 inlining)
git-svn-id: trunk@6266 -
2007-01-29 15:33:56 +00:00
Jonas Maebe
d6a4fbea47 * removed no longer used allow_only_static global variable
git-svn-id: trunk@6265 -
2007-01-29 14:49:28 +00:00
florian
0fd3498892 * fixed longint -> real, was broken in 6153
git-svn-id: trunk@6257 -
2007-01-28 21:27:21 +00:00
florian
77b155ea79 * def.size in [1,2,4,8] goes wrong if def.size>255, fixed, resolves #8232
git-svn-id: trunk@6245 -
2007-01-28 18:06:51 +00:00
tom_at_work
a0813b42bf * fixed DWARF debug info for powerpc64/linux, correcting the procedure entry symbol (must be the dotted symbol, not the function descriptor location, otherwise gdb cannot find locals
git-svn-id: trunk@6242 -
2007-01-28 12:12:12 +00:00
daniel
e8050233af + Patch by Thorsten Engler to optimize string comparisons for = and <> cases. (Mantis #8231)
git-svn-id: trunk@6241 -
2007-01-28 10:58:52 +00:00