Commit Graph

35954 Commits

Author SHA1 Message Date
joost
ac1a2abf88 * Do not use deprecated stat.mode but stat.st_mode
git-svn-id: trunk@20232 -
2012-02-03 16:39:02 +00:00
sergei
8d26b3358f RTL, wide/unicode strings cleanup:
- Removed outdated debugging code
- Removed DefaultWide2AnsiMove, using DefaultUnicode2AnsiMove instead.
- Removed unnecessary operations like SetLength before widestringmanager conversion calls and null-termination afterwards.
- Removed setting pointer to nil after fpc_wide/unicodestr_decr_ref.

git-svn-id: trunk@20231 -
2012-02-03 11:12:25 +00:00
sergei
df221e8196 * fpc_ansistr_concat, refactoring and minor fix:
* Assume code page of empty addend matching the destination (StringCodePage returns value of DefaultSystemCodePage for empty strings, causing unnecessary conversions if another addend has a non-default code page).
  * Moved part with temp Unicodestring variables into separate procedure in order to avoid an implicit try..finally block in primary control flow.
  * Renamed Size and Location varialbles into S1Len and S2Len.

git-svn-id: trunk@20230 -
2012-02-03 10:52:24 +00:00
michael
af2bba5c87 * Disable range checks
git-svn-id: trunk@20229 -
2012-02-03 09:07:20 +00:00
michael
60e5411b7c * Fix for bug #21211, suggested by Dmitry Ukolov
git-svn-id: trunk@20228 -
2012-02-03 09:00:07 +00:00
pierre
19e11f889f * Fix error in EXTDEBUG code
git-svn-id: trunk@20227 -
2012-02-02 23:55:43 +00:00
pierre
cf6590cc0e Use rmipsgas.inc file for gas register names
git-svn-id: trunk@20226 -
2012-02-02 23:54:39 +00:00
pierre
936c78eef1 + Use new assembler reader
git-svn-id: trunk@20225 -
2012-02-02 23:52:08 +00:00
pierre
bd9ddd498c Use standard MIPS regsiter names
git-svn-id: trunk@20224 -
2012-02-02 23:51:16 +00:00
pierre
61eba72178 Use standard MIPS regsiter names
git-svn-id: trunk@20223 -
2012-02-02 23:50:39 +00:00
pierre
a9c7e135ee Add MIPS GNU AS reader
git-svn-id: trunk@20222 -
2012-02-02 23:49:51 +00:00
pierre
77301e699d Commit some MIPS changes from MarkMLl
git-svn-id: trunk@20221 -
2012-02-02 23:46:24 +00:00
pierre
c0690d1bdc + New virtual method TATTReader.HandleDollar, useful for MIPS reader
git-svn-id: trunk@20220 -
2012-02-02 23:45:22 +00:00
pierre
4a351f42fe Commit some MIPS changes
git-svn-id: trunk@20219 -
2012-02-02 23:43:52 +00:00
joost
bfbe1d5324 * Copy file-rights (executable bit) from files on unices
git-svn-id: trunk@20218 -
2012-02-02 20:39:51 +00:00
michael
a8393291a3 * Fix for bug #0021210 (patch by Dmitry Ukolov
git-svn-id: trunk@20217 -
2012-02-02 19:19:21 +00:00
michael
ff25d4dc80 * Always store unit filename in FProcessedUnits
git-svn-id: trunk@20216 -
2012-02-02 12:22:24 +00:00
joost
83e3d311d7 * Fixed wince compilation (fpmake)
git-svn-id: trunk@20215 -
2012-02-02 12:01:01 +00:00
sergei
c862aec17c * cwstring.pp, Wide2AnsiMove: moved SetCodePage to the end, so it comes after the last SetLength. Necessary after r20209, because SetLength has been modified to always set the code page of its argument. Here it sets code page of 'dest' to CP_NONE, because dest is RawByteString.
(Before r20209, SetLength was preserving code page when the string was resized in place and had refcount=1)

git-svn-id: trunk@20214 -
2012-02-01 21:08:13 +00:00
michael
2b60a95896 * Recursive parsing
git-svn-id: trunk@20213 -
2012-02-01 20:06:50 +00:00
Jonas Maebe
6a5cf6cf8d * always pass -arch parameter to linker when targetting Darwin, instead of
skipping this for dynamic libraries (not sure why that was done, but
    apparently not passing -arch triggers a bug in Xcode 4.2 Lion linker,
    mantis #21159)

git-svn-id: trunk@20211 -
2012-02-01 19:01:58 +00:00
sergei
a2233d7991 * fpc_ansistr_setlength: fixed/refactored:
* Handle codepage the same way in all control flow branches (was different for the cases of allocating a new string and reallocating an existing one)
  * Don't assign intermediate values directly to var-parameter, use local pointer instead.
  * Setting string pointer to nil after fpc_ansistr_decr_ref is no longer necessary.
- fpc_ansistr_copy: removed repeating index check and unecessary typecasts.

git-svn-id: trunk@20209 -
2012-02-01 16:27:24 +00:00
marco
2cfb20db60 * set BCD and time fields to NULL when an empty string is passed. Mantis #21204, patch by Ludo
git-svn-id: trunk@20208 -
2012-02-01 14:29:01 +00:00
sergei
7ff76caa73 * Removed 'inline' attribute from 6 overloaded pos() functions which contain a managed typecast. Inlining it leads to noticeable increase in code size without any sensible speed improvement.
* Added 'const' modifier to the first argument of these functions in order to avoid creating a local copy.

git-svn-id: trunk@20207 -
2012-02-01 13:34:36 +00:00
Tomas Hajny
2ea60c9daf * hopefully final correction (changed extension resulted in different length)
git-svn-id: trunk@20206 -
2012-01-31 18:57:02 +00:00
pierre
fa44c8cf5a + Add explicit rules for softfpu sfpux80 and sfpu128 units
git-svn-id: trunk@20205 -
2012-01-31 16:00:45 +00:00
pierre
6e81fe6abc + Add two new sotfpuu units with x80 or 128 bit support
git-svn-id: trunk@20204 -
2012-01-31 15:58:56 +00:00
pierre
f4a9b3d73b + Allow compilation as an external unit
git-svn-id: trunk@20203 -
2012-01-31 15:57:45 +00:00
pierre
3a3ab75e4a + regdatia64 phony target to generate all ia64 register include files
git-svn-id: trunk@20202 -
2012-01-31 15:49:30 +00:00
pierre
dbeca48e3d + New mkia64reg.pp source
git-svn-id: trunk@20201 -
2012-01-31 15:47:31 +00:00
Tomas Hajny
ee07ef72be * corrected file extension and output in case of failure enhanced
git-svn-id: trunk@20200 -
2012-01-30 23:18:31 +00:00
pierre
6df8e06080 Add missing target cpu rtestriction for Objective C test tobjc38.pp
git-svn-id: trunk@20199 -
2012-01-30 15:44:37 +00:00
sergei
cea9c0384e + Added missing SafeArray* functions, Mantis #16046
git-svn-id: trunk@20198 -
2012-01-30 12:31:11 +00:00
sergei
f18767f6a8 * generic fpc_shortstr_assign: cleaned up
* align(): tweaked priority of calculation, yields better constant folding when these functions are inlined (alignment argument is a constant in most cases)

git-svn-id: trunk@20197 -
2012-01-30 09:20:43 +00:00
sergei
97e6e1fafd * Changed generic StrCopy and StrECopy to use IndexByte+Move:
o Makes behavior predictable in cases when source and destination strings happen to overlap.
  o Removes need in CPU-specific implementations, at least for CPUs having optimized IndexByte and Move implementations.

git-svn-id: trunk@20196 -
2012-01-30 09:09:49 +00:00
blikblum
903bb71e14 sqliteds: better approach to fix compilation with 2.4 and 2.6 fpc compiler
git-svn-id: trunk@20195 -
2012-01-29 23:40:24 +00:00
blikblum
0e675b5adc sqliteds: fix compilation with 2.4 and 2.6 fpc compiler
git-svn-id: trunk@20194 -
2012-01-29 23:36:15 +00:00
Tomas Hajny
7c9d229772 * correction for compiler options
git-svn-id: trunk@20193 -
2012-01-29 20:29:33 +00:00
Jonas Maebe
1f83203117 * make self-pointer passed by reference not regable. Was not necessary
when we only had objects because they are never put in registers,
    but (advanced) records can be (mantis #21177)

git-svn-id: trunk@20192 -
2012-01-29 11:30:12 +00:00
joost
7c9b93dd91 * Set for which targets these packages have to be compiled for
git-svn-id: trunk@20191 -
2012-01-29 10:41:02 +00:00
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