Commit Graph

52566 Commits

Author SHA1 Message Date
maciej-izak
f719f81c06 + added new types for the system unit: opaque data type (TOpaqueData) and related opaque pointer (POpaqueData) (mantis #32977)
git-svn-id: trunk@37940 -
2018-01-09 21:18:26 +00:00
florian
11a3d8762a * patch by J. Gareth Moreton:
- Moved the part that emits the CMOV command outside of the if-else block, because it's the same in both branches and was just duplicated code.
  - Moved a comment about powers of 2 to be right before the correct if-else block.
  - Added a couple of comments to explain what the algorithm is doing to obtain the remainder.
  - Added missing "writeln('ok');" (since 'tmoddiv3.pp' has it) and program header to 'tmoddiv4.pp'.
  - Changed program name from "testfile2" to "tmoddiv3" in 'tmoddiv3.pp'.

git-svn-id: trunk@37939 -
2018-01-09 20:04:49 +00:00
Jonas Maebe
4014f900cb * fixed get_iso_range_type() for non-integer orddefs (belongs with r37934)
git-svn-id: trunk@37938 -
2018-01-09 19:03:36 +00:00
Károly Balogh
7c3702d3b0 palmos: make it easy to disable certain features, also disable some which are not needed now. hello, world! is about 6K with these settings, about 5K smaller than otherwise
git-svn-id: trunk@37937 -
2018-01-09 15:17:10 +00:00
Károly Balogh
31ad24023f palmunits: few tweaks to the palmcube example. don't loop for no reason, handle the return values of syshandleevent as expected, somewhat less stack use
git-svn-id: trunk@37936 -
2018-01-09 11:33:59 +00:00
Jonas Maebe
5f7d3e16f5 * increase comment nesting level when "(*" is followed by another '*'
(mantis #32019)

git-svn-id: trunk@37935 -
2018-01-07 21:05:50 +00:00
Jonas Maebe
a2217cedd5 * evaluate the lower and upper bounds of for-loops in ISO mode using the
ISO-defined range type, instead of using the type of the iteration
    variable (mantis #24318)

git-svn-id: trunk@37934 -
2018-01-07 18:51:53 +00:00
Károly Balogh
8d3cf05b73 palmunits: optimized palmcube slightly, and added offscreen rendering to eliminate flickering on real devices
git-svn-id: trunk@37933 -
2018-01-07 18:31:40 +00:00
florian
9915de038f * build x86-64 with optimizer as well, it is unclear, why -dNOOPT was added
git-svn-id: trunk@37932 -
2018-01-07 16:23:15 +00:00
Károly Balogh
d03e0d3bfb palmos: bail out earlier when we're not in NormalLaunch mode, should fix Fatal Exception crash when installing the app on a real device using HotSync
git-svn-id: trunk@37931 -
2018-01-07 16:17:00 +00:00
Jonas Maebe
0f0bdabb89 * if an absolute typeconversion changes the size, make the source not
regable. Normally this is done when the absolute typeconversion node
    gets created, but the size can sometimes still change afterwards (e.g.
    when removing superfluous 64 bit type conversions) (mantis #32160)

git-svn-id: trunk@37930 -
2018-01-07 15:37:23 +00:00
florian
8714ddafa5 * fix pathes of IDE package
* cosmetic changes (indention)
* cross IDE gets now the CPU name as a prefix
* cross IDE units are build into a seperate dir, so after a full build, a cross IDE can be easily build

git-svn-id: trunk@37929 -
2018-01-07 14:56:44 +00:00
Jonas Maebe
53bef8d202 * fixed calculation of high parameter for arrays with non-integer bounds
(mantis #32645)

git-svn-id: trunk@37928 -
2018-01-07 13:01:14 +00:00
Jonas Maebe
ae087b92d7 * when creating a unique type alias for an object, class or interface,
create a child object/class/interface instead of a copy of the original.
    This fixes override/inheritance checks, and is also Delphi-compatible

git-svn-id: trunk@37927 -
2018-01-07 12:25:16 +00:00
florian
3ce7927096 * made the ide a package, so it can be build in parallel with the other packages, reasons:
- lowers build times
  - ide is not that important anymore than years before
  - other utils like pastojs are also located in the packages tree

git-svn-id: trunk@37926 -
2018-01-06 20:22:30 +00:00
Jonas Maebe
2919d97f91 * support asssigning @class.classmethod to a procvar of object in FPC modes
(mantis #14103)

git-svn-id: trunk@37925 -
2018-01-06 17:47:44 +00:00
Károly Balogh
256c7d4144 palmunits: added the rotating cube example, PalmOS edition. tested to work down to OS3.0
git-svn-id: trunk@37924 -
2018-01-06 15:53:59 +00:00
Károly Balogh
d04a4f3ec3 palmunits: updated hello example, so no coordinates are hardwired. added a copyright header
git-svn-id: trunk@37923 -
2018-01-06 15:52:52 +00:00
florian
81b2cf5d65 * slightly modified patch by J. Gareth Moreton: Optimization for 'mod' on i386/x86-64, resolves #32945
git-svn-id: trunk@37922 -
2018-01-06 14:58:28 +00:00
Jonas Maebe
1934285c20 * don't convert "int64(sint32) * cardinal_const" into a 32x32->64
multiplication (mantis #32046)

git-svn-id: trunk@37921 -
2018-01-06 13:44:03 +00:00
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
6d072872d0 * fix compilation with 3.0.x and -Oonodedfa enabled after r37887
git-svn-id: trunk@37919 -
2018-01-06 11:26:19 +00:00
Károly Balogh
7e630686e0 * do not use a wildcard while deleting smartlinked objects after linking stage in a script, conflicts with script filename quoting on Unix at least
git-svn-id: trunk@37918 -
2018-01-06 10:19:21 +00:00
Károly Balogh
3dda26b3b5 * quote assembly filenames in Unix script, fixes sh errors with smartlinked small filenames like unitname(1), etc
git-svn-id: trunk@37917 -
2018-01-06 10:17:18 +00:00
Károly Balogh
75158d02ca m68k: set palmos to use 68000 and no FPU by default
git-svn-id: trunk@37916 -
2018-01-06 08:43:20 +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
f1ace2b74d - reverted r36870, Darwin's assembler uses a different way to specify
32/64 bit (like it was before; fixes mantis #32954)

git-svn-id: trunk@37914 -
2018-01-05 19:48:19 +00:00
Mattias Gaertner
b00143005c pastojs: scoped enum with numbers
git-svn-id: trunk@37913 -
2018-01-04 21:36:33 +00:00
Jonas Maebe
320a699967 * fixed storing the symbols of the global macro symbol table in the ppu in
macpas mode after r32153
   o adjusted test so it checks this

git-svn-id: trunk@37912 -
2018-01-04 20:51: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
Mattias Gaertner
4a490323e1 pastojs: error on record variant
git-svn-id: trunk@37910 -
2018-01-04 19:59:12 +00:00
Mattias Gaertner
8401bd1286 fcl-passrc: not supported message
git-svn-id: trunk@37909 -
2018-01-04 19:58:59 +00:00
pierre
0c3486f6e4 Add 'U' to list of first pass parsing, required to set cs_compilesystem early and avoid false error
git-svn-id: trunk@37908 -
2018-01-04 16:37:13 +00:00
pierre
2130c43685 Add @rtl.cfg to FPC_SYSTEM_OPT to cope with new restriction for -Sf option
git-svn-id: trunk@37907 -
2018-01-04 16:35:55 +00:00
pierre
3e92219f21 Add RESOURCES to the list of features iin rtl.cfg
git-svn-id: trunk@37906 -
2018-01-04 16:35:12 +00:00
Mattias Gaertner
79ede7fa38 pastojs: version 0.8.42
git-svn-id: trunk@37905 -
2018-01-04 14:47:05 +00:00
Mattias Gaertner
70bc4e62ed pas2js: updated compileserver.lpi
git-svn-id: trunk@37904 -
2018-01-04 14:42:25 +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
Károly Balogh
a371b39ee9 palmos: updated the RTL readme
git-svn-id: trunk@37902 -
2018-01-04 09:02:19 +00:00
Károly Balogh
d2f051be8f palmos: include the new startup code in the build
git-svn-id: trunk@37901 -
2018-01-04 08:44:56 +00:00
Károly Balogh
64e7c90147 m68k: some quickhacks to support PalmOS reg-relative globals and quick-n-dirty small code PIC. needs some cleanup, but the basic idea will be useful a potential for MacOS and Amiga .library support as well, among others
git-svn-id: trunk@37900 -
2018-01-04 08:33:43 +00:00
Károly Balogh
aaa40927fe palmos: also pass --embedded-relocs to the linker. mimics what prc-tools GCC does
git-svn-id: trunk@37899 -
2018-01-04 08:27:23 +00:00
Károly Balogh
ac127ac10a palmos: no .rodata section here either
git-svn-id: trunk@37898 -
2018-01-04 08:26:22 +00:00
Károly Balogh
57b2064cdd m68k/palmos: support the prc-tools specific @END hack for globals when writing data symbols
git-svn-id: trunk@37897 -
2018-01-04 07:57:29 +00:00
Károly Balogh
9f974369a1 palmos: for C and syscall functions, expect return values in A0. mark D2 and A2 as volatile during function calls
git-svn-id: trunk@37896 -
2018-01-04 07:52:11 +00:00
Károly Balogh
58d98d8cd7 m68k: made the PIC_OFFSET_REGs runtime changeable, and applied some defaults
git-svn-id: trunk@37895 -
2018-01-04 07:50:50 +00:00
Károly Balogh
ae1b005b1a palmos: turned off large object generation for palmos, fixed linking by skipping the unnecessary obj-res stage
git-svn-id: trunk@37894 -
2018-01-04 07:36:10 +00:00
Károly Balogh
b8474bab0d palmos: fixed startup code to properly relocate the data segment when requested by the OS
git-svn-id: trunk@37893 -
2018-01-04 07:34:00 +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
pierre
dcc6a20d22 Call RegisterTarget for system_x86_6432_linux_info
git-svn-id: trunk@37891 -
2018-01-02 16:52:41 +00:00