Commit Graph

41247 Commits

Author SHA1 Message Date
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
pierre
edd59a4eb5 Add missing i after dollar for include directive
git-svn-id: trunk@25539 -
2013-09-23 11:56:41 +00:00
lacak
9013ff6724 fcl-db:fcl-db: base: fix streaming (restoring) of ftWideMemo fields in XMLDatapacketReader
+ extend test of streaming of "FieldDataset" to test all fields (not only Blob and Memo)

git-svn-id: trunk@25538 -
2013-09-23 11:09:07 +00:00
pierre
22e9cb48dd Fix get_caller_stackinfo function: Addr parameter must also be by var
git-svn-id: trunk@25537 -
2013-09-23 09:51:20 +00:00
paul
f3963172ba compiler: don't look at unit and namespace symbols from other units while searching for a type (issue #0025054)
git-svn-id: trunk@25536 -
2013-09-23 09:22:47 +00:00
nickysn
4fc4e4cb88 * removed the dummy fpc_sin_real and fpc_cos_real that halt with a runtime error
from the i8086 rtl, because the FSIN and FCOS instructions are 387+ and on
  earlier FPUs the real helper functions are needed.

git-svn-id: trunk@25535 -
2013-09-22 15:06:45 +00:00
nickysn
ce123b6956 + started the i8086-msdos version of the unit graph, based on the go32v2
version. Only the CGA routines are enabled for now and the unit compiles, but
  does not work yet.

git-svn-id: trunk@25534 -
2013-09-21 22:06:55 +00:00