Jeppe Johansen
7fdb125356
Added AVR support to fpc and root Makefile.
...
Rebuilt root Makefile.
git-svn-id: trunk@26944 -
2014-03-04 08:02:10 +00:00
Jeppe Johansen
2227045e23
Replace forbidden chars in more places in the GAS assembler writer.
...
Add support for .set and .weak on AVR.
Fix 64 bit negation on AVR.
Add cpu_capabilities to cpuinfo.pas and fixed some peephole optimizations.
Pass >4 byte parameters by reference.
git-svn-id: trunk@26943 -
2014-03-04 08:01:23 +00:00
sergei
5e8f8f4755
* Use GOT-relative constants for i386 PIC jump tables, they don't need runtime relocations. Now almost ABI-compliant on Linux/BSD (Darwin targets unchanged). Also clean up i8086-specific stuff: using tai_const.create_type_sym(aitconst_ptr,...) generates near pointers on i8086, which is the desired goal.
...
git-svn-id: trunk@26942 -
2014-03-03 21:06:49 +00:00
sergei
d613ab8578
* x86: improve x87 qword to float conversion, using single-precision constants saves space and removes need in separate load on FPU stack. No precision loss occurs because 2**64 is representable exactly even in single precision.
...
git-svn-id: trunk@26941 -
2014-03-03 20:41:42 +00:00
michael
2ae138d95c
* Applied patch from Luiz Americo to make set functions return previous value (bug ID 25795)
...
git-svn-id: trunk@26940 -
2014-03-03 14:13:00 +00:00
michael
54e926fdb5
* Set mode explicitly to fpc
...
git-svn-id: trunk@26939 -
2014-03-03 13:36:07 +00:00
reiniero
57582dd710
fcl-db: dbtestframework: cosmetic
...
git-svn-id: trunk@26938 -
2014-03-03 12:54:14 +00:00
reiniero
cb9c15a256
fcl-db: dbtestframework:
...
* Cosmetic: Oracle, MySQL drop table command convenience call
git-svn-id: trunk@26937 -
2014-03-03 12:25:31 +00:00
reiniero
5c0f205a57
fcl-db: cosmetic: another debug build mode for dbtestframework_gui
...
git-svn-id: trunk@26936 -
2014-03-03 11:35:03 +00:00
Károly Balogh
13210ff7d4
use MVZ/MVS ColdFire instructions to load constants where applicable
...
git-svn-id: trunk@26935 -
2014-03-03 00:53:52 +00:00
nickysn
2908fa9123
+ added type parentfpvoidpointertype, which is a void pointer with the same size
...
as the hidden parentfp parameter, passed to nested procs. On i8086 it is
always a near pointer, unlike voidpointer (which changes according to the
memory model). This fixes nested procs in i8086 far data memory models.
git-svn-id: trunk@26934 -
2014-03-02 22:55:52 +00:00
nickysn
9321d9916d
* use voidpointer.size instead of sizeof(pint) in tparamanager.push_size in
...
order to properly support i8086 far data memory models
git-svn-id: trunk@26933 -
2014-03-02 22:51:37 +00:00
nickysn
229ebf33a8
+ support getting the address of far references on i8086 in
...
tcgx86.a_loadaddr_ref_reg
git-svn-id: trunk@26932 -
2014-03-02 22:21:16 +00:00
Jeppe Johansen
66f5b71fe9
Fixed passing of 32bit arguments on 8-bit architectures.
...
Added initial RTL startup code for AVR.
git-svn-id: trunk@26931 -
2014-03-02 20:53:21 +00:00
florian
23c724f885
* prevent a temp. register allocated during spilling being immediately spilled again, resolves #25164
...
git-svn-id: trunk@26930 -
2014-03-02 19:47:05 +00:00
nickysn
cb0f7e265d
+ fixed get_frame for i8086 far data memory models
...
git-svn-id: trunk@26929 -
2014-03-02 19:36:35 +00:00
nickysn
75134c2a26
+ default_x86_data_pointer_type implemented as function that returns the proper
...
type in far data memory models
git-svn-id: trunk@26928 -
2014-03-02 19:35:36 +00:00
nickysn
a7117a6157
+ enabled the compact and large i8086 memory models (they don't work yet, so
...
that's why they're not added to the compiler help screen yet)
git-svn-id: trunk@26927 -
2014-03-02 19:26:49 +00:00
nickysn
ad45bc17ec
* local variables in fpc_AnsiStr_Concat_multi changed from longint to nativeint
...
git-svn-id: trunk@26926 -
2014-03-02 19:24:24 +00:00
Jeppe Johansen
e33550b67d
Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
...
Cleaned up parameter and funcretloc information generation in AVR paramanger, and made it closer to GCC's calling convention.
Fixed a number of codegenerator bugs generating invalid or broken instructions: CP operands were swapped, a number of instructions had immediate operands, and stack frame epilogue wasn't complete.
Added a bunch of peephole optimizations that clears the generated code up a lot.
git-svn-id: trunk@26925 -
2014-03-02 15:37:24 +00:00
florian
68f1a51164
* set PIC defines earlier, resolve #25788
...
git-svn-id: trunk@26924 -
2014-03-02 15:35:08 +00:00
Károly Balogh
1d5f74fae0
m68k implementation of g_save_registers and g_restore_registers using movem.l
...
git-svn-id: trunk@26923 -
2014-03-02 14:58:05 +00:00
nickysn
ae28ecd5f8
* changed the for loop counters in the resource string helper routines to be
...
nativeint instead of longint (generates more efficient code on i8086)
git-svn-id: trunk@26922 -
2014-03-02 13:42:30 +00:00
nickysn
5242ed7864
* changed TResStrInitTable.Count and TWStrInitTablesTable.Count to nativeint
...
git-svn-id: trunk@26921 -
2014-03-02 13:27:59 +00:00
nickysn
49b65fedd9
* TResourceStringTableList.Count type changed from ptrint to nativeint. Both
...
types are the same on almost all platforms. The only difference is on i8086,
where ptrint changes according to the memory model, while nativeint stays
16-bit. In the compiler, the count is emitted with Tai_const.Create_pint,
which also stays 16-bit in all memory models, so the correct corresponding
type in the rtl is nativeint.
git-svn-id: trunk@26920 -
2014-03-02 12:47:32 +00:00
nickysn
0d1342a791
* don't call FinalizeHeap from InternalExit if FPC_NO_DEFAULT_HEAP is defined.
...
This reduces i8086-msdos executable sizes by 1.5-1.7k depending on the memory
model.
git-svn-id: trunk@26919 -
2014-03-02 11:38:11 +00:00
Károly Balogh
8730b1bf45
cleaned up g_proc_exit, optimized generated code and also added some comments about possible ABI variations. the changes also fix two tests on my system related to cdecl procedures
...
git-svn-id: trunk@26918 -
2014-03-01 23:52:00 +00:00
nickysn
65fe978b71
* various shortstring index variables changed from longint to sizeint (generates
...
more efficient code on i8086)
git-svn-id: trunk@26917 -
2014-03-01 21:44:08 +00:00
marco
2d9aa35d22
* now also stdconv and convutils removed from Makefile.fpc
...
git-svn-id: trunk@26916 -
2014-03-01 21:07:36 +00:00
marco
48e4555c12
* Removed some redundant rules
...
git-svn-id: trunk@26915 -
2014-03-01 21:06:16 +00:00
Károly Balogh
bd4cc3b8f3
cleaned up, reindented, simplified and allowed some minor optimizations in tcg64f68k
...
git-svn-id: trunk@26914 -
2014-03-01 18:25:05 +00:00
nickysn
73e6ffe675
* the TableCount and InitCount fields in the INITFINAL table changed to
...
nativeint (generates smaller and more efficient code on i8086)
git-svn-id: trunk@26913 -
2014-03-01 14:33:10 +00:00
Jeppe Johansen
95589fb1e2
Apply DataMov2Data to MLA and MLS too. Those have over 4 operands.
...
git-svn-id: trunk@26912 -
2014-03-01 14:21:04 +00:00
nickysn
b3e6248547
* define PNativeInt and PNativeUint as ^NativeInt and ^NativeUint, instead of
...
PPtrInt/PPtrUint, because on i8086 in the far data memory models the pointer
size is different than the native int size.
git-svn-id: trunk@26911 -
2014-03-01 13:23:32 +00:00
nickysn
b672bc754a
- rm references to system_i386_darwin and system_i386_iphonesim from
...
tcg8086.init_register_allocators
git-svn-id: trunk@26910 -
2014-03-01 12:52:31 +00:00
nickysn
a31b7d485f
* tcg8086.init_register_allocator: instantiate trgintcpu instead of trgcpu for
...
the integer registers in all cases
git-svn-id: trunk@26909 -
2014-03-01 12:50:26 +00:00
nickysn
6e9083aa84
* fixed inc/dec with constant truncating the high parts of the constant on
...
16-bit and 8-bit CPUs
git-svn-id: trunk@26908 -
2014-03-01 10:33:14 +00:00
nickysn
fc29e10349
* allow the use of inc/dec when adding/subtracting 32 or 64-bit constants with
...
the highest word equal to one and the lower parts zero
git-svn-id: trunk@26907 -
2014-03-01 10:25:46 +00:00
marco
17330b94e3
* Patch from Ocean, Mantis #25798
...
git-svn-id: trunk@26906 -
2014-02-28 15:19:08 +00:00
marco
14590fb859
( Patch from Ocean, mantis #25799 . DISPID_AMBIENT_* consts and IPerPropertyBrowsing..
...
git-svn-id: trunk@26905 -
2014-02-28 15:18:22 +00:00
michael
68c1607ecc
* Use resourcestring
...
git-svn-id: trunk@26904 -
2014-02-28 15:02:21 +00:00
nickysn
30b1aa1d96
* document the known delphi xe3 64-bit test failures
...
git-svn-id: trunk@26903 -
2014-02-28 14:08:50 +00:00
reiniero
acd53636ed
fcl-db: dbtestframework, Oracle:
...
* Fix for Oracle not accepting string literals in INSERT INTO statement for BLOB fields.
Use hex encoding instead.
Note: probably will have to review BLOB .AsString code in Oracle connector as well
git-svn-id: trunk@26902 -
2014-02-28 10:04:51 +00:00
reiniero
f3b7a7ad2e
fcl-db: dbtestframework, Oracle:
...
* Fix for Oracle can't handle time hours > 23:
ORA-01850: hour must be between 0 and 23
git-svn-id: trunk@26901 -
2014-02-27 16:59:39 +00:00
reiniero
2d8ea638b3
fcl-db: dbtestframework, Oracle:
...
* ftLargeint requires NUMBER(19,0) instead of NUMBER(18,0)/NUMERIC(18,0) in order to cater for entire largeint range:
see
http://docs.oracle.com/cd/B19306_01/server.102/b14232/apb.htm
* Oracle ftdate/ftdatetime/ftTime require date/timestamp literals:
e.g.
DATE '2000-01-01',
TIMESTAMP '0001-01-01 10:45:12.000',
See
SQL Reference 10g Release 2
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#BABGIGCJ
git-svn-id: trunk@26900 -
2014-02-27 16:45:31 +00:00
lacak
54f0f58f63
fcl-db: bufdataset:
...
- Introduces RecNo property at TBufIndex level. It enables TBufIndex descendants implement efficient way of getting/setting RecNo.
It also moves "index dependant" code from TBufDataset to TBufIndex and let TBufDataset use methods of TBufDataset.
- Introduces also GetRecord method at TBufIndex level, which provides "index scaning/walking" for TBufDataset
git-svn-id: trunk@26899 -
2014-02-27 15:12:29 +00:00
sergei
f69e6ec389
* Some fixes to NASM writer:
...
* Correctly output names of sec_user sections and sec_threadvar on Windows targets
* Use ALIGNB directive to align without warnings in bss and alike sections.
* Do not output 'begin/end asmlist x' for empty asmlists.
git-svn-id: trunk@26898 -
2014-02-27 13:37:03 +00:00
reiniero
f77060135c
fcl-db: cosmetic
...
git-svn-id: trunk@26897 -
2014-02-27 13:27:43 +00:00
Jonas Maebe
9315c121d4
- removed cwstring again, it's not needed and breaks compilation of the test
...
on non-Unix platforms
git-svn-id: trunk@26896 -
2014-02-27 11:54:48 +00:00
marco
35909d1939
* patch from mantis #25790 SHGDN SHCONTF and SFGAO constants.
...
git-svn-id: trunk@26895 -
2014-02-27 09:55:08 +00:00