Commit Graph

32003 Commits

Author SHA1 Message Date
marco
7d3f8bdc0a * patch from Dimitri B. that fixes 64-bit aspects of imagehlp.pp, caused by enabling previously dead code. Mantis 16240
git-svn-id: trunk@15125 -
2010-04-10 12:46:11 +00:00
Tomas Hajny
86f1e52505 * compilation fix - CloseThrad typo from r15072
git-svn-id: trunk@15124 -
2010-04-10 08:43:39 +00:00
paul
36125b623a tests: fix test for locales with DecimalSeparator <> '.'
git-svn-id: trunk@15123 -
2010-04-09 17:12:20 +00:00
paul
c62c487b24 compiler: fix nested type typecast (issue #0016222)
git-svn-id: trunk@15122 -
2010-04-09 17:10:52 +00:00
paul
e721a623eb compiler: report full nested type name on error
git-svn-id: trunk@15121 -
2010-04-09 15:47:49 +00:00
marco
fe00762d4b * IPersist method now OUT
git-svn-id: trunk@15120 -
2010-04-09 14:20:57 +00:00
marco
7c7911d937 * fix for mantis 16218, packrecords 8 in imagehlp (#pragma pack(8) in msvc)
and removal of the "packed" modifiers of record declarations

git-svn-id: trunk@15119 -
2010-04-08 17:56:35 +00:00
marco
f684edd010 * turn on imagehlp64 for win64
git-svn-id: trunk@15118 -
2010-04-08 12:01:13 +00:00
marco
0ba6c22b28 * fix for Mantis 16195, Delphi compatibility resource handle types were not 64-bit proof.
git-svn-id: trunk@15117 -
2010-04-08 09:03:50 +00:00
michael
bc735a639f * Call specialchars in TStringList constructor
git-svn-id: trunk@15116 -
2010-04-08 06:51:26 +00:00
Jonas Maebe
3035632ec1 * x86_64 -> x86\_64 in LaTeX description (mantis #16221)
git-svn-id: trunk@15115 -
2010-04-07 09:04:56 +00:00
Jonas Maebe
a18f2594e2 * fixed FloatToStr for ffGeneral when dealing with numbers whose number of
significant digits before the decimal points matches the precision
    parameter exactly (mantis #16188)
  * round instead of cut off digits in FloatToStr with ffGeneral
  * take into account the minus sign when determining whether a number needs
    to be represented using ffExponent instead of ffGeneral because it has
    too many digits

git-svn-id: trunk@15114 -
2010-04-05 14:54:24 +00:00
Jonas Maebe
9bfb20c7eb * fixed execinfo message numbers (patch by A. Klein, mantis #16189)
git-svn-id: trunk@15113 -
2010-04-05 12:22:43 +00:00
olivier
45465592c2 - Remove unnecessary char to fix compilation under BeOS.
git-svn-id: trunk@15112 -
2010-04-04 23:23:31 +00:00
micha
87ef559542 * rtl: fix i386-linux uclibc atexit functionality (call exit instead of _exit)
git-svn-id: trunk@15110 -
2010-04-03 13:18:10 +00:00
paul
24d8a7d833 compiler: start implementation of class constructors/destructors: parsing is ready but at the moment neither class constructors nor destructors are called - this is to be implemented
git-svn-id: trunk@15109 -
2010-04-03 09:14:12 +00:00
joost
e20f907b5c * FCL-Web FastCGI can now listen on a specified port for a webserver to connect
git-svn-id: trunk@15108 -
2010-04-02 15:48:25 +00:00
joost
41ff50c65a * Do not show exception twice
git-svn-id: trunk@15107 -
2010-04-02 14:44:15 +00:00
Jonas Maebe
347fb53dae - removed BOM (mantis #16179)
git-svn-id: trunk@15106 -
2010-04-01 17:32:15 +00:00
paul
8a0028a62e compiler: support *sealed* and *abstract* for objects (issue #0016174)
git-svn-id: trunk@15105 -
2010-04-01 14:36:33 +00:00
marco
02069109d1 * haiku also sinlen, Mantis 16176
git-svn-id: trunk@15104 -
2010-04-01 11:38:55 +00:00
joost
95620e8774 * Do not write the DWARF abbrev sections direclty, but use a searchtree to
search for an existing section with the same content first. This reduces the
   generated executable size, compilation time and memory usage of the compiler

git-svn-id: trunk@15103 -
2010-04-01 09:13:27 +00:00
olivier
a2d41bbdb9 * Fixes all constant declarations according to sys/socket.h and netinet/in.h.
git-svn-id: trunk@15102 -
2010-03-31 23:25:10 +00:00
Jonas Maebe
4833867826 * moved most handling of records that fit in a register but that cannot be
treated as a regvar from pass_1 to the code generator, because this
    can always occur with a function result from a called function (in
    case the ABI prescribes returning certain records in registers)
    (mantis #16163)

git-svn-id: trunk@15101 -
2010-03-31 20:19:42 +00:00
Jonas Maebe
3cff8df175 * added -Cg- parameter for targets on which -Cg is default
git-svn-id: trunk@15100 -
2010-03-31 20:00:56 +00:00
Jonas Maebe
b4b72b8387 * fixed compile-time range error under Windows (mantis #16171)
git-svn-id: trunk@15099 -
2010-03-31 17:21:15 +00:00
olivier
16de86ef7c - Remove unnecessary call to SysInitStdIO probably added here by me for debugging purpose long time ago. The right one is a few line below.
git-svn-id: trunk@15098 -
2010-03-30 20:06:52 +00:00
Jonas Maebe
60f8b7fcb1 + int64 version of randomrange() (mantis #16108)
git-svn-id: trunk@15097 -
2010-03-30 20:04:19 +00:00
Jonas Maebe
734f9de2a0 + support for array of widechar typed constants (based on patch by
Blaise Thorn, mantis #16004)

git-svn-id: trunk@15096 -
2010-03-30 19:45:50 +00:00
marco
67b7762c34 * Patch from Oliver that corrects some % directives in the testsuite. Mantis 16134
git-svn-id: trunk@15095 -
2010-03-30 09:58:25 +00:00
paul
c879230f08 compiler: fix parsing and handling of typed constants declared inside classes/objects + tests
git-svn-id: trunk@15094 -
2010-03-30 07:09:44 +00:00
paul
1ef53ca590 compiler: remove unused variables (reduce hints)
git-svn-id: trunk@15093 -
2010-03-30 04:30:41 +00:00
paul
973d947d6c compiler: allow const, type, var and class var sections for objects + test
git-svn-id: trunk@15092 -
2010-03-30 04:22:19 +00:00
paul
2a7636580e tests: fix test name
git-svn-id: trunk@15091 -
2010-03-30 02:55:07 +00:00
paul
06a37d1fb1 compiler: remove dummy assignment
git-svn-id: trunk@15090 -
2010-03-30 01:12:14 +00:00
marco
6a7bc76ca0 * later SM_ constants for getmetrics mantis 16138
git-svn-id: trunk@15089 -
2010-03-29 11:25:26 +00:00
paul
ff1520ab8b compiler: add enumsymtable case to FindUnitSymtable helper
git-svn-id: trunk@15088 -
2010-03-28 21:54:33 +00:00
ivost
a6022f5df2 * removed IImplementorGetter interface and replaced it by the guid IObjectReference.
* GetInterface and GetInterfaceWeak is modified so that when querying for IObjectReference not an interface is returned but the object pointer

git-svn-id: trunk@15087 -
2010-03-28 12:35:50 +00:00
ivost
7025b1ac01 * added supports helper functions for IInterface supports TClass -> TObject,Boolean
git-svn-id: trunk@15086 -
2010-03-28 11:51:38 +00:00
ivost
561997e8ef * added fpc_class_is_corbaintf and fpc_class_cast_corbaintf compiler helper functions
git-svn-id: trunk@15085 -
2010-03-28 11:31:50 +00:00
ivost
d9a6e63ef0 * prepeared compiler functions for IS and cast operators
* IS: fpc_intf_is, fpc_intf_is_class, fpc_class_is_intf
* AS: fpc_intf_cast, fpc_intf_cast_class, fpc_class_cast_intf

git-svn-id: trunk@15084 -
2010-03-28 11:19:56 +00:00
Jonas Maebe
864ca60adb * fixed compilation on 64 bit platforms
git-svn-id: trunk@15083 -
2010-03-28 10:44:34 +00:00
ivost
31067c290e * tiny change: nil i1,i2 by hand so that everything is freed before the "ok".
git-svn-id: trunk@15082 -
2010-03-28 10:10:33 +00:00
ivost
d7e149805b * added new testset for interfaces and delegation, also GetInterface, GetInterfaceWeak, GetInterfaceByStr, AS and IS is tested
git-svn-id: trunk@15081 -
2010-03-28 00:44:20 +00:00
ivost
dc785f6f68 * implemented intf as object. When doing IInterface as TObject the compiler calls fpc_intf_as_class to query for the IImplementorGetter interface and then invokes GetObject to get the
objects reference.
* by default the TInterfacedObject is supporting now IImplementorGetter

git-svn-id: trunk@15080 -
2010-03-28 00:17:20 +00:00
ivost
6560ed87e9 * removed a debug writeln, unfortunately commited by r15077
git-svn-id: trunk@15079 -
2010-03-27 17:06:02 +00:00
ivost
5a588e5f06 * fixed Supports function so that it's using new function GetInterfaceWeak. Supports may have accidentially freed a objects.
git-svn-id: trunk@15078 -
2010-03-27 17:02:09 +00:00
ivost
3b5826059d * Added GetInterfaceWeak to TObject. It's equal to GetInterface but the returned interface is not referenced. This way it's possible to query interfaces of unreferenced objects.
* Changed fpc_class_as_intf so that it uses GetInterfaceWeak instead of GetInterface. This way it's prevented that the AS operator is increasing the refcounter of an unreferenced object from 0 to 1 temporarily and then by decreasing from 1 to 0 the object is freed.

git-svn-id: trunk@15077 -
2010-03-27 17:00:52 +00:00
paul
1be92bc750 compiler: allow inline static methods + test (moreover static inline was supported)
git-svn-id: trunk@15076 -
2010-03-27 13:40:36 +00:00
Jonas Maebe
a48a37d38b * fixed extended syntax checking {$x-} by moving it from the typecheck pass
to the parser, so that it only looks at what the programmer wrote rather
    than at all statements that the compiler may generate internally
    (mantis #11619)
  + several tests for {$x-} mode
  * modified tenumerators1 so it compiles without extended syntax enabled
    (to check for..in with {$x-})

git-svn-id: trunk@15075 -
2010-03-27 12:51:27 +00:00