Commit Graph

35862 Commits

Author SHA1 Message Date
pierre
12f3e8fbc3 + Add some missing constants
git-svn-id: trunk@20291 -
2012-02-09 17:34:22 +00:00
pierre
562a60e36a Add some missing units
git-svn-id: trunk@20290 -
2012-02-09 17:33:55 +00:00
pierre
af22d79a31 Add some missing units
git-svn-id: trunk@20289 -
2012-02-09 17:33:35 +00:00
pierre
d9249ab44d Correct passing envp to main
git-svn-id: trunk@20288 -
2012-02-09 17:32:41 +00:00
pierre
6cd1c2a60c + Add CPREFIX macro to allow transition from '_' prefix to ''
git-svn-id: trunk@20287 -
2012-02-09 17:31:43 +00:00
joost
5f1409253a * Changed gdbver-binary output path to make it work with both packages/fpmake
and gdbint/fpmake

git-svn-id: trunk@20286 -
2012-02-09 15:08:00 +00:00
paul
3b153c223a compiler:
- treat the defs equal when convert from rawbytstring to any ansistring type (delphi compatible)
  - set result of ansistring copy() function to the type of first argument for ansistring arguments and to ansistring for pchar and char array arguments (delphi compatible)
  + test

git-svn-id: trunk@20285 -
2012-02-09 08:22:38 +00:00
paul
79b725990c rtl: remove spaces
git-svn-id: trunk@20284 -
2012-02-09 08:13:05 +00:00
florian
e79f3a6930 * range check error fixed
git-svn-id: trunk@20283 -
2012-02-08 21:30:31 +00:00
florian
c19b0ac189 * Fppwrite fixed after yesterday's mess
git-svn-id: trunk@20282 -
2012-02-08 21:29:54 +00:00
florian
d8c377bfed * completed termios constants for mips, some need to be checked on a real mips-linux system, see custom warning
git-svn-id: trunk@20281 -
2012-02-08 21:29:10 +00:00
florian
f927198c2a + gas for mips is by default little endian, so pass the endianess
git-svn-id: trunk@20280 -
2012-02-08 21:28:22 +00:00
pierre
f3b921d281 Fix missing close brace introduced in commit 20277
git-svn-id: trunk@20278 -
2012-02-08 08:28:27 +00:00
florian
806ae36100 * some mips rtl compilation issues fixed
git-svn-id: trunk@20277 -
2012-02-07 22:07:13 +00:00
florian
58fbd386a3 * mips system unit compiles
git-svn-id: trunk@20276 -
2012-02-07 19:39:08 +00:00
sergei
180686e429 * Removed 'first' field and 'packed' attribute from TAnsiRec and TUnicodeRec. Removing 'packed' should yield more efficient code on alignment-sensitive targets, while removing 'first' effectively makes two records identical to each other. Further cleanup is possible, but let's see the test suite results before proceeding.
git-svn-id: trunk@20275 -
2012-02-07 16:23:50 +00:00
marco
c44ce80585 * harmless deprecated warning, just in case.
I get warnings while compiling. Is oldfpccall still live?

git-svn-id: trunk@20274 -
2012-02-07 10:55:11 +00:00
marco
8a2a788bd9 * fix for #21229, use sysutils format for error msgs, as suggested.
git-svn-id: trunk@20273 -
2012-02-06 22:00:18 +00:00
florian
6be7b08b8e * gas reader fixed
git-svn-id: trunk@20272 -
2012-02-06 21:50:05 +00:00
florian
ae37b9f5b9 * fix floating point registers gas name
git-svn-id: trunk@20271 -
2012-02-06 20:33:12 +00:00
sergei
a1cb87bcf8 * Improved ucs4 to utf16 conversions: removed function call on every character and multiple memory allocations, made as much code as possible shared between WideString and UnicodeString versions.
git-svn-id: trunk@20270 -
2012-02-06 19:55:56 +00:00
sergei
e94508d5eb * Improved utf16 to ucs4 conversion routines: removed function call on every character, allocate memory once and made as much as possible code shared between WideString and UnicodeString versions.
git-svn-id: trunk@20269 -
2012-02-06 17:55:06 +00:00
sergei
8dab34b31a * fpc_char_to_unicodestr: call widestringmanager directly instead of nested char_to_uchar conversion.
* UnicodeToUtf8: calculate UCS4 value without three (!) temp string variables. Also removed separate word-sized variable and unsigned subtractions.

git-svn-id: trunk@20268 -
2012-02-06 10:22:17 +00:00
sekelsenmat
c72a639e7b Fixes stack check crash in fmtbcd.pp see bug #21208
git-svn-id: trunk@20267 -
2012-02-06 09:07:35 +00:00
florian
de4a96f96d * fixes several register allocation related mips issues
* fixes range check error in mips code

git-svn-id: trunk@20266 -
2012-02-05 21:58:45 +00:00
michael
723482c814 * Correctly free objects when destroying stringlist instance
git-svn-id: trunk@20265 -
2012-02-05 19:55:21 +00:00
pierre
b058593b53 * Fix compilation for cpu i386
git-svn-id: trunk@20264 -
2012-02-05 18:51:23 +00:00
sergei
c3b106fde3 * StringToOleStr(UnicodeString), reduced to single SetString call, this way it does not depend on private functions and does not require $ifdef's.
git-svn-id: trunk@20263 -
2012-02-05 18:43:20 +00:00
sergei
f07d02b427 - Removed string conversion helpers that are not actually used by compiler code generation (duplicated pwidechar/punicodechar stuff).
- Removed one copy of duplicated utf8 encode/decode procedures.

git-svn-id: trunk@20262 -
2012-02-05 18:01:04 +00:00
florian
3d2a27c66c * fix fpu register type
git-svn-id: trunk@20261 -
2012-02-05 09:14:55 +00:00
florian
f2ee5da112 * fix gas mips integer register naming
git-svn-id: trunk@20260 -
2012-02-05 08:24:51 +00:00
florian
a2009af76e * updated MIPS code so the compiler gets through the system unit
git-svn-id: trunk@20259 -
2012-02-05 08:14:46 +00:00
florian
28036ed068 * fix some mips compiler issues, system unit compilation is getting forward
git-svn-id: trunk@20258 -
2012-02-04 22:53:52 +00:00
florian
b8f322e0de * continued to fix mips rtl compilation
git-svn-id: trunk@20257 -
2012-02-04 22:52:59 +00:00
pierre
30d9afe879 Add mipsel file including mips counterparts
git-svn-id: trunk@20256 -
2012-02-04 22:29:04 +00:00
florian
8b339ded7a * started to fix the mips(el) linux rtl
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
florian
5a64b05cb4 * put generic mips code into mips dir
git-svn-id: trunk@20254 -
2012-02-04 20:14:41 +00:00
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