Commit Graph

2101 Commits

Author SHA1 Message Date
paul
1768810783 compiler: allow to derive classes from a nested class type (issue #0016083)
git-svn-id: trunk@15036 -
2010-03-23 05:36:11 +00:00
Jonas Maebe
82ff623390 + fixed Julian date helpers (based on patch by Bernd Engelhardt, mantis
#16040)
  * finished remaining unimplemented Julian date helpers

git-svn-id: trunk@15032 -
2010-03-22 21:01:46 +00:00
Jonas Maebe
87c9773ac0 + also support & to escape identifiers (and for octal notation) in Delplhi
mode (patch by Blaise Thorn, mantis #15930)

git-svn-id: trunk@15031 -
2010-03-21 23:33:44 +00:00
Jonas Maebe
6db635210a * don't give an internalerror when passing a constant string to an
openstring parameter (mantis #16022)

git-svn-id: trunk@15030 -
2010-03-21 14:51:12 +00:00
marco
c477df5046 * TCriticalSection.Tryenter support (Mantis 15928) + short test/demo
tested on FreeBSD (general Unix) and Windows. Note that Haiku seems 
    to have a native threadmgr rather than the Unix one. Will notify 
    maintainer (Olivier)

git-svn-id: trunk@15026 -
2010-03-21 11:34:05 +00:00
paul
49d94c5a16 compiler: implement {$VARPROPSETTER ON/OFF} support which is required for COM (D7 compatibility):
- add an option to skip varspez during parameters comparison
  - skip varspez comparison when searching a property reader candidate if $VARPROPSETTER is ON

git-svn-id: trunk@15020 -
2010-03-17 09:56:50 +00:00
Jonas Maebe
45d25bbe77 * fixed storing/loading widestring constant nodes into/from ppu files
(mantis #15909)
  * fixed storing/loading widestring constants into/from token streams
  * made storing/loading widestring constant nodes into/from ppu files
    endian safe

git-svn-id: trunk@15017 -
2010-03-14 13:27:00 +00:00
marco
8529d66523 * unzipper unit basic extraction test. (related to mantis 15836)
git-svn-id: trunk@15015 -
2010-03-14 11:41:54 +00:00
Jonas Maebe
171c0289b0 + tests from mantis #15777
git-svn-id: trunk@15013 -
2010-03-14 11:03:09 +00:00
Jonas Maebe
0cfc6e1cac + support for "univ" in macpas mode: a parameter modifier that allows
passing any value to that parameter which has the same size as the
    parameter (it basically acts as if there is an explicit type conversion
    to the parameter type around the value at the caller side). If a procvar
    has an univ parameter, all procvars whose corresponding parameter
    has the same size as that univ parameter are similarly compatible.

    This transparent compatibility can however cause crashes in case of
    of the procvars when one of the types is passed on the stack and the
    other isn't (because then the called routine will a) load the parameter
    from a wrong location and b) pop the wrong amount off of the stack at
    then end). Therefore FPC will warn in most cases where this can happen.
    (mantis #15777)

git-svn-id: trunk@15010 -
2010-03-13 22:13:20 +00:00
michael
f39e9ba873 * Test unit for testing purposes
git-svn-id: trunk@15009 -
2010-03-13 16:04:19 +00:00
paul
949290e62f fcl-res: support tlb resources
git-svn-id: trunk@15001 -
2010-03-11 03:00:41 +00:00
Jonas Maebe
88f5addd1c * do not typecheck statements before checking whether they are valid,
because the associated simplifications can turn invalid statements
    into valid statements (based on patch by Aleksa Todorovic, mantis
    #15594)

git-svn-id: trunk@14998 -
2010-03-09 21:13:22 +00:00
marco
18cef789c6 * regenned makefile for Loesje
git-svn-id: trunk@14955 -
2010-02-28 16:11:01 +00:00
florian
e9c95ea46f + NvApi package for win32 and win64 by Dmitry Boyarintsev, resolves #15771
git-svn-id: trunk@14951 -
2010-02-28 09:56:36 +00:00
paul
8d7312f87b rtl: use CreateVCLComObject routing to create VCLComObject in case it is not assigned + test
git-svn-id: trunk@14948 -
2010-02-27 08:49:50 +00:00
paul
f607b7bdd5 tests: add SafeCallException test
git-svn-id: trunk@14941 -
2010-02-26 10:28:19 +00:00
Jonas Maebe
fe5d0b0ef4 * fixed internalerror in case of dereferencing a loc_(c)subsetreg/ref
(mantis #15812)

git-svn-id: trunk@14925 -
2010-02-19 16:26:36 +00:00
Jonas Maebe
78b9820e11 * support record fields separated by commas instead of semicolons in typed
constant record definitions in MacPas mode (patch by Adriaan van Os,
    mantis #15764)

git-svn-id: trunk@14915 -
2010-02-14 14:33:30 +00:00
Jonas Maebe
025ec34e4d + "CExtended" type that is the same as "extended", but conforming to the
properties/behaviour of the equivalent of Extended in C (i.e., to
    "long double" on i386 and x86_64 platforms that support a 10 byte
    long double, and to "double" elsewhere)

git-svn-id: trunk@14912 -
2010-02-14 13:45:58 +00:00
Jonas Maebe
674cdaf3fc * handle fields with the same name as a type also correctly in case of
nested records (mantis #15592)

git-svn-id: trunk@14910 -
2010-02-13 20:51:19 +00:00
Jonas Maebe
85984c2d8f * insert proper type conversions when optimising logical operations and
compares by avoiding unnecessary sign extensions (fixes bug reported in
    http://lists.freepascal.org/lists/fpc-pascal/2010-January/023907.html )
  * never throw away int2int type conversions on bitpacked loads, because
    in these cases the proper bits still need to be selected

git-svn-id: trunk@14892 -
2010-02-12 18:13:08 +00:00
florian
092153e7ad * handle unrolling of for ... downto ... correctly, resolves #15668
git-svn-id: trunk@14884 -
2010-02-10 21:08:54 +00:00
Jonas Maebe
6b0a0c149b * don't perform a range check in Delphi mode when passing a cardinal as
vtInteger to an array-of-const parameter (mantis #15727)

git-svn-id: trunk@14882 -
2010-02-10 16:35:37 +00:00
Jonas Maebe
d60e1f674c * automatically try to call procvars that are subscripted or used in a
with-statement, both in FPC and TP/Delphi modes (mantis #15728)

git-svn-id: trunk@14881 -
2010-02-10 16:12:18 +00:00
florian
c459100773 + basic info program
git-svn-id: trunk@14878 -
2010-02-07 22:56:05 +00:00
florian
0c153a46df * math.power/intpower(0,0) return 1, this is as recommended in IEEE 754
as well as compatible with other programming languages and delphi

git-svn-id: trunk@14873 -
2010-02-06 23:10:03 +00:00
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
michael
7096ee6bfa * Regenerated
git-svn-id: trunk@14863 -
2010-02-04 20:31:49 +00:00
michael
59bd32b7ea * Initial check-in
git-svn-id: trunk@14859 -
2010-02-04 15:18:07 +00:00
michael
34f551ad5e * Initial check-in
git-svn-id: trunk@14857 -
2010-02-04 12:58:02 +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
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