Commit Graph

35825 Commits

Author SHA1 Message Date
florian
2c76472bd5 * start to fix mips(el) startup code
git-svn-id: trunk@20253 -
2012-02-04 20:11:51 +00:00
svenbarth
0d76eeb55a Added NORUN flags to tests
git-svn-id: trunk@20252 -
2012-02-04 16:29:56 +00:00
svenbarth
ef10ce3bd0 * pgenutil.pas, generate_specialization:
When parsing an inline specialization inside a generic we need to 
	respect the "parsedtype" parameter which tells us whether the first
	generic parameter was already parsed. This fixes Mantis #20871 .
+ added test for this

git-svn-id: trunk@20251 -
2012-02-04 16:26:47 +00:00
svenbarth
9cb16c950f This fixes Mantis #20851 .
For the solution symbols will now contain a "sp_explicitrename" flag if they
were created through a type rename. This is necessary, because we can't
decide whether a type is a renamed generic para which contains by default a
reference to the default undefined def. Using individual undefined defs will
lead to duplicate identifiers as they are created before a symtable was
pushed (thus they'll ba part of whatever symtable is at the top). 

+ symconst.pas, tsymoption:
        Add a new option "sp_explicitrename" which will be used to track type
        renames.
+ pdecl.pas, type_dec:
        Set the new flag if we're dealing with a type rename
* pexpr.pas, factor_read_id:
        If we have an undefined def that is also a rename then we assume that
        it's a rename of a generic parameter
* utils/ppudump.pp:
        Adjustment because of change to tsymoption
* utils/ppu.pp:
        Increase PPU version
+ added test

git-svn-id: trunk@20250 -
2012-02-04 16:03:58 +00:00
marco
13743890d5 * fix to store empty node also for tkastring, Mantis #21137
git-svn-id: trunk@20249 -
2012-02-04 15:42:57 +00:00
svenbarth
6204da6248 Add tests for Mantis 18103 which somehow is completely fixed now (not related
to my last commit though...).

git-svn-id: trunk@20248 -
2012-02-04 14:33:29 +00:00
svenbarth
04683c5f13 pgenutil.pas, generate_specialization:
- Remove unneeded check for "parse_generic" (it's already checked in the outer if-clause).
+ Check whether we are trying to specialize one of the surrounding type declarations of a
  nested type (as long as nested generics are forbidden this is always the outermost generic
  or specialization). This check can not rely on the symbol, because while parsing the
  generic or the specialization the symbol's def is still an errordef. This fixes 
  Mantis #19498 .

+ Added test from bug report.

git-svn-id: trunk@20247 -
2012-02-04 14:20:26 +00:00
svenbarth
a7a0ba0cf4 * Move the setup and teardown of the specialization symtable stack into two extra
procedures, so that changes in the setup/teardown need to be done only once 
  instead of twice.

git-svn-id: trunk@20246 -
2012-02-04 12:37:43 +00:00
svenbarth
c572395f61 * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs:
When specializing a generic the references from unitsyms to the loaded modules
	needs to be reestablished, so that "unitidentifier.identifier" can be used
	inside a generic without leading to an access violation.
	Only global units are checked, because a generic must not use symbols from the
	static symtable or from units used by the implementation section (the latter is 
	currently not checked)

+ added tests for the above problem for "normal" units as well as units with a namespace 

git-svn-id: trunk@20245 -
2012-02-04 11:33:17 +00:00
florian
76d29ff172 * some Makefiles regenerated to support mips-linux
git-svn-id: trunk@20244 -
2012-02-04 09:50:03 +00:00
florian
722980519a + enable mips-linux in fpcmake (mips-linux is big endian, mipsel-linux is the little endian port)
git-svn-id: trunk@20243 -
2012-02-04 09:43:58 +00:00
pierre
4a74ba14eb + Add tsiginfo type
git-svn-id: trunk@20242 -
2012-02-03 22:52:21 +00:00
pierre
9aa157b7fc * Remove _strrchr call and add environ common
git-svn-id: trunk@20241 -
2012-02-03 22:51:57 +00:00
pierre
cc69ccff13 + Add missing syscall_nr_sigtimedwait
git-svn-id: trunk@20240 -
2012-02-03 22:51:12 +00:00
joost
3d368fb900 * Revert accidentally committed files in r20238
git-svn-id: trunk@20239 -
2012-02-03 21:21:38 +00:00
joost
32541398c8 Better way to disable package then used in r20236, this way the package is cleaned on a distclean
git-svn-id: trunk@20238 -
2012-02-03 21:15:41 +00:00
joost
e378a99f11 * Do not compile pxlib on darwin/iphonesim (fpmake)
git-svn-id: trunk@20237 -
2012-02-03 20:59:37 +00:00
joost
08332a9719 * Do not build httpd13 and httpd20 by default (fpmake)
git-svn-id: trunk@20236 -
2012-02-03 20:47:01 +00:00
Jonas Maebe
893d010dcd * don't try to link the Carbon framework when targeting the iPhoneSimulator
git-svn-id: trunk@20235 -
2012-02-03 18:27:40 +00:00
joost
36169c1249 * Restored changes in r20159 which were overwritten in r20166
git-svn-id: trunk@20234 -
2012-02-03 16:52:45 +00:00
joost
57ad885aa4 * Also clean the bin-output directory on distclean
git-svn-id: trunk@20233 -
2012-02-03 16:46:46 +00:00
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