Commit Graph

35964 Commits

Author SHA1 Message Date
Jonas Maebe
74e721517d * keep track of the type of symbolic floating point constants rather
than always forcing them to bestreal (mantis #21151)

git-svn-id: trunk@20190 -
2012-01-28 18:38:06 +00:00
svenbarth
a28a9a9521 * pdecobj.pas, object_dec:
Always define nested types of a generic as generic as well.
* symtable.pas: 
	+ Add a function which decides whether two defs belong to the same generic.
	* Fix sym_is_owned_by as there can be corner cases where childsym becomes Nil.
* ptype.pas:
	* record_dec: Always define nested types of a generic as generic as well.
	* single_type & read_named_type.expr_type:
		Use the newly added function to improve the checks whether a generic 
		symbol should be rejected as "generics not allowed for types of 
		variables or fields".
+ Add a test for which the improved checks are necessary.

git-svn-id: trunk@20189 -
2012-01-28 18:09:40 +00:00
sergei
6874aa9676 * Replaced i386 assembler IndexByte by more sophisticated implementation, larger in size but faster by factor from 2 (on Athlon X2 L310) to 5 (on Core2Duo E7200) for 512 byte buffers.
git-svn-id: trunk@20188 -
2012-01-28 17:54:36 +00:00
Jonas Maebe
f984a3d74e - removed optimization that pops the current symtable off the symtablestack
if it cannot contain local type definitions before looking up the type of
    a field, because the type of a field may be a new type definition (e.g. an
    inline record definition) and such type definitions must be added to the
    correct symtable for, a.o., correctly resolving uses of the name of a
    type that is currently being parsed

git-svn-id: trunk@20187 -
2012-01-28 17:07:56 +00:00
joost
c0a501bdab * Build os2units only in os/2 and emx targets
git-svn-id: trunk@20186 -
2012-01-28 11:41:58 +00:00
joost
ff81a5018f * Template file for testing fpmake-building
git-svn-id: trunk@20185 -
2012-01-28 11:00:33 +00:00
marco
60ff11d19e * changed bookmarksize to sizeof(longint) Mantis #13967
git-svn-id: trunk@20182 -
2012-01-27 08:50:37 +00:00
pierre
00ca9b4ce5 + Support multithreaded windows executables inCheckPointer function
git-svn-id: trunk@20181 -
2012-01-26 13:52:51 +00:00
pierre
f80bc70707 + Add _FPC_TlsSize public symbol for use by heaptrc unit
git-svn-id: trunk@20180 -
2012-01-26 13:51:34 +00:00
pierre
573102fa70 * Explicitly disable checkpointer for functions using GetEnvironmentStrings
git-svn-id: trunk@20179 -
2012-01-26 13:50:36 +00:00
Tomas Hajny
b1810691fa + new directory units/lineinfo added
git-svn-id: trunk@20178 -
2012-01-26 00:20:09 +00:00
florian
fc569e224d * handle all operand combinations of xadd, resolves #21146
git-svn-id: trunk@20177 -
2012-01-25 21:26:59 +00:00
joost
babadd73a9 * Package is named libxml2, not xml2
git-svn-id: trunk@20175 -
2012-01-25 16:07:07 +00:00
joost
2301733d4c * Package is named libgd, not gd
git-svn-id: trunk@20174 -
2012-01-25 16:01:58 +00:00
marco
8c9a603597 * belongs to last commit, x86_64 part
git-svn-id: trunk@20173 -
2012-01-25 13:47:22 +00:00
marco
ed6a399ae2 * cleanup ELF ABI tag a bit. Set abitag version to 9.0 for now.
git-svn-id: trunk@20172 -
2012-01-25 13:46:58 +00:00
michael
24d175e0a7 * Abstracted handling of defines
git-svn-id: trunk@20169 -
2012-01-25 08:48:07 +00:00
pierre
b3c246e9f6 + Use MAKE and AWK variables to try to find GNU make and GNU awk
if available.
 + Add dexplicit building rule for libgdb.a
   This library is not generated automatically anymore after 7.4 release.
 + Only handle '-l' if it is at start of argument.

git-svn-id: trunk@20168 -
2012-01-25 07:42:40 +00:00
pierre
14edbfe855 + Handle gdblib.inc include file in GDBLibDir
git-svn-id: trunk@20167 -
2012-01-25 07:26:07 +00:00
joost
5694514ebc * Automatically install the import-library files on OSes that uses those.
git-svn-id: trunk@20166 -
2012-01-24 21:32:30 +00:00
joost
293f815e8a * Use defines from the system unit to improve cross-platform behavior
git-svn-id: trunk@20165 -
2012-01-24 11:55:58 +00:00
pierre
525034f5f6 * Disable use of fcl-process package for haiku
* correct error in include directories for fcl-process isrc->src
 * Reorder include command line option order to put dummy as last choice

git-svn-id: trunk@20164 -
2012-01-24 11:14:43 +00:00
paul
310c396cfc compiler: add owner hierarchy prefix for mangled name of parameter def to prevent asm symbols collision (issue #0020940)
git-svn-id: trunk@20163 -
2012-01-24 08:27:51 +00:00
paul
a71d588105 compiler: write INIT and RTTI info also for defs of nested records and classes + test (issue #0020909)
git-svn-id: trunk@20162 -
2012-01-24 06:57:04 +00:00
paul
d752ce2c11 compiler:
- postpone insertion of hidden params into record methods after the full record parse to prevent interface and implementation difference because of the possible record size change after the method parse (issue #0021044)
  - skip hidden arguments during methods search for a property setter because of the above change and also for consistency with getter method search
  - test

git-svn-id: trunk@20161 -
2012-01-24 01:45:31 +00:00
Tomas Hajny
c8ff351634 * EMX and Watcom use .exe extension too
git-svn-id: trunk@20159 -
2012-01-23 21:36:43 +00:00
Tomas Hajny
682299a647 + add previously missing support for link map generation for OS2 and EMX targets
git-svn-id: trunk@20158 -
2012-01-23 21:29:00 +00:00
marco
6182f2d25d * Patch by Ludo:
- Added the optional creation of a lazarus design/runtime package for the activex container.
- Added full files in case diff doesn't work.

Fixes to typelib importer:
- avoid duplicate enum members (translated to const) (Office10\MSWORD.OLB)
- don't make TEventSink or TActiveXContainer descendants if interface does not descend from IDispatch (VBA6\VBE6EXT.OLB)
- add type declaration for coclass interface pointing to default interface
- fixed property setter for array properties
- added typecasting for byref interface event parameters
- typecasting workaround for pvarVal^ and pbstrVal^ "Can't take the address of constant expressions" error caused by var type mismatch OLEVariant <> Variant and POleStr<>WideString
- reverted to the use of OLEVariant. POLEVariant isn't automatable in trunk but PVariant isn't automatable in 2.6.0 neither.
- added byref VT_INT, VT_UINT, VT_DECIMAL event parameter support (Office10\MSWORD.OLB)
- replace the use of TOleEnum with LongWord. Definition in ActiveX (type TOleEnum = type LongWord;) prohibits casting of OleVariant to TOleEnum.(Office10\MSOUTL.OLB)
- disambiguate method name for INVOKE_PROPERTYPUT and INVOKE_PROPERTYPUTREF on same property (ado\msado25.tlb)
- postpone interface declaration until full declaration of ancestor class.

git-svn-id: trunk@20157 -
2012-01-23 14:16:03 +00:00
sergei
b9b960ebcf * fpc_pchar_length: fixed exit without restoring EDI register if argument is nil, bug #21135.
git-svn-id: trunk@20156 -
2012-01-22 23:52:46 +00:00
marco
c729bd7a3f * Use own power of ten scaling routine to avoid problems with FPU precision.
Patch by Lacak2, mantis #20011

git-svn-id: trunk@20154 -
2012-01-22 18:53:43 +00:00
Tomas Hajny
b19d53a609 + new test for lineinfo functionality
git-svn-id: trunk@20152 -
2012-01-22 16:14:49 +00:00
Tomas Hajny
aacc62fa0a * OS/2 doesn't support generation of shared libraries yet due to ld limitations
git-svn-id: trunk@20151 -
2012-01-22 16:13:25 +00:00
svenbarth
7986f03186 * pgenutil.pas, generate_specialization:
* When building the typename for a generic use the full typename
	  including it's surrounding object- or abstractrecorddefs. This allows
	  that a nested non-generic type of a generic type A can be used as
	  type arguments for more than one specialization of another generic B
	  (there were some problems when B e.g. defined a pointer to the type
	  argument's type)

	* Always CRC the constructed specialization name as otherwise it might
	  reach the limit of 255 characters (not yet including unit name,
	  method name or method arguments)
	  Note: Errors like "expected XYZ, but got ABC" will need to be 
		adjusted to use the prettyname...

* increased PPU version
+ added test for above's point 1

git-svn-id: trunk@20149 -
2012-01-22 13:29:12 +00:00
marco
89866cd17e * LoadExtension, patch by BigChimp, Mantis #20640
git-svn-id: trunk@20146 -
2012-01-21 21:46:31 +00:00
Jonas Maebe
eedb5c89de * part of r20140, forgot to commit
git-svn-id: trunk@20145 -
2012-01-21 21:16:47 +00:00
Tomas Hajny
5d82eaa628 * fix buggy stabs offset calculation
git-svn-id: trunk@20144 -
2012-01-21 20:43:03 +00:00
Jonas Maebe
20cacb7a51 * {$PACKENUM 4} -> {$z4} so the units can also be compiled by Delphi
(patch by Alexey Voychehovich, mantis #21111)

git-svn-id: trunk@20143 -
2012-01-21 19:51:37 +00:00
Jonas Maebe
e5c097a6e2 * mark nodes that have been created by transforming a read-accessor of
of a property with nf_no_lvalue flag, and check that such nodes are
    never used in direct assignments (fixes mantis #21087 and a couple of
    other cases of invalid assignments to properties)

git-svn-id: trunk@20140 -
2012-01-21 19:09:30 +00:00
Jonas Maebe
28bf0c74ee * don't try to assign values by indexing properties that return an
array

git-svn-id: trunk@20139 -
2012-01-21 19:05:46 +00:00
Jonas Maebe
6432c82c01 * don't pass property as var-parameter to val()
git-svn-id: trunk@20137 -
2012-01-21 16:54:57 +00:00
florian
d01824ab22 * prevent crash of h2pas if an unknown specifier is encountered, resolves #18664
git-svn-id: trunk@20136 -
2012-01-21 15:17:11 +00:00
marco
a0b200db76 * Add dlvsym under ifdef ELF, defined ELF for the OSes I could check
(FreeBSD, OpenBSD, Linux) Mantis #18892

git-svn-id: trunk@20134 -
2012-01-21 11:56:40 +00:00
joost
925024a915 * Always use the bootstrap-units to compile these fpmake.pp files. Also when the regular .ppu's are available. To avoid checksum-problems when running make on a non-clean checkout. (make install)
git-svn-id: trunk@20133 -
2012-01-21 06:40:47 +00:00
Jonas Maebe
ab9b52a003 * truncate indices into arrays from 64 to 32 bit on 32 bit
platforms so that their code generators don't get 64 bit
    operands (fixes internalerrors on at least ppc32  after r20108)

git-svn-id: trunk@20132 -
2012-01-20 22:43:55 +00:00
marco
77197cdc39 * Added CharInSet, Fixes #14599, since issurrogate* already is in unit Character.
git-svn-id: trunk@20131 -
2012-01-20 22:10:32 +00:00
sergei
f136e44b6b - RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones).
git-svn-id: trunk@20130 -
2012-01-20 19:19:08 +00:00
joost
822cd6dec4 * Added dependency on univint on iphonesim target
git-svn-id: trunk@20129 -
2012-01-20 18:16:17 +00:00
joost
c3095c92d9 * Fixed unixutils fmpake.pp file
git-svn-id: trunk@20128 -
2012-01-20 18:02:24 +00:00
joost
8c4b24dc13 * Added fpmake.pp file for opengles
git-svn-id: trunk@20127 -
2012-01-20 17:09:07 +00:00
pierre
7167b5b065 Fix cross rtl compilation problems
git-svn-id: trunk@20124 -
2012-01-20 16:39:57 +00:00