Commit Graph

48107 Commits

Author SHA1 Message Date
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
michael
e88285a257 * Fix bug ID #29296 (again)
git-svn-id: trunk@33172 -
2016-03-06 00:21:11 +00:00
michael
9271f17a45 * Output XML list when XML is asked
git-svn-id: trunk@33171 -
2016-03-05 22:24:17 +00:00
michael
920b93a121 * Fix lists of test(suites)
git-svn-id: trunk@33170 -
2016-03-05 22:24:01 +00:00
michael
67ac09b69f * Moved some types to sqltypes unit so they can be reused outside of sqldb. Added GetObjectList to datadict using new types
git-svn-id: trunk@33169 -
2016-03-05 20:57:08 +00:00
michael
2ab3458074 * Added IOTimeout
git-svn-id: trunk@33168 -
2016-03-05 19:21:36 +00:00
Jonas Maebe
29daae5d6d - removed duplicated code from all numlib examples (patch by Lychee,
mantis #29765)

git-svn-id: trunk@33167 -
2016-03-05 19:16:54 +00:00
michael
a10190530a * Added IOTimeout parameter
git-svn-id: trunk@33166 -
2016-03-05 19:15:51 +00:00
Jonas Maebe
4039c1835c + test from mantis #29547, fixed in r30168 as mantis #27580
git-svn-id: trunk@33164 -
2016-03-05 19:01:47 +00:00
michael
edcc251c76 * Added file attachments to possible enhancements
git-svn-id: trunk@33163 -
2016-03-05 18:22:23 +00:00
michael
5eb691f2c9 * Added fcl-pdf
git-svn-id: trunk@33162 -
2016-03-05 17:13:07 +00:00
Jonas Maebe
3526fb27a7 * take current value of DefaultSystemCodePage into account in
fpc_unicodestr_to_chararray() for the JVM target

git-svn-id: trunk@33161 -
2016-03-05 15:52:32 +00:00
Jonas Maebe
87f46dcafd * updated pos() for Java with an offset parameter (equivalent of r31464 etc)
(mantis #29626)

git-svn-id: trunk@33160 -
2016-03-05 15:32:25 +00:00
Jonas Maebe
a100309350 * made utf8tostring() Delphi-compatible (mantis #29585):
o removed utf8string overload
   o always ignore any code page information from the input, and interpret the
     contents of the input directly as utf8-encoded bytes
 * made utf8tostring() compatible with the JVM backend (mantis #29497)

git-svn-id: trunk@33159 -
2016-03-05 15:32:22 +00:00
Jonas Maebe
531ce3be61 * fixed initialising an array of ansichar typed constant using a string
constant: directly encode the character values in the constant, rather
    than letting unicodestr_to_chararray handle the conversion (which
    implies a codepage conversion)

git-svn-id: trunk@33158 -
2016-03-05 15:32:18 +00:00
Jonas Maebe
599426f2f0 * fixed UTF8Decode for JVM:
o pass length of result array as maximum length instead of that of an empty
     string
   o the returned length of Utf8ToUnicode() includes a terminating #0 char,
     subtract that again when creating a new unicode string with the
     characters

git-svn-id: trunk@33157 -
2016-03-05 15:32:15 +00:00
Jonas Maebe
74eb0de460 * fixed mangled names for nested procedures on the JVM platform after r32153
git-svn-id: trunk@33156 -
2016-03-05 15:31:51 +00:00
marcus
0a763a9a83 Amiga: correct type for IntuitionsBase
git-svn-id: trunk@33155 -
2016-03-05 15:03:16 +00:00
michael
c0487d7ef9 * Fix bug ID #29784
git-svn-id: trunk@33154 -
2016-03-05 15:00:40 +00:00
michael
5568ee5513 * Bug ID #29779, add DWord versions of StrToInt
git-svn-id: trunk@33153 -
2016-03-05 13:50:59 +00:00
marco
b38b3a7c1e * patch from Ondrej to fix splitrecttype aliasing on windows. Mantis #29557
added alias of tarray4integertype too.

git-svn-id: trunk@33152 -
2016-03-05 13:50:02 +00:00
michael
4ed0c07ea3 * Fix bug #29772
git-svn-id: trunk@33151 -
2016-03-05 13:41:26 +00:00
michael
81c4fe28bf * Added CopyFromDataset, Clear
git-svn-id: trunk@33150 -
2016-03-05 10:15:45 +00:00
marcus
d3b8483cef Amiga: Syscallified last units, Open Library in initialization, Close Library in Finalization
git-svn-id: trunk@33149 -
2016-03-05 10:09:36 +00:00
marcus
fedfdbba6c Amiga, AROS, MorphOS: Enable NumLib
git-svn-id: trunk@33148 -
2016-03-04 21:48:04 +00:00
marcus
a55016bf93 MorphOS: added unicodedata and unicodenumtable
git-svn-id: trunk@33147 -
2016-03-04 21:08:43 +00:00
marcus
e0732cf9d7 MorphOS: Enable character unit
git-svn-id: trunk@33146 -
2016-03-04 20:36:47 +00:00
marcus
6f60221927 MorphOS: Open Library in initialization and Close Library in finalization, InitLibrary stays for backward compatibility
git-svn-id: trunk@33145 -
2016-03-04 19:58:09 +00:00
marco
eb1d895718 * fix reexport of record types in classesh, bug #29776 patch by Ondrej.
git-svn-id: trunk@33144 -
2016-03-04 10:42:40 +00:00
marco
1ae1e9310b * defined -A and -W structs and callback for a couple of functions Mantis #0029762
git-svn-id: trunk@33143 -
2016-03-02 13:46:37 +00:00
nickysn
87baa8c43f * in the internal assembler writer, when starting a new object file, set the
cputype to current_settings.cputype, instead of cpu_none (which indicates no
  restrictions)

git-svn-id: trunk@33142 -
2016-03-02 01:12:56 +00:00
nickysn
c061a98e93 * made the i8086 internal assembler cpu instruction set checking follow the
asd_cpu directive (and thus, respect the {$asmcpu XXX} directive)

git-svn-id: trunk@33141 -
2016-03-02 01:03:52 +00:00
nickysn
843aee8f4a * base the CPU name, written in the beginning of each NASM assembler file on the
nasm_cpu_name const array, which is used by the asd_cpu directive as well.
+ also enable writing this directive on i386 and x86_64 as well.

git-svn-id: trunk@33140 -
2016-03-01 00:45:51 +00:00
nickysn
ca868b0bc6 * fixed indentation in TX86NasmAssembler.WriteHeader
git-svn-id: trunk@33139 -
2016-03-01 00:40:35 +00:00
nickysn
06b9789928 + implemented a new {$ASMCPU XXX} directive, allowing to specify a different
CPU target for inline assembler blocks. In addition to the different CPUs
  (as listed under 'Supported CPU instruction sets:' in the output of 'fpc -i'),
  it also supports the special values 'ANY' and 'CURRENT'. 'ANY' means no
  restrictions (i.e. all instructions are available). 'CURRENT' means the
  current CPU target (as specified with the '-Cp' command line option). For
  backward compatibility, the default value is 'ANY' for all CPU targets, except
  i8086, where it defaults to 'CURRENT'.

  This directive requires support for the new asd_cpu directive in the assembler
  writer. This is currently implemented only for NASM, but will be supported in
  some of the other assembler writers as well (incl. the x86 internal assembler
  writer).

git-svn-id: trunk@33138 -
2016-02-29 22:25:25 +00:00
nickysn
d0d940f119 * also declare Intel Nehalem and newer CPUs as 'IA64' in the NASM's 'CPU'
directive, because NASM still doesn't support anything newer than 'PRESCOTT'
  for its CPU directive, and 'IA64' is considered (internally by NASM) to be the
  highest CPU level.

git-svn-id: trunk@33137 -
2016-02-29 21:49:28 +00:00
nickysn
1a56a1a026 * make the asd_cpu directive (which is currently only implemented in the NASM
asm writer), when used with a cpu_none parameter, indicate no restrictions for
  the CPU type. Under NASM, this is achieved by specifying 'IA64' as the
  CPU type, since that's the highest CPU, supported by NASM's 'CPU' directive.

git-svn-id: trunk@33136 -
2016-02-29 21:44:55 +00:00
florian
73aeea73ed + VOpVMov2VOp optimization
git-svn-id: trunk@33135 -
2016-02-28 20:13:16 +00:00
florian
260ea81c82 * improve cse on record/array accesses
git-svn-id: trunk@33134 -
2016-02-28 18:44:45 +00:00
florian
8fe986ba11 + write also node complexity when dumping a node tree
git-svn-id: trunk@33133 -
2016-02-28 18:44:43 +00:00
florian
ce64d77256 * compilation fixed
git-svn-id: trunk@33132 -
2016-02-28 18:44:41 +00:00
sergei
17256e8387 * fpc_exp_real: replaced pushing immediate values on stack with Darwin-style PIC. This change increases performance on Intel E7200 almost twice. On AMD CPUs performance increase is not that large, but still noticeable.
git-svn-id: trunk@33131 -
2016-02-28 16:03:02 +00:00