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
Jonas Maebe
f017e16722
* increased ppu version after all symdef changes
...
git-svn-id: trunk@27442 -
2014-04-01 21:41:40 +00:00
Jonas Maebe
d452686c39
* moved pbestrealtype from symdef to symcpu
...
git-svn-id: trunk@27441 -
2014-04-01 21:41:37 +00:00
Jonas Maebe
a251b270b6
- removed no longer used jvmdef unit from uses clause
...
git-svn-id: trunk@27440 -
2014-04-01 21:41:33 +00:00
Jonas Maebe
93d50bc287
* moved jvm-specific classdef-related fields from tenumdef to a platform-
...
specific descendant
git-svn-id: trunk@27439 -
2014-04-01 21:41:30 +00:00
Jonas Maebe
9c7c64a3af
* moved amiga/morphos-specific libsym-related field from tprocdef to
...
cpu-specific descendants (unfortunately causes some duplication, but the
code is trivial and there is no easy way to avoid it)
* also moved the use of the field in ncal to cpu-specific files (with same
caveat)
git-svn-id: trunk@27438 -
2014-04-01 21:41:27 +00:00
Jonas Maebe
5053a39501
* moved ARM-specific tprocdef.total_stackframe_size field to cpu-specific
...
descendant
git-svn-id: trunk@27437 -
2014-04-01 21:41:24 +00:00
Jonas Maebe
f101118cd6
* moved MIPS-specific tprocdef.total_local_size field to cpu-specific
...
descendant
git-svn-id: trunk@27436 -
2014-04-01 21:41:21 +00:00
Jonas Maebe
d020a32b9a
- removed no longer used tprocdef.fpu_used field for i386/i8086 (the one
...
place where it was used, we now handle the consequence directly)
git-svn-id: trunk@27435 -
2014-04-01 21:41:18 +00:00
Jonas Maebe
806bf0b88e
- removed storing/loading unused byte for tprocdef.fpu_used
...
git-svn-id: trunk@27434 -
2014-04-01 21:41:14 +00:00
florian
0a7b795744
* fix for the regressions caused by r27417
...
git-svn-id: trunk@27433 -
2014-04-01 19:34:21 +00:00
nickysn
5f57274b74
+ proper i8086 Seg() implementation (i.e. support segments other than DS)
...
git-svn-id: trunk@27432 -
2014-04-01 19:11:39 +00:00
sergei
8c693a3300
* Win64 apparently expects records with single field of floating-point type to be passed the same way as that only field, i.e. in xmm register. Fixes tests/cg/tcalext6.pp.
...
git-svn-id: trunk@27431 -
2014-04-01 17:04:47 +00:00
sergei
db621780d5
* x86_64-win64: fixed handling of RELOC_RELATIVE_1..RELOC_RELATIVE_5 COFF relocations, they were off by 4 bytes, causing failure in tests/test/tcalext.pp.
...
git-svn-id: trunk@27430 -
2014-04-01 16:26:56 +00:00
pierre
f35860b33a
Update revision.inc after fpcmake.ini change 27428
...
git-svn-id: trunk@27429 -
2014-04-01 15:39:28 +00:00
pierre
fcc7dc82fc
Fix typo error in previous fpcmake.ini change
...
git-svn-id: trunk@27428 -
2014-04-01 15:38:27 +00:00
pierre
64b1dce92b
iUpdate revision.inc after fpcmake.ini change 27426
...
git-svn-id: trunk@27427 -
2014-04-01 15:32:45 +00:00
pierre
2161b5e2e4
Fix syntax error in previous fpcmake.ini change
...
git-svn-id: trunk@27426 -
2014-04-01 15:31:12 +00:00
pierre
7b28fb4c0e
Makefile update to suppport use of -sh option
...
git-svn-id: trunk@27425 -
2014-04-01 15:26:28 +00:00
pierre
4bb05e6c16
Version updated due to fpcmake.ini change rev 27421
...
git-svn-id: trunk@27424 -
2014-04-01 15:25:19 +00:00
pierre
0801538080
Regenerated from fpcmake.ini
...
git-svn-id: trunk@27423 -
2014-04-01 15:24:30 +00:00