Commit Graph

3916 Commits

Author SHA1 Message Date
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
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
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
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
fcaac0ebe1 compiler,rtl - safecall handling:
- pass address to SafeCallException  method(rtl needed a modification)
  - improve code generation for regular safecall routines (not methods)
  - improve test - check that passed exception and address are valid

git-svn-id: trunk@14946 -
2010-02-27 04:41:52 +00:00
pierre
a0ad752e16 * fix tw8730 tests for windows
git-svn-id: trunk@14945 -
2010-02-26 16:33:14 +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
Jonas Maebe
1b58fcc877 * set moduleislib to true for libraries. Differences with islibrary:
a) is also set to true for packages (when packages will beimplemented)
     b) exists for each package/library/application separately, instead of
        being stored in the package containing the system unit (when packages
        will be implemented)
    (mantis #15701)

git-svn-id: trunk@14880 -
2010-02-10 16:10:23 +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
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