Commit Graph

2068 Commits

Author SHA1 Message Date
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
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
2be600afff * support objc.id.<anyobjcmethod> in Delphi mode (mantis #15607)
git-svn-id: trunk@14822 -
2010-01-28 16:14:42 +00:00
joost
8ef245699a * Merging fcl-web_joost branch into trunk
--- Merging r13710 through r14654 into '.':
 G   utils/debugsvr/README.txt
 G   utils/fpmc/README.txt
 G   utils/tply/COPYING.txt
 G   utils/tply/README.txt
 G   utils/fpdoc/COPYING.txt
 G   utils/fpdoc/README.txt
 G   utils/fppkg/README.txt
 G   utils/README.txt
 G   utils/h2pas/README.txt
 G   ide/README.txt
 G   ide/TODO.txt
 G   rtl/macos/README.txt
 G   rtl/freebsd/x86_64/cprt0.as
 G   rtl/freebsd/x86_64/gprt0.as
 G   rtl/freebsd/buildrtl.pp
 G   rtl/freebsd/buildrtl.lpi
 G   rtl/COPYING.txt
 G   rtl/netware/README.txt
 G   rtl/inc/ustrings.inc
C    rtl/inc/objpash.inc
 G   rtl/inc/ustringh.inc
 G   rtl/README.txt
 G   rtl/objpas/README.txt
 G   tests/test/README.txt
 G   tests/test/tunistr6.pp
 G   tests/test/tunistr1.pp
 G   tests/test/tunistr7.pp
 G   tests/test/tunistr2.pp
 G   tests/test/opt/README.txt
 G   tests/test/tunistr4.pp
   C tests/test/tobject5.pp
 G   tests/test/tunistr5.pp
 G   tests/webtbs/uw13345y.pp
 G   tests/webtbs/tw11846a.pp
 G   tests/webtbs/tw12993.pp
 G   tests/webtbs/tw11846b.pp
--- Merging r13710 through r14654 into 'tests/webtbf/tw13815.pp':
 U   tests/webtbf/tw13815.pp
--- Merging r13710 through r14654 into 'tests/tbf/tb0216.pp':
 U   tests/tbf/tb0216.pp
--- Merging r13710 through r14654 into '.':
 G   compiler/ccharset.pas
 G   compiler/README.txt
 G   compiler/COPYING.txt
 G   compiler/optloop.pas
 G   compiler/utils/README.txt
 G   packages/sdl/README.txt
 G   packages/fcl-net/README.txt
--- Merging r13710 through r14654 into 'packages/fcl-xml/tests/README_DOM.txt':
 U   packages/fcl-xml/tests/README_DOM.txt
--- Merging r13710 through r14654 into '.':
 G   packages/fcl-xml/tests/README.txt
 G   packages/fcl-xml/src/README.txt
--- Merging r13710 through r14654 into 'packages/unzip/src/unzip51g.pp':
 U   packages/unzip/src/unzip51g.pp
--- Merging r13710 through r14654 into '.':
 G   packages/libc/README.txt
 G   packages/newt/README.txt
 G   packages/fcl-process/src/dummy
 G   packages/fcl-db/src/memds/README.txt
 G   packages/fcl-db/src/README.txt
U    packages/fcl-web/Makefile.fpc
A    packages/fcl-web/src/webpage.pp
U    packages/fcl-web/src/fphtml.pp
 G   packages/fcl-web/src/README.txt
C    packages/fcl-web/Makefile
 G   packages/libgd/src/gd.pas
 G   packages/libgd/README.txt
 G   packages/ptc/docs/TODO.txt
 G   packages/ptc/docs/README.txt
 G   packages/postgres/README.txt
 G   packages/fcl-base/examples/intl/README.txt
 G   packages/fcl-base/examples/README.txt
 G   packages/xforms/README.txt
 G   packages/amunits/README.txt
 G   packages/ibase/README.txt
 G   packages/sndfile/README.txt
 G   packages/libxml/src/xml2.pas
 G   packages/svgalib/README.txt
--- Merging r13710 through r14654 into 'packages/winunits-base/src/dwmapi.pp':
 U   packages/winunits-base/src/dwmapi.pp
--- Merging r13710 through r14654 into '.':
 G   packages/cdrom/README.txt
 G   packages/mysql/README.txt
 G   packages/oracle/README.txt
 G   packages/gtk1/README.txt
 G   packages/uuid/README.txt
 G   packages/odbc/README.txt
 G   packages/gdbm/README.txt
Summary of conflicts:
  Text conflicts: 2
  Tree conflicts: 1

git-svn-id: trunk@14808 -
2010-01-26 15:12:56 +00:00
giulio2
bb5891a560 * fpcres: Implemented TClosableFileStream to automatically release and acquire
file handles as needed. It avoids running out of file descriptors
  (fixes bug #15586)

git-svn-id: trunk@14805 -
2010-01-26 08:54:41 +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
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
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
6bc01f8c7e tests: add 2 fail dispinterface test
git-svn-id: trunk@14749 -
2010-01-19 13:39:52 +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
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
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
Jonas Maebe
28cd8271c9 * initial version of internal Mach-O/i386 assembler by Dmitry Boyarintsev
(mantis #15163)

git-svn-id: trunk@14628 -
2010-01-12 19:52:55 +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
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
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
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
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
florian
d94f37e375 + patch by Sven Barth to add native NT rtl support to the fpc rtl, resolves #14887
git-svn-id: trunk@14568 -
2010-01-07 18:47:04 +00:00
florian
34227e811d + patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
git-svn-id: trunk@14565 -
2010-01-07 17:42:11 +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
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
florian
7e7f154f88 + OpenCL package by Dmitry Boyarintsev, fixed and tested on win32 and win64, enabled for i386-darwin because submitter tested on Mac OS X, resolves #15297
git-svn-id: trunk@14534 -
2010-01-03 18:26:07 +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
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
florian
20995bb01b * patch by Sven Barth: Add CeRapiInvoke to rapi.pp, resolves #15170
git-svn-id: trunk@14482 -
2009-12-26 21:22:42 +00:00