Commit Graph

40349 Commits

Author SHA1 Message Date
nickysn
33e04e954a + implemented crt.[no]sound for i8086-msdos; the crt unit is now complete
git-svn-id: trunk@24686 -
2013-06-01 08:34:29 +00:00
Jonas Maebe
3456f20546 * changed checks for support of opmm* calls in hlcg2ll from mms_movescalar
to whether the argument is a float type (the check is there to determine
    whether def_cgsize() can give us a correct result, which it can for
    floating point types but not yet for arrays used as vectors)

git-svn-id: trunk@24685 -
2013-06-01 08:28:32 +00:00
marco
c987e1f5b9 * add CPU prefix to some defines
M    netbsd/signal.inc

git-svn-id: trunk@24684 -
2013-06-01 08:17:30 +00:00
Károly Balogh
7ce3b803b3 basic Amiga/MorphOS support into ExtractFileDrive
git-svn-id: trunk@24683 -
2013-05-31 23:53:47 +00:00
Károly Balogh
a427f41f17 some MorphOS specific defines added
git-svn-id: trunk@24682 -
2013-05-31 23:50:31 +00:00
nickysn
68a80ccc66 * use rep movsw in crt.dosmemmove for i8086-msdos
git-svn-id: trunk@24681 -
2013-05-31 22:26:16 +00:00
nickysn
0446ccbba7 + implemented crt.delay for i8086-msdos
git-svn-id: trunk@24680 -
2013-05-31 22:17:23 +00:00
marco
56d3197ef2 * wndclass was defined with T stringtypes, even though aliased to -A variants.
W variants were ok. Rearranged to more normal ifdef unicode setup.

git-svn-id: trunk@24679 -
2013-05-31 21:39:31 +00:00
florian
44a7ef600f * improve register handling for not and unary minus operator by using a new register for the destination
git-svn-id: trunk@24678 -
2013-05-31 21:32:58 +00:00
florian
4056194e7c * don't ignore by accident the next instruction after a newly inserted constant pool
git-svn-id: trunk@24677 -
2013-05-31 21:29:08 +00:00
florian
3a393f839e * do not reuse register locations on arm fpa/vfp
git-svn-id: trunk@24676 -
2013-05-31 21:29:05 +00:00
marco
8592b306f5 * some more Unicode Windows headers fixes.
git-svn-id: trunk@24673 -
2013-05-31 17:58:18 +00:00
masta
8c32802fcf Added LdrbAnd2Ldrb Peephole optimizer for arm
Changes the following code:
  ldrb dst1, [REF]
  and  dst2, dst1, #255
  # dealloc dst1
to
  ldrb dst2, [REF]

git-svn-id: trunk@24672 -
2013-05-31 17:36:54 +00:00
nickysn
10b3ce1ba5 * fixed an opsize bug in ti8086addnode.second_add64bit, which caused 32-bit instructions to be emitted
git-svn-id: trunk@24670 -
2013-05-31 17:13:38 +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
nickysn
1ee6628afd + implemented all the crt screen output functions for i8086-msdos
git-svn-id: trunk@24668 -
2013-05-31 15:09:10 +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
5b503f42c7 + implemented Mem/MemW/MemL[] for i8086
git-svn-id: trunk@24665 -
2013-05-31 13:31:45 +00:00
Károly Balogh
af1f84892c try to do VLink support semi-properly, so cross compilation is possible
git-svn-id: trunk@24664 -
2013-05-31 13:04:44 +00:00
Jonas Maebe
1551c773e0 - removed no longer necessary thlcg2ll.initialize_regvars override and
commented dummy location_force_mmregscalar (fully implemented in r24661)

git-svn-id: trunk@24663 -
2013-05-31 12:21:53 +00:00
Jonas Maebe
51f52565ce * fixed cross-testing: test TESTCOMPILER variable before emptying OPT,
and assign (:=) rather than create a reference to (=) the original
    OPT in TESTCOMPILER

git-svn-id: trunk@24662 -
2013-05-31 12:05:21 +00:00
Jonas Maebe
5051453806 + support for LOC_(C)MMREGISTER in hlcg
o migrated location_force_mmregister_scalar from ncgutil to hlcgobj

git-svn-id: trunk@24661 -
2013-05-31 12:05:14 +00:00
nickysn
c271594b4f + optimized implementation of 32-bit OP_SHL,OP_SHR and OP_SAR in tcg8086.a_op_const_reg
git-svn-id: trunk@24660 -
2013-05-31 11:03:36 +00:00
nickysn
89cbbe5931 + enabled compilation of unit objects for i8086-msdos
git-svn-id: trunk@24659 -
2013-05-31 09:39:17 +00:00
marco
527489c1ab * some minor fixes to get unit Windows compiled with UNICODE defined.
git-svn-id: trunk@24658 -
2013-05-31 09:09:08 +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
db5573b395 * fixed the nasm assembly output for SAR/SAL with a memory reference
git-svn-id: trunk@24656 -
2013-05-31 08:21:42 +00:00
Károly Balogh
348615589b disabled sockets unit, because it doesn't build ATM
git-svn-id: trunk@24653 -
2013-05-30 19:08:28 +00:00
Károly Balogh
24e2bd4364 added a dummy implementation of GetLastOSError
git-svn-id: trunk@24652 -
2013-05-30 19:07:41 +00:00
Károly Balogh
b3c4450186 make a warning a note, so it compiles with -Sew
git-svn-id: trunk@24651 -
2013-05-30 19:04:14 +00:00
nickysn
a36288ee68 + enabled compilation of unit fgl on i8086-msdos
git-svn-id: trunk@24650 -
2013-05-30 19:02:13 +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
nickysn
125a6a8720 * register id of (e)flags changed, so it doesn't overlap with dr0
git-svn-id: trunk@24647 -
2013-05-30 16:40:59 +00:00
nickysn
ed92dee3fb * fixed the calling of virtual methods on i8086
git-svn-id: trunk@24646 -
2013-05-30 16:23:29 +00:00
masta
073cab8d86 Optimize FoldShiftLdrStr in ARM Peephole optimizer
The optimizer now juggles around the base and index register if that opens
up the possibility of folding the shift into the instruction.

This can only be done in the case of addressmode=AM_OFFSET, in case of
[AM_POSTINDEXED, AM_PREINDEXED] we can not move the base register, as this
would cause havoc and destruction.

git-svn-id: trunk@24645 -
2013-05-30 16:13:58 +00:00
marco
e57174a14f * defined -W versions for several -A functions under ifdef FPC_UNICODE_RTL
git-svn-id: trunk@24644 -
2013-05-30 15:47:41 +00:00
sergei
fe322f35d5 * MIPS: fixed passing CPU type specified with -CpXXX switch to assembler
- removed mips_cpu variable and cpu_mips_default CPU type.
  * globals.pas: default CPU type changed to MIPS2, this is what was passed to assembler before.

git-svn-id: trunk@24643 -
2013-05-30 15:02:40 +00:00
Jonas Maebe
a1bc04bbb3 * don't omit stack frame generation when generating gprof information, as
mcount expects the frame pointer to be valid

git-svn-id: trunk@24642 -
2013-05-30 13:43:51 +00:00
nickysn
35939ff0a9 + method pointer support for targets with a 16-bit address space in tcgloadnode.pass_generate_code
git-svn-id: trunk@24641 -
2013-05-30 13:22:59 +00:00
Jonas Maebe
78f94ab035 * made calls to seterrno position-independent
git-svn-id: trunk@24640 -
2013-05-30 12:23:50 +00:00
svenbarth
6eaefeed7f Addendum to 24628: forgot to increase PPU version
git-svn-id: trunk@24639 -
2013-05-30 12:21:03 +00:00
Jonas Maebe
d6180b1e70 * properly propagate PIC-related suffixes from the x86 assembler reader in
case the operand was parsed as a symbol

git-svn-id: trunk@24638 -
2013-05-30 12:20:48 +00:00
Jeppe Johansen
0bb8d24e24 Add some immediate forms of shift instructions to tcgthumb.a_op_const_reg
git-svn-id: trunk@24637 -
2013-05-30 12:07:32 +00:00
Jeppe Johansen
e5066a5f43 Update jumptabel generation for ARM Thumb
git-svn-id: trunk@24636 -
2013-05-30 12:06:30 +00:00
Jeppe Johansen
c4263ced51 Disable one peephole optimization for Thumb
git-svn-id: trunk@24635 -
2013-05-30 12:05:27 +00:00
nickysn
1797c8b803 * i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now
git-svn-id: trunk@24634 -
2013-05-30 10:16:05 +00:00
sergei
0ad96d2099 * MIPS: some clean up of assembler reader:
- references cannot be in brackets
  - registers are only prefixed by dollar, never by percent
  - syntax x@LO is not supported, must be %lo(x).

git-svn-id: trunk@24633 -
2013-05-30 09:28:21 +00:00
lacak
eeabb9403e fcl-db: base: change formal data type of AsInteger to Longint instead of Integer (in objpas mode it is same as Integer) to be Delphi compatible.
Change call chain GetAsInteger calls GetAsLongint to GetAsLongint calls GetAsInteger, because AsInteger is used often than GetAsLongint so we save one more call.

git-svn-id: trunk@24632 -
2013-05-30 08:26:39 +00:00