Commit Graph

40320 Commits

Author SHA1 Message Date
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
sergei
2944fc8839 * MIPS improvements:
* reworked condition codes, changed BC1T and BC1F from separate instructions to condition jumps.
  - removed A_P_SW, A_P_LW and A_SPARC8UNIMP
  + support '.set at' and '.set noat' directives
  + prepare to support bgtz,bgez,bltz,blez instructions.

git-svn-id: trunk@24631 -
2013-05-29 17:35:56 +00:00
sergei
e1f6cf79e9 * MIPS: an empty reference (no symbol, base or index and zero offset) must not be output as empty string.
git-svn-id: trunk@24630 -
2013-05-29 15:59:40 +00:00
michael
7951c24a85 * Patch from Ludo Brands to fix 24497
git-svn-id: trunk@24629 -
2013-05-29 12:41:50 +00:00
svenbarth
956b26bc97 Completely reworked implementation of generic constraints, by moving the generic constraint data from the symbols to the definitions (I originally thought that this would simplyfy things, but the more correct approach is to add it to the defs).
symsym.pas:
    - remove "tgenericconstraintdata" and any using/loading/writing of it in "ttypesym"
    - remove "tgenericconstraintflag"
symdef.pas:
    + add "tgenericconstraintdata"
    + load and write "genconstraintdata" in "tstoreddef"
symconst.pas:
    + add "tgenericconstraintflag" so it can be used in "ppudump" as well
defcmp.pas, compare_defs_ext:
    * as we allow global operator overloads we can't really determine whether two defs are compatible, because a valid operator for the specialization types might just happen to be in scope of the generic; so for now constraints are only strictly checked when declaring a specialization
pgenutil.pas:
    * adjust "parse_generic_parameters" and "check_generic_constraints" to the new location of the constraint data
ppudump.pp:
    * corrrectly parse defs which contain generic constraints

git-svn-id: trunk@24628 -
2013-05-29 08:19:02 +00:00
svenbarth
cc5a108cca Allocate the list for generic parameters in tstoreddef only on demand as most defs won't contain generic parameters anyway (avoids a little bit of runtime and memory overhead per def).
symdef.pas, tstoreddef:
  + comment that the list is allocated on demand (and thus should be checked for Nil)
  + fillgenericparas: create the list when adding at least one generic parameter symbol
  - create & ppuload: don't create list instance anymore
  + is_generic & is_specialization: check whether the list is assigned
defcmp.pas, compare_defs_ext:
  + check whether "genericparas" list is assigned
pgenutil.pas:
  + check_generic_constraints: check whether "genericparas" is assigned
  + insert_generic_parameter_types: create list before adding generic parameters

git-svn-id: trunk@24627 -
2013-05-29 07:50:49 +00:00
yury
4ca7e66661 * Fixed cross-installation after r24625.
git-svn-id: trunk@24626 -
2013-05-28 12:55:25 +00:00
joost
0db3e679a7 * Adapted the path of the newly created fpcmake
git-svn-id: trunk@24625 -
2013-05-27 19:21:09 +00:00
joost
f677ba5551 * Actually check if file is newer, and not if they are of the same age. Went wrong in r24611
git-svn-id: trunk@24624 -
2013-05-27 15:46:30 +00:00
Jonas Maebe
2f29a6ebd3 * fixed use of uninitialized "read" result in case 0 bytes were read, fixes
hang on Darwin/ppc

git-svn-id: trunk@24623 -
2013-05-27 11:40:44 +00:00
joost
5907b3c9aa * Part of r24605, forgot to commit
git-svn-id: trunk@24622 -
2013-05-26 20:51:41 +00:00
joost
94e7cd5a51 * Switched utils to fpmake building
git-svn-id: trunk@24621 -
2013-05-26 19:05:11 +00:00
joost
14f930ef67 * Fix adding new Makefile.fpc to subversion in fpmake-conversion script
git-svn-id: trunk@24620 -
2013-05-26 18:53:22 +00:00
nickysn
de345ac191 * added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets
git-svn-id: trunk@24619 -
2013-05-26 10:53:42 +00:00
nickysn
533bd30094 * some more i8086 bug fixes in tx86innode.pass_generate_code
git-svn-id: trunk@24618 -
2013-05-26 09:08:28 +00:00
nickysn
967e10ea95 * i8086 fixes in tx86innode.pass_generate_code
git-svn-id: trunk@24617 -
2013-05-25 22:46:50 +00:00
joost
caa3e9b403 * fpmake.pp changes to fix compilation on Windows
git-svn-id: trunk@24616 -
2013-05-25 21:21:26 +00:00
nickysn
f3ad9ce9ce * i8086 fixes in tx86typeconvnode.second_int_to_bool; this fixes tcnvint2.pp
git-svn-id: trunk@24615 -
2013-05-25 21:19:55 +00:00
nickysn
4e2962e6ae - do not initialize the regular heap manager under i8086-msdos, so it can be smartlinked away
git-svn-id: trunk@24614 -
2013-05-25 19:22:31 +00:00
joost
ce78b5f11c * Add .exe extension to tools on Windows
git-svn-id: trunk@24613 -
2013-05-25 19:19:33 +00:00
nickysn
4bc99b1315 * use a PtrInt cast in typinfo.SetObjectProp
git-svn-id: trunk@24612 -
2013-05-25 18:47:44 +00:00
joost
cb707fdf4c * When two files are of the same age, FileNewer should return false
git-svn-id: trunk@24611 -
2013-05-25 18:44:18 +00:00
nickysn
b26cdc776d + enabled compilation of units matrix, ucomplex and getopts for i8086-msdos
git-svn-id: trunk@24610 -
2013-05-25 18:06:39 +00:00
nickysn
5c49116d00 + enabled compilation of units types, dateutil, convutil, strutils and stdconvs for i8086-msdos
git-svn-id: trunk@24609 -
2013-05-25 17:55:20 +00:00
nickysn
bf132b31c6 + enabled compilation of unit variants for i8086-msdos
git-svn-id: trunk@24608 -
2013-05-25 16:40:45 +00:00
nickysn
01ff2221d7 + enabled compilation of varutils for i8086-msdos
git-svn-id: trunk@24607 -
2013-05-25 16:38:08 +00:00
nickysn
b43c4c4aca * i8086 fixes in tx86typeconvnode.second_int_to_real
git-svn-id: trunk@24606 -
2013-05-25 16:37:41 +00:00
joost
7656bf2017 * Allow usage of $(UNITSOUTPUTDIR) and $(BINOUTPUTDIR) macros during clean
git-svn-id: trunk@24605 -
2013-05-25 16:36:48 +00:00
nickysn
3492d29834 + added varutils.pp to the msdos rtl
git-svn-id: trunk@24604 -
2013-05-25 16:00:33 +00:00
nickysn
9813e9b4eb + enabled compilation of units rtlconst and typinfo for i8086-msdos
git-svn-id: trunk@24603 -
2013-05-25 15:51:58 +00:00