Commit Graph

3485 Commits

Author SHA1 Message Date
nickysn
a9cfd647ae + added i8086-msdos tests for interrupt procs, intr, getintvec and setintvec
git-svn-id: trunk@27503 -
2014-04-07 22:26:45 +00:00
nickysn
bf1e15fd39 + added another far pointer arithmetic test
git-svn-id: trunk@27490 -
2014-04-06 15:36:17 +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
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
181892cc5f * First implementation of pas2js converter program
git-svn-id: trunk@27476 -
2014-04-05 09:19:55 +00:00
michael
0c50662156 * Initial version of pascal-to-javascript converter
git-svn-id: trunk@27474 -
2014-04-05 09:06:05 +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
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
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
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
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
sergei
eb30da60a6 * x86_64-linux: fixed existing Pascal startup code (syntax only, operation not tested yet) and added missing files.
git-svn-id: trunk@27414 -
2014-03-31 15:57:11 +00:00
Jonas Maebe
8364232049 + symx86 unit, forgot to commit (part of r27397)
git-svn-id: trunk@27399 -
2014-03-30 22:03:55 +00:00
Jonas Maebe
54964d92eb + forgot to commit, part of r26472
git-svn-id: trunk@27382 -
2014-03-30 16:55:03 +00:00
Jonas Maebe
4a79481c51 * isolated segment-related functionality of tabsolutevarsym into i386/i8086-
specific descendent classes and moved the code that deals with this in the
    code generator also to target-specific classes -> only ifdefs left in
    pdecvar

git-svn-id: trunk@27379 -
2014-03-30 15:42:53 +00:00
marco
a818559481 * clocale moved to rtl-extra.
git-svn-id: trunk@27376 -
2014-03-30 15:27:35 +00:00
marco
d6f5ca21b9 * moved units ipc for *BSD, darwin/iphonesim and linux. The others are
makefile cleanups.

git-svn-id: trunk@27373 -
2014-03-30 13:13:13 +00:00
marco
56277b18db * move fpcsubst to utils/ because it uses classes
git-svn-id: trunk@27370 -
2014-03-30 11:45:51 +00:00
sergei
1744988962 * Modified behavior of CExtended type in overload selection: it is made more compatible to Extended than to Double and Single. Also an Extended parameter selects a CExtended overload (if available) instead of Double.
+ Test.

git-svn-id: trunk@27366 -
2014-03-30 07:31:58 +00:00
Jonas Maebe
b57c95043f + support overriding tdef/tsym methods with target-specific functionality:
o made all (non-abstract) tdef and tsym constructors virtual
   o added c*def/c*sym classref types for every (non-abstract) t*def/t*sym
     class
   o added cpusym unit for every architecture that derives a tcpu*def/tcpu*sym
     class from the base classes, and initialises the c*def/c*sym classes with
     them. This is done so that the llvm target will be able to derive from
     the tcpu*def/sym classes without umpteen ifdefs, and it also means that
     the WPO can devirtualise everything because the c* variables are only
     initialised with one class type
   o replaced all t*def/t*sym constructor calls with c*def/c*sym constructor
     calls

git-svn-id: trunk@27361 -
2014-03-29 22:31:55 +00:00
marco
c6424b2e0b * moved unit terminfo to rtl-console
git-svn-id: trunk@27353 -
2014-03-29 21:00:50 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
marco
7f8a9bcf6e * serial to rtl-extra
git-svn-id: trunk@27350 -
2014-03-29 20:06:36 +00:00
marco
c465d3d64a * moving 4 cp9* units. These are 16-bit and big.
git-svn-id: trunk@27349 -
2014-03-29 19:43:13 +00:00
michael
48a7259ec3 * Patch from Reinier to test library loader for SQlite
git-svn-id: trunk@27343 -
2014-03-29 18:43:28 +00:00
marco
ed3a49372d * strutils moved to packages/rtl-objpas
git-svn-id: trunk@27339 -
2014-03-29 17:51:44 +00:00
svenbarth
a08e8ff982 Fix for Mantis #25929
* ninl.pas, tinlinenode.handle_default.getdefaultvarsym:
    prefix the default variable's name with a "$zero" instead of a "zero" and use only the string from the second character on for comparisons so that findwithhash() and checkduplicates() generate consistent results

+ added test

git-svn-id: trunk@27320 -
2014-03-28 14:45:18 +00:00
svenbarth
e003e1773c Add implementation of HMAC-MD5 and HMAC-SHA1 from Silvio Clecio. Resolves Mantis #24136
git-svn-id: trunk@27319 -
2014-03-28 14:09:52 +00:00
mazen
2ab3e8704d + fcl-sound: added new package for supporting sound processing.
git-svn-id: trunk@27292 -
2014-03-26 21:53:18 +00:00
nickysn
0236c2823a + added startup modules for compact, large and huge model that define the
memory model and include the common startup code prt0comn.asm (which is not
  yet adapted for the new models, but eventually will be)

git-svn-id: trunk@27262 -
2014-03-24 13:42:42 +00:00
nickysn
f4c463b6bd * prt0stm.asm renamed prt0comn.asm, as it will probably be used as the common
startup code for all memory models and not just for small, tiny and medium

git-svn-id: trunk@27261 -
2014-03-24 13:23:36 +00:00
florian
6f14dbdebe * avoid internal error if an empty record is assigned to a function result, resolves #25895
git-svn-id: trunk@27223 -
2014-03-21 16:31:57 +00:00
Jonas Maebe
f936a48afa * don't change the forward/interface definition of regular forward/interface
functions whose implementation is declared "external". This results in less
    efficient code (all calls will go through a stub), but it prevents interface
    crc changes (-> no recompilations in case of circular dependencies) and it
    also keeps the interface stable (if the external implementation is changed
    afterwards to another external routine or to a local implementation, the
    mangled name of the routine does not change) (mantis #24121)

git-svn-id: trunk@27213 -
2014-03-20 21:03:07 +00:00
marco
a1351db576 * rtl-unicode package, containing unicodeducet, collation units and *bidi* units
git-svn-id: trunk@27207 -
2014-03-20 18:28:38 +00:00
florian
5d57f38619 + functions for FMA and AVX2 detection
git-svn-id: trunk@27202 -
2014-03-20 15:47:51 +00:00
sergei
0255eb880e - Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.
+ m68k/mathu.inc: added stub implementations for missing functions.

git-svn-id: trunk@27180 -
2014-03-18 20:01:15 +00:00
Jonas Maebe
4dfc731bdc + support for nested classes in the WPO devirtualisation and VMT
optimization infrastructure (mantis #25869)

git-svn-id: trunk@27167 -
2014-03-16 19:46:17 +00:00
Jonas Maebe
8d4c372d50 * removed ifdef jvm from ncgvmt
git-svn-id: trunk@27154 -
2014-03-16 11:24:44 +00:00
Jonas Maebe
9420a5d7a7 * also check for targets not supporting -gc/checkpointer functionality in
compiler directives, not just on the command line (mantis #25862)

git-svn-id: trunk@27128 -
2014-03-13 20:42:18 +00:00
sergei
4b421c66b6 + Unit tests for TXMLReader-based XML parsing classes.
git-svn-id: trunk@27122 -
2014-03-13 00:30:57 +00:00
Károly Balogh
48ceebafb1 n68kmem node for better utilization of 68k specialities in addressing
git-svn-id: trunk@27110 -
2014-03-12 02:36:40 +00:00
nickysn
dcc2354760 * disallow 64-bit property index specifiers on 64-bit CPUs, since they were not
handled correctly there anyway (they were silently truncated to 32-bit)

git-svn-id: trunk@27061 -
2014-03-09 21:05:53 +00:00
florian
c9f7c7d88c + test for windows which tests if an .rc file can be really compiled into an .res file
git-svn-id: trunk@27042 -
2014-03-09 10:54:33 +00:00
florian
08a4e1efe1 * handle for ... in on arrays of constant correctly, resolves also #25838
+ tests

git-svn-id: trunk@27039 -
2014-03-09 09:03:22 +00:00
michael
0c8f3d6c12 * Javascript writer
git-svn-id: trunk@27035 -
2014-03-08 14:45:49 +00:00
michael
0de9c58092 * Tokens separated out of parser, needed in writer.
git-svn-id: trunk@27034 -
2014-03-08 14:45:34 +00:00
florian
7aa25e4385 + lazarus project for easier editing with lazarus
git-svn-id: trunk@26965 -
2014-03-05 20:31:37 +00:00
Jonas Maebe
ffac2feb59 * since we only build the deref for tprocdef.localst when we're
going to write it to the ppu since r26083, also only deref it
    if that's the case (mantis #25814)

git-svn-id: trunk@26956 -
2014-03-04 19:42:39 +00:00
florian
23c724f885 * prevent a temp. register allocated during spilling being immediately spilled again, resolves #25164
git-svn-id: trunk@26930 -
2014-03-02 19:47:05 +00:00