Commit Graph

17045 Commits

Author SHA1 Message Date
florian
2c26c35eb6 * updated copyright year to 2015
+ added "and others" if translation was not updated yet

git-svn-id: trunk@29383 -
2015-01-04 15:26:29 +00:00
florian
29d4037a9c * make integer division instruction (div/idiv) on x86 dependent on the
resulttype of the div node set by the type checking pass, this is 
  also how the generic code generator handles it, resolves #27173

git-svn-id: trunk@29382 -
2015-01-04 13:08:57 +00:00
pierre
cc537a2e76 Try to avoid uncorrect optimization
git-svn-id: trunk@29373 -
2015-01-02 23:00:22 +00:00
Károly Balogh
7a91d5f495 m68k: oops, unbroke the build with softfpu
git-svn-id: trunk@29372 -
2015-01-02 16:00:53 +00:00
Károly Balogh
d000b1bc7c m68k: basic 68881 fpu support. probably still broken at umpzillion places, and mostly untested, but at least it builds the RTL and all packages successfully with -Cp68020 -Cf68881 instead of dying with random internalerrors() and now even emits actual FPU opcodes.
git-svn-id: trunk@29370 -
2015-01-02 05:29:45 +00:00
florian
f813703cf3 * fixes several issues with loop unrolling
git-svn-id: trunk@29362 -
2014-12-31 15:45:06 +00:00
sergei
da8346079f * mips-linux: Enabled tf_safecall_exceptions (it just works, no reason to keep disabled) and also tf_pic_uses_got (so that checks elsewhere in compiler set pi_needs_got flag; actual functionality is not changed because currently MIPS just forces pi_needs_got unconditionally).
git-svn-id: trunk@29360 -
2014-12-29 23:26:40 +00:00
sergei
b46ce6b70e * Fixed condition to output div/divu having R0 as first operand as non-macros.
git-svn-id: trunk@29359 -
2014-12-29 23:19:01 +00:00
florian
0a19825e25 * elf_x86_64 -> elf_x86_64_sol2, should resolve #27199
git-svn-id: trunk@29358 -
2014-12-29 17:57:45 +00:00
sergei
57094d495b + MIPS: implement inline full 64-bit multiplication, for cases when overflow checking is off and CPU is set to mips32r2.
git-svn-id: trunk@29354 -
2014-12-28 22:03:15 +00:00
florian
1178fdc98f * force objects and records only into memory if their address is passed, hint from Jonas, improves code after r29139
git-svn-id: trunk@29344 -
2014-12-27 16:42:34 +00:00
svenbarth
5848637db3 Fix generation of class names for specializations.
symdef.pas, tstoreddef:
  * is_specialization: fix exit condition to correctly recognize specializations

+ added test

git-svn-id: trunk@29328 -
2014-12-26 18:14:52 +00:00
sergei
d2187257e7 - removed unused type and variable
git-svn-id: trunk@29323 -
2014-12-25 10:25:21 +00:00
Tomas Hajny
ee82b6ea0b * do not mention OS/2 and EMX on option list for x86_64
git-svn-id: trunk@29318 -
2014-12-23 23:08:43 +00:00
florian
c34bffd56a * $SUBARCH => $FPCSUBARCH
git-svn-id: trunk@29316 -
2014-12-23 20:48:35 +00:00
nickysn
b193073e32 + support the $fpcmemorymodel macro in fpc.cfg
git-svn-id: trunk@29315 -
2014-12-23 18:55:57 +00:00
svenbarth
b38fb606cc Fix for Mantis #27185.
ngenutil.pas:
  * AddToStructInits: also process the class constructors/destructors of nested types

+ added test

git-svn-id: trunk@29308 -
2014-12-21 14:01:32 +00:00
Jonas Maebe
a7d36de9ae * associate debug information for local variables with the second instead of
first java bytecode of a method, because when using javac for code
    completion (as done by NetBeans), it assumes that all variable debug info
    associated with the first byte code is for parameters. Furthermore, this
    code in javac contains a range error when a lot of extra "parameters" are
    declared this way, so it used to crash in some cases.

git-svn-id: trunk@29301 -
2014-12-16 20:52:46 +00:00
pierre
905c47ef84 Fix error with .ref pseudo-op. with assembler labels that still had dollar signs on AIX assembler
git-svn-id: trunk@29300 -
2014-12-15 09:10:50 +00:00
florian
677d30182a * improve error location reporting, resolves #26279
git-svn-id: trunk@29296 -
2014-12-14 21:18:28 +00:00
florian
4289dd667d * managed types cause a different warning/hint when they are
used uninitialized, so users can turn off these messages if they want, resolves #24601 and #26403

git-svn-id: trunk@29295 -
2014-12-14 20:48:54 +00:00
florian
c9ba9665dd * set nf_internal for if nodes generated by assert, prevent warning for assert(true); resolves #26467
git-svn-id: trunk@29293 -
2014-12-14 19:41:22 +00:00
florian
f630fb94b5 * do not warn when internally generated if nodes are simplified
git-svn-id: trunk@29292 -
2014-12-14 19:40:17 +00:00
florian
f1eb00a450 * do not issue a hint about uninitialized var-parameters, resolves #25916
git-svn-id: trunk@29289 -
2014-12-14 17:54:37 +00:00
florian
bb01872821 + handle -CPPACKENUM and -CPPACKRECORD, resolves #27153
git-svn-id: trunk@29283 -
2014-12-13 21:08:18 +00:00
florian
d540d56908 * unified internal errors
git-svn-id: trunk@29280 -
2014-12-13 11:46:59 +00:00
joost
5b7f168d2c * Set the full path to the fpc-binary in the fppkg-configuration file
git-svn-id: trunk@29279 -
2014-12-13 11:24:21 +00:00
michael
a127bfa51d * Fixed tex marker
git-svn-id: trunk@29276 -
2014-12-12 20:02:09 +00:00
svenbarth
77df68b2d9 Fix basically a regression since the reworking of Delphi compatible generics. The typenames of specialization now (again) contains the type names of the parameters. Additionally they are nicely formatted (TypeName<UnitName1.TypeName1[,...]>. If the full string should be longer than 255 characters an ellipsis will be added accordingly instead of the remaining parameters.
symdef.pas, tabstractrecorddef:
  + new private field rttistring to hold the string generated by RttiName
  * instead of generating the RTTI name each time on the fly it is generated only once and additionally contains (symbollically) the amount of type parameters for generics and all type parameters for specializations including their units

git-svn-id: trunk@29275 -
2014-12-12 17:25:15 +00:00
svenbarth
7b216d7fa6 Fix for Mantis #27120.
pdecobj.pas, parse_object_members:
  * also allow class fields for helper types

+ added tests

git-svn-id: trunk@29270 -
2014-12-12 13:57:43 +00:00
florian
dd967eb136 * handle records in iso mode properly if no tag-field is given
git-svn-id: trunk@29259 -
2014-12-11 19:21:13 +00:00
nickysn
c39128708e + implemented inc/dec for huge pointers
git-svn-id: trunk@29251 -
2014-12-10 23:52:46 +00:00
sergei
8f4430e795 * tcg.translate_register: check that reg.allocator is not nil before calling its method (in case of "assembler nostackframe" function returning an x87 float compiler tries to translate NR_ST which is used for function result).
* tcg.a_reg_dealloc: ignore NR_NO, prevents creating useless deallocations of NR_DEFAULTFLAGS on MIPS targets which have NR_DEFAULTFLAGS=NR_NO.

git-svn-id: trunk@29242 -
2014-12-10 07:13:14 +00:00
svenbarth
e2c546b26f Regenerate msg*.inc files
git-svn-id: trunk@29239 -
2014-12-09 21:20:05 +00:00
svenbarth
e614914016 Fix a grammatical error in warning asmr_w_global_access_without_got
git-svn-id: trunk@29238 -
2014-12-09 21:19:21 +00:00
marco
2578514853 * first dragonfly patch (existing most). Mantis #27091
git-svn-id: trunk@29213 -
2014-12-07 20:27:02 +00:00
florian
25e19f27a0 + write name of missing feature in error message
git-svn-id: trunk@29211 -
2014-12-07 18:20:56 +00:00
nickysn
a9e1419ee3 * extracted the pass 1 handling of inc/dec to a virtual method first_IncDec
git-svn-id: trunk@29210 -
2014-12-06 21:14:31 +00:00
Jeppe Johansen
3bc1db9612 Fixed breakage in the ARM peephole optimizer indirectly brought to light by r29189.
git-svn-id: trunk@29191 -
2014-12-01 14:39:40 +00:00
Jeppe Johansen
d04e988ff1 Make sure optimizer don't generate invalid assembler forms (LDRD and STRD).
git-svn-id: trunk@29189 -
2014-11-30 17:34:37 +00:00
svenbarth
9611c3df52 Fix for Mantis #25606.
pexpr.pas, postfixoperators:
  * try_type_helper: also allow type helpers for block type bt_const

+ added test

git-svn-id: trunk@29176 -
2014-11-28 22:06:10 +00:00
svenbarth
9f138fd659 Fix for Mantis #26022.
globals.pas:
  * enable type helpers by default for mode Delphi and DelphiUnicode

git-svn-id: trunk@29173 -
2014-11-28 16:39:12 +00:00
svenbarth
fa1bc0757d Fix for Mantis #26922.
pgenutil.pas, specialization_init:
  * don't push the localsymtable if the unit does not have one available

+ added test (needs manual execution though... :/ )

git-svn-id: trunk@29172 -
2014-11-28 16:35:28 +00:00
pierre
3506767e8d Generate mimnimal DWARF debug information for non-multithreaded thread variables
git-svn-id: trunk@29150 -
2014-11-26 09:59:13 +00:00
florian
ce96980f39 * updates to German message files by Karl-Michael Schindler, resolves #27061
git-svn-id: trunk@29148 -
2014-11-25 19:07:23 +00:00
pierre
5c48eb2d96 Fix problem in handling of tf_pic_default
git-svn-id: trunk@29140 -
2014-11-23 22:05:42 +00:00
florian
854fa1d4b9 * force advanced records into memory when they are used as self, resolves #26075
git-svn-id: trunk@29139 -
2014-11-23 22:05:40 +00:00
pierre
016666c70f Use pic code by default for x86_64-openbsd
git-svn-id: trunk@29138 -
2014-11-23 22:04:30 +00:00
pierre
82b99d09bd Add tf_smartlink_sections for i386-bsd target
git-svn-id: trunk@29137 -
2014-11-23 22:01:25 +00:00
svenbarth
2288df9fcf Fix for Mantis #27073. The -vx option is not only for Win32, but in fact for information about tool invocation on all platforms.
git-svn-id: trunk@29129 -
2014-11-23 20:46:45 +00:00