Commit Graph

51603 Commits

Author SHA1 Message Date
pierre
987dd2754c Add explicit object file name (required when using linux wasm executable, for which default object extension is .o not .obj
git-svn-id: trunk@36835 -
2017-08-04 13:26:17 +00:00
pierre
4626db1814 Adapt to DoDirSeparators declaration change
git-svn-id: trunk@36834 -
2017-08-04 13:25:16 +00:00
pierre
d7cdbcd71e m68k CPU also needs -SfSOFTFPU option
git-svn-id: trunk@36833 -
2017-08-04 13:09:37 +00:00
pierre
7966957ec9 Add configuration options for i8086 and m68k CPUs
git-svn-id: trunk@36832 -
2017-08-04 12:56:15 +00:00
pierre
db00b1e554 Fix two obvious compilation errors
git-svn-id: trunk@36831 -
2017-08-04 12:26:24 +00:00
pierre
a1b956f778 Remove erroneous directory prefixes for PPU files in dependencies
git-svn-id: trunk@36830 -
2017-08-04 12:18:35 +00:00
pierre
9fb2652433 List possible CPU in alphabetical order
git-svn-id: trunk@36829 -
2017-08-04 11:14:12 +00:00
pierre
4d29122097 msgtxt.inc and msgidx.inc regenerated after: Remove obsolete -Tsunos help line, it is not accpeted by the compiler anymore
git-svn-id: trunk@36828 -
2017-08-04 09:38:59 +00:00
pierre
8fba611697 Remove obsolete -Tsunos help line, it is not accpeted by the compiler anymore
git-svn-id: trunk@36827 -
2017-08-04 09:38:08 +00:00
pierre
1322a3f53e Avoid double rule for system unit
git-svn-id: trunk@36826 -
2017-08-04 09:16:54 +00:00
pierre
e6d282d2ed Avoid double rule for iso7185 unit
git-svn-id: trunk@36825 -
2017-08-04 09:12:39 +00:00
pierre
708b9e162c Add obsolete comment in ppudump output for obsoleted cpu and systems
git-svn-id: trunk@36824 -
2017-08-04 09:07:01 +00:00
pierre
3d5be0fd2d Add obsolete prefix to cpu_vm and system_vm_embedded, vm(vis) specfic code has been removed in rev 30836 dated 2015-05-09
git-svn-id: trunk@36823 -
2017-08-04 09:02:50 +00:00
pierre
f281ee339e Add obsolete prefix to cpu_ia64, system_ia64_win64 and system_ia64_embedded, ia64 specfic code has been removed in rev 30836 dated 2015-05-09
git-svn-id: trunk@36822 -
2017-08-04 08:54:34 +00:00
pierre
cf5c6d11ac Add obsolete prefix to cpu_alpha, system_alpha_linux and system_alpha_embedded, alpha specfic code has been removed in rev 30836 dated 2015-05-09
git-svn-id: trunk@36821 -
2017-08-04 08:29:02 +00:00
nickysn
ee4c82f5f5 * in the high level optimization of signed division by power-of-2 constant, set
shiftval to left.resultdef.size*8-1, instead of 31, so that it shifts by 15 or
  7 on 16-bit and 8-bit CPUs, when the integer type is small.

git-svn-id: trunk@36820 -
2017-08-03 16:02:27 +00:00
Mattias Gaertner
37c9dc2c3f fcl-passrc: resolver: eval set of integer range
git-svn-id: trunk@36819 -
2017-08-03 09:28:29 +00:00
pierre
936fac3a33 Remove double-compilation of unixtype unit
git-svn-id: trunk@36818 -
2017-08-02 22:36:28 +00:00
michael
cccff83bab * Fix compilation
git-svn-id: trunk@36817 -
2017-08-02 11:11:54 +00:00
michael
1729d6a848 * Rework to be able to use in compiler testsuite
* Refactor for better code readability
  * Set exit status based on bitmask: 
    bit 0 set -> there were failures
    bit 1 set -> there were errors 
  * Allow use of testdefaults.ini file
  * Location of testdefaults.ini file can be set in environment variable FPCUNITCONFIG.
  * Improved usage message.

git-svn-id: trunk@36816 -
2017-08-02 10:02:24 +00:00
nickysn
19087d04da * replace several emit_const_reg calls that generate SHR or SAR instructions
with calls to cg.a_op_const_reg in the x86 div code generator, so that the
  same code can be used in the future for i8086 as well (SHR and SAR by
  constants other than 1 are 186+, so on 8086 they have to go through the CL
  register, which is handled correctly in cg.a_op_const_reg)

git-svn-id: trunk@36815 -
2017-07-31 16:02:52 +00:00
florian
f4718c0969 * made nop handling generic for sparc, so it is used by sparc64 as well
git-svn-id: trunk@36814 -
2017-07-29 20:06:14 +00:00
pierre
ba7586a5c8 Fix for FPU generated exception as interrupt 0x10, contributed by Max Nazhalov
git-svn-id: trunk@36813 -
2017-07-29 11:50:21 +00:00
lacak
301fc9af70 fcl-db: base: fix widestring copy #32215
git-svn-id: trunk@36812 -
2017-07-28 19:04:28 +00:00
Mattias Gaertner
4a588fcbc2 pastojs: error on var absolute
git-svn-id: trunk@36811 -
2017-07-28 17:50:52 +00:00
Mattias Gaertner
e266fd75e0 fcl-passrc: resolver: read widechar literals
git-svn-id: trunk@36810 -
2017-07-28 17:50:24 +00:00
svenbarth
e76b1b2959 * use unique internalerror instead of copying that from ncgmem (though it should never happen that both occur at once in a AVR compiler)
git-svn-id: trunk@36809 -
2017-07-28 15:54:03 +00:00
svenbarth
88c98e87cd * declare REFIID compatible to Win32/Win64
git-svn-id: trunk@36808 -
2017-07-28 15:43:13 +00:00
nickysn
b92b0eac83 * also improve the code, generated for signed division by 2 on i8086, when
optimize cpu target is 486+, by replacing the sequence
    sar reg, 15
    and reg, 1
  with:
    shr reg, 15

git-svn-id: trunk@36807 -
2017-07-28 15:38:40 +00:00
svenbarth
0076284a86 * revert changes from r36770
* use constref for REFIID parameters, at least for non-interface functions (interface methods will be done separately as they're a breaking change, not to mention TObject's methods)

git-svn-id: trunk@36806 -
2017-07-28 15:37:49 +00:00
Károly Balogh
4002833001 morphos: also enable the elf32 loader in exeinfo for morphos
git-svn-id: trunk@36805 -
2017-07-28 12:20:40 +00:00
Károly Balogh
ac19b0eae6 morphos: enabling lineinfo unit
git-svn-id: trunk@36804 -
2017-07-27 22:31:19 +00:00
Károly Balogh
33abf859b4 netbsd/m68k: a fuggly fix for FpLseek, so the compiler works natively at least
git-svn-id: trunk@36803 -
2017-07-27 19:02:40 +00:00
Károly Balogh
12697deda7 netbsd: try to support syscalls which return 64bit values properly on 68k
git-svn-id: trunk@36802 -
2017-07-27 19:01:38 +00:00
Károly Balogh
071b588da2 netbsd/m68k: tweaks, so it works at least in my test-env with NetBSD/amiga 7.1
git-svn-id: trunk@36801 -
2017-07-27 19:00:37 +00:00
nickysn
9e8cc127b0 * improved the code, generated for signed division by 2 on i386 and x86_64 by
replacing the sequence
    sar reg, 31 (or 63)
    and reg, 1
  with:
    shr reg, 31 (or 63)

git-svn-id: trunk@36800 -
2017-07-27 16:02:30 +00:00
nickysn
bb7cd4866d * corrected comment in x86 division code - it said "signed", when it actually meant "negative"
git-svn-id: trunk@36799 -
2017-07-27 15:04:56 +00:00
maciej-izak
b087cc81f5 fcl-passrc: paswrite: fix for fields declarations inside classes. Variables can't be declared directly after methods nor properties (visibility section or var keyword is required)
git-svn-id: trunk@36798 -
2017-07-27 10:07:22 +00:00
nickysn
b6c3329f20 + also check for negative powers of 2 in the mod by power-of-2 constant x86 optimization, since the sign of the divisor is ignored by the 'mod' operation
git-svn-id: trunk@36797 -
2017-07-26 16:10:41 +00:00
nickysn
4b00414183 + added helper isabspowerof2, which checks whether abs(value) is a power of 2
git-svn-id: trunk@36796 -
2017-07-26 16:08:31 +00:00
pierre
7ee567fcca Use A_LD_R alias in functions using GOT indirection
git-svn-id: trunk@36795 -
2017-07-26 14:58:03 +00:00
pierre
ef3b006eb2 Use A_LD_R alias in do_spill_replace function
git-svn-id: trunk@36794 -
2017-07-26 14:57:21 +00:00
pierre
6e18d537fc Use A_LD_R and A_ST_R aliases for spilling_create_(load|store) functions
git-svn-id: trunk@36793 -
2017-07-26 14:56:11 +00:00
pierre
f5dfbb5ff3 Add A_ST_R and A_LD_R instruction alias for whole register size store/load
git-svn-id: trunk@36792 -
2017-07-26 14:53:30 +00:00
pierre
dc0e8de99f Fix PIC code
git-svn-id: trunk@36791 -
2017-07-26 14:52:12 +00:00
pierre
1c3996979a Fix PIC code
git-svn-id: trunk@36790 -
2017-07-26 14:47:28 +00:00
pierre
5491cf9519 Force PIC usage for sparc64 CPU
git-svn-id: trunk@36789 -
2017-07-26 14:46:41 +00:00
marcus
13ab320618 Ami-Extra: muihelper does not need amigalib anymore, functions are moved to utility
git-svn-id: trunk@36788 -
2017-07-25 17:16:42 +00:00
maciej-izak
ddc7631e09 fcl-passrc: paswrite: prepare 'type' section for types only when type has parent like module interface section etc.
git-svn-id: trunk@36787 -
2017-07-25 13:51:59 +00:00
maciej-izak
c025e4cb61 fcl-passrc: paswrite: prepare type section for enums and unresolved type ref.
git-svn-id: trunk@36786 -
2017-07-25 13:28:05 +00:00