Commit Graph

41545 Commits

Author SHA1 Message Date
Jonas Maebe
864a72ee69 * fixed (harmless) range errors
git-svn-id: trunk@26067 -
2013-11-12 16:11:17 +00:00
Jonas Maebe
3e393b867b * small extension of the test
git-svn-id: trunk@26066 -
2013-11-12 10:30:28 +00:00
sergei
897c8b8f7b * Cleanup fpc_trunc_real implementation.
* For single-precision variant, truncate to 64 bits instead of 32, since this how trunc()/round() are defined.
* Do not access float64 as int64, doing so would break on ARM hardfloat after r26010.
  

git-svn-id: trunk@26065 -
2013-11-12 09:31:23 +00:00
Jonas Maebe
5f744ff355 * fixed spelling error and updated link where to download the html docs
git-svn-id: trunk@26064 -
2013-11-11 22:46:19 +00:00
nickysn
dc432918da + enabled the use of the DIV/IDIV instruction for 16-bit div/mod on i8086
* ti8086.moddivnode.pass_generate_code: use cg.a_op_const_reg, instead of
  emit_const_reg, in order to support generating plain 8086/8088 code
  (shr/shl/sar reg,const is 186+ if const is >= 2).

git-svn-id: trunk@26063 -
2013-11-11 22:34:41 +00:00
nickysn
bd083c0b8e * ti8086moddivnode.pass_generate_code converted to 16-bit. Note that this code
is still not active, due to the cpuneedsdiv32helper define, but will
  eventually be enabled for 16-bit divisions.

git-svn-id: trunk@26062 -
2013-11-11 21:01:13 +00:00
marco
11800f0804 * hints fixes by AlexL, Mantis #25230
git-svn-id: trunk@26059 -
2013-11-11 11:21:08 +00:00
sergei
437b3755d1 * math.hypot(): factor larger argument out of expression in order to avoid loss of precision.
git-svn-id: trunk@26026 -
2013-11-11 09:56:20 +00:00
lacak
aa147703d5 fcl-db: memds: when FieldDefs are changed set TableIsCreated to false to signal, that CreteTable should be called.
+ Add test unit for TMemDataset to allow test specific properties/methods of TMemDataset
+ Add this unit to test frameworks

git-svn-id: trunk@26025 -
2013-11-11 09:14:21 +00:00
Jonas Maebe
8d1fb0ee1c * added a safety check to gen_load_cgpara_loc()
git-svn-id: trunk@26024 -
2013-11-10 23:27:05 +00:00
Jonas Maebe
8a0caea0c0 + override g_save_registers() and g_restore_registers() with do-nothing versions
for high level code generator targets

git-svn-id: trunk@26023 -
2013-11-10 21:33:38 +00:00
Jonas Maebe
1b6e4e572f - removed duplicate thlcg2ll a_label method (it's declared the same in
thlcgobj and not virtual in either class)

git-svn-id: trunk@26022 -
2013-11-10 21:32:39 +00:00
Jonas Maebe
8cdde466bb * include fpcdefs.inc
git-svn-id: trunk@26021 -
2013-11-10 21:30:55 +00:00
Jonas Maebe
62e1df9e76 * fixed indentation
git-svn-id: trunk@26020 -
2013-11-10 21:25:34 +00:00
Jonas Maebe
c1cec52897 * fixed alignment of bitpacked arrays of ordinals/enums: the prevous code
always returned the alignment of enum/ordinal by itself, which could be
    either bigger or smaller than what was required
  * for non-bitpacked regular arrays, always use the alignment of the elements
    instead of sometimes the natural alignment of the size of the elements
    (which can be different)

git-svn-id: trunk@26019 -
2013-11-10 21:22:28 +00:00
nickysn
dea947f87b * fixed tcgx86.a_op_const_ref for shl/shr/sar/rol/ror on i8086 and x86_64
git-svn-id: trunk@26018 -
2013-11-10 20:39:47 +00:00
florian
412dc6586f * the writestr helper initializes the target string, so mark it as being written
before the call to the helper to get proper life information

git-svn-id: trunk@26017 -
2013-11-10 20:20:40 +00:00
florian
8be7cfa05f * check the scope of a variable when checking dfa based uninitialized variables,
dfa is procedure local only so consider only variables of the current scope

git-svn-id: trunk@26016 -
2013-11-10 20:20:38 +00:00
florian
57586b69c7 * implicit try...finally frames are added after dfa so we don't have to take care if the subroutine needs/uses those or not
git-svn-id: trunk@26015 -
2013-11-10 20:20:36 +00:00
florian
3cb747f4a7 * mark the node which is the entry of the user code with a flag
* check for uninitialized variables at the node which is marked as the start of the user code

git-svn-id: trunk@26014 -
2013-11-10 20:20:27 +00:00
nickysn
870d432468 + reenabled the new str<->float conversion code on i8086 after the fix in r26005
git-svn-id: trunk@26013 -
2013-11-10 18:29:17 +00:00
florian
24d88edf37 * fixes arm building after 26004
git-svn-id: trunk@26012 -
2013-11-10 17:46:03 +00:00
Jonas Maebe
f348e89112 - removed too early assignment of have_first_symbol:=true, making the later
check of "if not have_first_symbol and dosub then" always evaluate to
    false (found by looking at the results of constant propagation :)

git-svn-id: trunk@26011 -
2013-11-10 15:08:28 +00:00
sergei
203efdcd0e * Let order of fields in float64 record depend on FPC_DOUBLE_HILO_SWAPPED, so messing with this order on every usage of float64 is no longer necessary.
git-svn-id: trunk@26010 -
2013-11-10 14:52:57 +00:00
nickysn
c666649320 * proper fix for the passing of TEST_OPT to tstunits on msdos. The value of
TEST_OPT was normally already passed in OPT, but on msdos the old value
  was killed, due to the 'override OPT=-CX'.

git-svn-id: trunk@26009 -
2013-11-10 14:36:06 +00:00
marco
b4496c4aba * trim output buffer in try..finally, catch result iconv in variable.
git-svn-id: trunk@26008 -
2013-11-10 12:53:58 +00:00
nickysn
681350daba * add the options specified in TEST_OPT when compiling the tstunits. This allows
running the testsuite for a different than the default i8086 memory model by
  specifying (for example) TEST_OPT=-WmMedium

git-svn-id: trunk@26007 -
2013-11-10 12:23:26 +00:00
marco
be92aba9ba * correction for missing start in wavstream record. Mantis #25268
git-svn-id: trunk@26006 -
2013-11-10 11:34:01 +00:00
Jonas Maebe
6359441045 * force shl operations to be 32 bit on 16/8 bit platforms (patch by
Max Nazhalov, mantis #25241)

git-svn-id: trunk@26005 -
2013-11-10 10:24:54 +00:00
florian
a0f0d0de40 * make use of the noreturn directive for internalerror
* clean up of the internalerror procedure variable in the constexp unit

git-svn-id: trunk@26004 -
2013-11-10 09:01:03 +00:00
florian
1d4a4d0684 + noreturn directive
git-svn-id: trunk@26003 -
2013-11-10 09:00:59 +00:00
nickysn
039979fdcc * handle 4-byte records in registers as well in location_force_mem on i8086
git-svn-id: trunk@26002 -
2013-11-09 21:57:29 +00:00
Jonas Maebe
0302453912 * disabled the lea->add transformation added in r25907 because it breaks
webtbs/tw15694.pp. Such transformation require liveness analysis of
    the flags

git-svn-id: trunk@26001 -
2013-11-09 18:42:23 +00:00
marco
22236de331 * adds IP and cachecontrol headers to http defs. Patch by Silvio Clécio
Mantis #25263

git-svn-id: trunk@26000 -
2013-11-09 17:06:07 +00:00
nickysn
b8de1370a0 * fixed assignment of i8086 method pointers, when the source is in a register
git-svn-id: trunk@25999 -
2013-11-09 16:50:56 +00:00
marco
c84ac2214d * adapt sdl mixer wavestream to 2008 SDL change. Patch by Yuichiro Takahashi
Mantis #25268

git-svn-id: trunk@25998 -
2013-11-09 14:31:28 +00:00
sergei
5ea99c84fd * x86_64 non-Win64 targets: calculate tan() and cotan() using x87 "fptan" instruction.
git-svn-id: trunk@25996 -
2013-11-09 11:31:27 +00:00
sergei
2b1e5f7014 * Mantis #17273: don't generate x87 instructions on win64 target.
git-svn-id: trunk@25995 -
2013-11-08 13:31:07 +00:00
sergei
d83fbd7602 * Replaced fpc_arctan_real() implementation with one providing a better precision.
git-svn-id: trunk@25994 -
2013-11-08 11:33:57 +00:00
nickysn
7516b87382 * (temporarily) disabled the new str<->float code on the i8086, because it
causes a lot of wrong conversions and thus a lot of testsuite failures.

git-svn-id: trunk@25993 -
2013-11-08 08:22:35 +00:00
pierre
a091c26750 * Use mips everywhere for big endian mips target
git-svn-id: trunk@25992 -
2013-11-07 21:38:43 +00:00
nickysn
d0f988f7a8 * don't use LEA in the code generator on i8086, as this breaks it quite badly.
While it is possible to use 16-bit LEA on the i8086, it's probably not worth
  doing it in the code generator, because of the unpleasant register
  restrictions that 16-bit references have.

git-svn-id: trunk@25989 -
2013-11-07 17:00:58 +00:00
Jonas Maebe
2bb67ec47d * corrected usage of CPUNO32BITOPS
git-svn-id: trunk@25988 -
2013-11-07 15:20:15 +00:00
lacak
a580751b7e fcl-db: bufdataset: formatting + comments
git-svn-id: trunk@25985 -
2013-11-07 12:25:30 +00:00
lacak
36249fcee1 fcl-db: memds: add support for calculated fields. revealed by TestCalculatedField
git-svn-id: trunk@25984 -
2013-11-07 12:10:29 +00:00
sergei
441e37b8b4 - Eliminated separate extractFloat32* routines, they are used only once and manually inlining them does not harm to readability.
git-svn-id: trunk@25983 -
2013-11-07 10:12:13 +00:00
michael
68caeb93c1 * Fix bug #22271
git-svn-id: trunk@25981 -
2013-11-07 08:43:14 +00:00
lacak
87fbf36ff8 fcl-db: memds: add support for more datatypes (ftGuid, ftWideString, ftFixedWideChar, ftBytes, ftVarBytes)
git-svn-id: trunk@25980 -
2013-11-07 06:31:40 +00:00
florian
bbabb77ec9 * disable 32 bit operation optimization for powerpc64
git-svn-id: trunk@25979 -
2013-11-06 21:11:08 +00:00
florian
424d5cafb2 * cleanup
* handling of result node simplified

git-svn-id: trunk@25978 -
2013-11-06 21:11:06 +00:00