Commit Graph

4430 Commits

Author SHA1 Message Date
pierre
bdd3b4e695 * Move rtl.cfg content to system.cfg
+ New rtl.cfg containg non-feature options of former file (i8086 only)
  * Use system.cfg for system unit compilation
  + add @rtl.cfg option for i8086 CPU

git-svn-id: trunk@37920 -
2018-01-06 12:27:28 +00:00
florian
273045c295 * use the first element of the filrec._private array to track eof for typed files in iso mode (this will not hurt as iso mode does not specify the _private field), resolves #32938
git-svn-id: trunk@37915 -
2018-01-05 22:10:39 +00:00
Jonas Maebe
8cfe7e0a0c * when creating a realconstn, cast the value to the specified type
(mantis #25121)
   o note that this means that single_const1/single_const2 will now be rounded
     to single, instead of staying the at maximum precision
   o fixed FahrenheitToCelcius() to handle this change correctly

git-svn-id: trunk@37911 -
2018-01-04 20:51:36 +00:00
Károly Balogh
f609c55b59 palmunits: added a simple 'Hello, World' for PalmOS
git-svn-id: trunk@37903 -
2018-01-04 09:04:31 +00:00
Jonas Maebe
118398a543 * test for mantis #32906 (already fixed in revision 37886)
git-svn-id: trunk@37892 -
2018-01-02 18:15:30 +00:00
Jonas Maebe
c0b0fa9c0b * change the type of the -gt uninitialised result of ansistring functions to
rawbytestring so the compiler does not try to convert it to the declared
    string type of the function result, as this may not be available
    (mantis #32510)

git-svn-id: trunk@37889 -
2018-01-01 18:04:13 +00:00
Jonas Maebe
672afcdca2 * check for conflicts between procedure directives specified in the
implementation and "virtual" (if it's a virtual method), as "virtual"
    does not get repeated in the implementation and hence no conflicts get
    checked by default (mantis #32605)

git-svn-id: trunk@37887 -
2018-01-01 16:54:04 +00:00
Jonas Maebe
1b66995754 * factored out check to determine whether a variable can be subscripted in
inline assembly, and fixed check after r35959 (mantis #32318)
   o can also subscript parameters passed by value on the stack
   o can also subscript local variables, the parameters passed by reference
     that are subsequently copied into a local

git-svn-id: trunk@37886 -
2018-01-01 14:29:21 +00:00
Jonas Maebe
dcac6b9c6f * disallow passing a dynarray(niln/pointerconstn) as an open array
(mantis #31273)

git-svn-id: trunk@37885 -
2017-12-31 15:18:40 +00:00
michael
40cc1d3731 * Compile server
git-svn-id: trunk@37874 -
2017-12-29 19:08:29 +00:00
michael
580979ed1c * Forgot to add
git-svn-id: trunk@37867 -
2017-12-29 17:07:59 +00:00
michael
90679c0ce7 * Correct lib name
git-svn-id: trunk@37866 -
2017-12-29 14:25:13 +00:00
michael
d997db7fa7 * Fix bug ID #32389 (patch from Martok) to fix script parsing
git-svn-id: trunk@37863 -
2017-12-29 13:25:49 +00:00
florian
cd9e18fab4 * made lazarus project names more systematic
git-svn-id: trunk@37841 -
2017-12-28 14:34:04 +00:00
florian
9a860db7df + lazarus project for ppcx86_64llvm
git-svn-id: trunk@37839 -
2017-12-28 14:23:55 +00:00
florian
0f51cf8546 * avr: correctly write references to nil, resolves #32821
git-svn-id: trunk@37838 -
2017-12-28 10:32:16 +00:00
michael
4a566ceec1 * Move compiler files to package.
* Separate lib compiler from library file.

git-svn-id: trunk@37835 -
2017-12-27 17:12:19 +00:00
Károly Balogh
6f2f739bce tosunits: add a more complex example program, a rotating 3D cube in a GEM window
git-svn-id: trunk@37800 -
2017-12-24 23:51:43 +00:00
Károly Balogh
44ce1e8ea3 tosunits: another example program, a resizable GEM window with event loop
git-svn-id: trunk@37796 -
2017-12-24 13:01:34 +00:00
Károly Balogh
55638510c0 tosunits: early bits for some VDI bindings
git-svn-id: trunk@37787 -
2017-12-23 02:19:42 +00:00
michael
3496256179 * Added library version of pas2js
git-svn-id: trunk@37752 -
2017-12-17 08:27:27 +00:00
michael
8342c502c5 * Initial check-in of pas2js changes
git-svn-id: trunk@37749 -
2017-12-16 15:55:10 +00:00
nickysn
4655e4a424 + ported the 'vesamode' unit to i8086-msdos
git-svn-id: trunk@37745 -
2017-12-16 02:04:49 +00:00
nickysn
a82740d7a7 + implemented the video and mouse units for i8086-msdos
git-svn-id: trunk@37743 -
2017-12-16 00:40:00 +00:00
nickysn
d8a2285a91 + enabled compilation of unit classes for win16; compiles only in the large
memory model for now (to be fixed later for the other memory models)

git-svn-id: trunk@37739 -
2017-12-15 19:56:30 +00:00
nickysn
5409450195 + ported and enabled compilation of unit sysutils for win16
git-svn-id: trunk@37734 -
2017-12-15 16:58:49 +00:00
svenbarth
916ff0b92c + extend Concat() with support for dynamic arrays
+ added test

git-svn-id: trunk@37723 -
2017-12-12 19:54:08 +00:00
michael
4467ff81a6 * Second grouping demo, showing fieldkind for user data loop and simple aggregates
git-svn-id: trunk@37666 -
2017-12-03 10:25:05 +00:00
nickysn
78e0f6c68b + added an i8086-specific FarAddr() function, similar to Addr(), but always
returns a far pointer, regardless of the current memory model

git-svn-id: trunk@37628 -
2017-11-27 16:41:48 +00:00
florian
4b8dcd676c * libcups interface unit included in FPC, resolves #32729
git-svn-id: trunk@37619 -
2017-11-26 09:33:34 +00:00
nickysn
c464f7fa56 * fixed the SEG inline asm directive when used with 32-bit registers on the i8086 target
git-svn-id: trunk@37613 -
2017-11-22 15:04:30 +00:00
Károly Balogh
e6aed467b5 renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
git-svn-id: trunk@37598 -
2017-11-17 11:27:19 +00:00
svenbarth
eb7059cea8 + add SQL-DB data dictionary engines for MySQL 5.6 and 5.7
git-svn-id: trunk@37577 -
2017-11-11 20:47:02 +00:00
nickysn
ae92973196 + added support for the retw, retnw, retfw, retd, retnd, retfd, retq, retnq and
retfq x86 instructions. These are variants of the ret instruction with the
  return offset size set explicitly, e.g. retfw is a 16-bit far ret (i.e. pops
  a 16-bit offset and a 16-bit segment), retfd is a 32-bit far ret (pops a
  32-bit offset, followed by a 16-bit segment), etc.

git-svn-id: trunk@37571 -
2017-11-10 16:53:29 +00:00
nickysn
3cbe377f40 + added 2 tests for absolute var access to a 2-dimensional array from within inline asm
git-svn-id: trunk@37562 -
2017-11-06 16:47:07 +00:00
nickysn
24d447716e * fixed support for access from inline asm to absolute vars, pointing to an
array element (previously, it would always point to the start of the array)

git-svn-id: trunk@37558 -
2017-11-06 16:06:34 +00:00
florian
c7d5525b56 + implemented some AVR specific intrinsics
git-svn-id: trunk@37544 -
2017-11-01 16:33:34 +00:00
florian
ff86c80176 * cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
nickysn
d570c09b9d + added test, which tests public labels as well as 'external far' variables on i8086
git-svn-id: trunk@37533 -
2017-10-30 18:08:39 +00:00
nickysn
be3ff9128a + added an i8086 test for the public directive
git-svn-id: trunk@37531 -
2017-10-30 17:02:48 +00:00
nickysn
29558a74cd + support exporting labels from asm blocks in intel syntax asm blocks via the
'public' directive

git-svn-id: trunk@37530 -
2017-10-30 16:44:13 +00:00
nickysn
d318ab086a * when handling absolute vars from within intel inline assembly, take the
absolute var size into account (not the type of the var it points to or no
  size at all, if it points to a fixed address)

git-svn-id: trunk@37525 -
2017-10-26 15:58:48 +00:00
nickysn
8a0d8f025b * fixed another i8086 inline asm 32-bit constant bug (e.g. in 'or eax, 80000001h')
git-svn-id: trunk@37521 -
2017-10-25 19:38:37 +00:00
nickysn
07eab50afe + added a test for 32-bit inline asm const operand on i8086, using at&t syntax as well
git-svn-id: trunk@37520 -
2017-10-25 18:09:11 +00:00
nickysn
325e66287c * fix for inline asm of instructions with 32-bit constant operands on i8086
git-svn-id: trunk@37519 -
2017-10-25 18:03:22 +00:00
nickysn
e58bad8eef + check for the 'pop cs' instruction in the x86 inline assembler and print a
warning (on the i8086 target) or an error (on i386 and x86_64) when this
  instruction is used (because it only works on 8086 and 8088 CPUs)

git-svn-id: trunk@37514 -
2017-10-24 15:07:20 +00:00
yury
af0fdea815 * Android: Include list of supported syscalls for each CPU.
Adjust Linux RTL to work with supported Android syscalls. 
  It should fix issues with Android 8.

git-svn-id: trunk@37480 -
2017-10-17 18:15:02 +00:00
nickysn
dd9b5eb2aa + added the 'Cannot override ES' message in the at&t assembler reader as well
git-svn-id: trunk@37456 -
2017-10-14 00:48:46 +00:00
nickysn
1ee36b5b9b + added error message in the intel assembler reader, when an attempt is made to
override the ES segment in an x86 string instruction (because it cannot be
  overriden)

git-svn-id: trunk@37454 -
2017-10-13 14:56:38 +00:00
nickysn
0fb79946a5 + added support for the parameterized versions of the x86 string instructions
(movs, cmps, scas, lods, stos, ins, outs) in the inline asm of the i8086, i386
  and x86_64 targets. Both intel and at&t syntax is supported.
* NEC V20/V30 instruction 'ins' (available only on the i8086 target, because it
  is incompatible with 386+ instructions) renamed 'nec_ins', to avoid conflict
  with the 186+ 'ins' instruction.

git-svn-id: trunk@37446 -
2017-10-12 00:07:02 +00:00