Commit Graph

3256 Commits

Author SHA1 Message Date
svenbarth
b6bfa864d4 Disallow the usage of the inline assembler inside generics, because there are currently two problems:
1. At least on x86 the assembler reader initializes the parameter location informations which results in InternalError 200301231
2. Assembler tokens are not stored in the token stream and thus won't be reproduced during specialization

x86/rax86int.pas, tx86intreader.Assemble:
  * check for "parse_generic" before calling generate_parameter_info
pstatmnt.pas, assembler_block & statement:
  * generate an error message if an asm statement should be parsed inside a generic

+ added test

git-svn-id: trunk@24892 -
2013-06-13 19:42:49 +00:00
svenbarth
2e186a91fa Add support for integer constants to SetPEFlags and SetPEOptFlags. This is Delphi compatible.
scandir.pas:
  + add function "get_peflag_const" to retrieve the value of a constant
  * dir_setpeflags & dir_setpeoptflags: first check for an identifier (value is retrieved through "get_peflag_const") and then read a value

+ added messages for illegal parameters for SetPEFlags and SetPEOptFlags respectively
+ added tests

git-svn-id: trunk@24887 -
2013-06-13 10:51:42 +00:00
lacak
ee2fee4259 fcl-db: sqldb:
- handle quoted table names when retrieving server index informations for quoted TableName
- reset updated flag of ServerIndexDefs when SQL.Text changes
- new tests unit for sqlDB
- tested for FB, MSSQL, MySQL, PostgreSQL, Sqlite, odbc_MSSQL, odbc_PostgreSQL, odbc_Firebird, odbc_MySQL

git-svn-id: trunk@24880 -
2013-06-12 11:01:59 +00:00
nickysn
b342588af1 + i8086 specific far proc aware implementation of ttypeconvnode.second_proc_to_procvar
git-svn-id: trunk@24860 -
2013-06-10 01:19:01 +00:00
nickysn
cd5255c147 + added startup code for the medium memory model
git-svn-id: trunk@24820 -
2013-06-08 22:41:43 +00:00
nickysn
e28852d07d * prt0 startup code file for small model renamed to prt0s
git-svn-id: trunk@24809 -
2013-06-05 16:41:39 +00:00
nickysn
c124283a36 * msdos startup code for tiny and small memory models moved to a shared nasm include file to avoid code duplication
git-svn-id: trunk@24808 -
2013-06-05 16:38:01 +00:00
nickysn
b409d600ee + implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
git-svn-id: trunk@24793 -
2013-06-02 23:02:10 +00:00
joost
df4191acb3 * Handle the location of each package at run-time, not at compilation time
* Added a fpmake.pp in the root, to compile the utils and packages in one go

git-svn-id: trunk@24783 -
2013-06-02 17:55:23 +00:00
michael
998da11ecd * Script to test for memory leaks
git-svn-id: trunk@24771 -
2013-06-02 13:16:15 +00:00
joost
b543f83f59 * Switched IDE to fpmake-building
git-svn-id: trunk@24745 -
2013-06-01 18:34:01 +00:00
joost
19d4b8dcd7 * Added fpmake.pp for building the ide
git-svn-id: trunk@24740 -
2013-06-01 17:57:28 +00:00
nickysn
3953eed6b3 + added and implemented unit ports for i8086-msdos
git-svn-id: trunk@24722 -
2013-06-01 14:44:49 +00:00
nickysn
fba73d3c96 + added and implemented unit msmouse for i8086-msdos
git-svn-id: trunk@24669 -
2013-05-31 16:54:01 +00:00
florian
0968d095ed * convert function like used new into a appropriate nodes only in pass_1 so proper error checking can be carried out, resolves #24495
git-svn-id: trunk@24667 -
2013-05-31 14:55:49 +00:00
nickysn
f2ff50f80e + initial implementation of unit crt for i8086-msdos (based on the go32v2 version)
git-svn-id: trunk@24666 -
2013-05-31 14:29:35 +00:00
nickysn
ab03091865 + enabled compilation of unit classes on i8086-msdos
git-svn-id: trunk@24657 -
2013-05-31 08:29:23 +00:00
nickysn
730f7c82b7 * some fixes, intended to get units fgl and classes to compile on 16-bit cpus
git-svn-id: trunk@24649 -
2013-05-30 18:58:25 +00:00
svenbarth
6ad761912f Add a Delphi compatible test for passing of different string like types to UnicodeString/RawByteString parameters.
git-svn-id: trunk@24648 -
2013-05-30 16:54:17 +00:00
joost
94e7cd5a51 * Switched utils to fpmake building
git-svn-id: trunk@24621 -
2013-05-26 19:05:11 +00:00
nickysn
3492d29834 + added varutils.pp to the msdos rtl
git-svn-id: trunk@24604 -
2013-05-25 16:00:33 +00:00
nickysn
c49e927077 + added rtl/i8086/mathu*.inc for compiling the math unit
git-svn-id: trunk@24595 -
2013-05-25 15:23:46 +00:00
nickysn
4708132ddf + added sysutils.pp to the i8086-msdos rtl
git-svn-id: trunk@24590 -
2013-05-25 13:25:35 +00:00
nickysn
a308994423 * i8086 specific code from tcgpointerconstnode.pass_generate_code moved to an i8086 specific overriden method
git-svn-id: trunk@24577 -
2013-05-24 17:16:55 +00:00
svenbarth
2c792659ce Fix for Mantis #24071.
pdecl.pas, types_dec:
  * extract the determination of the nested generic def to a new local function "determine_generic_def"
  * use "determine_generic_def" to determine the generic def in case of a forward def and pass this and the generic type list to "object_dec"

+ added test

git-svn-id: trunk@24572 -
2013-05-24 15:27:27 +00:00
nickysn
fd429612f8 + initial (and not yet fully complete) implementation of far pointers on the i8086
git-svn-id: trunk@24553 -
2013-05-22 16:26:33 +00:00
joost
14ffdf6b8d * Removed unused unit jarparamparser.pas
git-svn-id: trunk@24549 -
2013-05-21 19:58:14 +00:00
Jonas Maebe
11d5d4f79d * check range of enums and booleans in typed constant expressions when
using the asmlist generator (mantis #24428)

git-svn-id: trunk@24495 -
2013-05-14 12:05:00 +00:00
joost
2555885541 * Added fpmake.pp files for pas2fpm, pas2jni and pas2ut
git-svn-id: trunk@24492 -
2013-05-13 19:56:36 +00:00
joost
555ea23209 * Added fpmake.pp for unicode utils
git-svn-id: trunk@24488 -
2013-05-12 20:13:35 +00:00
joost
534e8e2a0c * Scripts to generate Makefiles which call fpmake
git-svn-id: trunk@24487 -
2013-05-12 19:30:19 +00:00
joost
478243254e * Removed double addition of ptop
* Added fpcreslipo compilation to fpmake

git-svn-id: trunk@24483 -
2013-05-11 12:07:12 +00:00
paul
bc973e538d compiler: write extended RTTI for tkProcVar (tkProcedure in Delphi)
rtl: add appropriate types for tkProcVar RTTI (based on Delphi help)
+ test

git-svn-id: trunk@24468 -
2013-05-08 02:52:13 +00:00
paul
dce960c97b compiler: write Delphi compatible tkArray RTTI:
- TotalSize of all array dimensions instead of first dimension size
  - Element type of last array dimension
  - dimension information
rtl:
  - adopt array initialization/finalization/copy for the new tkArray RTTI
  - add Delphi compatible TArrayTypeData member for typinfo.TTypeData structure
tests:
  - add a test which checks RTTI information for 2 dimension array

git-svn-id: trunk@24458 -
2013-05-07 09:12:18 +00:00
paul
da35b3c601 compiler, rtl: write CodePage for AnsiString RTTI (Delphi compatible), change TTypeData appropriately + test
git-svn-id: trunk@24444 -
2013-05-05 05:05:08 +00:00
paul
d90445e5ee compiler, rtl, tests: write Delphi compatible (more or less) type information for Class Reference and Pointer types (mantis #0024367)
git-svn-id: trunk@24421 -
2013-05-04 12:47:05 +00:00
yury
906cd9d365 + ppudump: XML output.
git-svn-id: trunk@24409 -
2013-05-03 14:27:17 +00:00
svenbarth
3ad0de732e Added a test for a bug that was fixed in Delphi in (maybe XE4) to make sure that a similar bug will not be introduced in FPC.
Source: http://www.deltics.co.nz/blog/?p=1397

git-svn-id: trunk@24403 -
2013-05-01 19:13:18 +00:00
florian
19c8abac0b + enable jump optimizer for i8086
git-svn-id: trunk@24400 -
2013-05-01 13:54:13 +00:00
sergei
c7937f6736 * Win64 exception handling: don't reset fc_unwind control flow flag at the beginning of try..except blocks. Resolves #24342.
git-svn-id: trunk@24385 -
2013-04-30 03:56:58 +00:00
florian
0e9b8adb7a patch by Michael Ring:
+ support of several armv6m MCUs for arm-embedded
* renamed lpc1343 unit to lpc13xx
+ more lpc13xx MCUs added

git-svn-id: trunk@24379 -
2013-04-29 19:57:08 +00:00
pierre
7b77319e06 Add missing Makefile
git-svn-id: trunk@24364 -
2013-04-29 12:27:08 +00:00
sergei
97152cc41b * Fixed overflow handling in i386 assembler implementations of fpc_div_qword and fpc_mod_qword.
Resolves #23963.

git-svn-id: trunk@24362 -
2013-04-29 01:12:45 +00:00
florian
ac819b0b97 * jvm lazarus project file properly named
git-svn-id: trunk@24352 -
2013-04-28 08:39:20 +00:00
nickysn
3853d06ac0 + added n8086cal.pas, based on n386cal.pas; this pulls in nx86cal.pas as well and fixes compilation of the system unit on i8086 after the merge of the i8086 branch to trunk
git-svn-id: trunk@24335 -
2013-04-26 20:19:57 +00:00
florian
0e41df598e * merge i8086 branch by Nikolay Nikolov
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
joost
6c1ea83c5a * Created a new package for the libtar unit, which was moved in r24287
git-svn-id: trunk@24312 -
2013-04-23 20:02:29 +00:00
Jonas Maebe
c4b62f86a1 * renamed ppudump directory introduced by r24298 to ppuutils to fix
compilation on unix platforms (the ppudump binary name conflicted with
    with the directory name)

git-svn-id: trunk@24300 -
2013-04-22 14:37:37 +00:00
yury
85c2d144c5 * ppudump: Started implementation of JSON output. Output of unit header info has been implemented.
git-svn-id: trunk@24299 -
2013-04-22 14:08:53 +00:00
yury
6327854259 * Move ppudump.pp to a sub-folder as preparation for adding JSON output units.
git-svn-id: trunk@24298 -
2013-04-22 11:19:25 +00:00