Commit Graph

1392 Commits

Author SHA1 Message Date
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
d80d3f36d2 * fixed crash when writing a currency value with a specified number
of fractional digits in case it's not the last value of the
    write(ln) statement (mantis #10920)

git-svn-id: trunk@10421 -
2008-03-02 10:22:25 +00:00
Jonas Maebe
97f4c0a130 * call taddnode.simplify at the very end of taddnode.pass_typecheck, so
it doesn't have to duplicate any type checking code, and so constant
    expressions get the same resultdefs as non-constant expressions
  * properly fixed resultdef determination of "set + setelementn" (follows
    same rules now as "set + set")
  * also convert "longint or/xor cardinal" to int64 (needed for correct
    results with negative numbers and Delphi-compatible) + test
  * extended 64-to-32 type conversion simplification to also handle
    or/xor nodes (so if the result is typecasted back to 32 bit, the
    evaluation can still be done entirely in 32 bit). These changes also
    enable that optimization in some extra cases (not just anymore for
    expressions containing only uint32)

git-svn-id: trunk@10418 -
2008-03-01 20:48:50 +00:00
florian
288fb08f09 + more implements tests
git-svn-id: trunk@10417 -
2008-03-01 20:41:28 +00:00
florian
1b4071d930 + first test for implements through classes
git-svn-id: trunk@10416 -
2008-03-01 20:35:09 +00:00
florian
d83722076f * fixed implements for interfaces
+ tests for implements through interface

git-svn-id: trunk@10413 -
2008-03-01 20:20:49 +00:00
marco
117062ed34 * wininet added.
git-svn-id: trunk@10410 -
2008-03-01 17:06:07 +00:00
Jonas Maebe
86f90d8ac1 + support for setting the name of "main" (-XM command line parameter) in
the code using {$pascalmainname x} + storing it in the ppu file
    (and give a warning if it's overridden multiple times + test)

git-svn-id: trunk@10406 -
2008-03-01 13:05:01 +00:00
Jonas Maebe
e1ec2834df * increase/decrease refcount of interface value parameters on procedure
entry/exit (mantis #10897)
  * fixed tinterface2 which crashed after this change. It also crashed under
    Kylix: you cannot assign the result of an interfaced class to a class
    instance variable and then use it both as an interface (refcounted) and
    as class (non-refcounted)

git-svn-id: trunk@10405 -
2008-03-01 10:25:27 +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
florian
65e9ad8591 + test for implements with alias
git-svn-id: trunk@10384 -
2008-02-24 19:43:50 +00:00
florian
6c53785e3a * first part of implements clean up and fixing
git-svn-id: trunk@10382 -
2008-02-24 11:05:46 +00:00
Jonas Maebe
1cdf575657 + test for previous commit
git-svn-id: trunk@10363 -
2008-02-19 20:24:22 +00:00
florian
38230735a5 * testcase for last commit
git-svn-id: trunk@10337 -
2008-02-16 08:55:08 +00:00
florian
d38da8d0ae * naming fixed
git-svn-id: trunk@10335 -
2008-02-16 08:52:57 +00:00
marco
efbd862967 * moved two examples and lowercased the name of a {$I statement so I can pull it through makeskel
git-svn-id: trunk@10332 -
2008-02-15 19:50:12 +00:00
florian
d8d96f14e6 + experimental directive, resolves #10833
git-svn-id: trunk@10331 -
2008-02-15 19:29:34 +00:00
florian
f28636ac5b + dummy navradd unit
git-svn-id: trunk@10328 -
2008-02-14 20:40:18 +00:00
peter
7ffbfdc9c8 * fix widestring concat multi for winlikewidestring. The
append optimization can't be used in this can because the
    trick with refcnt is not supported

git-svn-id: trunk@10327 -
2008-02-14 20:15:21 +00:00
Jonas Maebe
990fb69d19 + test for proper freeing of thread resources
git-svn-id: trunk@10325 -
2008-02-14 16:17:33 +00:00
marco
46acbe2ee0 * moved commdlg functions from windows to commdlg unit. Constants still have to be done.
git-svn-id: trunk@10323 -
2008-02-13 22:21:11 +00:00
florian
c05d4912f4 + basic system unit for avr-embedded
* fixed several compiler stuff to be able to start system unit compilation on avr

git-svn-id: trunk@10318 -
2008-02-13 20:35:16 +00:00
florian
8aa80c8262 * properties set
git-svn-id: trunk@10317 -
2008-02-13 20:34:45 +00:00
peter
737212ff22 * fix result type of constset+[]
git-svn-id: trunk@10311 -
2008-02-12 17:30:00 +00:00
florian
f8c9052c21 * fixed writeln(<enum>) for 64 bit systems, resolves #10033
git-svn-id: trunk@10305 -
2008-02-11 21:05:08 +00:00
peter
915b1bddb3 * rename scheck to spellcheck
git-svn-id: trunk@10272 -
2008-02-10 15:55:39 +00:00
Jonas Maebe
59d9169bbd * perform typechecking of callinit/callcleanup statements immediately when
they are added (mantis #10807), because
   a) the typecheckpass of the entire blocks has to be postponed until firstpass
      because new statements may still be added in the firstpass (otherwise
      the newly added statements in the firstpass are never typechecked due to
      the blocknode already having a resultdef set)
   b) simplify can be called between the typecheck and firstpass, and it needs
      the typeinfo

git-svn-id: trunk@10263 -
2008-02-10 11:13:33 +00:00
marco
3b6e5bd6af * imagehlp unit added
git-svn-id: trunk@10259 -
2008-02-09 19:52:58 +00:00
Jonas Maebe
4d9445749c * fixed buffer overflow in delete() for widestrings (patch by
Martin Schreiber, #10800)

git-svn-id: trunk@10255 -
2008-02-09 11:47:14 +00:00
Jonas Maebe
c44fb4a79e * call FreeInstance after fail if vmt<>nil rather than if vmt=1
(mantis #10790)

git-svn-id: trunk@10249 -
2008-02-08 15:04:58 +00:00
marco
8b913cf3f3 * fpmake for univint
git-svn-id: trunk@10215 -
2008-02-04 21:27:28 +00:00
marco
b7f1e364ad * and another three.
git-svn-id: trunk@10210 -
2008-02-04 20:47:37 +00:00
marco
4a08ad5a33 * first batch
git-svn-id: trunk@10209 -
2008-02-04 20:43:54 +00:00
florian
0e13d07a31 + more avr code
git-svn-id: trunk@10207 -
2008-02-04 19:50:22 +00:00
Jonas Maebe
fee257ba81 * one more fix for x86 fpu stack swapping (mantis #10757)
git-svn-id: trunk@10199 -
2008-02-03 22:49:06 +00:00
florian
bc73f9021c Merged revisions 5891-10167,10169-10180 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/avr

........
  r5891 | florian | 2007-01-11 17:30:12 +0100 (Do, 11 Jan 2007) | 2 lines
  
  + some initial work
........
  r10170 | florian | 2008-02-03 11:02:04 +0100 (So, 03 Feb 2008) | 2 lines
  
  * continued to work on avr port
........
  r10180 | florian | 2008-02-03 15:29:30 +0100 (So, 03 Feb 2008) | 2 lines
  
  + a lot of skeleton code for avr added
........

git-svn-id: trunk@10186 -
2008-02-03 17:21:52 +00:00
florian
90a3b20b48 Merged revisions 10168 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/avr

........
  r10168 | florian | 2008-02-03 10:56:10 +0100 (Sun, 03 Feb 2008) | 1 line
  
  * properties set
........

git-svn-id: trunk@10169 -
2008-02-03 09:59:37 +00:00
marco
70ebb49af5 * grp+pwd: freebsd+darwin compat. Attempt at fixing demoes unsuccesful.
git-svn-id: trunk@10163 -
2008-02-02 19:26:40 +00:00
peter
169516ffc0 * don't optimize funcret with assignment result if the value is also used
as a parameter and the funcret is also passed as parameter. Because in that
    case both are pointing to the same memory location

git-svn-id: trunk@10159 -
2008-02-02 17:39:28 +00:00
Jonas Maebe
3521d64f4b - removed "do_count" parameter from tcallparanode.insert_typeconv
because the method was always called the same way (and it did not
    affect any counting anymore)
  * fixed and simplified read/write checking of methodpointer (mantis
    #10736)

git-svn-id: trunk@10155 -
2008-02-02 16:34:48 +00:00
peter
eb00f047f3 * filename parsing
git-svn-id: trunk@10110 -
2008-01-29 23:58:29 +00:00
michael
9a2d12bcb2 * Added DBColl
git-svn-id: trunk@10087 -
2008-01-28 20:23:00 +00:00
peter
9288ead792 * Makefiles added
git-svn-id: trunk@10079 -
2008-01-28 08:08:35 +00:00
Jonas Maebe
76b7bfedd8 * fix for (w)chararray to ansi/widestring conversions after
ansi/widestring function handling change in r9718 (patch by
    Sergei Gorelkin)

git-svn-id: trunk@10073 -
2008-01-27 22:06:07 +00:00
marco
572e35e6cc * fpmake
git-svn-id: trunk@10065 -
2008-01-27 17:47:47 +00:00
marco
332add0f01 * initial version
git-svn-id: trunk@10064 -
2008-01-27 17:45:38 +00:00
marco
dc56d1c82d * base removed
git-svn-id: trunk@10063 -
2008-01-27 17:32:57 +00:00
marco
934d1a9217 * httpd moved, splitted, decapitated and rejoined
git-svn-id: trunk@10061 -
2008-01-27 17:22:29 +00:00
marco
e8a4e5281f * extra/ removed + packages/makefile update
git-svn-id: trunk@10057 -
2008-01-27 15:52:05 +00:00
marco
304d8d8e99 * added
git-svn-id: trunk@10051 -
2008-01-27 14:56:21 +00:00