summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* + initial skeleton of the js backendjsflorian2014-04-0626-1/+3831
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/js@27484 3ad0048d-3df7-0310-abae-a5850022a9f2
* + branch for developing a js back end for fpcflorian2014-04-060-0/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/js@27483 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Only put unbound params in the list of fieldnames (bug ID 25955)michael2014-04-061-6/+12
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27482 3ad0048d-3df7-0310-abae-a5850022a9f2
* * preserve the segment of the reference in tx86vecnode.update_reference_reg_mulnickysn2014-04-051-0/+4
| | | | | | | | on i386 and x86_64 as well git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27481 3ad0048d-3df7-0310-abae-a5850022a9f2
* * override tcgvecnode.update_reference_reg_mul for i8086 and add code thatnickysn2014-04-051-2/+18
| | | | | | | | | 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
* * use the stack segment for SP-relative addresses in Tcgx86.g_concatcopy innickysn2014-04-051-4/+4
| | | | | | | | | 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
* fcl-db:reiniero2014-04-051-1/+1
| | | | | | | | + Let TBlobField.LoadFromFile also open shared files. Adapted from patch by Erwin van den Bosch, thanks! Fixes mantis issue #25972 git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27478 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Moved local label infrastructure into tasmreader, reduces number of global ↵sergei2014-04-055-103/+72
| | | | | | vars. Functionality is not changed. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27477 3ad0048d-3df7-0310-abae-a5850022a9f2
* * First implementation of pas2js converter programmichael2014-04-0512-0/+3106
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27476 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Check for nilmichael2014-04-051-0/+3
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27475 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Initial version of pascal-to-javascript convertermichael2014-04-058-0/+5606
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27474 3ad0048d-3df7-0310-abae-a5850022a9f2
* * tcgx86.make_simple_ref: in i8086 memory models with DS<>SS, add an SS: segmentnickysn2014-04-051-0/+3
| | | | | | | | | 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
* * Calling tlabelsym.mangledname should not define the label. This was ↵sergei2014-04-053-3/+33
| | | | | | | | | 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
* * ti8086callnode.extra_call_ref_code: do not change the base register to BX ifnickysn2014-04-041-1/+1
| | | | | | | | 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
* * i8086 far data model fixes in the copying of openarray value paramsnickysn2014-04-042-4/+11
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27470 3ad0048d-3df7-0310-abae-a5850022a9f2
* * i8086 far data model fixes in Save/RestoreStateVGA and Save/RestoreStateVESAnickysn2014-04-042-12/+12
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27469 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fix for i8086 far data memory models in dos.getintvecnickysn2014-04-041-0/+12
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27468 3ad0048d-3df7-0310-abae-a5850022a9f2
* tstaticvarsym.ppuload: read the section string outside of the symansistr ↵svenbarth2014-04-041-1/+1
| | | | | | define to match the code of ppuwrite git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27467 3ad0048d-3df7-0310-abae-a5850022a9f2
* Fix for Mantis #19697. For this we need to have the internal static var ↵svenbarth2014-04-046-3/+78
| | | | | | | | | | | | | | | | | | | 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
* Forgot to commit test mentioned in last commitsvenbarth2014-04-041-0/+21
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27465 3ad0048d-3df7-0310-abae-a5850022a9f2
* Fix for Mantis #25915.svenbarth2014-04-042-7/+17
| | | | | | | | | | | * 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
* Fix for Mantis #25959.svenbarth2014-04-042-1/+20
| | | | | | | | | * 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
* * i8086 far data memory model fixes in unit msmousenickysn2014-04-041-0/+36
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27462 3ad0048d-3df7-0310-abae-a5850022a9f2
* + Tcgx86.g_concatcopy: added support for memory models with DS<>SSnickysn2014-04-041-4/+16
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27461 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Tcgx86.g_concatcopy: use boolean variables saved_ds and saved_es to keep tracknickysn2014-04-041-7/+14
| | | | | | | | 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
* * handle zero length strings correctly in DebugWrite/DebugWriteLnnickysn2014-04-031-0/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27459 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fixed i8086 far pointer typed constants that are initialized with nilnickysn2014-04-034-2/+93
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27458 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Compact arrays/object literals and func. argumentsmichael2014-04-033-135/+104
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27457 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Correct compact writing of source elementsmichael2014-04-031-4/+7
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27456 3ad0048d-3df7-0310-abae-a5850022a9f2
* + initialize the initialloc for push_addr_param parameters correctly in i8086nickysn2014-04-031-2/+2
| | | | | | far data memory models git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27455 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added size info to the 'Var X located at' comment generated in the asm outputnickysn2014-04-031-1/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27454 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added tcgsize2str functionnickysn2014-04-031-0/+8
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27453 3ad0048d-3df7-0310-abae-a5850022a9f2
* Rename printer.pas to printer.pp to adapt to fpmakepierre2014-04-031-0/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27452 3ad0048d-3df7-0310-abae-a5850022a9f2
* * handle the result of FPC_CATCHES via the high level code generator (which ↵nickysn2014-04-021-7/+10
| | | | | | makes it i8086 far pointer safe) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27451 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Moved fixup_jmps to target-specific classes for powerpc,powerpc64 and ↵sergei2014-04-025-13/+29
| | | | | | 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
* * Added virtual method tprocinfo.postprocess_code and moved target-specific ↵sergei2014-04-024-13/+28
| | | | | | 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
* * Set implicit collation dependencies to collationOSes only. Mantis #25957marco2014-04-021-8/+8
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27448 3ad0048d-3df7-0310-abae-a5850022a9f2
* fcl-db: mssql: initial attempt to implement support for output parameters of ↵lacak2014-04-022-2/+22
| | | | | | | | 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
* * clock_gettime uses timespec, not timevalmichael2014-04-021-3/+11
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27446 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Add some functions for return status treatment (Patch from Laco)michael2014-04-021-17/+24
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27445 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Use clock_gettime when availablemichael2014-04-021-1/+8
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27444 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fixed m68k typo in r27438jonas2014-04-011-1/+1
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27443 3ad0048d-3df7-0310-abae-a5850022a9f2
* * increased ppu version after all symdef changesjonas2014-04-011-1/+1
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27442 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved pbestrealtype from symdef to symcpujonas2014-04-0123-64/+78
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27441 3ad0048d-3df7-0310-abae-a5850022a9f2
* - removed no longer used jvmdef unit from uses clausejonas2014-04-011-3/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27440 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved jvm-specific classdef-related fields from tenumdef to a platform-jonas2014-04-0112-46/+71
| | | | | | specific descendant git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27439 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved amiga/morphos-specific libsym-related field from tprocdef tojonas2014-04-017-39/+133
| | | | | | | | | 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
* * moved ARM-specific tprocdef.total_stackframe_size field to cpu-specificjonas2014-04-014-11/+9
| | | | | | descendant git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27437 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved MIPS-specific tprocdef.total_local_size field to cpu-specificjonas2014-04-013-7/+5
| | | | | | descendant git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27436 3ad0048d-3df7-0310-abae-a5850022a9f2
* - removed no longer used tprocdef.fpu_used field for i386/i8086 (the onejonas2014-04-012-14/+1
| | | | | | 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