Commit Graph

43034 Commits

Author SHA1 Message Date
michael
89092232b9 * Parameter inverted for abortread in content read
git-svn-id: trunk@27494 -
2014-04-06 17:00:39 +00:00
michael
12e9772111 * Attempt to fix Bug ID #25940
git-svn-id: trunk@27493 -
2014-04-06 16:55:53 +00:00
michael
d45ced0221 * Added DegNormalize
git-svn-id: trunk@27492 -
2014-04-06 16:37:43 +00:00
nickysn
4563b2994d + handle constint+pointerconst in taddnode.simplify
git-svn-id: trunk@27491 -
2014-04-06 16:36:09 +00:00
nickysn
bf1e15fd39 + added another far pointer arithmetic test
git-svn-id: trunk@27490 -
2014-04-06 15:36:17 +00:00
nickysn
cef4092f3d - rm some unneeded assignments from the test
git-svn-id: trunk@27489 -
2014-04-06 15:27:53 +00:00
nickysn
a11c7fe476 + report the number of the failing test in the exit code
git-svn-id: trunk@27488 -
2014-04-06 15:15:22 +00:00
florian
701cdf8ea2 * fix for #25956: left is not necessarily the array load node when accessing an open array/array of const element
git-svn-id: trunk@27487 -
2014-04-06 15:15:16 +00:00
nickysn
cd90154b9c + added pointer const tests to the far pointer arithmetic test tfarptr3.pp
git-svn-id: trunk@27486 -
2014-04-06 15:11:49 +00:00
nickysn
8d1ed088c8 + implemented far pointer arithmetic (operating only on the offset, without
touching the segment)

git-svn-id: trunk@27485 -
2014-04-06 13:12:29 +00:00
michael
9e93e4293b * Only put unbound params in the list of fieldnames (bug ID 25955)
git-svn-id: trunk@27482 -
2014-04-06 11:22:49 +00:00
nickysn
198960b17c * preserve the segment of the reference in tx86vecnode.update_reference_reg_mul
on i386 and x86_64 as well

git-svn-id: trunk@27481 -
2014-04-05 14:46:35 +00:00
nickysn
f00f7d6ee7 * override tcgvecnode.update_reference_reg_mul for i8086 and add code that
preserves the reference segment (because reference_reset_base, which is
  sometimes used by the base method, kills the segment)

git-svn-id: trunk@27480 -
2014-04-05 14:02:52 +00:00
nickysn
7a873f495d * use the stack segment for SP-relative addresses in Tcgx86.g_concatcopy in
the memory models with SS<>DS (necessary, because make_simple_ref isn't called
  in the copy_string case)

git-svn-id: trunk@27479 -
2014-04-05 12:02:04 +00:00
reiniero
fadbe3b43e fcl-db:
+ Let TBlobField.LoadFromFile also open shared files. Adapted from patch by Erwin van den Bosch, thanks! Fixes mantis issue #25972

git-svn-id: trunk@27478 -
2014-04-05 11:00:01 +00:00
sergei
5c48804240 * Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed.
git-svn-id: trunk@27477 -
2014-04-05 09:43:13 +00:00
michael
181892cc5f * First implementation of pas2js converter program
git-svn-id: trunk@27476 -
2014-04-05 09:19:55 +00:00
michael
e05b77e759 * Check for nil
git-svn-id: trunk@27475 -
2014-04-05 09:07:00 +00:00
michael
0c50662156 * Initial version of pascal-to-javascript converter
git-svn-id: trunk@27474 -
2014-04-05 09:06:05 +00:00
nickysn
ee20ecfcf2 * tcgx86.make_simple_ref: in i8086 memory models with DS<>SS, add an SS: segment
override when converting SP-relative references to use a general purpose
  register

git-svn-id: trunk@27473 -
2014-04-05 08:56:40 +00:00
sergei
adc8cdb5af * Calling tlabelsym.mangledname should not define the label. This was causing "already defined" errors if a label was referenced before it was defined.
+ Test.
+ Check duplicate labels in assembler blocks. This was impossible due to above bug and duplicate labels were detected only at assembling stage where no location information could be provided.

git-svn-id: trunk@27472 -
2014-04-05 01:17:36 +00:00
nickysn
e43791cf7c * ti8086callnode.extra_call_ref_code: do not change the base register to BX if
it's BP, because that breaks memory models with DS<>SS

git-svn-id: trunk@27471 -
2014-04-04 21:43:40 +00:00
nickysn
9da1ee0138 * i8086 far data model fixes in the copying of openarray value params
git-svn-id: trunk@27470 -
2014-04-04 20:18:47 +00:00
nickysn
c0709eef40 * i8086 far data model fixes in Save/RestoreStateVGA and Save/RestoreStateVESA
git-svn-id: trunk@27469 -
2014-04-04 19:51:15 +00:00
nickysn
f31d7e665b * fix for i8086 far data memory models in dos.getintvec
git-svn-id: trunk@27468 -
2014-04-04 17:03:18 +00:00
svenbarth
8ae36f3ef4 tstaticvarsym.ppuload: read the section string outside of the symansistr define to match the code of ppuwrite
git-svn-id: trunk@27467 -
2014-04-04 16:18:08 +00:00
svenbarth
5c1b8fdad9 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: trunk@27466 -
2014-04-04 16:15:41 +00:00
svenbarth
c5050ea645 Forgot to commit test mentioned in last commit
git-svn-id: trunk@27465 -
2014-04-04 16:10:08 +00:00
svenbarth
b9a59c33f4 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: trunk@27464 -
2014-04-04 15:48:06 +00:00
svenbarth
689996d84f 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: trunk@27463 -
2014-04-04 14:04:32 +00:00
nickysn
8efd857d76 * i8086 far data memory model fixes in unit msmouse
git-svn-id: trunk@27462 -
2014-04-04 08:57:14 +00:00
nickysn
b36a98ce51 + Tcgx86.g_concatcopy: added support for memory models with DS<>SS
git-svn-id: trunk@27461 -
2014-04-04 01:13:02 +00:00
nickysn
e9e4cc8bcb * 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: trunk@27460 -
2014-04-04 00:10:36 +00:00
nickysn
34e8e5a0dc * handle zero length strings correctly in DebugWrite/DebugWriteLn
git-svn-id: trunk@27459 -
2014-04-03 21:47:42 +00:00
nickysn
4832682c58 * fixed i8086 far pointer typed constants that are initialized with nil
git-svn-id: trunk@27458 -
2014-04-03 21:39:00 +00:00
michael
910e5ff888 * Compact arrays/object literals and func. arguments
git-svn-id: trunk@27457 -
2014-04-03 20:17:26 +00:00
michael
dd8f4eccf2 * Correct compact writing of source elements
git-svn-id: trunk@27456 -
2014-04-03 20:05:58 +00:00
nickysn
36aae69e2b + initialize the initialloc for push_addr_param parameters correctly in i8086
far data memory models

git-svn-id: trunk@27455 -
2014-04-03 17:24:41 +00:00
nickysn
cf1d60b8eb + added size info to the 'Var X located at' comment generated in the asm output
git-svn-id: trunk@27454 -
2014-04-03 16:54:01 +00:00
nickysn
ec6dfb5853 + added tcgsize2str function
git-svn-id: trunk@27453 -
2014-04-03 16:50:50 +00:00
pierre
db13107e53 Rename printer.pas to printer.pp to adapt to fpmake
git-svn-id: trunk@27452 -
2014-04-03 14:23:01 +00:00
nickysn
a79a891940 * handle the result of FPC_CATCHES via the high level code generator (which makes it i8086 far pointer safe)
git-svn-id: trunk@27451 -
2014-04-02 14:25:19 +00:00
sergei
96dd464bf2 * 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: trunk@27450 -
2014-04-02 14:17:23 +00:00
sergei
eeb15fc445 * 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: trunk@27449 -
2014-04-02 13:14:06 +00:00
marco
f9381ba5a5 * Set implicit collation dependencies to collationOSes only. Mantis #25957
git-svn-id: trunk@27448 -
2014-04-02 12:37:28 +00:00
lacak
9d2933d752 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: trunk@27447 -
2014-04-02 08:57:25 +00:00
michael
f61e27ec8e * clock_gettime uses timespec, not timeval
git-svn-id: trunk@27446 -
2014-04-02 08:25:03 +00:00
michael
37eb616960 * Add some functions for return status treatment (Patch from Laco)
git-svn-id: trunk@27445 -
2014-04-02 07:25:24 +00:00
michael
a92056d219 * Use clock_gettime when available
git-svn-id: trunk@27444 -
2014-04-02 07:06:32 +00:00
Jonas Maebe
edff5a9aa1 * fixed m68k typo in r27438
git-svn-id: trunk@27443 -
2014-04-01 21:48:28 +00:00