* Procvars (methodpointers) must be treated as records, too. Fixes tw12318.pp and tw14155.pp after r23377. 
* Factored related code into a separate method, as it will probably need further refinement.


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23387 3ad0048d-3df7-0310-abae-a5850022a9f2
* MIPS int->real conversion: When converting unsigned to single, load it into 64-bit FP register, otherwise further subtracting a 64-bit offset leads to invalid result. Fixes tw17714.pp.
* The addend is endian-dependent, fixes tcnvint4.pp on big-endian targets.


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23388 3ad0048d-3df7-0310-abae-a5850022a9f2
* MIPS: methodpointers must be compatible with records; since records are never passed by address in this ABI, so must be methodpointers. Fixes webtbs/tw9141.pp.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23392 3ad0048d-3df7-0310-abae-a5850022a9f2
* InterlockedIncrement/Decrement must return the modified value, not the initial one. Fixes a number of interface memory leaks in MIPS test suite. The functions remain not thread-safe yet.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23393 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23394 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: implement record constructors + tests

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23395 3ad0048d-3df7-0310-abae-a5850022a9f2
tests: fixed test

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23396 3ad0048d-3df7-0310-abae-a5850022a9f2
* remove old cdecl record hack, fixes linker errors with aspell on mac os x


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23397 3ad0048d-3df7-0310-abae-a5850022a9f2
 Increase status.errorcount only inside GenerateError procedure, to simplify debugging

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23398 3ad0048d-3df7-0310-abae-a5850022a9f2
 Add breakpoint at Verbose.GenerateError procedure

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23399 3ad0048d-3df7-0310-abae-a5850022a9f2
* Fixed case where connection is closed gracefully (Bug ID 23386)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23403 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: allow constructors in helpers for records

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23407 3ad0048d-3df7-0310-abae-a5850022a9f2
New ARM Peephole optimizer FoldShiftLdrStr

This one folds
      mov r1, r2, lsl #2
      ldr/ldrb r0, [r0, r1]
into
      ldr/ldrb r0, [r0, r2, lsl #2]

There is still some room for improvement, maybe it would be better to do this before
the register allocator runs, as we'll currently waste a register (r1 in the above example)
in many cases. That would also allow to to fold more operations, because currently if r2
gets reused between the mov and ldr we'll not be able to do the optimization.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23408 3ad0048d-3df7-0310-abae-a5850022a9f2
Fixes a spelling mistake in TFPCustomFont

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23411 3ad0048d-3df7-0310-abae-a5850022a9f2
* redo LsrAnd2Lsr optimization

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23413 3ad0048d-3df7-0310-abae-a5850022a9f2
+ implemented a tcasenode.printnodetree printing all cases

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23414 3ad0048d-3df7-0310-abae-a5850022a9f2
* don't write directly to the function result destination if we are inlining and if the destination is too complex to evaluate (threadvar etc.)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23415 3ad0048d-3df7-0310-abae-a5850022a9f2
tests: fix test after allowing record helpers to have constructors

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23416 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: don't create loadvmtaddrnode for record references, they have no VMT (fixes bug #23130)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23417 3ad0048d-3df7-0310-abae-a5850022a9f2
 + mispel-linux gcc compiled objects added

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