Commit Graph

48830 Commits

Author SHA1 Message Date
Jonas Maebe
cd5817a689 * also emit a tai_varloc() when regvars are initially assigned
o removed separate writing of the local variable/parameter location from
     psub, as that is now triggered by thise tai_varloc

git-svn-id: trunk@34084 -
2016-07-08 07:46:45 +00:00
Jonas Maebe
ee5a64c2f8 - removed tai_varloc.oldlocation: it is not used anywhere
git-svn-id: trunk@34083 -
2016-07-08 07:46:41 +00:00
Jonas Maebe
630033c9fa * fixed compilation on platforms where comp=int64 (should maybe fix the
compiler to support assigning integral floating point constants to
    comp on all platforms)

git-svn-id: trunk@34082 -
2016-07-06 17:28:08 +00:00
Károly Balogh
b0ca7e9594 show AT&T and Intel style assembler switches in i8086 and x86_64 help text. also fix Motorola name initials at several places for 68k
git-svn-id: trunk@34081 -
2016-07-06 13:34:38 +00:00
pierre
40ff777693 * Adapt to TExternCain move to aasmcpu unit
+ Make sure that a lone reference to DGROUP also generates a 'GROUP DGROUP' statement
  + Add %LINE support
  + Add $DEBUG for i8086 nasm

git-svn-id: trunk@34080 -
2016-07-06 07:00:13 +00:00
pierre
38f751573a Copy TExternChain type and AddSymbol procedure to unit aasmcpu from agx86nsm unit
git-svn-id: trunk@34079 -
2016-07-06 06:55:31 +00:00
pierre
b3063b7db2 Reset class fields FList and FHashList to nil after Destroy call
git-svn-id: trunk@34078 -
2016-07-06 06:14:37 +00:00
pierre
e68b8467b6 Use 'debug watcom all' if -g, without dwarf option is used
git-svn-id: trunk@34077 -
2016-07-06 06:13:08 +00:00
pierre
fba50767b3 Add SUPPORT_OMF conditional to be able to test OMF for win32/win64 targets, not working for now
git-svn-id: trunk@34076 -
2016-07-06 06:08:01 +00:00
pierre
bf97137be4 Add aliases $nosharedlib,$nounicode,$nothread to SkipTarget TConfig field
git-svn-id: trunk@34075 -
2016-07-06 05:52:23 +00:00
pierre
b238b3cb8d Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34074 -
2016-07-05 22:42:38 +00:00
pierre
ffe2940b01 Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34073 -
2016-07-05 22:32:19 +00:00
pierre
bc839068de Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34072 -
2016-07-05 22:30:12 +00:00
pierre
c8b1ca59d5 Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34071 -
2016-07-05 22:11:28 +00:00
pierre
47f01eaa52 Fix CRC calculation for i8086 compact memory model
git-svn-id: trunk@34070 -
2016-07-05 22:06:18 +00:00
Jonas Maebe
d4281d6111 * (re)create the module's waitingforunit and local*searchpath fields when it
is reset (mantis #28814)
   o if they are freed in end_of_parsing, they need to be recreated in case the
     unit needs to be recompiled anyway during the current run
   o in other cases they need to be reset since they will be repopulated during
     the recompilation

git-svn-id: trunk@34069 -
2016-07-05 21:01:55 +00:00
pierre
360f2734eb Improve targ1a and targ1b to really check content of args passed to called executable
git-svn-id: trunk@34067 -
2016-07-04 21:03:40 +00:00
michael
67503ad692 * Set session section name when user is passed on
git-svn-id: trunk@34065 -
2016-07-04 12:26:55 +00:00
michael
81953d7856 * Allow range of SSH versions, some IIS servers react strangely to svAny
git-svn-id: trunk@34064 -
2016-07-04 12:26:16 +00:00
michael
af66f2f984 * Set NameValueSeparator both on request and response (so response Location is read correctly)
git-svn-id: trunk@34063 -
2016-07-04 12:25:40 +00:00
michael
c8354993c1 * Some responses do not allow a message body, so attempting to read them is not needed, even if content-length is not specified
git-svn-id: trunk@34062 -
2016-07-04 12:24:50 +00:00
michael
743cc27f2f * Allow specifying a class
git-svn-id: trunk@34061 -
2016-07-04 12:23:56 +00:00
michael
a7ddadcb37 * Fixes from Graeme Geldenhuys:
TTF: Fixes failing tests due to newly added font to the test suite.
       Font count went from 4 to 5.
  TTF: fix bug where Postscript.FontAngle had the wrong data type.
       Updated the unit tests, but extending them with Liberation Sans Italic font.

git-svn-id: trunk@34060 -
2016-07-04 06:23:24 +00:00
Károly Balogh
0e54f616b5 merged i386 int64 mod helper fix by Max Nazhalov (Mantis 30240)
git-svn-id: trunk@34059 -
2016-07-03 21:20:07 +00:00
Jonas Maebe
db77aad2cc * support LOC_MMREGISTER for paralocs when loading 128 bit function results
into integer registers (a record that consists of 4 32 bit floats is
    returned in 2 xmm registers on x86_64) (mantis #30329)

git-svn-id: trunk@34058 -
2016-07-03 21:18:23 +00:00
Jonas Maebe
18639304e1 * convert the index for open arrays to ptr(u/s)inttype instead of to
(s/u)inttype (as in r32745)

git-svn-id: trunk@34057 -
2016-07-03 21:18:19 +00:00
joost
48f8199659 * Revert r34055, which was automatically committed while testing an automated repository-system
git-svn-id: trunk@34056 -
2016-07-03 19:06:35 +00:00
joost
57d1cd5668 'Release of package googleapi version 3.1.1'
git-svn-id: trunk@34055 -
2016-07-03 18:40:39 +00:00
pierre
1cbc526501 Reduce NumIterations for I8086 cpu to avoid timeout
git-svn-id: trunk@34052 -
2016-07-03 07:45:45 +00:00
Jonas Maebe
8df1d1f9b8 * fixed compilation of tw15391 with range checking enabled after r34034:
support maybe_call_procvar() on internal block nodes, which return
    their result via the last statement

git-svn-id: trunk@34051 -
2016-07-02 21:09:59 +00:00
nickysn
ac5658470e + use the 16-bit movsx and movzx instructions on 386+ in tcg8086.a_load_ref_reg
as well

git-svn-id: trunk@34050 -
2016-07-02 17:05:48 +00:00
pierre
16477c598d Fix huge memory model failure by adding nostackframe modifier needed to avoid DS reloading at proc entry
git-svn-id: trunk@34049 -
2016-07-02 15:12:18 +00:00
pierre
ef6a8009cf Add {$goto on} for FPC to avoid compile time error
git-svn-id: trunk@34048 -
2016-07-02 15:10:51 +00:00
pierre
2ca06538d6 Limit alignment requirement for I8086 CPU to 2 even if pointer is 4 byte long
git-svn-id: trunk@34047 -
2016-07-02 14:58:49 +00:00
nickysn
a5f1ae97d4 + make use of the 16-bit movsx and movzx instructions in tcg8086.a_load_reg_reg
when the cpu target is 80386 or later

git-svn-id: trunk@34046 -
2016-07-02 14:06:25 +00:00
pierre
fd4e42abaa Regenerate after 34044: Use createlst.mak also to generate tbs/tbf/webtbs/webtbf directory lsitings to avoid hitting parameter length limitation
git-svn-id: trunk@34045 -
2016-07-01 16:41:21 +00:00
pierre
7dcd7393e8 Use createlst.mak also to generate tbs/tbf/webtbs/webtbf directory lsitings to avoid hitting parameter length limitation
git-svn-id: trunk@34044 -
2016-07-01 16:40:40 +00:00
svenbarth
72be688a8c A unit's threadvar list needs to be indirectly referenced by the THREADVARLIST as well.
compiler/ngenutil.pas, tnodeutils:
  * InsertThreadvarTablesTable: reference a unit's (and the program's) threadvar table using a indirect symbol
  * InsertThreadvars: generate an indirect symbol for the threadvar table
rtl/inc/threadvr.inc:
  * TltvInitTablesTable: add an additional indirection for the tables field

git-svn-id: trunk@34043 -
2016-07-01 14:18:28 +00:00
marco
c335a3ea6e * change TDIR fields to longint. Should have been abandonned long ago.
git-svn-id: trunk@34041 -
2016-06-30 18:51:05 +00:00
marco
5038b944f1 * fix for bug #30331
git-svn-id: trunk@34039 -
2016-06-30 18:45:33 +00:00
michael
912c024f01 * Implement pascal class conversion test, from Mohamed Elemam
git-svn-id: trunk@34038 -
2016-06-30 17:52:22 +00:00
michael
ffe626fe6e * Patch from Graeme Geldenhuys to remove unneeded tools
git-svn-id: trunk@34037 -
2016-06-30 17:47:26 +00:00
Jonas Maebe
95f28e5e0c * avoid a crash when processing synthetic methods of specialised classes:
these are generated after the other specialisation methods (via
    add_synthetic_method_implementations, rather than via
    generate_specialization_procs)
   o fixes crash in tests/test/jvm/tw20212.pp

git-svn-id: trunk@34036 -
2016-06-30 15:33:54 +00:00
Jonas Maebe
ec5dea1092 * don't perform the "/ const" to "* (1/const)" transformation for comp-typed
expressions, since comp cannot represent fractions (bug reported at
    http://lists.freepascal.org/pipermail/fpc-pascal/2016-June/048234.html )

git-svn-id: trunk@34035 -
2016-06-30 15:33:51 +00:00
Jonas Maebe
996e325175 * converted range checking for open arrays/array of const from the code
generator to the typecheck pass, so that it also works for platforms
    that use the parentfpstruct way to handle accesses to nested frames
    in case the array has been migrated to such a parentfpstruct
   o additionally, the number of comparisons for such range checks
     has been reduced from 3 (for signed indices) or 2 (for unsigned
     indices) to 1 in all cases
   o the range checking code is disabled for the JVM target, as the
     JVM automatically range checks all array accesses itself anyway

git-svn-id: trunk@34034 -
2016-06-30 15:33:47 +00:00
Jonas Maebe
33b44443b8 + get_unsigned_inttype(def) to get an unsigned integer type of the same
size as the provided def (must be an orddef or enumdef)

git-svn-id: trunk@34033 -
2016-06-30 15:33:43 +00:00
Jonas Maebe
8e2607d96d * data for bitpacked arrays is part of an aggregate
git-svn-id: trunk@34032 -
2016-06-30 15:33:40 +00:00
Jonas Maebe
b5cb7a5d4f * factored out loading of integers from memory into structs in registers or
vice versa, and generalised for floating point and mm registers
    (webtbs/tw26993.pp)

git-svn-id: trunk@34031 -
2016-06-30 15:33:37 +00:00
Jonas Maebe
214aea8853 * a_loadfpu_ref_cgpara: use the paralocation instead of the cgpara size
when loading an fpu register, can be different in case of a record
    that needs to be passed in an fpu register

git-svn-id: trunk@34030 -
2016-06-30 15:33:34 +00:00
Jonas Maebe
eeae34ea7d * simplified handling of loading a reference into a register of a
larger size in case of structured types
   o also fixes the logic for big endian

git-svn-id: trunk@34029 -
2016-06-30 15:33:31 +00:00