Commit Graph

48148 Commits

Author SHA1 Message Date
marcus
759170f822 Amiga, AROS, MorphOS: TAG_(), AsTag() for easer varargs handling
git-svn-id: trunk@33223 -
2016-03-12 13:50:00 +00:00
marcus
1e792e6f06 Amiga: systemvartags and longarray removed, array of const -> array of PtrUInt
git-svn-id: trunk@33222 -
2016-03-12 13:01:12 +00:00
michael
674b539293 * Patch from Daniel Plachotich to allow regular procedures as iterators
git-svn-id: trunk@33221 -
2016-03-12 09:49:21 +00:00
michael
e160b09468 * Check allowed options when setting options not in constructor
git-svn-id: trunk@33220 -
2016-03-12 09:48:20 +00:00
florian
f780872069 + return exit code of executed program
git-svn-id: trunk@33219 -
2016-03-11 20:44:44 +00:00
florian
8b81ce7e25 * use PtrUInt instead of Cardinal in GenericAnsiStrLComp and GenericAnsiStrLIComp, resolves #29815
git-svn-id: trunk@33218 -
2016-03-11 20:38:48 +00:00
marco
0bfdfe20ea * second batch of mantis #29762 related -w function fixes..
git-svn-id: trunk@33217 -
2016-03-11 15:52:08 +00:00
marco
5e8bc3a631 * mantis #29762 unicode structure problems fixed up to and including MessageBoxIndirectW
git-svn-id: trunk@33216 -
2016-03-11 12:07:36 +00:00
michael
2717fd67d6 * Patch from Gilson Nunes, Silvio Clecio to fix unsafe typecast, improved loop logic (Bug ID 29812)
git-svn-id: trunk@33215 -
2016-03-11 07:36:27 +00:00
svenbarth
27ab1c61c5 Fix for Mantis #29745.
symdef.pas, getansistringdef:
  * use a temporary, non-defaware symtablestack to create the ansistringdef

+ added test

git-svn-id: trunk@33214 -
2016-03-10 19:43:45 +00:00
Tomas Hajny
8c68272e89 * fix for bug #29604
git-svn-id: trunk@33213 -
2016-03-09 23:24:17 +00:00
michael
940244cb12 * Remove msdos target, not all dependencies are satisfied
git-svn-id: trunk@33212 -
2016-03-09 20:45:26 +00:00
svenbarth
e58488dc3e Fix for Mantis #29792.
htypechk.pas, tcallcandidates:
  * create_candidate_list: check the correct tableoptions for sto_has_overload flag

+ added test

git-svn-id: trunk@33211 -
2016-03-09 20:45:26 +00:00
michael
463c9f6e42 * Apply patch to improve pos() for widestring (mimicking unicodestring), bug ID #29790
git-svn-id: trunk@33210 -
2016-03-09 20:42:23 +00:00
michael
839a0445a4 Fixed bug in split when final word has length 1 (bug ID 29798)
git-svn-id: trunk@33209 -
2016-03-09 19:56:57 +00:00
sergei
0f301b4c57 * Fixed spilling info for vcvt* instructions, part of Mantis #29783.
git-svn-id: trunk@33208 -
2016-03-09 16:36:30 +00:00
michael
60cd15dda0 * Add small comment indicating possible improvement (last use of testsuite.tests)
git-svn-id: trunk@33207 -
2016-03-08 10:06:32 +00:00
michael
caec08e795 * Hopefully fix bug #29722 (wrong handling of TTestItem list)
git-svn-id: trunk@33206 -
2016-03-08 10:04:15 +00:00
sergei
cad30aaee9 * x86_64: Modified fpc_exp_real so it does not use 'sahf' assembler instruction, which may be not present on early 64-bit capable x86 processors. Mantis #29583.
git-svn-id: trunk@33205 -
2016-03-07 22:39:34 +00:00
Jonas Maebe
c93e8a51cd * fixed test result after r33201
git-svn-id: trunk@33204 -
2016-03-07 19:59:05 +00:00
Jonas Maebe
60632d0f18 * changed first parameter of gen_digits_32/64() from 'out' to 'var', as that
routine gets called multiple times with the same buffer as parameter and
    then updates it (fixes errors when compiled with -gt)

git-svn-id: trunk@33203 -
2016-03-07 19:59:02 +00:00
Jonas Maebe
741c91275a - removed "const" from first parameter of check_configfile(), because that
routine is called with the same variable passed as the first and second
    parameter, so the first one is not constand (since the second one is a
    "var" para) -- this caused errors when compiling the compiler with -gt

git-svn-id: trunk@33202 -
2016-03-07 19:58:59 +00:00
Jonas Maebe
70cd8f6e59 - removed overflow, so the test also works with constant propagation and -Co
git-svn-id: trunk@33201 -
2016-03-07 14:40:52 +00:00
Jonas Maebe
38fd0efa3b * don't conditionalise BL on ARM, because it may have to be converted to
BLX at link time
   o related to the change introduced in r32788

git-svn-id: trunk@33199 -
2016-03-06 17:44:08 +00:00
Jonas Maebe
0e97811b50 + initialise managed string function results with an error string when
compiling with -gt (mantis #28948)

git-svn-id: trunk@33198 -
2016-03-06 17:22:11 +00:00
florian
3499c59872 * update of German messages files by Karl-Michael Schindler, resolves #29628
git-svn-id: trunk@33197 -
2016-03-06 17:11:33 +00:00
florian
cb4773432b + hardfloat directive (arm only): use hard float calling conventions regardless of the abi, resolves #29715
git-svn-id: trunk@33196 -
2016-03-06 15:47:31 +00:00
Jonas Maebe
7005dec9b4 * equivalent of r32602 for subscriptnodes; couldn't find a test that fails
without this patch, but just like with arrays, writing part of a record
    should mark the record itself as modified

git-svn-id: trunk@33195 -
2016-03-06 15:10:31 +00:00
michael
805385791b * Change some types from integer to sizeint (bug ID 29789)
git-svn-id: trunk@33194 -
2016-03-06 15:01:07 +00:00
Jonas Maebe
0da80d1a15 * use is_objccategory() instead of just checking for oo_is_classhelper when
looking for a category, as oo_is_classhelper is also set for Pascal
    class helpers (fixes crash caused by the fact that Object Pascal class
    helpers don't have childof set, while categories do -- mantis #29666)

git-svn-id: trunk@33193 -
2016-03-06 14:44:21 +00:00
Jonas Maebe
a0296d7311 * fixed indentation
git-svn-id: trunk@33192 -
2016-03-06 14:44:17 +00:00
Jonas Maebe
315b32918e + Tconstexprint-version of ispowerof2() to correctly deal with constants
> high(int64) (mantis #29620)

git-svn-id: trunk@33191 -
2016-03-06 14:16:47 +00:00
Jonas Maebe
3e59c05ecc * only check trecorddef(self).contains_cross_aword_field (for checking
whether the record can be kept in a register) after determining that the
    record is < 2*sizeof(aword) (it's a much more expensive check, especially
    for big records)

git-svn-id: trunk@33190 -
2016-03-06 14:16:38 +00:00
florian
c564acd378 * fix assembling of vfnm*
git-svn-id: trunk@33189 -
2016-03-06 13:33:29 +00:00
florian
e1546303f8 + enable use of vfma and friends on arm when doing fastmath optimizations
git-svn-id: trunk@33188 -
2016-03-06 13:33:27 +00:00
florian
ad71b8348e * S1..S15 do not need to be marked as volatile as they are sub-registers of double size registers
git-svn-id: trunk@33187 -
2016-03-06 13:33:26 +00:00
florian
6207a53f5d * never allocate odd numbered single-sized registers
git-svn-id: trunk@33186 -
2016-03-06 13:33:24 +00:00
florian
234990b73c + fma test program extended to support arm
git-svn-id: trunk@33185 -
2016-03-06 13:33:22 +00:00
florian
84bb46a35d + cpu unit for arm (linux only so far)
git-svn-id: trunk@33184 -
2016-03-06 13:33:20 +00:00
florian
d13246cea4 + handle FMA instructions in taicpu.spilling_get_operation_type
git-svn-id: trunk@33183 -
2016-03-06 13:33:18 +00:00
florian
1c067e96bf * fix VFPv4 support
git-svn-id: trunk@33182 -
2016-03-06 13:33:16 +00:00
florian
43746685a5 + fma support for arm
git-svn-id: trunk@33181 -
2016-03-06 13:33:14 +00:00
Jonas Maebe
096e1c45d6 * don't keep records in registers if they contain a field that spans the
boundary between two awords, as our subscript code does not handle
    them correctly (second part of mantis #29669)

git-svn-id: trunk@33180 -
2016-03-06 13:20:25 +00:00
Jonas Maebe
7a966345e5 * don't recalculate the regable info when dereferencing a symbol's vardef:
o avoid having to save and restore the original info
   o avoids problems in case determining the regable state depends on variables
     that may not have been initialised yet at that point (such as
     voidpointertype/voidcodepointertype in case the size of procvardefs needs
     to be calculated by the regable-determining code)

git-svn-id: trunk@33179 -
2016-03-06 13:20:22 +00:00
Jonas Maebe
2483ad5939 * factored out code to set the "regable" information from setvardef, and
removed outdated comment regarding unsupported static fpu regvars

git-svn-id: trunk@33178 -
2016-03-06 13:20:19 +00:00
Jonas Maebe
9788bb1316 * fixed check regarding whether a field is in the first or second word of
of 2*sizeof(aword) bitpacked record that's kept in registers
    (mantis #29669)

git-svn-id: trunk@33177 -
2016-03-06 13:20:16 +00:00
michael
3ee5661ff1 * Fix 2.6.4 compilation
git-svn-id: trunk@33176 -
2016-03-06 10:36:53 +00:00
michael
94f8db4951 * Patch from Silvio Clecio to remove some hints/warnings
git-svn-id: trunk@33175 -
2016-03-06 10:34:48 +00:00
michael
ecd8e21443 * Fix bug #29788
git-svn-id: trunk@33174 -
2016-03-06 08:58:44 +00:00
sergei
feeb50be4f * Changed signature of frexp() to match one in Math unit, so eventually a duplicate implementation in Math can be removed. Currently this frexp() remains private to unit System.
git-svn-id: trunk@33173 -
2016-03-06 00:43:54 +00:00