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
nickysn
fe48700483
* another i8086 compilation fix for typinfo
...
git-svn-id: trunk@24602 -
2013-05-25 15:51:36 +00:00
joost
a68ef39655
* Build grab_vcsa only on Linux (fpmake)
...
git-svn-id: trunk@24601 -
2013-05-25 15:50:36 +00:00
nickysn
4b220d7261
* fixed 'data element too large' error when compiling typinfo on i8086
...
git-svn-id: trunk@24600 -
2013-05-25 15:43:26 +00:00
nickysn
fa5dd5eef0
+ enabled compilation of unit iso7185 for i8086-msdos
...
git-svn-id: trunk@24599 -
2013-05-25 15:30:43 +00:00
nickysn
5bc70298de
+ enabled compilation of unit macpas for i8086-msdos
...
git-svn-id: trunk@24598 -
2013-05-25 15:29:12 +00:00
nickysn
1eda29951e
+ enabled compilation of the math unit for i8086-msdos
...
git-svn-id: trunk@24597 -
2013-05-25 15:25:19 +00:00
nickysn
2b583bb265
* do not use fsin and fcos on 286-, since they're 387+
...
git-svn-id: trunk@24596 -
2013-05-25 15:24:53 +00:00
nickysn
c49e927077
+ added rtl/i8086/mathu*.inc for compiling the math unit
...
git-svn-id: trunk@24595 -
2013-05-25 15:23:46 +00:00
nickysn
062c0aa5f4
+ sysutils for i8086-msdos compiles now\! yippiee\!\!\!
...
git-svn-id: trunk@24594 -
2013-05-25 14:22:46 +00:00
nickysn
09249b31b8
* use the generic implementation of second_IncludeExclude in case the cpu is earlier than 386, since then it does not support BTR and BTS
...
git-svn-id: trunk@24593 -
2013-05-25 14:18:55 +00:00
nickysn
06838be452
* fixed bug when passing a 'single' floating point type parameter via tcg8086.a_load_ref_cgpara
...
git-svn-id: trunk@24592 -
2013-05-25 13:37:24 +00:00
nickysn
1d8d0d42a5
* size of TByteArray and TWordArray reduced by 1 on 16-bit CPUs to avoid 'structure too large' errors when compiling the sysutils unit
...
git-svn-id: trunk@24591 -
2013-05-25 13:28:13 +00:00
nickysn
4708132ddf
+ added sysutils.pp to the i8086-msdos rtl
...
git-svn-id: trunk@24590 -
2013-05-25 13:25:35 +00:00
nickysn
27adafeecb
+ support moving from a shorter unsigned (sign extension not yet implemented) to a longer type in tcg8086.a_load_reg_ref
...
git-svn-id: trunk@24589 -
2013-05-25 12:05:02 +00:00
nickysn
c41d93214f
* fixed passing a longint to an array of const parameter on i8086 (and other 8/16-bit cpus)
...
git-svn-id: trunk@24588 -
2013-05-25 10:14:39 +00:00
nickysn
0f7673105b
+ implemented envcount, envstr and getenv for i8086-msdos
...
git-svn-id: trunk@24587 -
2013-05-24 20:42:56 +00:00
nickysn
3aeea835f9
+ int register in treference.segment support in tcg8086.op_*ref*
...
git-svn-id: trunk@24586 -
2013-05-24 19:57:02 +00:00