Commit Graph

1816 Commits

Author SHA1 Message Date
paul
f555bc59c7 gtk2: add gdk cairo functions (patch from Martin Sucha with modifications)
git-svn-id: trunk@13017 -
2009-04-17 03:21:41 +00:00
Jonas Maebe
626a723f8c * in {$h+} mode, always treat string constants as if they were ansistrings
when determining the result of string concatenations (mantis #13456)

git-svn-id: trunk@13004 -
2009-04-05 17:26:38 +00:00
joost
2d076d109b * Set svn:mime-type and svn:eol-style properties
git-svn-id: trunk@12988 -
2009-03-30 21:32:27 +00:00
joost
c37ca78c90 * Unit custweb must be available on all targets
* Added fpfcgi unit with FastCGI-TApplication template

git-svn-id: trunk@12982 -
2009-03-29 16:20:08 +00:00
joost
9938d57233 * Initial implementation of FastCgi support
git-svn-id: trunk@12970 -
2009-03-27 22:33:27 +00:00
Jonas Maebe
757abc620a * comparing tdatetime variant values has to happen without an epsilon,
as all bits of the double value encode date/time information
    (mantis #13110)

git-svn-id: trunk@12962 -
2009-03-23 17:00:58 +00:00
michael
f641281a7e * Patch from Sergei Gorelkin:
+ added TXPathBinaryNode as a common ancestor for binary operations;
  + TXPathBooleanOpNode now handles only 'and' and 'or' operators,
    the purpose is to not evaluate the second argument if the result can
    be determined by the first argument;
  * Comparison operations moved to TXPathCompareNode and fixed
    to support INFs and NANs correctly;
  * Fixed TranslateWideString() that was not deleting characters;
  * Fixed 'substring-after' function so its result is empty when argument
    string does not contain the pattern;
  * Fixed 'round' funcion so it complies to the specs;
  * Completed implementation of 'substring' function (but surrogate pairs
    are not handled yet);
  * Mask exInvalidOp and exZeroDivide FPU exceptions while evaluating
    expressions, this ensures correct calculations with respect to INFs
    and NANs.
  + Added testsuite for xpath

git-svn-id: trunk@12961 -
2009-03-23 08:37:51 +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
0698678f86 * renamed tw13345y.pp to uw13345y because it's a unit (otherwise its
object file is not available for linking when tw13345x is recompiled)

git-svn-id: trunk@12959 -
2009-03-22 20:52:45 +00:00
Jonas Maebe
6a813b8e7b * fixed rounding error in DateTimeToUnix (mantis #12894 and #12936)
* fixed errors in Inc*() routines regarding skipping the black
    home in the data-time continuum around 0, and the same for the
    *Between() functions
  + tests, test...

git-svn-id: trunk@12958 -
2009-03-22 18:26:34 +00:00
Jonas Maebe
1c2d2ae481 * fixed SimpleRoundTo() function (mantis #10159)
git-svn-id: trunk@12957 -
2009-03-22 16:29:54 +00:00
Jonas Maebe
624a7be9b1 * fixed internal error when a subscripted object is used in a property
(mantis #12756)

git-svn-id: trunk@12956 -
2009-03-22 16:21:06 +00:00
Jonas Maebe
6f4637b32a * do not do anything when writing to a t(custom)memorystream if the current
position is negative (patch by Collin Western, mantis #13318)

git-svn-id: trunk@12955 -
2009-03-22 15:53:16 +00:00
Jonas Maebe
5cf4ab7642 * always initialize/finalize global refcounted variables in units, also
when they are not used in the unit where they are defined (since they
    may be used elsewhere, discovered while analyzing mantis #13345)

git-svn-id: trunk@12954 -
2009-03-22 15:41:13 +00:00
Jonas Maebe
bf7c9361f6 * delay effect of {$calling x} until switches are flushed (mantis #12985)
git-svn-id: trunk@12932 -
2009-03-20 16:27:56 +00:00
Jonas Maebe
590f4d2efc - deleted (old 1.0.x compatibility file)
git-svn-id: trunk@12928 -
2009-03-19 22:38:05 +00:00
Jonas Maebe
630aa5c493 * do not use voidtype for temporary parameter/result locations when
inlining, because that results in alignment settings of "0"
    (voidtype.savesize = 0 -> size2align(0) = 0), which is interpreted
    by the code generators as unaligned (and is actually even invalid
    nowadays). This caused errors on NDS when writing to memory mapped
    I/O devices (mantis #13343)

git-svn-id: trunk@12916 -
2009-03-18 22:25:06 +00:00
Jonas Maebe
d67dbcf030 * fixed UTF8ToUnicode() based on patch by JoshyFun, and also added
support for 4-character UTF-8 codepoints (mantis #11791)
  * fixed UnicodeToUtf8() based on patch by A. J. Miller (mantis
    #13075)

git-svn-id: trunk@12902 -
2009-03-15 15:47:39 +00:00
Jonas Maebe
02bfd45775 * corrected properties
git-svn-id: trunk@12900 -
2009-03-15 15:21:17 +00:00
Jonas Maebe
c26f9cc5df * set the RTTI type name of "open array" parameters to the name of the
elements of the array (like Kylix, mantis #12038) + test
  * add pfReference and pfArray TParamFlags for open array parameters
    like Kylix

git-svn-id: trunk@12888 -
2009-03-14 19:00:44 +00:00
Jonas Maebe
8d2f3946e0 * fixed TextToFloat() in case ThousandSeparator = DecimalSeparator, based
on patch by Bart Broersma (mantis #13307)

git-svn-id: trunk@12885 -
2009-03-14 15:20:46 +00:00
Jonas Maebe
2b69768afc + support for properties in DWARF2 where the accessor does not use a function
git-svn-id: trunk@12883 -
2009-03-14 11:12:46 +00:00
Jonas Maebe
b86cb8ba55 + interactive test for mantis #13313
git-svn-id: trunk@12882 -
2009-03-14 10:37:59 +00:00
Jonas Maebe
4f51aef122 + Support for debug info for absolute variables when using dwarf2.
Needs a fix in gdb when referencing a location relative to a
    global variable (an array element other than the first, a field
    other than the first) on Mac OS X and when using external debug
    info on Linux/Windows.

git-svn-id: trunk@12877 -
2009-03-13 21:16:06 +00:00
Jonas Maebe
c4bedeb9df * we have to be able to take the address of an "absolute" variable
expression (necessary to, a.o., reject absolute mappings to fields
    of bitpacked records and to bitpacked array elements)

git-svn-id: trunk@12874 -
2009-03-12 20:12:14 +00:00
Jonas Maebe
6165536b5e + added {$modeswitch objectivec1}/-Mobjectivec1 mode switch to enable
the use of Objective-C 1.0 constructs. Because it is a mode switch, it
    can be used cumulatively with every syntax mode. Note that a {$mode xxx}
    statement resets all mode switches as well, so you cannot use the
    -Mobjectivec1 variant if you have such a statement in a unit. This
    modeswitch is currently only enabled for Darwin/PowerPC and Darwin/i386,
    as the backend support is not yet implemented for other platforms.
  + implemented selector() statement that can be used to create an Objective-C
    selector for the message with the specified *constant* name (in the future,
    it will also work for Objective-C method identifiers)
  + added SEL type to the system unit (the selector() statement returns it)
  + added all Objective-C segments to the assembler writers
  + (currently mostly dummy) objc1 unit that is automatically included if the
    {$modeswitch objectivec1} statement is used
  + some tests for the selector() statement

git-svn-id: trunk@12870 -
2009-03-08 18:40:32 +00:00
Jonas Maebe
da461c5154 * fixed calling static class methods from inside other static class methods
git-svn-id: trunk@12866 -
2009-03-08 12:38:02 +00:00
florian
9a0d4230b9 + added missing file, by Olivier Coursiere
git-svn-id: trunk@12865 -
2009-03-08 12:09:01 +00:00
florian
502c3f4ca4 + c linking test cases for i386-haiku by Olivier Coursiere
git-svn-id: trunk@12864 -
2009-03-08 11:55:41 +00:00
sekelsenmat
5f2f4a8cbb Adds initial support to read xwd image format
git-svn-id: trunk@12859 -
2009-03-05 16:22:57 +00:00
sekelsenmat
3ea814378d Starts xwd file format support
git-svn-id: trunk@12858 -
2009-03-05 14:45:33 +00:00
yury
08b551b504 + Added extapi and imm wince api units by Vasil Maximov.
* Updated some existing wince api units by Vasil Maximov.

git-svn-id: trunk@12839 -
2009-03-01 11:10:10 +00:00
florian
67d1604c49 * handle interface methods with cdecl modifier correctly, second and final part to resolve #10684
git-svn-id: trunk@12828 -
2009-02-28 20:28:33 +00:00
Jonas Maebe
4bf254bc32 * added .txt extensions to all README, TODO and COPYING files
(mantis #12358)

git-svn-id: trunk@12825 -
2009-02-28 17:34:08 +00:00
Jonas Maebe
042cbbc555 + test for mantis #11396 (already fixed in 2.2.2)
git-svn-id: trunk@12816 -
2009-02-28 10:45:27 +00:00
Jonas Maebe
f7003119d0 * fixed AddDisk() in sysutils and dos units, and fixed memory leaks
related to this functionality, based on analysis/patch by Michael
    Kamburelis (mantis #9985)

git-svn-id: trunk@12814 -
2009-02-27 22:02:24 +00:00
Jonas Maebe
5474004dcc * fixed calling inherited class methods from a regular method (mantis
#11825)

git-svn-id: trunk@12810 -
2009-02-27 17:05:41 +00:00
marco
00d1174c69 * avltreetest demo
git-svn-id: trunk@12800 -
2009-02-26 10:45:29 +00:00
florian
234a182bdc * properties set
git-svn-id: trunk@12791 -
2009-02-25 19:36:18 +00:00
florian
694f563079 * fixed assembler tables for sse4 instructions, resolves #13186
git-svn-id: trunk@12787 -
2009-02-24 20:07:11 +00:00
Jonas Maebe
f1daa9fa73 + added support for streaming basic variant types (boolean, integer types,
floating point types, currency and string types), based on description
    by Anton Kavalenka at
    http://wiki.freepascal.org/FPC_Cleanroom#Variant_streaming_implementation
    and based on his test program (mantis #10482)

git-svn-id: trunk@12781 -
2009-02-23 21:32:12 +00:00
Jonas Maebe
4bb1d13d83 * fixed reading utf-8 strings from streams (based on patch by Anton
Kavalenka, mantis #13015)

git-svn-id: trunk@12777 -
2009-02-23 14:58:23 +00:00
joost
8d5463bfae * Added test for r12771
git-svn-id: trunk@12772 -
2009-02-22 15:32:27 +00:00
Jonas Maebe
3dd32daa03 * always create a temp for MacPas objects in with-expressions (mantis
#13210)

git-svn-id: trunk@12753 -
2009-02-19 22:43:59 +00:00
Vincent Snijders
9039afdead * fixed overflow when calculating frequencies
+ added lpi

git-svn-id: trunk@12749 -
2009-02-18 21:16:11 +00:00
Jonas Maebe
e58d8d6b92 * set maximum alignment of shortstrings to 2 in MacPas mode
(mantis #13187)

git-svn-id: trunk@12745 -
2009-02-16 18:57:26 +00:00
florian
65b46d5821 * patch by Olivier Coursiere to fix beos building
git-svn-id: trunk@12743 -
2009-02-14 18:02:01 +00:00
florian
a1b750bc39 * set properties
git-svn-id: trunk@12737 -
2009-02-13 11:50:16 +00:00
joost
a2f5f7400b * Replaces several direct references to FNSI.QName by the NodeName property, so
that descendent classes can override the NodeName properly
 * Fixed an AV when GetNodeName is called and there is no NodeName set
 * Removed the THtmlCustomElement.NodeName property and override the GetNodeName
   method instead. The hashtable of TDOMNode_NS is not used because
   THtmlCustomElement uses a faster lookupsystem for tag/node-names
 * Added a basic test for the htmlwriter unit

git-svn-id: trunk@12732 -
2009-02-09 21:43:09 +00:00
ivost
cf7b755dc0 * additional negative testcase for interfaces
git-svn-id: trunk@12726 -
2009-02-08 23:10:43 +00:00
ivost
b2235eb873 * new negative test cases for interface to TGuid/Shortstring assign
git-svn-id: trunk@12724 -
2009-02-08 21:24:28 +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
58456508f1 * renamed to correct bug number
git-svn-id: trunk@12722 -
2009-02-08 15:44:49 +00:00
Jonas Maebe
053493fbeb * fixed FahrenheitToCelsius() and CelsiusToFahrenheit() (mantis #13133)
git-svn-id: trunk@12721 -
2009-02-08 15:30:59 +00:00
Jonas Maebe
7d459cf12a * the compiler now explicitly keeps track of the minimally guaranteed
alignment for each memory reference (mantis #12137, and
    test/packages/fcl-registry/tregistry1.pp on sparc). This also
    enables better code generation for packed records in many cases.
  o several changes were made to the compiler to minimise the chances
    of accidentally forgetting to set the alignment of memory references
    in the future:
    - reference_reset*() now has an extra alignment parameter
    - location_reset() can now only be used for non LOC_(C)REFERENCE,
      use location_reset_ref() for those (split the tloc enum so the
      compiler can catch errors using range checking)

git-svn-id: trunk@12719 -
2009-02-08 13:00:24 +00:00
Jonas Maebe
b3aa2ab759 + new test which should fail but doesn't yet (it should not be possible to
use a char typecasted as a chararray with more than one element as an
    lvalue)

git-svn-id: trunk@12708 -
2009-02-07 22:20:47 +00:00
florian
d6ba5ab341 * another patch for seeking in compressed streams by Danny Milosavljevic, resolves #12830
git-svn-id: trunk@12705 -
2009-02-07 21:31:17 +00:00
florian
0c65d53f45 + added register keyword to Interlocked* definitions as suggested by Jonas, resolves #12255
git-svn-id: trunk@12698 -
2009-02-07 16:09:05 +00:00
Jonas Maebe
ae45a80d46 * allow the usage of symbolic constants to specify the "stored" attribute
of properties (mantis #10492). Not really clean (and Delphi supports
    full expressions, e.g. also "(const1=const2)"), but cannot do better
    without rewriting the complete symlist parsing to use parse trees instead
    of parser tokens as input

git-svn-id: trunk@12696 -
2009-02-06 19:54:29 +00:00
ivost
76694f6ec8 * added new test for interface to tguid or shortstring constants
git-svn-id: trunk@12693 -
2009-02-06 12:08:48 +00:00
ivost
2730c5f705 * made libxml2 headers Lazarus "Codetools" compatible
* prepeared headers for dynamic loading (not enabled right now)

git-svn-id: trunk@12678 -
2009-02-03 20:46:24 +00:00
florian
c127154efa o Haiku patches by Olivier Coursiere
+ add posix thread support
  * improve signal handling
  * synchronize haiku's baseunix unit with the unix one (maybe it will be possible to remove Haiku's one in a future patch, but i keep it for now)
  + add support for standard sockets
  * fix some functions import to use the right libraries under Haiku
  * fix packages compilation

git-svn-id: trunk@12636 -
2009-02-01 10:30:55 +00:00
Jonas Maebe
a730ee7f10 + support for file locking for *nix systems based on flock (mantis #13012)
git-svn-id: trunk@12630 -
2009-01-30 15:08:30 +00:00
florian
c07a60f8e0 + experimental support unit for Phillips/NXP arm microcontroller
git-svn-id: trunk@12597 -
2009-01-25 21:56:23 +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
9d81148986 * only convert character constants into widechar/widestring when assigned
to a widechar/widestring (compatible with constant string handling,
    mantis #13036)

git-svn-id: trunk@12588 -
2009-01-24 12:45:03 +00:00
ivost
6c7c28c5f2 * fixed name of libxml2, it's called now xml2. This way it follows the rules of the other libs in packages
* tried to fix the samples (still some problems)

git-svn-id: trunk@12587 -
2009-01-24 01:40:17 +00:00
ivost
f62780694e * removed old gd headers (were alread disabled)
git-svn-id: trunk@12586 -
2009-01-24 01:29:28 +00:00
michael
aecbef27b2 * Patch from Sergei Gorelkin:
* Changed the design of input decoders so they process data by chunks
    instead of char-by-char. It is much faster, and allows supporting
    external pluggable decoders.
  + Interface for external decoders.
  * ResolvePredefined() is rewritten so it doesn't call CompareMem five
    times do determine a single char.
  * ParseCharRef renamed to ParseRef, because it parses entity refs as
    well.
  * Added guard conditions to prevent integer overflows in ParseRef.
  * ContextPush(TXMLCharSource) merged into Initialize().

  xmliconv.pas is a new unit, containing an libiconv-based decoder. It depends on existing iconvenc package, and
  thus supports all platforms that are supported by iconvenc.

  xmliconv_windows.pas is the variation that allows to use libiconv functionality on Windows (It would require
  the iconv.dll to be distributed with the application, but since I haven't succeeded yet in writing a native
  Windows decoder, this is better than nothing).

git-svn-id: trunk@12582 -
2009-01-22 21:53:30 +00:00
Jonas Maebe
bfbfa2eb64 * when converting a constant char (not widechar) with ord>=128 to a string,
convert it into a widechar at compile time using the current source file's
    code page (and in case it was to a non-widestring, then convert it at run
    time into the current run time ansi code page) (mantis #12993)

    Previously, the characters were either stuffed into the string without
    conversion (widestring), or passed to the run time "ansi-character to
    stringtype" routine (other string types; which was also wrong, since
    that routine expects the character to be in ansi-encoding, which is
    not necessarily the same as whatever the source file encoding was)

git-svn-id: trunk@12580 -
2009-01-21 18:58:37 +00:00
michael
45033acdda * Adobe Photoshop image file reader from Mattias Gaertner
git-svn-id: trunk@12577 -
2009-01-20 16:30:48 +00:00
ivost
4ab7922296 * added crc64 function
* added crc examples (not finished)
* improved md5 

git-svn-id: trunk@12573 -
2009-01-20 01:20:05 +00:00
ivost
b136b85cb4 * added fpmake.pp for librsvg package
git-svn-id: trunk@12565 -
2009-01-18 17:38:46 +00:00
ivost
aae8d6e15c * added fpmake.pp to proj4 package
git-svn-id: trunk@12564 -
2009-01-18 17:00:24 +00:00
Legolas
8506d8fdf1 * Changes to compiler and rtl to make it compatible with devkitARM r24
* First attempt to implement a sort of generic "gate" for adding different file access methods
* Optimized heap and stack handling

git-svn-id: trunk@12562 -
2009-01-18 16:05:44 +00:00
ivost
41a292c403 * Added headers of PROJ.4 - Cartographic Projections Library (not finished)
git-svn-id: trunk@12560 -
2009-01-18 14:43:29 +00:00
ivost
8af2a9e942 * added header files for librsvg (Free, Open Source SVG Rendering Library)
* librsvg is dependant of gtk2 package

git-svn-id: trunk@12550 -
2009-01-15 22:39:17 +00:00
joost
9abc13aff1 * Lookup should return an empty variant instead of false in case of failure (+test)
git-svn-id: trunk@12538 -
2009-01-11 13:41:46 +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
yury
ef716bda30 + Added tsp wince api unit by AnarchyMob.
git-svn-id: trunk@12533 -
2009-01-10 13:27:45 +00:00
Jonas Maebe
1a1fc1357d * honour the specified stack size when creating new threads on unix
platforms + test (mantis #12942)

git-svn-id: trunk@12527 -
2009-01-08 18:37:24 +00:00
ivost
33ae673041 * new translation of libgd headers, including windows support. because of some ABI changes, I didn't delete the old gd.pp header file. The new one is called libgd.pas
git-svn-id: trunk@12517 -
2009-01-05 23:44:25 +00:00
joost
d844200495 * On TDataset.Edit exit the method when the state is dsEdit or dsInsert before CheckBrowseMode is called, because CheckBrowseMode will always set the state to dsBrowse. (+test)
git-svn-id: trunk@12515 -
2009-01-05 20:46:14 +00:00
Jonas Maebe
0aac3a7aaa + Makefile for the examples
git-svn-id: trunk@12506 -
2009-01-04 13:26:29 +00:00
Jonas Maebe
7da5ba5b4d + OpenGL ES 1.1 header translation + test library (needs to be linked into
a test program specific to the platform, as there is no glu/glut for
    embedded systems)
  - disabled X11-based packages for darwin/arm

git-svn-id: trunk@12486 -
2009-01-03 14:49:05 +00:00
Jonas Maebe
328db69c24 * version of glutdemo that uses vertex arrays instead of immediate mode
git-svn-id: trunk@12481 -
2009-01-03 14:03:23 +00:00
Károly Balogh
f1b27498c3 + added initial support for the VASM assembler of VBCC fame (http://sun.hasenbraten.de/vbcc/),
because it is faster and more system conform on Amigaish systems (like MorphOS, AmigaOS4 and more) than GNU AS.
  btw, these are the same reasons why FPC/MOS use VLink instead of GNU LD...
+ simple programs compile with it, compiler doesn't work yet. (i'm in touch with VASM maintainer to address some issues)
+ TODO: add a command line switch to turn it on from command line.

git-svn-id: trunk@12479 -
2009-01-02 22:05:05 +00:00
Jonas Maebe
22aacd2a60 * return 0 for length(pchar(0)), like Kylix does (using corrected and
multi-platform version of patch in r12461, which caused the i386 version
    of fpc_pchar_length to return 0 in all cases, which used tabs, and did
    not include a test case)

git-svn-id: trunk@12464 -
2009-01-01 22:02:17 +00:00
joost
e89b30abef * TDateTimeField.SetAsString now sets the field to NULL if an empty string is provided, bug #12875 + testsuite test
git-svn-id: trunk@12455 -
2008-12-29 20:55:02 +00:00
joost
204de0d4cf * Added tests for update-buffers and streaming
git-svn-id: trunk@12448 -
2008-12-28 01:12:38 +00:00
florian
3329a9b895 + ascii85 decoder stream by Danny Milosavljevic, resolves #0012833
+ test case

git-svn-id: trunk@12433 -
2008-12-24 16:16:23 +00:00
michael
de5861c689 * Added GIF reader from Mattias Gaertner
git-svn-id: trunk@12429 -
2008-12-24 12:23:35 +00:00
joost
fc2409d812 * Restructured makefiles for examples
git-svn-id: trunk@12412 -
2008-12-20 22:40:04 +00:00
joost
a31137d822 * Restructured makefiles for examples
git-svn-id: trunk@12411 -
2008-12-20 22:28:26 +00:00
joost
ada2768347 * Restructured makefiles for examples
git-svn-id: trunk@12409 -
2008-12-20 22:12:27 +00:00
joost
00c9b17cec * Restructured makefiles for examples
git-svn-id: trunk@12408 -
2008-12-20 21:56:45 +00:00
joost
3a50161c65 * Restructured makefiles for examples
git-svn-id: trunk@12406 -
2008-12-20 21:36:03 +00:00
joost
a4ca4ae32e * Restructured makefiles for examples
git-svn-id: trunk@12405 -
2008-12-20 21:32:46 +00:00
joost
944da4c640 * Restructured makefiles for examples
git-svn-id: trunk@12404 -
2008-12-20 21:28:22 +00:00
joost
7ea44b56bf * Restructured makefiles for examples
git-svn-id: trunk@12401 -
2008-12-19 16:56:42 +00:00