Commit Graph

467 Commits

Author SHA1 Message Date
Jonas Maebe
cddb2ffcae * give a compile-time error when trying to define a short/ansistring typed constant
containing unicode strings instead of producing unpredictable behaviour
    (mantis #16219)

git-svn-id: trunk@15240 -
2010-05-08 10:57:39 +00:00
Jonas Maebe
72758864e4 * only allow field names in record/object typed constant declarations (mantis #16234)
* improved error recovery after encountering invalid field name in record/object typed constant
    declaration

git-svn-id: trunk@15150 -
2010-04-18 07:55:42 +00:00
Jonas Maebe
35941dcae9 * added missing -CO option
git-svn-id: trunk@15056 -
2010-03-25 09:10:41 +00:00
Jonas Maebe
653974f679 * also give a "potential range error" hint with -CO in case the sizes
match but the source range does not fit in the dest range
    (related to mantis #16023)
  * don't give a "potential range error" when converting between
    s80real and sc80real, since even though the size may differ,
    the represented range does not

git-svn-id: trunk@15044 -
2010-03-24 21:21:19 +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
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
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
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
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
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
e254d607d6 * support arrayconstructornodes of procvars (mantis #15391)
git-svn-id: trunk@14468 -
2009-12-23 20:11:35 +00:00
Jonas Maebe
0247d0c2ee * use calling convention that is not the default on any platform
git-svn-id: trunk@14399 -
2009-12-11 09:36:11 +00:00
Jonas Maebe
164db72f07 * implements getter must used target's default calling convention, because
it's called indirectly via an RTL helper that expects this (mantis #15303)

git-svn-id: trunk@14397 -
2009-12-10 21:47:47 +00:00
Jonas Maebe
b521f80b13 * give a proper error when a rangen appears in a vecn that's not an
array parameter (mantis #15287)

git-svn-id: trunk@14368 -
2009-12-08 18:47:24 +00:00
Jonas Maebe
b9b95a8f73 * fixed compiler crash when putting non-constant string in a set expression
(mantis #15288)

git-svn-id: trunk@14367 -
2009-12-08 17:15:31 +00:00
Jonas Maebe
8d65471fe2 * give a proper error when trying to use val() on a boolean (mantis #14777)
* don't allow a boolean or (wide)char to be used as the "error" parameter
    for val()

git-svn-id: trunk@14006 -
2009-11-01 17:18:40 +00:00
Jonas Maebe
3e624d990d * only allow one "message" modifier per method declaration (mantis #14946)
git-svn-id: trunk@14001 -
2009-11-01 15:23:57 +00:00
Jonas Maebe
d61eb3528f * make strict string var checking ({$v+}) the default in TP and Delphi modes
(mantis #14929)

git-svn-id: trunk@13966 -
2009-10-29 15:52:14 +00:00
Jonas Maebe
dd937bd32d * don't crash when looking for a local/parasym while current_procinfo is
nil, such as while parsing a property definition (mantis #14849)

git-svn-id: trunk@13958 -
2009-10-26 13:48:58 +00:00
Jonas Maebe
fffa66e2f9 * only allow implicit conversions from 0 to NIL in Delphi mode, rather than
from any ordinal constant, and give a warning for this one allowed
    conversion like Kylix does (mantis #14713)
  * this required calling simplify from typecheckpass in ttypeconvnode for
    cord_to_pointer, because this simplification prevents the type checking
    from happening (but the typecheck itself also does that simplification)

git-svn-id: trunk@13919 -
2009-10-22 19:49:08 +00:00
Jonas Maebe
b8a28ff5da * zapped gremlins that threw off dotest's detection of the %fail
git-svn-id: trunk@13798 -
2009-10-03 20:32:46 +00:00
Jonas Maebe
1eceb2ca65 * don't allow properties to expose private fields of parent classes
(mantis #14650)

git-svn-id: trunk@13794 -
2009-10-02 13:50:52 +00:00
Jonas Maebe
ae6200ce72 + tests forgotten to commit as part of r13334
git-svn-id: trunk@13617 -
2009-08-30 08:37:53 +00:00
florian
f2a1d8edf6 * moved test to proper location
git-svn-id: trunk@13552 -
2009-08-18 06:53:50 +00:00
florian
6ea40be296 * fixed more properties, I still wonder how this could be commited
git-svn-id: trunk@13543 -
2009-08-16 10:57:52 +00:00
florian
6c99746074 * forbid the usage of Result(x) as function call, resolves #14248
git-svn-id: trunk@13492 -
2009-08-06 19:06:23 +00:00
Jonas Maebe
79f139bff7 + tests for previous commit
git-svn-id: trunk@13373 -
2009-07-08 20:22:09 +00:00
Jonas Maebe
e42842b31c * don't allow skipping property parameters if the getter/setter has default
parameters (mantis #13956)
  * when reporting an error about too few specified parameters to a call,
    return the column of the call itself rather than after the last parameter
    (because this ends up after the end of an indexed property in case of
     properties, which is confusing)

git-svn-id: trunk@13326 -
2009-06-26 17:31:41 +00:00
Jonas Maebe
47702aa3a5 * disallow new(property) (mantis #13992)
git-svn-id: trunk@13288 -
2009-06-18 09:23:43 +00:00
Jonas Maebe
e6bf70fc05 * fixed/cleaned up tests for "nil + 1"
git-svn-id: trunk@13212 -
2009-05-30 11:29:54 +00:00
Jonas Maebe
10158da60e * give an error when trying to use the offset of a non-byte-aligned field
of a bitpacked record in assembler code
  * convert the offsets of byte-aligned fields of bitpacked records from bits
    to bytes (mantis #13563)

git-svn-id: trunk@13027 -
2009-04-23 17:27:44 +00:00
Jonas Maebe
40247d2d87 * give an error when the typeinfo() function is called for an enumeration
whose base is not 0, or that has jumps in its value range (manits #9551)

git-svn-id: trunk@12960 -
2009-03-22 20:54:49 +00:00
Jonas Maebe
549f1ecc1b * when using overloaded functions in Delphi mode without the "overload"
directive, state that "overload" is missing rather than that
    overloading is disabled (mantis #10081)

git-svn-id: trunk@12723 -
2009-02-08 16:01:41 +00:00
Jonas Maebe
2929624ffc * accept overloaded operators that return any shortstring type when needing
a conversion to a shortstring type (so an operator := that returns a
    string[255] can be used to assign this type to a string[80]) (mantis
    #12109)
  * do not allow overloading := with a string[x<>255] as result type,
    because we want one such overload to satisfy all conversions (see
    previous point)

git-svn-id: trunk@12590 -
2009-01-24 15:12:19 +00:00
Jonas Maebe
8ad1500438 * disallow passing descendent interfaces to var parameters (mantis #12933)
git-svn-id: trunk@12535 -
2009-01-10 19:47:52 +00:00
florian
499c523346 * accept only valid guid as iid for com and dispinterfaces, resolves #12030; I'am not sure though if this isn't a feature used by people already
git-svn-id: trunk@12380 -
2008-12-17 22:09:21 +00:00
Jonas Maebe
f07d00b7f0 * changed test so it also produces a warning (and hence fails) on 64 bit
platforms

git-svn-id: trunk@12032 -
2008-11-07 20:00:06 +00:00
Jonas Maebe
e5920bc2b8 * delay verbosity changes just like localswitches changes
* store a node's verbosity in the node so that e.g. disabling warnings
    also disables warnings for this node in pass_1
   (the above together fix mantis #12076)
  * save/restore verbosity with {$push}/{$pop} (mantis #12075)
  * if warnings/notes/hints are turned off, also do not count encountered
    ones for the totals (otherwise -Sew cannot be used properly in
    combination with {$warnings off}, because disabled warnings will still
    trigger a compiler error) -- this required adding -vw/-vn/-vh to all
    tests using -Sew/-Sen/-Seh
  - removed some superfluous state saving/restoring from firstpass()

git-svn-id: trunk@12025 -
2008-11-03 21:18:27 +00:00
Jonas Maebe
658dd00f5f * more program header fixes
git-svn-id: trunk@12024 -
2008-11-03 20:19:38 +00:00
florian
937067e367 + check if forward definitions and real definitions have the same type, resolves #11970
git-svn-id: trunk@12017 -
2008-11-02 12:36:31 +00:00
florian
cb9e52826f * fix range check error in options handling, resolves #12365
+ better error output (print filename and line number) for config file directive errors

git-svn-id: trunk@11898 -
2008-10-14 17:06:55 +00:00
Jonas Maebe
79850c5027 * don't crash when someone uses an integer value to declare a wide/unicode
string (mantis #12329)

git-svn-id: trunk@11875 -
2008-10-10 15:01:56 +00:00
florian
1c0bd054f4 + tfornode.simply which removes for loops being never executed
* handle function results correctly in life dfa
* handle for loops with at least one iteration better in life dfa
o resolves #8151

git-svn-id: trunk@11624 -
2008-08-21 21:38:50 +00:00
florian
369ed493f2 * new node flag nf_modify to mark nodes being read and then written by one load node
* dfa takes care of nf_modify to create better life information
o resolves #11846 and #11849

git-svn-id: trunk@11615 -
2008-08-20 21:35:05 +00:00
Jonas Maebe
76ce35b905 * method definitions in "child" interfaces also hide those in "parent"
interfaces, even if they only differ in resulttype (mantis #11862)
  * fixing this required that multiple entries for the same method in a
    interface vmt are all written out (change in
    ImplementedInterface.AddImplProc)

git-svn-id: trunk@11595 -
2008-08-16 20:08:25 +00:00
florian
8cc0a04db5 * handle exit(<expr>) correctly in the dfa, resolves #11848
git-svn-id: trunk@11547 -
2008-08-11 19:01:07 +00:00
florian
1fa70f7a0a * proper support for tobject.getinterface with raw/corba interfaces, resolves #6798 and #6036
git-svn-id: trunk@11497 -
2008-08-01 15:27:58 +00:00
Jonas Maebe
2f2d4714d0 + test to make sure that {$x-} works properly for inlined functions
git-svn-id: trunk@11467 -
2008-07-27 19:15:56 +00:00
florian
fffc05731c * don't crash when ranges are passed erroneously to an array of const, resolves #11632
git-svn-id: trunk@11353 -
2008-07-09 21:06:24 +00:00
florian
f5ccb70a2f * commited to wrong directory
git-svn-id: trunk@10979 -
2008-05-15 18:40:05 +00:00
Jonas Maebe
b31a502e6e * tw9176a should fail, moved to webtbf and added { %fail }
+ added tw9176 which should succeed

git-svn-id: trunk@10924 -
2008-05-09 21:01:41 +00:00
Jonas Maebe
dc1ac3f9fa + added missing { %fail }
git-svn-id: trunk@10886 -
2008-05-05 12:07:17 +00:00
Jonas Maebe
85b9c65f51 * fixed support in macpas mode for anonymous procedure/function types
in parameter lists after r9484 (mantis #11254)

git-svn-id: trunk@10885 -
2008-05-05 11:59:35 +00:00
Jonas Maebe
71d268db32 + extra test for #10998
git-svn-id: trunk@10877 -
2008-05-04 12:45:10 +00:00
peter
761344e9fc * don't allow passing ordinal and real constants to formal const parameters
git-svn-id: trunk@10426 -
2008-03-02 15:00:32 +00:00
Jonas Maebe
a2beae0e11 * use more generic set type boundaries for constant sets with one
element in Delphi mode (fixes mantis #10890, but requires more
    thorough changes in nadd.pas for proper fixing)

git-svn-id: trunk@10399 -
2008-02-27 21:17:13 +00:00
Jonas Maebe
1cdf575657 + test for previous commit
git-svn-id: trunk@10363 -
2008-02-19 20:24:22 +00:00
Jonas Maebe
246eaddce6 * fixed test
git-svn-id: trunk@10339 -
2008-02-16 11:58:39 +00:00
florian
d8d96f14e6 + experimental directive, resolves #10833
git-svn-id: trunk@10331 -
2008-02-15 19:29:34 +00:00
Jonas Maebe
c05f18a1b0 * catch duplicate field declarations in a single class in Delphi mode
(mantis #10457)

git-svn-id: trunk@9534 -
2007-12-26 15:21:18 +00:00
Jonas Maebe
719c29cf86 + new cpo_openequalisexact parameter comparison option which
treats equal open arrays, open strings and arrays of const
    (implicitly also open) as exactly matching (since you
     cannot declare such types on their own, so they will
     never match exactly)
  * require that forward declared procedures match the
    implementation exactly for both the parameters (with
    the above modification) and result type (mantis
    #10425 and the related webtbf/tw10425a.pp)

git-svn-id: trunk@9484 -
2007-12-16 22:22:11 +00:00
florian
2650ca51e6 * moved
git-svn-id: trunk@9437 -
2007-12-12 22:35:00 +00:00
Jonas Maebe
61522d00a2 * fixed tests now that i386 assembler code is checked for correct PIC
usage in case PIC generation is on (some by adding PIC-versions of
    the assembler code, most by adding -Cg- to the options to be used).

    Note: the Intel assembler reader does not yet support the Delphi
    PIC construct, so tests with that (like test/tasmread and test/tcg1)
    do not work with -Cg on non-Darwin (Darwin needs a different PIC
    construct)

git-svn-id: trunk@9370 -
2007-12-01 14:34:50 +00:00
Jonas Maebe
12b4f034ea * only allow using array elements as for-loop counter variables
in TP mode

git-svn-id: trunk@8907 -
2007-10-21 22:39:49 +00:00
peter
bfca4e67fa * -CO option to check for possible integer overflows
git-svn-id: trunk@8842 -
2007-10-18 19:55:22 +00:00
peter
5fdbf74be8 * compiles now
git-svn-id: trunk@8839 -
2007-10-18 00:27:06 +00:00
peter
6434772c3c * error message when a goto label is optimized away
git-svn-id: trunk@8837 -
2007-10-17 21:52:25 +00:00
Jonas Maebe
c89ea4412f * disallow using inline nodes with a non-void resultdef as statements
(e.g. length, lo/hi, ord, etc). Not the same as mantis #9918, but
    somewhat related

git-svn-id: trunk@8770 -
2007-10-12 11:54:37 +00:00
Jonas Maebe
0ebc1e920a * allow modifying lvalues obtained by dereferencing read-only properties,
both via regular pointers and via classes (mantis 9498)

git-svn-id: trunk@8755 -
2007-10-09 13:08:36 +00:00
Jonas Maebe
288a538df5 * don't allow starting new virtual trees in TP-style objects + test
* fixed bug in whlpview.pas where such an new tree was unintentially
    started

git-svn-id: trunk@8422 -
2007-09-09 14:58:55 +00:00
Jonas Maebe
c10b375615 * give an error for high(ansistring) and high(widestring)
(mantis #9579)

git-svn-id: trunk@8370 -
2007-09-03 16:37:24 +00:00
Jonas Maebe
1ee8207ffa * fixed mantis #9522: no longer allow typecasting ordinal constants
to complex types (caused a lot of internal errors later on, and
    was also Delphi-incompatible)

git-svn-id: trunk@8369 -
2007-09-03 15:55:26 +00:00
Jonas Maebe
ac22ff09da * detect division by zero in tmoddiv.simplify (mantis #9499)
git-svn-id: trunk@8341 -
2007-08-30 17:21:29 +00:00
Jonas Maebe
d73582cb85 * removed svn:executable properties
git-svn-id: trunk@8314 -
2007-08-26 19:24:36 +00:00
peter
0fc65c5eec * for tp mode don't allow unitname reuse
git-svn-id: trunk@8158 -
2007-07-23 20:38:05 +00:00
florian
b6cca14944 * proper handling of dummy result node in dfa, resolves #8717 and #8079
+ tests

git-svn-id: trunk@8147 -
2007-07-23 08:57:31 +00:00
peter
ad4846a50e * don't allow generics as parent classes
git-svn-id: trunk@8144 -
2007-07-22 23:10:24 +00:00
peter
5e36a73b80 * create a new vmt entry also if return type differs
* search all parent classes for matching interface implementations

git-svn-id: trunk@8138 -
2007-07-22 19:47:55 +00:00
florian
fa2a2b0bd0 * generics without specialization can't be used as a type, resolves #9225
git-svn-id: trunk@8116 -
2007-07-21 17:39:49 +00:00
florian
76a3d55199 * allow enum => pointer type casts in delphi mode, resolves #8465
git-svn-id: trunk@7905 -
2007-07-01 14:43:46 +00:00
yury
a70eba78a6 * Delete temporary files used by tests. It is important when remotely run testsuite at Pocket PC. Temp files are created in root folder and it is not good if the files are left.
git-svn-id: trunk@7760 -
2007-06-21 17:13:39 +00:00
Jonas Maebe
b998cb1208 * changed so it still fails now that you can take the address of some
fields of bitpacked records

git-svn-id: trunk@7621 -
2007-06-10 11:55:05 +00:00
Jonas Maebe
c77d74127b * fixed some record size checks
(some are still broken, but can't be fixed currently because
    def.size/sym.getsize return an aint, which means low(aint)
    in case of structures with a size = high(aint)+1)

git-svn-id: trunk@7614 -
2007-06-09 19:48:14 +00:00
Jonas Maebe
497df2bb37 * also check for properties passed to read(ln) when reading integers
different from the native size, or when reading enums (because those
    are handled via a temp internally -> regular var parameter checks
    were not automatically performed)

git-svn-id: trunk@7398 -
2007-05-19 18:53:24 +00:00
peter
e7ead9fc9f * nested procedures are not supported in generic methods
git-svn-id: trunk@7368 -
2007-05-16 20:56:00 +00:00
Jonas Maebe
6555f37cff * do not search variant operators when looking for an overloaded
operator for a non-variant type (was already intended that way,
    but checks didn't work) (mantis #7070) + tests
  * some tab->spaces in defcmp.pas

git-svn-id: trunk@7359 -
2007-05-16 13:59:35 +00:00
Jonas Maebe
4ff8d4f15c + added tests for already solved bug (crashed with IE in 2.0.4)
git-svn-id: trunk@7347 -
2007-05-15 14:28:31 +00:00
Jonas Maebe
de1af478c3 * do not allow passing properties as var parameters (mantis #8777)
* do not allow assignments to fields of structured properties (e.g.
    property prop: trec read frec; ... instance.prop.frec.a:=5) 
  * clarified some related error messages
  + several extra tests for the above and related things

git-svn-id: trunk@7250 -
2007-05-03 14:08:03 +00:00
florian
f2d05bc3a1 * new tests derived from tw8777 so we avoid that it is forgotten
git-svn-id: trunk@7196 -
2007-04-29 17:58:50 +00:00
florian
01de46a0f4 * don't allow logical operators on char, resolves #8780
git-svn-id: trunk@7181 -
2007-04-28 18:43:58 +00:00
florian
2eb40fc025 * forbid file types as function results
git-svn-id: trunk@7180 -
2007-04-28 18:32:03 +00:00
florian
fef643654b * moved
git-svn-id: trunk@7066 -
2007-04-06 21:20:28 +00:00
peter
6804d5bf90 * new test
git-svn-id: trunk@7031 -
2007-03-30 06:34:03 +00:00
peter
fdc692a5ca * test for set=nonset operation
git-svn-id: trunk@7011 -
2007-03-27 18:38:03 +00:00
Jonas Maebe
428306051f * give again an error for "in" operations on incompatible set
elements/sets after introduction of support for "longint in set"

git-svn-id: trunk@6885 -
2007-03-16 19:44:43 +00:00
Jonas Maebe
ac585ea201 * fixed test according to Kylix behaviour (which means current
FPC behaviour is wrong)

git-svn-id: trunk@6851 -
2007-03-14 18:27:01 +00:00
florian
85189db6fe * test fixed, hopefully
git-svn-id: trunk@6810 -
2007-03-12 20:04:27 +00:00
pierre
3dacee1f38 * fix test failure if -Cr option is used
git-svn-id: trunk@6690 -
2007-03-01 13:46:40 +00:00
florian
da23643459 * new test to avoid regression
git-svn-id: trunk@6653 -
2007-02-25 19:04:09 +00:00
florian
fd392dc2b6 * allow inherited; calling abstract methods in delphi mode, resolves #5896
git-svn-id: trunk@6651 -
2007-02-25 18:46:10 +00:00
florian
301be02148 * forbid anonymous generic specializations
git-svn-id: trunk@6627 -
2007-02-24 10:06:53 +00:00
Jonas Maebe
674660d53b * getting the length of a string means that it has to be
valid and marks it as really read (mantis #8264)

git-svn-id: trunk@6327 -
2007-02-03 21:28:44 +00:00
Jonas Maebe
4e96fe8fac * fixed with-support for classrefdefs (mantis 8150), with thanks to
Thorsten Engler for supplying an initial patch

git-svn-id: trunk@6088 -
2007-01-20 20:04:54 +00:00
Jonas Maebe
e78568ba69 * test no longer has to fail in objfpc mode (in theory, it should fail
in Delphi mode though)

git-svn-id: trunk@6077 -
2007-01-19 19:33:04 +00:00
Jonas Maebe
6c05674d51 * fixed overload checking of virtual and class methods (mantis #8140)
* fixed "overload" keyword checking in Delphi mode

git-svn-id: trunk@6074 -
2007-01-19 17:20:36 +00:00
Jonas Maebe
b86e2aa33a * fixed crash when compiling certain invalid "in" constructions
(mantis 8031)

git-svn-id: trunk@5748 -
2006-12-29 23:13:02 +00:00
Jonas Maebe
b2da1c43e7 + added (fixed in r5682)
git-svn-id: trunk@5722 -
2006-12-26 18:25:04 +00:00
Jonas Maebe
66a07eba3e * give an error if the same method declaration is added twice to an
interface/class/object (mantis 8019)

git-svn-id: trunk@5721 -
2006-12-26 18:12:56 +00:00
Jonas Maebe
e5a1d628eb * fixed one regression in r5682: implementation declarations with a
calling convention that has different hidden parameters than the
    interface declaration no longer compiled in Delphi mode (e.g.
    webtbs/tw7329.pp on i386)
  * fixed remaining declaration parsing incompatibilities in TP/Delphi
    modes (other modes already gave errors for the things below):
    * give an error for "function a: byte;" in interface followed by
      "procedure a;" in implementation ("function a;" in implementation
      still allowed as in TP/Delphi)
    * give an error for "function a(b: byte):byte" in interface
      followed by "function a: byte;" in implementation (if one parameter
      or return type is specified in implementation, everything must
      be repeated -- "function a;" still allowed)
  * copied webtbs/tw0890.pp to webtbf/tw0890a.pp since it now correctly
    fails, and modified webtbs/tw0890.pp so it doesn't fail with the
    new code

git-svn-id: trunk@5688 -
2006-12-23 11:17:21 +00:00
Jonas Maebe
2b9bdf2155 * fixed mantis 6631, 7322 and 7989: check parameters and return
types of interface methods implemented in a class

git-svn-id: trunk@5686 -
2006-12-22 19:50:52 +00:00
daniel
3684d76e9e * Make it a test that should succeed.
git-svn-id: trunk@5643 -
2006-12-19 08:49:26 +00:00
Jonas Maebe
3bb41dcf9a * fixed writing "packed" status of bitpacked records to ppu files.
Not sure how it ever worked, nor how exactly symtable ppu entries
    work -- but it's now stored with the recorddef (which also means
    that bitpacking is disabled currently for objects and classes,
    since they are based on tabstractrecorddef rather than trecorddef)

git-svn-id: trunk@4679 -
2006-09-21 20:39:36 +00:00
peter
22657a363b * pass context class to searchsym_in_class to fix the visibility
of protected members called from a named class in a child class
    that also has the visibility for those protected members

git-svn-id: trunk@4384 -
2006-08-07 19:10:11 +00:00
yury
f9f7531db6 * skip tdir test for wince.
* tw1633 test for i386 only.
* removed SWI instruction in tw4722 test. It is not supported for arm-wince and do not needed for test.

git-svn-id: trunk@4093 -
2006-07-05 15:55:52 +00:00
florian
3c07574d4f + new tests
git-svn-id: trunk@3697 -
2006-05-27 15:30:53 +00:00
florian
e192729213 * test for previous fix
git-svn-id: trunk@3686 -
2006-05-26 19:07:36 +00:00
florian
5aa65dcec9 + new tests
git-svn-id: trunk@3647 -
2006-05-23 18:54:30 +00:00
peter
95be416b9d * don't allow stringconst+integer
* change booleans in arraydef to set
  * set option in arraydef to indicate a constant string so
    a nicer type can be shown instead of array[0..x] of char

git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +00:00
Jonas Maebe
ed910b5d31 * support goto/label by default in tp/delphi/macpas modes (bug 4893)
git-svn-id: trunk@2958 -
2006-03-18 22:25:41 +00:00
Jonas Maebe
f59d552ecb * fixed web bug #4913 (don't allow indexing of strings/variants/pointers
with enums/chars/booleans)

git-svn-id: trunk@2952 -
2006-03-18 11:05:04 +00:00
Jonas Maebe
eaf18ed0d1 * moved to webtbs
git-svn-id: trunk@2620 -
2006-02-18 18:02:50 +00:00
Jonas Maebe
96d6a4d68c * fixed test
git-svn-id: trunk@2619 -
2006-02-18 18:02:18 +00:00
Jonas Maebe
a977fc06cc + added
git-svn-id: trunk@2609 -
2006-02-16 16:03:33 +00:00
Jonas Maebe
92c389aaeb * fixed web bug #4778 (explicit type casting of float to int in tp/delphi
keeps the bit pattern instead of converting)

git-svn-id: trunk@2509 -
2006-02-10 11:05:47 +00:00
Jonas Maebe
5007ae7197 * fixed web bug #4724 (don't allow inc/dec(pointer,pointer)
* more accurate error postitions for inc/dec errors

git-svn-id: trunk@2502 -
2006-02-09 18:18:47 +00:00
Jonas Maebe
765fe2b2ab * fixed bug #4737 (check for potential range errors in for-loop
assignment, report correct column for potential range errors of
    call parameters)
  * refactored code to check potential range check errors (check_ranges
    in htypechk)

git-svn-id: trunk@2501 -
2006-02-09 17:39:22 +00:00
peter
cbf91de10f * new test
git-svn-id: trunk@2494 -
2006-02-09 07:54:25 +00:00
Jonas Maebe
3b93263965 + added missing -vw option
git-svn-id: trunk@2482 -
2006-02-08 19:44:36 +00:00
Jonas Maebe
414bad118b * moved to webtbf, since tests have to fail
git-svn-id: trunk@2481 -
2006-02-08 19:44:05 +00:00
Jonas Maebe
a42730b1f3 + added
git-svn-id: trunk@2416 -
2006-02-03 16:23:41 +00:00
Jonas Maebe
cc7ff349cd * fixed tw4764
git-svn-id: trunk@2414 -
2006-02-03 14:57:55 +00:00
Jonas Maebe
09a668dac9 * check whether loop counters are valid for assignment (bug 4695)
git-svn-id: trunk@2285 -
2006-01-14 14:09:39 +00:00
Jonas Maebe
21d51d8815 + tests for web bugs 3183 and 4403
git-svn-id: trunk@2170 -
2006-01-04 22:47:28 +00:00
Jonas Maebe
6d3ae16267 * fixed web bug #4647 (untyped elements in array constructors) + test
git-svn-id: trunk@2110 -
2006-01-01 20:43:28 +00:00
Jonas Maebe
cbb59be2f1 * fixed web bug #4651 + test
git-svn-id: trunk@2108 -
2006-01-01 20:19:38 +00:00
Jonas Maebe
25bc4956a2 + added
git-svn-id: trunk@2039 -
2005-12-23 21:20:36 +00:00
peter
47c1bb60b4 * remove svn:executable from *.pp and *.pas
git-svn-id: trunk@1997 -
2005-12-20 08:11:59 +00:00
peter
dfd9b6e862 * property index is always a s32int
* property implementations must match parameters equal

git-svn-id: trunk@1995 -
2005-12-20 07:58:38 +00:00
peter
767291ca5f * refactor reading and setting of parent classes
git-svn-id: trunk@1992 -
2005-12-19 12:24:45 +00:00
florian
aa22e57a7e * fixed issue with static fields
git-svn-id: trunk@1803 -
2005-11-22 22:08:11 +00:00
tom_at_work
487c4f76a4 * more testbench fixes
git-svn-id: trunk@1600 -
2005-10-26 21:42:20 +00:00
peter
5a00f019d8 * remove old test
git-svn-id: trunk@1473 -
2005-10-18 12:30:04 +00:00
peter
539b7dc220 * setting the compile mode should set the preprocessor symbol directly
git-svn-id: trunk@1457 -
2005-10-18 06:57:39 +00:00
peter
4c73e86058 * check for allowed floatdef operations
git-svn-id: trunk@1455 -
2005-10-18 05:45:50 +00:00
Jonas Maebe
8be8b5a6e9 + added
git-svn-id: trunk@928 -
2005-08-23 11:09:40 +00:00
florian
2f8fe7d2e6 - readln(<pchar>) forbidden, there is no way to prevent an buffer overflow, fixes 4227
git-svn-id: trunk@810 -
2005-08-07 09:18:21 +00:00
florian
46a3f895e0 * exception parser checks now if the used id for the handler is really ON, fixes webbug 4256
git-svn-id: trunk@798 -
2005-08-05 19:44:10 +00:00
peter
2e00bd1480 * support local labels in references
git-svn-id: trunk@764 -
2005-07-29 07:06:12 +00:00
peter
9941ca2a1f * missing fail
git-svn-id: trunk@652 -
2005-07-18 13:32:00 +00:00
peter
8bd757c5ed * new bug
git-svn-id: trunk@651 -
2005-07-18 13:27:28 +00:00
peter
bead787962 * fix type checking in constant sets
git-svn-id: trunk@583 -
2005-07-05 06:03:16 +00:00
florian
655169ca3c * naming fixed
git-svn-id: trunk@554 -
2005-07-01 20:44:52 +00:00
florian
bdc8b7d061 * not ignoring private/protected anymore, fixes bug #3969
git-svn-id: trunk@553 -
2005-07-01 20:37:18 +00:00
peter
3e97ec6295 * add %fail
git-svn-id: trunk@545 -
2005-06-30 14:44:21 +00:00
peter
3700aa1b80 * only write vmt of objects defined in static/global symtable
to prevent IE in make_mangledname

git-svn-id: trunk@542 -
2005-06-30 13:48:56 +00:00
peter
216215e737 * test for crash with operator search
git-svn-id: trunk@540 -
2005-06-30 08:41:19 +00:00
peter
408bba521a * support constset in $if
git-svn-id: trunk@538 -
2005-06-30 08:19:01 +00:00
peter
1abbfcc698 * don't allow assignments to properties that need a call
and generate a temp structure

git-svn-id: trunk@485 -
2005-06-24 07:34:12 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
86c939c17c * fix compile failures 2005-04-05 21:04:34 +00:00
peter
2326c2b62f new bugs 2005-03-28 15:06:55 +00:00
peter
ddb4073c02 * new bugs 2005-03-16 21:24:30 +00:00
florian
4c66861877 no message 2005-03-11 21:52:15 +00:00
peter
5089bc001f new bug 2005-03-10 00:14:43 +00:00
Jonas Maebe
08ce8f4a0e + added 2005-03-03 19:59:11 +00:00
Jonas Maebe
e1205ad4e4 + added 2005-03-03 19:39:11 +00:00
peter
eeb657e5b2 * new bug 2005-02-17 17:53:39 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
3c5d1bfa90 * mvoed to webtbf 2005-02-13 20:47:13 +00:00
peter
7c944ee49e * new bugs 2005-02-11 15:39:08 +00:00
peter
1670f96d96 * new bug 2005-02-04 16:31:11 +00:00
peter
78c475333e * new bugs 2005-02-03 16:12:39 +00:00
peter
2dbc4a8d6b * new bugs 2005-01-31 16:55:47 +00:00
peter
3a9740ab12 * unreachable code warning 2005-01-16 10:50:08 +00:00
peter
a26f092c5d * fail added 2005-01-10 22:07:28 +00:00
florian
fa131cbb38 no message 2005-01-08 14:06:04 +00:00
peter
e98411d817 * new bug 2005-01-04 16:32:07 +00:00
peter
83406cfac0 * separate tests 2004-12-26 16:42:24 +00:00
peter
717dce966e * mode delphi 2004-12-26 16:29:37 +00:00
peter
c30d55ce5e * new bug 2004-12-26 16:28:03 +00:00
peter
96d29c3f2d * new bug 2004-12-26 13:44:40 +00:00
peter
95721dca7e * new bug 2004-12-15 16:03:15 +00:00
peter
9df85a7290 * missing fail 2004-12-15 15:37:49 +00:00
florian
164acd59d2 no message 2004-12-05 22:28:59 +00:00
peter
a2da84d9ae * new bug 2004-12-05 12:22:39 +00:00
peter
e2c6259fcf * extra test for tw3395 2004-11-29 16:05:54 +00:00
peter
cc33cec223 * new bug 2004-11-26 22:32:18 +00:00
peter
295d18939a * moved to webtbf 2004-11-22 17:38:16 +00:00
peter
10db34aa26 * use ptrint 2004-11-02 08:04:03 +00:00
peter
e89a336c16 * use ptrint 2004-11-01 22:31:12 +00:00
peter
75d22f91f8 * moved to webtbs 2004-11-01 09:52:46 +00:00
peter
c68c0a89a7 * moved to webtbf 2004-11-01 09:50:29 +00:00
peter
9806510b53 * test fixed 2004-11-01 08:03:21 +00:00
peter
e4ac8bcf29 * moved to webtbf 2004-10-31 22:04:37 +00:00
peter
4b4d9ecbf2 * new bugs 2004-10-25 14:47:32 +00:00
peter
bb47a3d13a * new bugs 2004-10-12 14:32:18 +00:00
peter
f6d3c1cf9c * new bug 2004-09-27 15:11:08 +00:00
peter
17e7e421db * new bug 2004-09-13 15:00:20 +00:00