* some more i8086 bug fixes in tx86innode.pass_generate_code

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24618 3ad0048d-3df7-0310-abae-a5850022a9f2
* added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24619 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Fix adding new Makefile.fpc to subversion in fpmake-conversion script

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24620 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Switched utils to fpmake building

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24621 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Part of r24605, forgot to commit

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24622 3ad0048d-3df7-0310-abae-a5850022a9f2
  * fixed use of uninitialized "read" result in case 0 bytes were read, fixes
    hang on Darwin/ppc


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24623 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Actually check if file is newer, and not if they are of the same age. Went wrong in r24611

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24624 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Adapted the path of the newly created fpcmake

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24625 3ad0048d-3df7-0310-abae-a5850022a9f2
* Fixed cross-installation after r24625.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24626 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@24627 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@24628 3ad0048d-3df7-0310-abae-a5850022a9f2
* Patch from Ludo Brands to fix 24497

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24629 3ad0048d-3df7-0310-abae-a5850022a9f2
* MIPS: an empty reference (no symbol, base or index and zero offset) must not be output as empty string.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24630 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@24631 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@24632 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@24633 3ad0048d-3df7-0310-abae-a5850022a9f2
* i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24634 3ad0048d-3df7-0310-abae-a5850022a9f2
Disable one peephole optimization for Thumb

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24635 3ad0048d-3df7-0310-abae-a5850022a9f2
Update jumptabel generation for ARM Thumb

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24636 3ad0048d-3df7-0310-abae-a5850022a9f2
Add some immediate forms of shift instructions to tcgthumb.a_op_const_reg

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24637 3ad0048d-3df7-0310-abae-a5850022a9f2