Commit Graph

42399 Commits

Author SHA1 Message Date
pierre
d9c663f198 Add -Fl/usr/lib for openbsd target OS, required to find and link C startup objects
git-svn-id: trunk@26963 -
2014-03-05 17:07:48 +00:00
lacak
277c3fb00a fcl-db: sqldb: cosmetic (reorder methods)
git-svn-id: trunk@26962 -
2014-03-05 14:40:43 +00:00
lacak
3765b74ecd fcl-db: sqldb: simplify GetStatementInfo method signature
(it was protected and now is 3 weeks public in TSQLConnection)

git-svn-id: trunk@26961 -
2014-03-05 11:20:21 +00:00
michael
a1252febae * Make sure UpdateCount=0 when inherited destructor is called (and ooFree is dispatched (Bug ID 25821)
git-svn-id: trunk@26960 -
2014-03-05 09:22:19 +00:00
michael
15bb6b2c72 * Patch from Luiz Americo to make fpobserver notifications take care of begin/endupdate (Bug ID 25820)
git-svn-id: trunk@26959 -
2014-03-05 09:15:30 +00:00
Jeppe Johansen
9b79f2f68d Added support for 8-bit CPU's in RTL. Mostly for missing implementations of int<->string conversion and console/text output.
git-svn-id: trunk@26958 -
2014-03-04 20:00:03 +00:00
Jonas Maebe
98517b9ac9 * set imaginary register start for JVM at register number 2, since there
are only 2 (fake) "real" registers

git-svn-id: trunk@26957 -
2014-03-04 19:42:43 +00:00
Jonas Maebe
ffac2feb59 * since we only build the deref for tprocdef.localst when we're
going to write it to the ppu since r26083, also only deref it
    if that's the case (mantis #25814)

git-svn-id: trunk@26956 -
2014-03-04 19:42:39 +00:00
Jonas Maebe
4f1207f603 + support for specifying an optional command line parameter to use during a
recompile of a test

git-svn-id: trunk@26955 -
2014-03-04 19:42:35 +00:00
marco
4b677ca027 * link pangocairo on Darwin.
git-svn-id: trunk@26954 -
2014-03-04 16:29:50 +00:00
reiniero
b2ad159b5b fcl-db: dbtestframework:
* cosmetic

git-svn-id: trunk@26953 -
2014-03-04 16:16:55 +00:00
reiniero
5bab60669c fcl-db: dbtestframework:
* dbf export: ftBytes is not supported at the moment

git-svn-id: trunk@26952 -
2014-03-04 15:07:48 +00:00
nickysn
9743a9122d * moved creation of voidpointertype, so that voidpointertype.size is available
earlier

git-svn-id: trunk@26951 -
2014-03-04 14:10:02 +00:00
reiniero
0ec6a79505 fcl-db: dbtestframework: MS SQL Server:
* Create tables allowing NULL values for non-primary keys
* Increase blob size per documentation in order to support large blobs

git-svn-id: trunk@26950 -
2014-03-04 13:08:33 +00:00
reiniero
8e28dd52b4 fcl-db: dbtestframework:
- revert functional changes of previous commit: better deal with NULL setting via connection/session or database level:
http://msdn.microsoft.com/en-us/library/ms174979.aspx			

git-svn-id: trunk@26949 -
2014-03-04 12:46:56 +00:00
reiniero
3eb1edb749 fcl-db: dbtestframework: start work on MS SQL tests.
* Create FPDEV_FIELD table with columns that accept null values for non-primary key.

git-svn-id: trunk@26948 -
2014-03-04 12:13:46 +00:00
lacak
e5850015d9 fcl-db: cosmetic
git-svn-id: trunk@26947 -
2014-03-04 12:10:33 +00:00
sergei
87684e1cf1 * MIPS: clean up
git-svn-id: trunk@26946 -
2014-03-04 08:42:45 +00:00
Jeppe Johansen
98606eea15 Fixed some bugs in the AVR RTL code.
Changed atmega code to use weak linking for interrupt handlers.

git-svn-id: trunk@26945 -
2014-03-04 08:03:27 +00:00
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