Commit Graph

1926 Commits

Author SHA1 Message Date
florian
4b69743c92 * fixed compilation on non sigbusing cpus
git-svn-id: trunk@8829 -
2007-10-16 21:14:41 +00:00
florian
3f24d63176 * fixed Compare* for CPUs requiring natural alignment
git-svn-id: trunk@8827 -
2007-10-16 20:32:59 +00:00
peter
cd35804502 * cache inoutres threadvar address
git-svn-id: trunk@8824 -
2007-10-16 19:12:29 +00:00
peter
4f862a23a7 * fixed alignment leftover in compare
git-svn-id: trunk@8823 -
2007-10-16 17:53:00 +00:00
Jonas Maebe
eb6c8fa570 * one more typecast fix
git-svn-id: trunk@8818 -
2007-10-15 14:02:30 +00:00
Jonas Maebe
4486a2cecb * fixed some type casts
git-svn-id: trunk@8817 -
2007-10-15 13:58:45 +00:00
Jonas Maebe
6121df1f67 * moved inclusion of sysos.inc higher up in system.inc, so that
cgeneric.inc can use the C types
  * imports of C routines in cgeneric.inc now use C types

git-svn-id: trunk@8816 -
2007-10-15 13:51:51 +00:00
Jonas Maebe
dc71827e2e * procedure version of fpc_copy to avoid errors with {$x-} (mantis #9918)
git-svn-id: trunk@8790 -
2007-10-14 10:55:40 +00:00
Jonas Maebe
8ed15c96bb - removed COMPPROCINLINEFIXED define and ifdefs (fixed in 2.2.0)
git-svn-id: trunk@8789 -
2007-10-14 09:44:18 +00:00
florian
96eaeeaf98 * fixed Index* for 64 Bit CPUs
* use forward move as much as possible

git-svn-id: trunk@8778 -
2007-10-13 19:06:41 +00:00
Jonas Maebe
775ee6f563 * len=0 should not be treated as overflow in comparebyte/word/dword
(further fix to r8754, fixes regresssion of twide4 on sparc/solaris)

git-svn-id: trunk@8765 -
2007-10-11 17:10:29 +00:00
Jonas Maebe
33c4197f43 * changed FPC_EMPTYCHAR into a widechar because it's also used for
widestring -> pwidechar conversions (mantis #9897)

git-svn-id: trunk@8756 -
2007-10-09 17:52:25 +00:00
Jonas Maebe
b5a1a6c6b4 * fixed generic index- and comparebyte/word/dword for limits which
overflow the pointer range (fixes tw3612 regression on sparc/solaris)

git-svn-id: trunk@8754 -
2007-10-09 11:00:15 +00:00
peter
e8322a83e4 * optimized generic implementations to use pointers instead of
array accesses. This also allows better register variable
    optimizations

git-svn-id: trunk@8742 -
2007-10-07 18:36:18 +00:00
Tomas Hajny
85b8eeac17 + common CtrlBreakHandler for unit Keyboard
git-svn-id: trunk@8696 -
2007-09-30 15:18:37 +00:00
Tomas Hajny
58ff2fb482 + Use CtrlBreakHandler infrastructure to allow processing of Ctrl-C in ReadKey (OS/2 implementation)
git-svn-id: trunk@8693 -
2007-09-30 14:17:42 +00:00
Tomas Hajny
58bca68e6a + infrastructure for CtrlBreakHandler added
git-svn-id: trunk@8691 -
2007-09-30 14:14:33 +00:00
michael
9777065197 * Fixed carry bug in conversion of currency to string
git-svn-id: trunk@8612 -
2007-09-23 10:26:00 +00:00
Jonas Maebe
0040eecf9f + support for extra packing of sets whose lower element number
is <> 0 (Delphi compatible now, + various tests)
  + support for enums and sets in is_in_limit()
  * fixed converting smallset expressions to varsets
  * improved choosing an appropriate common set type when mixing
    set types in an expression
  - removed no longer used normalset code from nadd.pas
  - disabled large set (>256 elements) support for now, because
    they are not yet supported entirely throughout the compiler
    and this causes errors at run time in several situations

git-svn-id: trunk@8515 -
2007-09-16 20:04:45 +00:00
florian
b11e861b0f + define DEFAULT_DOUBLE on m68k
git-svn-id: trunk@8499 -
2007-09-16 10:20:16 +00:00
florian
334b9b4ee1 * formatting
git-svn-id: trunk@8498 -
2007-09-16 10:08:53 +00:00
Jonas Maebe
4f23f216f6 * fixed mantis #9695 introduced by the fix in r7959
git-svn-id: trunk@8494 -
2007-09-15 21:15:06 +00:00
Jonas Maebe
77eaa77772 - reverted r7790 because it's buggy (+ test)
git-svn-id: trunk@8444 -
2007-09-12 21:22:08 +00:00
Jonas Maebe
5cffd5d22b * marked TObject.InitInstance as inline
git-svn-id: trunk@8400 -
2007-09-08 09:19:13 +00:00
Jonas Maebe
b02fd37fbe * removed some unused variables
git-svn-id: trunk@8399 -
2007-09-08 08:45:12 +00:00
florian
bcd5fc555a * rtl part of Olivier Coursier's BeOS patch
git-svn-id: trunk@8396 -
2007-09-07 19:25:05 +00:00
Jonas Maebe
9bd4fe433b * fixed buffer overflows in int_str() + test
git-svn-id: trunk@8395 -
2007-09-07 14:06:08 +00:00
Jonas Maebe
bd0532f158 * removed unused variable from fpc_shortstr_enum and reformatted
its declarations

git-svn-id: trunk@8394 -
2007-09-07 11:54:00 +00:00
yury
ebfd2b6b20 * Fix for tres.pp test by Sergei Gorelkin.
git-svn-id: trunk@8375 -
2007-09-04 12:28:14 +00:00
yury
498da17875 * Patch from Sergei Gorelkin (Mantis #9558):
- Enables support for resource types;
  - Enables support for numeric resource IDs;
  - Removes initialization and runtime resource info. That initialization only did two pointer additions per resource, but required use of ansistrings and memory manager. I believe that positive impact on resource usage overweights performance impact from inlining the pointer additions...

git-svn-id: trunk@8368 -
2007-09-03 13:41:38 +00:00
michael
3ed12b0229 * Small patch from Inoussa OUEDRAOGO so it compiles with Delphi
git-svn-id: trunk@8363 -
2007-09-02 21:57:51 +00:00
Jonas Maebe
a57f9e0672 + added QWord overloads for IntToHex, hexStr, OctStr, binStr
git-svn-id: trunk@8332 -
2007-08-29 12:06:54 +00:00
yury
685810c18c * Fixed fpc_WideCharArray_To_WideStr in case if widechar array contains empty string.
+ Test.

git-svn-id: trunk@8317 -
2007-08-28 09:53:29 +00:00
michael
287c262d10 * Added copy,length and setlength
git-svn-id: trunk@8306 -
2007-08-25 13:41:22 +00:00
Jonas Maebe
815cd2b39d + support for widestring manager based widechar conversions
(widechar<->char, widechar<>*string), based on patch from
    Rimgaudas Laucius (mantis #7758)
  * no longer perform compile-time widechar/string->char/ansi/
    shortstring conversions if they would destroy information
    (they can't cope with widechars with ord>=128). This means
    that you can now properly constant widechars/widestrings
    in source code with a {$codepage } set without risking that
    the compiler will mangle everything afterwards
  * support ESysEINVAL return code from iconv (happens if last
    multibyte char is incomplete)
  * fixed writing of widechars (were converted to char -> lost
    information)

git-svn-id: trunk@8274 -
2007-08-12 20:01:08 +00:00
Jonas Maebe
fd98a0cc5b * don't call runerror if a unix threading error occurs (because this
immediately terminates the whole application), but instead call
    handleerrorframe (which can be converted into an exception) (#7954)

git-svn-id: trunk@8248 -
2007-08-08 13:59:17 +00:00
micha
d95b9082bb * add memory barrier prototypes + implementation for i386 and sparc + use lwsync for powerpc64
git-svn-id: trunk@8240 -
2007-08-07 20:37:08 +00:00
Jonas Maebe
134427700b * disabled overloaded operators for non-x86 because they don't compile
(the value is a packed array of bytes in this case, not a record)

git-svn-id: trunk@8231 -
2007-08-06 13:44:13 +00:00
peter
6d4ccd3b3f * operators for clongdouble
git-svn-id: trunk@8229 -
2007-08-06 07:12:51 +00:00
Legolas
87d67dcad6 * gba and nds work with new heap manager now (no need for a custom heap manager that allocates a single big block anymore)
git-svn-id: trunk@8200 -
2007-07-30 15:37:19 +00:00
micha
7475f656f8 + add memory barrier routines for powerpc/64
git-svn-id: trunk@8179 -
2007-07-28 12:47:48 +00:00
peter
8d53e54e3e * fix typos
git-svn-id: trunk@8146 -
2007-07-23 07:54:58 +00:00
daniel
34afbcc040 * Enable inline for ctypes.
git-svn-id: trunk@8129 -
2007-07-22 10:10:35 +00:00
daniel
354cd09f31 * long double=double on powerpc-linux
* educated guess this is the case on arm-linux as well
  * temporary change: do not alias clongdouble from unixtype into ctypes to prevent
    having to work in two places.

git-svn-id: trunk@8127 -
2007-07-22 10:04:48 +00:00
daniel
bb5fea342f * RTL updates needed to successfully cycle with -CIcommon_type.
git-svn-id: trunk@8119 -
2007-07-21 19:22:28 +00:00
florian
dc2a8787a1 + VarArrayPut and VarArrayGet from Igor, resolves #9161
git-svn-id: trunk@8117 -
2007-07-21 18:49:10 +00:00
daniel
f0087dad28 * Write zero to extra bytes of quadruple when converting to it.
git-svn-id: trunk@8115 -
2007-07-21 15:36:38 +00:00
daniel
4861c8b7ed * Convert clongdouble from double <=> quadruple on non-x86.
git-svn-id: trunk@8114 -
2007-07-21 15:32:15 +00:00
daniel
c5ac7638ed * Make clongdouble 16 bytes on Darwin.
git-svn-id: trunk@8113 -
2007-07-21 15:00:52 +00:00
daniel
2fbe0038b9 * Make clongdouble:
- 8 bytes on windows
    - For other platforms: 12 bytes on 32-bit and 16 bytes on 64-bit cpus.
    ... using a record with assignment overloads.

git-svn-id: trunk@8112 -
2007-07-21 13:02:11 +00:00