Commit Graph

1792 Commits

Author SHA1 Message Date
marco
39afd88425 * mingw textmode IDE debugging support. First working version (for me), atexit handler for mingw and cygwin stuff under ifndef USE_MINGW_GDB
git-svn-id: trunk@13157 -
2009-05-17 12:22:41 +00:00
Jonas Maebe
3a8b29be91 + test conversion from class to differently sized enum and to differently
sized integer (succeed for Delphi, fail for objfpc)
  * fixed compiler so it only allows typecasting a class/interface to a
    differently sized integer in Delphi mode

git-svn-id: trunk@13152 -
2009-05-16 11:07:09 +00:00
Jonas Maebe
b77bff2996 + cardinal/qword overloads for interlocked* routines (mantis #13281)
git-svn-id: trunk@13127 -
2009-05-10 15:22:38 +00:00
Jonas Maebe
14558c3388 + objcrtl package by Dmitry Boyarintsev: interface for the Mac OS X
Objective-C run time 1.0 and 2.0, for 32 bit platforms

git-svn-id: trunk@13122 -
2009-05-09 20:24:21 +00:00
Jonas Maebe
53ad1bcabe * fixed linux flock type by defining and using a kernel_off_t type
whose size depends on whether the run time environment is 32 or
    64 bit (mantis #13647)
  + added flock64 type for 32 bit systems (usable with special 64 bit
    fcntl operations)

git-svn-id: trunk@13119 -
2009-05-09 19:47:59 +00:00
Jonas Maebe
c1e327c8c4 * insert register allocation/deallocation information for the exception
handling code (g_exception_reason_load() now automatically allocates
    the cpu register that it loads). This fixes the bug reported in
    http://lists.freepascal.org/lists/fpc-devel/2009-May/016773.html
    on i386 with -O2)

git-svn-id: trunk@13105 -
2009-05-06 19:11:54 +00:00
marco
6f1f21c432 * optbase empty skeleton removed with two dependancies. Duplicate unit name caused problems.
git-svn-id: trunk@13091 -
2009-05-03 21:31:33 +00:00
Jonas Maebe
445c842db3 * made ifthen() declaration in strutils Delphi-compatible (removed overloads
that cause various problems, added "overload" directive so it gets
    overloaded next to the routines in the "math" unit) (based on patch
    by Alexander S. Klenin, mantis #13619)
  - removed "inline" from that function because all the reference increasing/
    decreasing in its body mainly cause code bloat and little if any speed
    increase

git-svn-id: trunk@13084 -
2009-05-02 15:50:41 +00:00
Jonas Maebe
5a09f58526 * only allow implicit type conversions from dynamic arrays to voidpointer
in Delphi mode, rather than to any pointer type (confused overload
    selection in mantis #13639)

git-svn-id: trunk@13079 -
2009-05-02 12:50:14 +00:00
Jonas Maebe
f6d452c2c0 * remove the RTL's installed signal handlers at the end of the system
unit's initialization code in case we're in a library
  + implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
    UnhookSignal() in the sysutils unit
  * for Kylix compatibility, these routines support operating on
    SIGINT and SIGQUIT as well, although they are not hooked by default
    by FPC. The run time errors/exception codes for these signals are
    resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
    to 234).
  * changed the BSD syscall version of fpsigaction to use pointer
    rather than "var" arguments (compatible with other targets, and
    required to be able to pass nil arguments inside the system unit)
  -> together fixes mantis #12704

git-svn-id: trunk@13077 -
2009-05-02 09:40:44 +00:00
Jonas Maebe
99a02a93ca * also consider the search attributes for findfirst if the name does
not contain wildcards + test
  * don't return true from FindGetFileInfo if the file name is ok, but the
    search attributes don't match (resulted in returning multiple times the
    name of the previous entry that did fulfill all requirements)

git-svn-id: trunk@13074 -
2009-05-01 16:03:56 +00:00
Jonas Maebe
dd55947b4b - disabled jump tables for x86_64, because they cause various kinds of
crashes with dynamic libraries (mantis #13628 and related bugs)

git-svn-id: trunk@13073 -
2009-05-01 14:54:38 +00:00
Jonas Maebe
69198e95f9 + darwin/x86_64 test object files
git-svn-id: trunk@13067 -
2009-05-01 11:10:30 +00:00
Jonas Maebe
a5376cbdff + test for mantis bug #13622 (already works with 2.3.1)
git-svn-id: trunk@13061 -
2009-04-30 09:11:37 +00:00
Jonas Maebe
79c70c52a7 * store/restore taddnode.resultrealdef to/from the ppufiles, and also
copy/compare it when copying/comparing taddnodes (necessary for inlined
    procedures, mantis #13596)

git-svn-id: trunk@13054 -
2009-04-27 21:03:11 +00:00
Jonas Maebe
8cae53bb18 * fixed errors with parsing negative, >$99 and invalid BCD numbers in
BCDToInt() (patch from Milla, mantis #13512)

git-svn-id: trunk@13052 -
2009-04-27 16:46:42 +00:00
Jonas Maebe
5b08047d1c * allow exlicit type conversions from class/interface to enums in Delphi
mode (mantis #11859)
  * cleaned up some superfluous "eq=te_incompatible" checks (probably from
    copy/pasting conditions from elsewhere)

git-svn-id: trunk@13050 -
2009-04-26 20:41:24 +00:00
Jonas Maebe
e2b8792bd3 * do not initialize global reference-counted variables in the automatic
initialization code of units/programs, because they are already
    zero and initializing them explicitly is Delphi-incompatible
    (mantis #13345)

git-svn-id: trunk@13042 -
2009-04-25 18:53:58 +00:00
Jonas Maebe
ca132e203f * treat typecast(register) the same as typecast([register]) in assembler
expressions (for Delphi compatibility, mantis #9327)

git-svn-id: trunk@13040 -
2009-04-25 15:37:38 +00:00
marco
704c0adbd0 * iconvenc now also with dynlinking separate. Some fixes for OS X 10.3 and Haiku ported from cwstring
git-svn-id: trunk@13038 -
2009-04-25 12:10:42 +00:00
Jonas Maebe
dbeb3e060f * fixed internalerror(2007120903) when using -Cfsse2 in case an unsigned
32 bit subrange type with high(subrange_type) <= high(longint) is
    converted to a float

git-svn-id: trunk@13037 -
2009-04-25 11:40:02 +00:00
Jonas Maebe
37a2cff8fb * fixed loading widestring constsym values from ppu files (mantis #13583)
* null-terminate loaded ansistring/resourcestring constants from ppu files

git-svn-id: trunk@13033 -
2009-04-24 21:36:01 +00:00
Jonas Maebe
e8edc31a89 * don't insert thousandseparator if it is #0 (mantis #13552, patch by
Jesus Reyes)

git-svn-id: trunk@13028 -
2009-04-23 19:16:49 +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
2465126f60 * also check that nested procedures don't have any nested procedures
of their own that are marked as inline, instead of only doing so
    for non-nested procedures (mantis #13553)

git-svn-id: trunk@13025 -
2009-04-22 15:12:42 +00:00
Jonas Maebe
a4bf91001e * fixed location_free() for locations consisting of multiple
physical registers
  * free the physical return registers at the caller side for 64 bit
    systems
  * make sure that we do not double-free registers in case a return
    value is not used (mantis #13536)

git-svn-id: trunk@13023 -
2009-04-20 18:57:49 +00:00
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