Commit Graph

42332 Commits

Author SHA1 Message Date
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
michael
7593696a03 * Fixed all tests to be D2009+ compatible
git-svn-id: trunk@26894 -
2014-02-27 09:07:56 +00:00
michael
6d00c13957 * Forgot to commit (bug id 0025793)
git-svn-id: trunk@26893 -
2014-02-27 08:32:34 +00:00
nickysn
640f6ea300 * return nil in SysTinyReallocMem, when the size parameter is 0
git-svn-id: trunk@26892 -
2014-02-26 23:31:50 +00:00
michael
03415e1cac * Added class constructor/destructor, fixed set of subrange (bug ID 25793)
git-svn-id: trunk@26891 -
2014-02-26 22:48:14 +00:00
nickysn
858efec84e * handle SysTinyFreeMem(nil) properly (i.e. succeed silently, without writing to
nil pointer memory)

git-svn-id: trunk@26890 -
2014-02-26 22:01:50 +00:00
nickysn
c00b56ae49 * added the -w-orphan-labels parameter to all tasminfo instances for nasm.
The -w-oprhan-labels option prevents the 'label alone on a line without a
  colon might be in error' warning.

git-svn-id: trunk@26889 -
2014-02-26 20:54:38 +00:00
nickysn
90c04fef80 + added nil pointer assignment test at the end of program for i8086-msdos
(works only for small and medium memory model)

git-svn-id: trunk@26888 -
2014-02-26 19:28:57 +00:00
svenbarth
47b4a52c8f Also respect the supplied version suffix when printing the compiler path name using -PB. Fixes Mantis #25791
* compiler/utils/fpc.pp:
    also apply the versionstr suffix to ppcbin if versionstr is set like is done when really executing the compiler

git-svn-id: trunk@26887 -
2014-02-26 19:13:06 +00:00
sergei
46f8e78d1f + Support GOT/gp-relative constants in GAS and internal assemblers, MIPS and i386.
* Change MIPS jump tables in PIC mode to use gp-relative constants, making them ABI-compliant and not requiring dynamic relocations.

git-svn-id: trunk@26886 -
2014-02-26 14:54:47 +00:00
sergei
31d160aaf5 * x86: clean up and place jump tables into sec_rodata on all targets. Effectively it does not change anything, because sec_rodata with relocations still go into writable data at assembler level.
git-svn-id: trunk@26885 -
2014-02-26 11:06:22 +00:00
reiniero
1bd35f5655 fcl-db: dbtestframework:
* Fix Oracle tests erroring creating FPDEV_FIELD: no support for BIGINT datatype; substitute NUMERIC(18,0) as is done for Firebird.

git-svn-id: trunk@26884 -
2014-02-26 11:04:18 +00:00
nickysn
be879dde19 * added align=16 to the _NULL segment to ensure it's always located at DS:0000
git-svn-id: trunk@26883 -
2014-02-26 00:32:54 +00:00
nickysn
888ecdaee4 * fixed the type conversions of the 'and' operator to be Delphi compatible. Fixes Mantis #25179
git-svn-id: trunk@26882 -
2014-02-25 18:06:29 +00:00
michael
b32d5a49fa * Patch from Ocean to fix range check, and map Ansistring functions to normal functions
git-svn-id: trunk@26879 -
2014-02-25 11:37:22 +00:00
michael
9faea4e757 * Fixed test so the same result as in Delphi
git-svn-id: trunk@26877 -
2014-02-25 10:35:39 +00:00
michael
e28824465f * Fix bug #25720
git-svn-id: trunk@26876 -
2014-02-25 10:09:27 +00:00
michael
48eacbae41 * Fixed bug (actually feature) in 23645
git-svn-id: trunk@26875 -
2014-02-25 09:19:32 +00:00
michael
921c785cc7 * Fixed example so it actually runs (patch by Joao Paulo Schwarz Schuler, bug ID #25768)
git-svn-id: trunk@26874 -
2014-02-25 09:09:43 +00:00
michael
aac74f4d0a * Patch from Inoussa Ouedraogo to make assigning widechar to variant Delphi 2009+ compatible (Bug ID 25719)
git-svn-id: trunk@26873 -
2014-02-25 08:53:03 +00:00
marco
d9df0ff9a8 * fixed typo (no space between serial and \ ) and regenned with a fpcmake that is NOT 3 years old.
git-svn-id: trunk@26872 -
2014-02-25 08:21:19 +00:00
sergei
2c02e8a726 - i386, x86_64, SPARC: removed paramanager.getintparaloc overrides, it is handled by generic implementation since r24716.
(This probably can be removed for all targets, but I don't want to do it without prior testing).

git-svn-id: trunk@26870 -
2014-02-24 16:01:14 +00:00
michael
3a34a371b3 * Should compile without c operators
git-svn-id: trunk@26869 -
2014-02-24 15:36:51 +00:00
sergei
8f6d8b849e * Generate interface wrappers together with data structures of class they belong to, and place everything into single assembler slice (since all wrappers are always referenced by VPTR, attempting to smartlink them is useless). This removes separate iteration pass over symtables and reduces amount of smartlink files.
git-svn-id: trunk@26868 -
2014-02-24 15:33:15 +00:00
michael
e96e992705 * Added translation of urlmon.h
git-svn-id: trunk@26867 -
2014-02-24 14:26:18 +00:00
nickysn
2fd09437e9 + added segment _null, belonging to group dgroup and class BEGDATA with the
hexadecimal pattern 01 in order to help catch storing data at location 0
  (this is compatible with Open Watcom's C library)

git-svn-id: trunk@26866 -
2014-02-24 14:01:44 +00:00
marco
526d84fd47 * Skip BOM for inifiles Mantis #24385
git-svn-id: trunk@26865 -
2014-02-24 11:00:48 +00:00
michael
96c24dcccc * Build serial unit
git-svn-id: trunk@26864 -
2014-02-24 10:00:37 +00:00
michael
4dfb88d11f * Fix IENumVariant interface to be more delphi compatible
git-svn-id: trunk@26863 -
2014-02-24 09:56:24 +00:00
michael
5848e5e33a * Patch from Inoussa implementing getter/setter for variants (bug ID 25759)
git-svn-id: trunk@26862 -
2014-02-24 09:34:21 +00:00
michael
88f32a7593 * Applied patch from Inoussa to fix double content (bug ID 25758)
git-svn-id: trunk@26861 -
2014-02-24 09:29:56 +00:00
sergei
132366e448 * Fixed Mantis #24352.
git-svn-id: trunk@26860 -
2014-02-24 07:17:07 +00:00
Károly Balogh
0591caf022 have an explicit define for OS4, so we can easily identify it in shared sources among Amiga-like systems, independent from the CPU define
git-svn-id: trunk@26859 -
2014-02-23 23:49:40 +00:00
michael
96ba1090e0 * Add RegisterTests in suite
git-svn-id: trunk@26858 -
2014-02-23 20:05:38 +00:00
michael
00bac4d8e7 * Add Fail with format
git-svn-id: trunk@26857 -
2014-02-23 20:04:43 +00:00
michael
c2a9dccc14 * Serial unit from Mark Morgan LLoyd
git-svn-id: trunk@26856 -
2014-02-23 18:34:25 +00:00
michael
2a048692a5 * Patch from Mark Morgan LLoyd, adding some functions (part 2)
git-svn-id: trunk@26855 -
2014-02-23 18:32:09 +00:00
michael
0ecee7cd3f * Patch from Mark Morgan LLoyd, adding some functions
git-svn-id: trunk@26854 -
2014-02-23 18:27:00 +00:00
svenbarth
e734ca7a9b M68k: Fix passing of environment variables. Fixes the compiler not being able to execute the external assembler and linker.
* rtl/linux/m68k/prt0.as:
    between the arguments and the environment variables is a NULL; keep this in mind when loading the address of the first environment variable.

git-svn-id: trunk@26851 -
2014-02-23 12:41:05 +00:00
sergei
04f32c2a01 * Do not attempt to retrieve caller context if initial frame is not between StackTop and frame pointer of current procedure (aka stack bottom). Reverts part of r21843, fixing regression of tests/test/cg/traise6.pp after r26843.
r26843 caused regression because it removed exception handlers, causing condition "if ExceptAddrStack<>nil" in HandleErrorAddrFrame() to become False, so it wasn't raising another exception (which would halt with code 217) but terminating directly with code 216.

git-svn-id: trunk@26850 -
2014-02-23 10:20:54 +00:00
svenbarth
2a65c05a8c Clean up dead code.
m68k/n68kcnv.pas:
  - pass_generate_code is used from the parent class
  - ungetcpuregister is not needed here

git-svn-id: trunk@26848 -
2014-02-22 21:29:31 +00:00
svenbarth
908c0f7293 M68k: Correctly handle the case of assigning a Boolean expression to a 64-bit Boolean. Fixes tw20889.
* m68k/n68kcnv.pas, tm68ktypeconvnode.second_int_to_bool:
    Take an inspiration from the x86 code generator and correctly handle assignment of values with a size < 8 to 64-bit Booleans

git-svn-id: trunk@26847 -
2014-02-22 21:27:19 +00:00
sergei
ae81e0889b * Updated internal declarations of RTTI structures to match their counterparts in typinfo unit and actual data generated by compiler. It went unnoticed this far because fields whose location differ with and without 'packed' record attribute are not used by internal routines, and tests use declarations from typinfo unit (the declarations in question are not in interface, so tests cannot be done against them).
This eliminates a lot of unaligned code on SPARC and ARM. 

git-svn-id: trunk@26845 -
2014-02-22 19:26:25 +00:00
sergei
b26e36431a * Instead of three individual try..except blocks in fpc_pushexceptobject, guard the entire procedure at the caller side (it is called only from fpc_raiseexception). This additionally guards against possible crashes in getmem() due to corrupted heap. Furthermore, try..except block is not necessary at all for such one-time purposes.
git-svn-id: trunk@26843 -
2014-02-22 17:18:21 +00:00
florian
6697939903 * replaced some aren't, weren't, can't by are not, were not, cannot
git-svn-id: trunk@26842 -
2014-02-22 16:07:27 +00:00
florian
76b2074e59 * updated year in logo from 2013 to 2014
git-svn-id: trunk@26841 -
2014-02-22 15:58:03 +00:00
florian
13cb468a8e * fixed modification information for some avx instructions
git-svn-id: trunk@26840 -
2014-02-22 15:52:33 +00:00
svenbarth
0321a77d72 Fix the generation of alignment instructions for m68k. This not only fixes quite some tests, but most importantly the native m68k compiler!
* aggas.pas, TGNUAssembler.WriteTree.doalign:
    instead of strangely checking for the previous instruction always use .balignw if the previous code was code and we should not use a specific instruction

git-svn-id: trunk@26839 -
2014-02-22 15:36:30 +00:00
florian
c00d752813 + create avx code in abs as well
* improved abs code generation with sse(2)

git-svn-id: trunk@26838 -
2014-02-22 15:35:14 +00:00