Commit Graph

20737 Commits

Author SHA1 Message Date
florian
52aa40c3b0 * remove explicit cast to int64 to avoid an internalerror 200706094, resolves #33004
git-svn-id: trunk@37946 -
2018-01-11 21:02:39 +00:00
florian
1a69c49e81 * fix range check errors by explicit casts
git-svn-id: trunk@37945 -
2018-01-11 21:00:18 +00:00
florian
724b822b54 * patch based on a proposal by J. Gareth Moreton to reduce register usage
git-svn-id: trunk@37941 -
2018-01-09 21:32:18 +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
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
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
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
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
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
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
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
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
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
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
pierre
dcc6a20d22 Call RegisterTarget for system_x86_6432_linux_info
git-svn-id: trunk@37891 -
2018-01-02 16:52:41 +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
Károly Balogh
6094910917 amiga/m68k: disable dynlibs feature. while the amiga has dynamic libraries, they have a different architecture, which don't mix with this feature. powerpc amiga could support the mainstream-style dynlibs, so keep it enabled there.
git-svn-id: trunk@37880 -
2017-12-30 07:00:15 +00:00
Károly Balogh
4c0e6980db atari: workaround/silence of a vlink warning, when it merges ro sections into rw ones. there are no ro sections on atari anyway
git-svn-id: trunk@37878 -
2017-12-30 06:51:32 +00:00
Károly Balogh
05642cd495 atari: switch off threading for atari tos. i think if we'll ever support MiNT, that should be a separate target, with all the advanced features enabled
git-svn-id: trunk@37877 -
2017-12-30 06:49:39 +00:00
florian
8eb885de91 * better error message if a unit is not found
git-svn-id: trunk@37868 -
2017-12-29 17:27:44 +00:00
Jeppe Johansen
e699be78ab Handle simple cases where a record member is passed in a register on AVR, and referenced from inline assembly.
git-svn-id: trunk@37864 -
2017-12-29 14:01:39 +00:00
Jeppe Johansen
a7d3d2d298 Fixed internal error in case inline assembler constants are used.
git-svn-id: trunk@37859 -
2017-12-29 11:50:36 +00:00
Jeppe Johansen
4a169e6b1a Changed subarch of at90pwm161
git-svn-id: trunk@37858 -
2017-12-29 11:30:35 +00:00
florian
5e9ae7f062 * update of german message files by Karl-Michael Schindler, second try, resolves #31921
git-svn-id: trunk@37843 -
2017-12-28 14:59:08 +00:00
florian
94de872927 * fix compilation for llvm as proposed by Karl-Michael Schindler, resolves #31969
git-svn-id: trunk@37842 -
2017-12-28 14:57:35 +00:00
florian
cd9e18fab4 * made lazarus project names more systematic
git-svn-id: trunk@37841 -
2017-12-28 14:34:04 +00:00
florian
3dd488114b * project name fixed
git-svn-id: trunk@37840 -
2017-12-28 14:25:36 +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
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
Károly Balogh
ad1742373a atari: remove -sd vlink option. this stops the linker from merging the bss segment into the data segment shaving off about 8K from the Hello, world! size. the data segment is merged into a single one on atari anyway, so this argument is not needed
git-svn-id: trunk@37826 -
2017-12-27 01:01:41 +00:00
florian
8df58981cf * update of german message files by Karl-Michael Schindler, resolves #31921
git-svn-id: trunk@37811 -
2017-12-25 23:01:32 +00:00
nickysn
65c2575883 + added win16stub const array (small dos exe, which prints 'This program
requires Microsoft Windows.'). Will be used by the future win16 internal
  linker.

git-svn-id: trunk@37775 -
2017-12-21 15:00:43 +00:00