fcl-db: mssql: initial attempt to implement support for output parameters of stored procedures. Beause MS in newer versions of TDS protocol has breaked it we must use other way how to do it (use dbrpc*() API functions). But return status of stored procedures execution is returned as before, so start with it.
This patch depends on rev.27445

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27447 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Set implicit collation dependencies to collationOSes only. Mantis #25957


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27448 3ad0048d-3df7-0310-abae-a5850022a9f2
* Added virtual method tprocinfo.postprocess_code and moved target-specific processing from base class into target-specific descendant classes (ARM and AVR, other targets still to do).


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27449 3ad0048d-3df7-0310-abae-a5850022a9f2
* Moved fixup_jmps to target-specific classes for powerpc,powerpc64 and MIPS, cleaned out remaining $ifdef's. A slight functionality change is that fixup_jmps is now called before adding the procedure end symbol, not after, but that should not matter.


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27450 3ad0048d-3df7-0310-abae-a5850022a9f2
* handle the result of FPC_CATCHES via the high level code generator (which makes it i8086 far pointer safe)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27451 3ad0048d-3df7-0310-abae-a5850022a9f2
 Rename printer.pas to printer.pp to adapt to fpmake

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27452 3ad0048d-3df7-0310-abae-a5850022a9f2
+ added tcgsize2str function

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27453 3ad0048d-3df7-0310-abae-a5850022a9f2
+ added size info to the 'Var X located at' comment generated in the asm output

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27454 3ad0048d-3df7-0310-abae-a5850022a9f2
+ initialize the initialloc for push_addr_param parameters correctly in i8086
  far data memory models

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27455 3ad0048d-3df7-0310-abae-a5850022a9f2
* Correct compact writing of source elements

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27456 3ad0048d-3df7-0310-abae-a5850022a9f2
* Compact arrays/object literals and func. arguments

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27457 3ad0048d-3df7-0310-abae-a5850022a9f2
* fixed i8086 far pointer typed constants that are initialized with nil



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27458 3ad0048d-3df7-0310-abae-a5850022a9f2
* handle zero length strings correctly in DebugWrite/DebugWriteLn



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27459 3ad0048d-3df7-0310-abae-a5850022a9f2
* Tcgx86.g_concatcopy: use boolean variables saved_ds and saved_es to keep track
  whether these segment registers were saved on the stack or not



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27460 3ad0048d-3df7-0310-abae-a5850022a9f2
+ Tcgx86.g_concatcopy: added support for memory models with DS<>SS



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27461 3ad0048d-3df7-0310-abae-a5850022a9f2
* i8086 far data memory model fixes in unit msmouse



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27462 3ad0048d-3df7-0310-abae-a5850022a9f2
Fix for Mantis #25959.

* pdecsub.pas, parse_proc_direc:
    when a hint directive is parsed we need to check whether the new token can still be a directive

+ added test (though that won't help much as we don't check the compiler output yet... :/ )

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27463 3ad0048d-3df7-0310-abae-a5850022a9f2
Fix for Mantis #25915.

* ptype.pas, id_type:
    generate the "identifier not found" message only if the identifier was really not found and not when the identifier is a non-type
* pexpr.pas, statement_syssym: 
    don't generate the "type id expected" error message for Default() anymore; this is already handled by single_type

+ added test (though this again will not help much as output is not parsed...)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27464 3ad0048d-3df7-0310-abae-a5850022a9f2
Forgot to commit test mentioned in last commit


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27465 3ad0048d-3df7-0310-abae-a5850022a9f2
Fix for Mantis #19697. For this we need to have the internal static var symbol know that it came from a static field var symbol so that we can check that for generic or not.

symsym.pas, tfieldvarsym:
  + add new field fieldvarsym which holds a reference to a tfieldvarsym if the static sym was created based on such a symbol
  + add necessary methods and code to correctly load from and store to PPU
  + add new constructor create_from_fieldvar
symcreat.pas, make_field_static: 
  * use new create_from_fieldvar constructor instead of the default one
hlcgobj.pas, finalize_static_data:
  * check whether the static var is based on a generic's class var
ppu.pas:
  * increase PPU version

+ added test

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