| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/js@27484 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
on i386 and x86_64 as well
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27481 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
preserves the reference segment (because reference_reset_base, which is
sometimes used by the base method, kills the segment)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27480 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
the memory models with SS<>DS (necessary, because make_simple_ref isn't called
in the copy_string case)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27479 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
vars. Functionality is not changed.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27477 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
override when converting SP-relative references to use a general purpose
register
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27473 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
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: http://svn.freepascal.org/svn/fpc/trunk@27472 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
it's BP, because that breaks memory models with DS<>SS
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27471 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27470 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
define to match the code of ppuwrite
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27467 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27461 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27458 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
far data memory models
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27455 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27454 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27453 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
makes it i8086 far pointer safe)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27451 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27443 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27442 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27441 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27440 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
specific descendant
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27439 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
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: http://svn.freepascal.org/svn/fpc/trunk@27438 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
descendant
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27437 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
descendant
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27436 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
place where it was used, we now handle the consequence directly)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27435 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27434 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27433 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27432 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
to be passed the same way as that only field, i.e. in xmm register. Fixes tests/cg/tcalext6.pp.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27431 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
relocations, they were off by 4 bytes, causing failure in tests/test/tcalext.pp.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27430 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
code significantly
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27417 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
integer instructions. Fixes webtbs/tw4534.pp, and also yields much faster code than existing implementation.
Background: these operations are defined as flipping or clearing the upper bit of number, respectively, and never result in precision loss or raise floating-point exceptions.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27411 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27405 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27399 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27398 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
descendants
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27397 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
classes
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27396 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27395 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27394 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27393 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
x86/cpubase.segment_regs_equal()
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27392 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
instead of DS, because the destination is on the stack, but in some memory
models DS may be different than SS
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27391 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
pushing the source segment
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27389 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27388 3ad0048d-3df7-0310-abae-a5850022a9f2
|