Commit Graph

32355 Commits

Author SHA1 Message Date
andrew
a0f62a1336 * Fixed a potential bug where a value would not change if a contition wasn't met
* Made TITSFReader friendlier for inherited classes
* Small fix for threaded lzx compressor

git-svn-id: trunk@15547 -
2010-07-11 12:13:36 +00:00
Jonas Maebe
9273856e84 * disallow pusha*/popa* for x86_64 (mantis #14862)
* disallow pushfd/popfd for x86_64 (mantis #14862)
  * fixed assembling popfq with the internal assembler (it needs a rex.w
    prefisx, while pushfq doesn't)
  * changed the default opcode size of pushf/popf/pusha/popa in
    {$asmmode intel} from "native size" to 16 bit (compatible with Intel
    manuals and Kylix; in AT&T mode, the default size for those operations
    remains the native one)
  * changed pushf/popf in rtl/i386/* into pushfd/popfd because of the
    previous change

git-svn-id: trunk@15546 -
2010-07-10 16:22:46 +00:00
daniel
86cbf76b92 * Fix/improve the value of "code" that is returned for val(string,enum,code) in
case the string is not recognized.

git-svn-id: trunk@15545 -
2010-07-10 15:38:45 +00:00
Jonas Maebe
a3a559cecc * part of r15538, forgot to commit
git-svn-id: trunk@15544 -
2010-07-10 15:05:30 +00:00
Jonas Maebe
26cc281390 * fixed real48 to double conversion for 0.0 (patch by "jeng", mantis #16863)
git-svn-id: trunk@15543 -
2010-07-10 12:15:13 +00:00
joost
b3ca47e88a * Install the doc and example sourcefiles
* Added ability to specify in which subdir a doc/example sourcefile should be
   installed
 * Replace the at that place unset Prefix fpr baseinstalldir in two locations
 * Removed useless if-then construct

git-svn-id: trunk@15542 -
2010-07-10 11:19:56 +00:00
Jonas Maebe
2bf79e6e51 * fixed error message when using for-in with Objective-Pascal 1.0
git-svn-id: trunk@15541 -
2010-07-10 10:00:19 +00:00
Jonas Maebe
5ce9bf7e39 * ifdef i386 -> ifdef cpui386 (fixes i386 compilation)
git-svn-id: trunk@15540 -
2010-07-10 09:17:56 +00:00
marco
50af809a6c * a few portuguese message updates by Marcelo B Paula #0016843
git-svn-id: trunk@15539 -
2010-07-10 09:06:50 +00:00
Jonas Maebe
d3976c858b * fixed 64 bit check for "movd xmmreg, mem" and "movd mem, xmmreg" (patch by
Jasper Neumann, mantis #13294)
  * moved "reg64, xmmreg" and "xmmreg, reg64" combo's from movd to movq
    (movd is always 32 bit)

git-svn-id: trunk@15538 -
2010-07-09 21:16:48 +00:00
Jonas Maebe
36e4f3d38b * fixed getting upper byte of "extra field" (patch by Brett, mantis #16887)
git-svn-id: trunk@15537 -
2010-07-09 20:11:19 +00:00
sergei
5abc4bf45d Russian message file update:
* Fixed some typos
* Changed translation of message 5005 (see discussion at http://freepascal.ru/forum/viewtopic.php?t=6021)
* Changed translation of "Target OS" as was suggested by Dmitriy Boyarintsev a long time ago

git-svn-id: trunk@15536 -
2010-07-09 06:11:02 +00:00
Jonas Maebe
229cbca086 * propagate pi_has_assembler_block and pi_uses_exceptions flags from inlined
routines to their host, as in this case the stack frame cannot be omitted
    (mantis #16874)

git-svn-id: trunk@15535 -
2010-07-08 20:34:17 +00:00
Jonas Maebe
a302cbeff1 * more Win64 -> FPC_HAS_TYPE_EXTENDED check conversions
git-svn-id: trunk@15534 -
2010-07-07 19:02:18 +00:00
Jonas Maebe
68ee2ca193 * make use of x87 dependent on availability of FPC_HAS_TYPE_EXTENDED
define instead of on win64

git-svn-id: trunk@15533 -
2010-07-07 18:59:04 +00:00
Jonas Maebe
574d7eb70d * use call/pop instead of call/mov/ret to get the GOT pointer on
Darwin/i386, because that's slightly faster on Core Solo and
    later CPUs (and it avoid using a non-volatile register when not
    required)

git-svn-id: trunk@15532 -
2010-07-07 18:55:43 +00:00
Jonas Maebe
c6d00a2b1f * correct the register size holding a smallset < 4 bytes when using "bt"
on it (mantis #16861)
  * fixed some indentation

git-svn-id: trunk@15531 -
2010-07-07 18:45:57 +00:00
Jonas Maebe
0def7f801e * mark used registers in assembler block so the compiler saves/restores
them if necessary

git-svn-id: trunk@15530 -
2010-07-07 18:42:24 +00:00
Jonas Maebe
8be466546a * disabled superfluous zeroing of another field
git-svn-id: trunk@15529 -
2010-07-05 21:35:47 +00:00
joost
9f071282b3 * Added ALoaded parameter to MessageBox
git-svn-id: trunk@15528 -
2010-07-05 13:59:20 +00:00
marco
e5b9d690b9 * -d and -du msgfiles updated by kms, mantis 16840
git-svn-id: trunk@15527 -
2010-07-04 16:31:42 +00:00
Jonas Maebe
434a6f6ee8 * ensure that the power-of-2 size of the hash table is always larger than
the parameter initially passed to TFPHashList.SetCapacity after r15516
    (mantis #16834)

git-svn-id: trunk@15521 -
2010-07-03 18:25:31 +00:00
marco
7b17aed939 * Remove leading / from LookupTopicByID. Mantis 16688 patch by Zilvinas Ledas.
git-svn-id: trunk@15520 -
2010-07-03 17:10:20 +00:00
Jonas Maebe
fb65172a5a * commented out a number of superfluous zero-initialisations of (large)
class instance fields
  * changed a number of for-loop iteration variables from tsuperregister
    (= word) into cardinal

git-svn-id: trunk@15519 -
2010-07-03 13:09:58 +00:00
Jonas Maebe
0cef599317 * removed a number of unnecessary calls to
cg.set_regalloc_live_range_direction

git-svn-id: trunk@15518 -
2010-07-03 13:07:20 +00:00
Jonas Maebe
ad93588fa1 * use 32 bit int->string conversions for non-64 bit constants on 32 bit
platforms

git-svn-id: trunk@15517 -
2010-07-03 13:06:40 +00:00
Jonas Maebe
d432023cf6 * force the size of TFPHashList always to a power of two, and use an "and"
instead of a "div" to truncate the hash to the table size
  * prefetch the string we are looking for
  - removed the optimization whereby the length and the last character are
    checked before the entire string is compared during the hashtable
    searching, because this does not help anymore (our hash funcion is
    better than when this was added, and we also have a special "equals"
    string comparison function nowadays that also first checks the length)

git-svn-id: trunk@15516 -
2010-07-03 13:05:32 +00:00
Jonas Maebe
8a891690cc * prefetch heap status in sysfreemem
* re-layouted code in sysfreemem_fixed so that the most likely case is on
    the fall-through path
  * moved dec(poc^.used) in sysfreemem_fixed earlier so that it doesn't
    cause a dependency stall for the "if poc^.used<=0" test later

git-svn-id: trunk@15515 -
2010-07-03 12:45:55 +00:00
marco
d8707ec5d3 * hmodule should scale with pointertype on non-windows.
git-svn-id: trunk@15510 -
2010-07-02 20:08:05 +00:00
Jonas Maebe
7d27f4c21d * also support variants for %s in sysutils.format (mantis #16787)
git-svn-id: trunk@15509 -
2010-07-02 19:59:58 +00:00
Jonas Maebe
58362db962 * use the correct procdef when taking the address of an overloaded function
in a typed constant (mantis #16820)

git-svn-id: trunk@15508 -
2010-07-02 19:30:20 +00:00
joost
37eed41c52 * Map blob to SQL_LONGVARBINARY, MS SQL has a maximum of 8000 bytes for SQL_BINARY types, bug #14907
git-svn-id: trunk@15507 -
2010-07-01 15:50:17 +00:00
joost
64c824cd86 * Make sure that fixed width parameters are really ftFixedChar
git-svn-id: trunk@15506 -
2010-07-01 15:44:21 +00:00
joost
57e39c37ae * Added ability to specify fieldname-quote chars for tests. Usefull for ODBC where these chars can differ
git-svn-id: trunk@15505 -
2010-07-01 15:21:46 +00:00
blikblum
1bf2cfd5e8 * Set Datasize for the unrecognized field types
git-svn-id: trunk@15503 -
2010-06-30 20:25:25 +00:00
Jonas Maebe
fff903a00b * fixed some unnecessary moving of values from cregister to register
after r7831

git-svn-id: trunk@15502 -
2010-06-30 19:53:15 +00:00
Jonas Maebe
daef2efa69 - removed tstoreddef.reset() and overrides, and the associated
reset_used_unit_defs()/reset_all_defs() calls:
    o removed resetting tprocdef.procstarttai/procendtai and
      instead check in the debug writers whether the def is
      in the current unit or not to determine whether we should
      write debug info for it
    o use the collected defs in the wpoinfo structure to reset
      the wpo flags in the defs, instead of iterating over all
      defs in the program and resetting them that way
  - removed now unused "is_reset" flag from tmodule

git-svn-id: trunk@15501 -
2010-06-30 19:00:40 +00:00
joost
32fd85f17e * Revert accidentally commited files in r15499
git-svn-id: trunk@15500 -
2010-06-30 18:32:25 +00:00
joost
f016c79d7a * Patch from Luiz Americo to fix a double pathdelim in filename, bug #16737
git-svn-id: trunk@15499 -
2010-06-30 18:29:41 +00:00
joost
c58e26e25a * Implemented GetTableNames, systemtables=true, bug #13893, by Ladislav Karrach
git-svn-id: trunk@15498 -
2010-06-30 18:17:27 +00:00
Jonas Maebe
35bacb55b5 * re-enabled CCLASSESINLINE since it no longer internalerrors the compiler
while compiling the IDE
  - removed "inline" from a lot of methods because they are too large

git-svn-id: trunk@15497 -
2010-06-30 17:41:12 +00:00
michael
accb7032f2 * Applied patch from Luiz Americo to improve speed (const for string params)
git-svn-id: trunk@15496 -
2010-06-30 10:43:18 +00:00
michael
0a4e4d3c62 * Patches for bugs 16815 and 16807 (double type and access violation when accessing non-existent member
git-svn-id: trunk@15495 -
2010-06-30 10:35:04 +00:00
Jonas Maebe
f72526b95f * allow function results of inlined functions to be regvars
git-svn-id: trunk@15494 -
2010-06-29 20:58:08 +00:00
marco
257440153f * fix example that is still in 1.0.x state.
git-svn-id: trunk@15493 -
2010-06-29 18:27:53 +00:00
Jonas Maebe
60041ebf8b * allow exit(value) in exception blocks. Forbidding this dates back to
when this construct was still handled by custom code (mantis #16803)

git-svn-id: trunk@15492 -
2010-06-29 16:56:59 +00:00
Jonas Maebe
5dd72acf36 * make sure that exitnodes can be safely typecheckpassed more than once
git-svn-id: trunk@15491 -
2010-06-29 16:54:44 +00:00
Jonas Maebe
18542d663e * fixed 16 color vesa get/putpixel offsets (patch by Nikolay Nikolov,
mantis #16806)

git-svn-id: trunk@15490 -
2010-06-29 09:22:09 +00:00
joost
01f11e8ada * Set defailt value for UniDirectional
git-svn-id: trunk@15489 -
2010-06-28 19:17:52 +00:00
Jonas Maebe
469106629c * properly initialise graphresult when setgraphmode is called directly
(patch by Nikolay Nikolov, mantis #16798)

git-svn-id: trunk@15485 -
2010-06-27 12:38:30 +00:00