Commit Graph

3948 Commits

Author SHA1 Message Date
Jonas Maebe
89110baab8 * don't modify the flags while simplifying PIC memory references
(mantis #15694)

git-svn-id: trunk@14871 -
2010-02-06 20:18:36 +00:00
Jonas Maebe
b1d2ab5450 * tobject.inheritsfrom(nil) has to return false (mantis #15690)
git-svn-id: trunk@14870 -
2010-02-06 18:14:26 +00:00
Jonas Maebe
870edaf916 * tobject.unitname and tobject.tostring have to return an ansistring instead
of a shortstring (mantis #15693)
  * changed tobject5 so it checks whether the return values are correct

git-svn-id: trunk@14869 -
2010-02-06 17:53:49 +00:00
pierre
3f30dded7f * avoid problems if two svnversion executable are in SEARCHPATH
git-svn-id: trunk@14868 -
2010-02-06 17:33:47 +00:00
florian
f8bf268406 * handle sarX(<const>,<var>) properly. resolves #15653
git-svn-id: trunk@14866 -
2010-02-04 21:30:25 +00:00
marco
706f0b7975 * New more delphi compat intstrtotime by Bart Broersma #15505 + test
git-svn-id: trunk@14854 -
2010-02-03 15:10:14 +00:00
pierre
0cfcd70ad0 * ignore case of drive letter
git-svn-id: trunk@14841 -
2010-02-01 16:52:19 +00:00
Jonas Maebe
caca6cea37 * allow any kind of fields in Object Pascal classes that are passed to
Objective-C methods or which are fields of Objective-C classes (since they
    are basically opaque to the Objective-C runtime) + fixed tobjc11 so it
    expects classes to be encoded as opaque types
  * give a proper error message when using illegal field/parameter types in
    Objective-C classes/methods instead of an internal error (only checked
    during rtti generation rather than during parsing, because during parsing
    some types may still be forwarddefs)
  * split objcutil in objcdef and objcutil, with objcdef depending only on
    the symtable so it can be used in symdef

git-svn-id: trunk@14838 -
2010-01-31 21:13:41 +00:00
florian
dfc2652062 + support of compiler intrinsic sar* using a patch by Benjamin Rosseaux, resolves #15606
git-svn-id: trunk@14834 -
2010-01-31 16:47:01 +00:00
Jonas Maebe
13e8b3f23e * don't give a "NoThreadError" for any default rtl/basicevent* routines,
so the TMultiReadExclusiveWriteSynchronizer routines can be safely
    executed even with the default thread manager -> removed ismultithread
    checks, so that it keeps working even if ismultithread is set to true
    between acquiring and freeing a lock (mantis #15619)

git-svn-id: trunk@14830 -
2010-01-29 21:01:11 +00:00
Jonas Maebe
d03d2ed27d - disabled pic (fixes test on darwin/i386, where pic is on by default)
git-svn-id: trunk@14829 -
2010-01-29 20:56:41 +00:00
Jonas Maebe
3bfa9ea3ec * only for Darwin platforms
git-svn-id: trunk@14827 -
2010-01-29 17:49:43 +00:00
Jonas Maebe
2be600afff * support objc.id.<anyobjcmethod> in Delphi mode (mantis #15607)
git-svn-id: trunk@14822 -
2010-01-28 16:14:42 +00:00
pierre
2646db8036 * Add is_new boolean arg to AddTestResult, to e able to know
if the call really added a new result.

git-svn-id: trunk@14807 -
2010-01-26 12:54:48 +00:00
pierre
85fef0d52d * Improve test result insertion into database
git-svn-id: trunk@14804 -
2010-01-25 16:51:50 +00:00
pierre
fb1cf4fc8f + Use TEST_DATETIME in dbdigest.cfg file
git-svn-id: trunk@14802 -
2010-01-25 12:36:42 +00:00
pierre
b2c04a2a57 + Add compiler and svn revision information
git-svn-id: trunk@14800 -
2010-01-25 10:50:16 +00:00
pierre
95b04cea9d * fix two string errors
git-svn-id: trunk@14799 -
2010-01-25 10:46:29 +00:00
florian
5b1e713e5b * fixed tests
git-svn-id: trunk@14794 -
2010-01-24 15:00:49 +00:00
paul
d898c8d836 tests: fix test crash
git-svn-id: trunk@14793 -
2010-01-24 13:15:35 +00:00
florian
fc148f4aec * read/write new cstringpattern correctly from/to ppu files
+ test

git-svn-id: trunk@14791 -
2010-01-24 12:34:00 +00:00
paul
ba3744b38e compiler: translate_disp_call:
- fix arguments description if the first argument is empty
  - fix restype field value (describes result value type in variant types)

git-svn-id: trunk@14790 -
2010-01-24 12:06:52 +00:00
florian
c6ffbe9eda * support string constants > 255 chars
* don't cut off anymore string constants silently at 255 chars

git-svn-id: trunk@14789 -
2010-01-24 09:28:46 +00:00
marco
690b6e89ea * strutils rtl unit dir + test of posex. (related to bug #15357)
git-svn-id: trunk@14785 -
2010-01-23 22:02:44 +00:00
paul
d08508419d tests: test arguments passing for dispinterfaces
git-svn-id: trunk@14784 -
2010-01-23 19:46:11 +00:00
Jonas Maebe
f967d995ac * moved mode switch to correct location
git-svn-id: trunk@14779 -
2010-01-23 10:30:30 +00:00
pierre
5fa9463074 * remove two warnings
git-svn-id: trunk@14778 -
2010-01-22 23:32:51 +00:00
pierre
def7ffbea5 * Add some additional fields to testrun table
git-svn-id: trunk@14777 -
2010-01-22 23:09:02 +00:00
pierre
be36d13e73 + Update for correct cleaning of dbdigest executable
git-svn-id: trunk@14774 -
2010-01-22 16:03:40 +00:00
pierre
d5f0cc1f7d + Add explicit Port for mysql connection
git-svn-id: trunk@14771 -
2010-01-22 15:33:34 +00:00
pierre
9c487c236a * more updates for test history
git-svn-id: trunk@14769 -
2010-01-22 10:17:32 +00:00
paul
25298fbcd9 compiler: allow hint modifier for 'unit' keyword (reason - delphi compatibility) + test
git-svn-id: trunk@14767 -
2010-01-22 07:15:09 +00:00
paul
bd6f1d7447 compiler: auto generate method/property dispid if it is not set explicitly
git-svn-id: trunk@14766 -
2010-01-22 02:46:03 +00:00
paul
cc23c7c744 test: extend dispinterface test for win64 and wince (2 of 3)
git-svn-id: trunk@14753 -
2010-01-20 07:26:40 +00:00
paul
6bc01f8c7e tests: add 2 fail dispinterface test
git-svn-id: trunk@14749 -
2010-01-19 13:39:52 +00:00
paul
0d7391baff tests: restore nil check in the dispinterface test
git-svn-id: trunk@14748 -
2010-01-19 13:35:23 +00:00
paul
1ae0cebc1a compiler: implement dispinterface properties + modified test
git-svn-id: trunk@14747 -
2010-01-19 09:58:08 +00:00
florian
988b94e578 * store array results returned in registers on x86_64-win64 in a memory location if needed, resolves #14388
git-svn-id: trunk@14736 -
2010-01-17 21:07:59 +00:00
florian
20de72b703 * allow writeln/readln on generic type parameters
git-svn-id: trunk@14721 -
2010-01-17 15:58:46 +00:00
micha
e66b0b1f37 * tests: add test for issue #15500
git-svn-id: trunk@14720 -
2010-01-17 15:57:05 +00:00
florian
3747454aeb * patch by Olivier Coursiere to enable winlike resources on haiku, resolves #15539
git-svn-id: trunk@14716 -
2010-01-17 15:10:47 +00:00
florian
cf5c42b596 * give a better error message and do better error recovery if too few typed constant array elements are provided
git-svn-id: trunk@14708 -
2010-01-17 13:04:17 +00:00
paul
74cc1e0bab compiler: allow 'as' for dispinterface, allow comparisons of dispinterface and pointers (issue #0015530, issue #0015529)
git-svn-id: trunk@14663 -
2010-01-16 11:37:25 +00:00
Jonas Maebe
3cc11800e9 * guarantee at least one sleep operation in every thread
* write error code to output

git-svn-id: trunk@14641 -
2010-01-14 15:25:01 +00:00
paul
9513b50d26 compiler: don't allow to publish class properties + test
git-svn-id: trunk@14640 -
2010-01-14 15:21:13 +00:00
paul
09fd52791a tests: add fail test for class properties
git-svn-id: trunk@14639 -
2010-01-14 15:04:45 +00:00
Jonas Maebe
08a4ede9c4 * added str(enum,charray) and export str(enum,ansistr/widestr/unicodestr)
(mantis #15504)
  * fixed result parameter of str(enum,ansistr) helper (was shortstring)

git-svn-id: trunk@14629 -
2010-01-12 20:19:52 +00:00
pierre
134331f129 * more updates for test history
git-svn-id: trunk@14627 -
2010-01-12 17:32:39 +00:00
marco
0b7e3d14e4 * cleanup of redir. I hope this solves win32 lfn problems, while preserving execinheritshandles functionality.
* removed TP/1.0 
    * switched windows to sysutils.executeprocess using new execinheritshandles 
    * new execinherits executeprocess implementation local for 2.4.0 (and 2.4.1, though that is no longer necessary   after merge)  
  

git-svn-id: trunk@14618 -
2010-01-11 19:45:24 +00:00
paul
6b087799ef compiler: nested class types:
- fix is_visible_for_object to work correctly if symbol is in the objectsymtable but no current_objectdef present
  - fix ClassName for nested classes
  + test
  

git-svn-id: trunk@14617 -
2010-01-11 19:44:02 +00:00
pierre
c39c87096a * more updates
git-svn-id: trunk@14614 -
2010-01-11 15:01:10 +00:00
paul
86d8b09077 fixed test
git-svn-id: trunk@14613 -
2010-01-11 11:39:25 +00:00
paul
4afb3ca971 compiler: fix internal class symbol search for function result + test
git-svn-id: trunk@14612 -
2010-01-11 11:09:12 +00:00
paul
67ce65eb35 tests: more tests for classes
git-svn-id: trunk@14611 -
2010-01-11 10:07:14 +00:00
paul
fd6e2cc86e compiler: fix internal class symbol search for method arguments
git-svn-id: trunk@14610 -
2010-01-11 09:55:53 +00:00
paul
166f8a63a2 compiler: implement class constants + tests
git-svn-id: trunk@14609 -
2010-01-11 08:43:10 +00:00
paul
91ed1c6e6f compiler: types in classes:
- fix type visibility (was always public)
  - fix parsing of class sections after the type declaration
  - allow nested classes declarations
  + tests

git-svn-id: trunk@14607 -
2010-01-11 06:22:57 +00:00
paul
cb54b3e7a9 compiler: allow class to have local type sections + tests
git-svn-id: trunk@14605 -
2010-01-11 02:35:10 +00:00
Jonas Maebe
a1bcc1c8d2 * turn openstring value parameters into regular shortstring parameters
(mantis #14940 and #14941)
  * only turn var/our shortstring parameters with a length of 255 into
    openstring parameters with {$p+} (new tbf/tb0217.pp)

git-svn-id: trunk@14602 -
2010-01-10 15:36:23 +00:00
paul
4b53a54b51 compiler: implement 'var' and 'class var' sections for classes + tests
git-svn-id: trunk@14598 -
2010-01-10 13:48:43 +00:00
florian
6b63837ae7 * rewrote node cse, needs still testing and bug fixing
git-svn-id: trunk@14597 -
2010-01-10 13:38:58 +00:00
Jonas Maebe
49f01e7b64 * replaced writelock of TMultiReadExclusiveWriteSynchronizer with a
critical section, so that it can be entered recursively just like
    the one from TSimpleRWSync + test
  - reverted r14593, since the reason for using TRWSync instead of
    TMultiReadExclusiveWriteSynchronizer was because the former
    supported recursive write locks

git-svn-id: trunk@14594 -
2010-01-10 12:14:21 +00:00
Jonas Maebe
f52e88dfe8 * added watcher thread that will force quite the test if it isn't finished
after 15 seconds

git-svn-id: trunk@14589 -
2010-01-09 23:26:34 +00:00
Jonas Maebe
8da0a031bf * fixed memory leak in new TMultiReadExclusiveWriteSynchronizer
(fwaitingwriterlock was not freed)
  * fixed typo in comment
  * free all memory in trwsync.pp test

git-svn-id: trunk@14588 -
2010-01-09 23:14:53 +00:00
Jonas Maebe
106baa8b2f * optimized version of TMultiReadExclusiveWriteSynchronizer that allows
concurrent readers (mantis #14451)

git-svn-id: trunk@14587 -
2010-01-09 23:00:45 +00:00
paul
3ed4c58502 compiler:
- implement class properties: properties which can access only static fields and static class methods
  - tests
  - fix a possibility to call an instance method from the class method

git-svn-id: trunk@14585 -
2010-01-09 18:37:54 +00:00
Jonas Maebe
77fd8bacc7 * fixed compiler crash when using nested procedures in Objective-C methods
git-svn-id: trunk@14583 -
2010-01-09 15:05:24 +00:00
Jonas Maebe
b4058a57ad * maxcrecordalign for darwin/ppc64 is 4 instead of 8 (at least for the types
that we support), fixes webtbs/tw15061a.pp on darwin/ppc64
  * webtbs/tw15061a.pp is only for darwin/ppc and darwin/ppc64

git-svn-id: trunk@14582 -
2010-01-09 11:22:33 +00:00
paul
00624ad7a3 tests: remove {$STATIC ON} directive since it is not available anymore
git-svn-id: trunk@14580 -
2010-01-08 18:01:28 +00:00
paul
58c71c3c59 compiler: allow to skip the 'static' modifier in the method implementation + modified test
git-svn-id: trunk@14578 -
2010-01-08 16:32:55 +00:00
Jonas Maebe
9cc211e88e * changed {$align mac68k} from an alias for {$packrecords 2} to a proper
implementation for mac68k alignment (mantis #15061)
  * changed {$align power} from an alias for {$packrecords 4} to an alias for
    {$packrecords c}, as Power alignment is the default C alignment for
    PowerPC under Mac OS X (it's close to {$packrecords 4}, but not identical)

git-svn-id: trunk@14577 -
2010-01-08 15:36:22 +00:00
paul
ea88883915 compiler: fix access to static class fields from the static class methods + extended test
git-svn-id: trunk@14574 -
2010-01-08 10:54:35 +00:00
paul
67ae263dd9 compiler: load methodpointer for static class methods - fixes internal error 200305061 when some class member is called inside the class static method + test
git-svn-id: trunk@14571 -
2010-01-07 20:35:23 +00:00
paul
8166148a37 compiler: 'static' keyword:
- deprecate -St compiler switch
  - remove $STATIC directive
  - unconditionally enable 'static' keyword usage
  - adopt tests, samplecfg, fpc.cft, error messages

git-svn-id: trunk@14569 -
2010-01-07 19:02:09 +00:00
Jonas Maebe
0c1247ba7d * removed extra space character when generating the maximal number of
significant digits and frac(value)+roundcorr overflows to 1
    (mantis #15308, fix by Dariusz Mazur)

git-svn-id: trunk@14563 -
2010-01-07 15:26:30 +00:00
pierre
d4e57bcfa9 * Update testsuite web interface
git-svn-id: trunk@14562 -
2010-01-07 15:22:18 +00:00
florian
e6648da567 * make heaptrc aware of the fact that multi threading could be initialized before heaptrc itself is initialized, this is currently the case for windows dlls
git-svn-id: trunk@14560 -
2010-01-07 13:41:43 +00:00
florian
4ddebcbf1c * handle subrange enumeration types in GetEnumValue correctly, resolves #15467
git-svn-id: trunk@14544 -
2010-01-05 16:10:13 +00:00
Jonas Maebe
83c3e7a94b * fixed pred/succ for integer constants that equal the low/high bound of a
built-in integer type (reported by Stefan Kisdaroczi) 

git-svn-id: trunk@14537 -
2010-01-04 15:12:27 +00:00
florian
40cea8d4d5 * handle mm register properly when used as top_local, resolves #14566
git-svn-id: trunk@14535 -
2010-01-03 20:33:01 +00:00
Jonas Maebe
6399bcd4e3 * improve precision of values specified with a decimal point and an exponent
(based on report/hints by Dariusz Mazur)

git-svn-id: trunk@14533 -
2010-01-03 15:56:06 +00:00
florian
31e2f16484 resolves #15453:
* fixes i386 DivMod with negative numbers with a patch from Jonas
* fixes generic DivMod with negative numbers
* test updated

git-svn-id: trunk@14532 -
2010-01-03 14:59:01 +00:00
Jonas Maebe
b4c572483b * always call procvars inside varargs in TP/Delphi mode (mantis #15446)
git-svn-id: trunk@14527 -
2010-01-02 21:43:19 +00:00
Jonas Maebe
04606982ac * fixed evaluation of "mod" operator for tconstexprint with signed operands
(part of mantis #15453)

git-svn-id: trunk@14516 -
2010-01-01 22:50:35 +00:00
florian
81f34dd4bb * avoid too long prefixes of manglednames by using a CRC like for long parameter name lists, resolves #15203
git-svn-id: trunk@14515 -
2010-01-01 21:56:55 +00:00
Jonas Maebe
dd94f5cf2b * no longer allow typed files of reference counted data (mantis #15447)
git-svn-id: trunk@14509 -
2010-01-01 14:56:33 +00:00
Jonas Maebe
1743c6f1a8 * also recompile a unit if class/object definitions in indirectly used
units have changed, because these can influence the code of the
    current unit in case method signatures changed (mantis #13840)
    + manual test
  * fixed some recompilation crashes related to WPO info
  * clarified the unit_u_add_depend_to message

git-svn-id: trunk@14503 -
2009-12-30 14:03:31 +00:00
florian
701d911f58 * continued on node cse
git-svn-id: trunk@14496 -
2009-12-29 19:45:33 +00:00
paul
4a5fab9c70 tests: fix test to run on all locales
git-svn-id: trunk@14488 -
2009-12-28 01:20:38 +00:00
paul
e9770b180a tests: fixed SetWindowLong test
git-svn-id: trunk@14477 -
2009-12-25 11:42:06 +00:00
paul
1bbd116730 tests: fix $WARN test
git-svn-id: trunk@14476 -
2009-12-25 11:40:35 +00:00
paul
56bd6e830e compiler: fix assembler constant expressions evaluation + fully enable appropriate test
git-svn-id: trunk@14475 -
2009-12-25 05:26:48 +00:00
paul
3fff90de80 tests: fix test
git-svn-id: trunk@14474 -
2009-12-24 09:41:48 +00:00
Jonas Maebe
2d2465aac4 * disabled the use of samevalue() when comparing float variants, because
a) it's Delphi-incompatible
     b) when a tdatetime property is obtained via GetPropValue(), then
        it will be a varfloat rather than a vardate, and there full
        precision certainly is required (mantis #15296)
  - since DoVarCmpFloat() is now identical to DoVarCmpDate(), removed
    DoVarCmpFloat

git-svn-id: trunk@14472 -
2009-12-23 21:30:58 +00:00
Jonas Maebe
e254d607d6 * support arrayconstructornodes of procvars (mantis #15391)
git-svn-id: trunk@14468 -
2009-12-23 20:11:35 +00:00
florian
448f3d99c1 * cleanup of case <string> of code by Sergei Gorelkin, resolves #13700
git-svn-id: trunk@14467 -
2009-12-23 19:27:50 +00:00
florian
dab642986e * patch by Sergei Gorelkin, fixes several issues with implements, resolves #15209
git-svn-id: trunk@14466 -
2009-12-23 16:23:19 +00:00
Jonas Maebe
1a87386bfe * allow and properly handle @classtype(pointerconst).field (mantis #15415)
git-svn-id: trunk@14462 -
2009-12-22 15:19:05 +00:00
florian
8cecea9b53 * GetEnumName handles subrange types correctly, resolves #15377
git-svn-id: trunk@14461 -
2009-12-22 11:36:47 +00:00
paul
d89463588c compiler: don't compile incorrect statements if operators are involved (issue #0015338) + test
git-svn-id: trunk@14458 -
2009-12-21 06:57:38 +00:00