Commit Graph

43060 Commits

Author SHA1 Message Date
Jonas Maebe
4a0528399e * check all overloaded routines for mangled name conflicts on the JVM
platform, as different Pascal declarations are mapped to the same
    JVM representation

git-svn-id: trunk@27520 -
2014-04-10 21:07:14 +00:00
Jonas Maebe
3a5e675a2b * fixed typo in last change (javaa instead of java)
git-svn-id: trunk@27519 -
2014-04-10 21:07:09 +00:00
sergei
bd58adfcc9 + Added credits for functions reused from AMath/DAMath libraries.
git-svn-id: trunk@27518 -
2014-04-10 20:29:49 +00:00
nickysn
afcb8c3f10 * initialize DS from CS in the interrupt procedure entry code in tiny model,
because dgroup emits relocations, which results in a linker warning and broken
  code when the target format is .com file.

git-svn-id: trunk@27517 -
2014-04-10 20:02:35 +00:00
nickysn
e21783a281 * i8086 small and tiny memory model ppus made incompatible. Rationale:
o the maintenance effort will be less - previously we had to test 4
    combinations:
      tiny program with tiny rtl
      tiny program with small rtl
      small program with tiny rtl
      small program with small rtl
    I only tested both tiny and small programs with the small rtl, so I missed
    a bug, which caused small programs built with the tiny rtl to always give
    a "Nil pointer assignment" error. Now we only need to test two cases:
      tiny program with tiny rtl
      small program with small rtl
  o I'm planning a bug fix for interrupt procedures in the tiny model, which
    will make their prolog differ between small and tiny. Currently, they're
    not used in the rtl, but that may change. And even if it doesn't,
    interrupt procedures may also be used by user units.

git-svn-id: trunk@27516 -
2014-04-10 16:31:06 +00:00
pierre
179390d63d Use script gnu ar for go32v2 target
git-svn-id: trunk@27515 -
2014-04-10 16:20:14 +00:00
pierre
29a7f75d1d Complete previous commit: add EXECPPAS to ALL explicit rules
git-svn-id: trunk@27514 -
2014-04-10 16:14:58 +00:00
pierre
2f5fcf775c Add EXECPPAS on explicit roules
git-svn-id: trunk@27513 -
2014-04-10 16:00:32 +00:00
pierre
ca156aa64a Force external linker for nasm smartlinking
git-svn-id: trunk@27512 -
2014-04-10 15:02:04 +00:00
pierre
816dfa69c1 Avoid new line after lock prefix for nasm
git-svn-id: trunk@27511 -
2014-04-10 14:56:30 +00:00
pierre
e0744b9759 Fix section output for user section in smart mode
git-svn-id: trunk@27510 -
2014-04-10 14:18:48 +00:00
pierre
62b3375033 Use slash instead of backslash inside linker script to allow use of cross-linker
git-svn-id: trunk@27509 -
2014-04-10 13:24:42 +00:00
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +00:00
pierre
f188dec303 Add missing unixtype unit dependencies
git-svn-id: trunk@27507 -
2014-04-10 09:54:26 +00:00
pierre
63363b6d8f Remove objects and matrix units now in rtl-extra package
git-svn-id: trunk@27506 -
2014-04-10 09:52:52 +00:00
pierre
efa80632ed Remove varutils, variants and dateutils units which are now in rtl-objpas package
git-svn-id: trunk@27505 -
2014-04-10 09:50:59 +00:00
pierre
ae8679ec60 Remove varutils and variants units which are now in rtl-objpas package
git-svn-id: trunk@27504 -
2014-04-10 09:48:38 +00:00
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
e725af86fe * fixed the handling of the register parameters of i8086 interrupt procedures
git-svn-id: trunk@27502 -
2014-04-07 22:19:10 +00:00
michael
59a9a595c5 * Fixed typo (t->s)
git-svn-id: trunk@27501 -
2014-04-07 13:12:53 +00:00
sergei
217bac7a0b - Removed fpc_pi_real compilerproc, it is no longer used. At least two releases (2.6.2 and 2.6.4) emit Pi directly as a constant.
git-svn-id: trunk@27500 -
2014-04-07 09:16:24 +00:00
sergei
2981f73aaa - Removed redundant functions "power", they were neither used nor accessible through interface. The actual function "power" is located in Math unit.
git-svn-id: trunk@27499 -
2014-04-07 09:04:13 +00:00
michael
4a969eef33 * Removed httpdefs dependency, added several missing raise statements
git-svn-id: trunk@27498 -
2014-04-07 08:42:10 +00:00
nickysn
626000e50d + added System.SelectorInc to the msdos rtl (BP7 compatibility)
git-svn-id: trunk@27497 -
2014-04-07 08:26:53 +00:00
sergei
e951887154 * Fixed linking of non-PIC code to indirect functions in shared objects.
git-svn-id: trunk@27496 -
2014-04-06 23:04:57 +00:00
nickysn
9f2e59de3a + implemented far pointer arithmetic in the i8086 add node simplify method
git-svn-id: trunk@27495 -
2014-04-06 18:51:53 +00:00
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