Commit Graph

41203 Commits

Author SHA1 Message Date
nickysn
52fcc0a407 + added a new x86-specific compiler option 'enablecld', which controls whether
the compiler should emit a CLD before using the x86 string instructions.

git-svn-id: trunk@25590 -
2013-09-28 11:54:02 +00:00
svenbarth
4d1fb1573e m68k: Fix handling of small sets (based on how ARM does it)
Fixes 12 tests

git-svn-id: trunk@25589 -
2013-09-28 08:17:13 +00:00
svenbarth
83f4344c20 Fix around 30 tests for m68k by fixing FillChar:
* completely disable the DBRA part for CPUs without DBRA
  * replace CMP/BNE with BPL which uses the flags of the SUB instruction
Additional fixes for the other two (still disabled) DBRA alternatives:
  * use BPL instead of BMI (which is wrong)

git-svn-id: trunk@25587 -
2013-09-27 20:57:55 +00:00
svenbarth
dfb0c7da24 Forgot to commit this the last time: Use CPUM68K_HAS_DBRA instead of CPUCOLDFIRE (which does not exist anymore).
git-svn-id: trunk@25586 -
2013-09-27 20:54:54 +00:00
Jonas Maebe
8e107217f6 + added "nostackframe" to routine with code that should assemble into
a single instruction

git-svn-id: trunk@25585 -
2013-09-27 15:06:48 +00:00
michael
48250dcafd * implementation of sqSupportEmptyDatabaseName from Laco, used in PostGres and MSSQL
git-svn-id: trunk@25584 -
2013-09-27 11:42:15 +00:00
paul
d801548604 compiler: support also XOR expressions in macro expressions
git-svn-id: trunk@25583 -
2013-09-27 00:28:15 +00:00
michael
098769d1b3 * Added TStringList.CompareStrings (Delphi compatibility), patch by Stephano, bug ID #24981
git-svn-id: trunk@25582 -
2013-09-26 18:09:12 +00:00
svenbarth
eebabc0152 Correct fix for Mantis #24909 : some systems (Linux, OpenBSD) use the one order while other systems use the other (FreeBSD, NetBSD).
+ add a define for each of the two orders
* fail if none of the two defines is defined ( => for porting to new systems)
+ use the order as specified by the define

git-svn-id: trunk@25581 -
2013-09-26 12:27:37 +00:00
svenbarth
32beb30129 Small improvements for generate_specializations.
pgenutil.pas, generate_specializations:
  * use splite_generic_name
  * use the genericparas list instead of iterating the complete symlist
pgenutil.pas, split_generic_name:
  * leave the loop instead of providing an internal error if the right part is not a number

git-svn-id: trunk@25580 -
2013-09-26 12:17:30 +00:00
svenbarth
e8edbd29c0 Fix for Mantis #24687.
pgenutil.pas:
  + add new function could_be_generic which checks whether a given symbol name could be a generic (which is determined using the genericdummysyms list for the current module)
pexpr.pas:
  * factor: only do a typecheck pass (postfixoperators does one as well) if the found node can not be a generic type
  * sub_expr: do a typecheck pass if it isn't a specialization

+ added test

git-svn-id: trunk@25579 -
2013-09-26 10:21:11 +00:00
svenbarth
fb8b0e7a27 Fix for Mantis #24453. Check for nested types after a specialization. Additionally check correctly whether a type is really a generic before accepting it when parsing a generic.
pgenutil.pas, generate_specialization:
  * use "is_generic" instead of "df_generic in defoptions" as nested non generic types will have that flag set as well and thus would be acceptable for the "<...>" notation although no generic version of it exists
ptype.pas, single_type:
  * check for nested types after doing a specialization

+ added tests (one for now working case and one for now forbidden case)

git-svn-id: trunk@25578 -
2013-09-26 09:21:28 +00:00
svenbarth
68a3827539 Fix for Mantis #21051. Correctly handle specializations that occur during the specialization of methods.
cclasses.pas:
  + TFPHashList & TFPHashObjectList: add WhileEachCall methods that walk the list like ForEachCall does, but uses a while-loop instead of a for-loop
psub.pas, generate_specialization_procs:
  * use WhileEachCall instead of ForEachCall as new defs can be added during the specialization that need to be specialized as well

+ added test

git-svn-id: trunk@25577 -
2013-09-26 08:15:58 +00:00
michael
b45c092186 * Fixed bug ID #24909 (switch 2 fields in addrinfo record)
git-svn-id: trunk@25576 -
2013-09-26 07:13:50 +00:00
michael
710313a748 * Removed unussed but unix-only variables
git-svn-id: trunk@25575 -
2013-09-26 07:08:36 +00:00
paul
bc636658d6 rtl: add/change some token related types
git-svn-id: trunk@25574 -
2013-09-26 03:51:06 +00:00
Jonas Maebe
2c664ac6ae * fix compatibility with new Package Management system under Haiku
(patch by Olivier Coursiere, mantis #25051)

git-svn-id: trunk@25573 -
2013-09-25 20:57:41 +00:00
michael
1eb2308ffa * Applied patch from Daniel Garpary to be able to create custom TDomElement descendents
git-svn-id: trunk@25572 -
2013-09-25 19:20:07 +00:00
michael
973c0687fc * Changes as suggested in bug ID #24810, so a threaded web application can be stopped correctly, even from a request
git-svn-id: trunk@25571 -
2013-09-25 19:06:16 +00:00
michael
83cad92b11 * Implement event handler for handling errors during accept. Implemented Abort as suggested in Bug ID #24810
git-svn-id: trunk@25570 -
2013-09-25 19:04:37 +00:00
nickysn
d89d27a00e + added the dependency of unit ptc to unit p_ddraw on win32 and win64
git-svn-id: trunk@25569 -
2013-09-25 14:55:50 +00:00
nickysn
5da9170615 + enabled compilation of unit ptc for go32v2
git-svn-id: trunk@25568 -
2013-09-25 14:39:33 +00:00
marco
c34760677b * zip64 support by Reinier Olislagers, mantis #23533
git-svn-id: trunk@25567 -
2013-09-25 11:04:35 +00:00
lacak
ca44693e4b fcl-db: base: addition to rev.25543 + move property Stream from public to protected section.
git-svn-id: trunk@25566 -
2013-09-25 11:01:38 +00:00
paul
de6a53376c win32: update TOKEN_INFORMATION_CLASS from windows sdk
git-svn-id: trunk@25565 -
2013-09-25 08:50:38 +00:00
sergei
a6d34945a2 * Commented out exponent check added in r25549: since this code is used by compiler, it breaks compilation of code with constants in extended range on targets without extended precision.
git-svn-id: trunk@25564 -
2013-09-25 07:18:18 +00:00
michael
be6d5ec663 * Some refactoring, so fpweb is easier to customize
git-svn-id: trunk@25563 -
2013-09-25 07:17:51 +00:00
paul
cdd5d029f0 compiler: don't add operator name as a function result into operator symtable. For FPC mode only operator result identifier should be added and for Delphi mode only 'Result' identifier. Fixes mantis #0025081
git-svn-id: trunk@25562 -
2013-09-25 05:22:28 +00:00
paul
c22c364f43 compiler: regenerate parameter list in tprocvardef.getcopy (fixes compiler crash, issue #0025077)
git-svn-id: trunk@25561 -
2013-09-25 03:28:14 +00:00
paul
ce6c8c1b59 compiler: search namespace symbols also in the interface symtable of a unit when we are registering a unit with a namespace in the implementation section (fixes issue #0025059)
git-svn-id: trunk@25560 -
2013-09-25 02:25:26 +00:00
paul
d373ad27bc compiler: don't allow unit/namespace symbols be visible outside current unit or unit of currently specialized generic
git-svn-id: trunk@25559 -
2013-09-25 00:29:56 +00:00
Jonas Maebe
44b141ea1a * also load the methodpointer type for managed VM types. It's required
now that there is no special assigned handling anymore, because the
    generic "<>nil" code for method pointers loads the "proc" field
    via an internally generated tmethod() typecast (using the
    methodpointer type). Additionally, not loading this type was
    an artefact from the time that it wasn't available yet for the
    JVM target

git-svn-id: trunk@25558 -
2013-09-24 23:57:21 +00:00
Jonas Maebe
20d6db20c8 * fixed compilation of length(unicode/ansistring) on JVM target after r25499
(we previously internally generated assigned(unicode/ansistring) nodes,
     which now cause typecheck errors because there is no special assigned
     handling anymore)

git-svn-id: trunk@25557 -
2013-09-24 23:57:17 +00:00
nickysn
1f783f539c * emit a cld instruction before the rep movsXX in tcg8086.g_copyvaluepara_openarray as well
git-svn-id: trunk@25556 -
2013-09-24 20:09:11 +00:00
nickysn
5c46e6f474 * emit a cld instruction before the rep movsXX in tcg386.g_copyvaluepara_openarray
git-svn-id: trunk@25555 -
2013-09-24 20:07:53 +00:00
sergei
d981861433 * IsNan(single): can be written much simpler, because representation of single casted to longint is the same on big-endian and little-endian targets.
git-svn-id: trunk@25554 -
2013-09-24 18:55:44 +00:00
nickysn
35c0c76034 * i8086/mathu.inc converted to asmmode intel
git-svn-id: trunk@25553 -
2013-09-24 18:31:10 +00:00
nickysn
07bbfc7c60 + added { on} to test tfarcal1.pp
git-svn-id: trunk@25552 -
2013-09-24 18:15:43 +00:00
sergei
0914bb7944 - Removed empty include file wustrings.inc
git-svn-id: trunk@25551 -
2013-09-24 16:35:04 +00:00
sergei
5dd10ade50 - Removed register lists after pure assembler procedures, they are ignored anyway.
git-svn-id: trunk@25550 -
2013-09-24 16:27:34 +00:00
sergei
d6a4e30f06 * fpc_val_real_shortstr: track amount of digits in mantissa and limit integer exponent values. This does not (yet) prevent floating-point overflows, but is a necessary step to prevent them.
git-svn-id: trunk@25549 -
2013-09-24 15:57:01 +00:00
sergei
5ec95691c0 * fpc_val_real_shortstr: some more minor/style cleanup.
git-svn-id: trunk@25548 -
2013-09-24 15:38:15 +00:00
nickysn
2afea8fc19 + allow {$apptype com} and {$apptype exe} to set the msdos binary format
+ added extra check to ensure that {$apptype console} and {$apptype gui} produce a warning and do not change the binary format to .exe on msdos

git-svn-id: trunk@25547 -
2013-09-24 13:35:44 +00:00
marco
1a4a745993 * fix for mantis #25078
git-svn-id: trunk@25546 -
2013-09-24 12:56:43 +00:00
pierre
7ab7dcc846 Accept both mips and mipseb as architecture
git-svn-id: trunk@25545 -
2013-09-24 12:23:41 +00:00
nickysn
52a5ffc386 * use apptype to indicate that the target is a DOS .COM file, instead of introducing a new field in tsettings (as suggested by Sven)
git-svn-id: trunk@25544 -
2013-09-24 12:13:47 +00:00
lacak
139b498296 fcl-db: base: move method GetNewBlobBuffer from public to protected section as it was before rev.21735
For usage in TDataPacketReader descendants use RestoreBlobField method.

git-svn-id: trunk@25543 -
2013-09-24 07:35:20 +00:00
lacak
7842e9f823 fcl-db: datapacketreader: change of interface methods. Pass reference to TCustomBufDataset only once in constructor of TDatapacketReader, so instance of datapacketreader will know about BufDataset for which it was created and there is no need to pass this reference on "every" call to methods of TDataPacketReader. It brings simplicity and more flexibility IMHO.
DO NOT BACKPORT THIS TO 2.6.3

git-svn-id: trunk@25542 -
2013-09-24 07:07:05 +00:00
Tomas Hajny
3e5601d89e * fix ChDir and GetDir handling for other than the current drive and avoid changing the current directory in GetDir in that case
git-svn-id: trunk@25541 -
2013-09-23 20:41:54 +00:00
michael
10eb918bed * Register/Unregister SQL Statements less often
git-svn-id: trunk@25540 -
2013-09-23 18:11:34 +00:00