Commit Graph

4054 Commits

Author SHA1 Message Date
florian
49f63d67b2 * correctly check left.location instead of left.expectloc when generating
code for not nodes, resolves #30208

git-svn-id: trunk@33906 -
2016-06-04 15:54:17 +00:00
svenbarth
aaff6d0b97 Allow Delete() and Insert() to be used with generic types as arguments.
+ added test

git-svn-id: trunk@33897 -
2016-06-03 21:45:23 +00:00
svenbarth
9fb2a8bba9 + added simple test to check whether Delete() and Insert() still work correctly (though a mistake there would probably have broken the cycling totally anyway...)
git-svn-id: trunk@33896 -
2016-06-03 21:38:29 +00:00
svenbarth
8c96fbed8f Fix for Mantis #28832
ninl.pas, tinlinenode:
  * pass_typecheck: let code pass on to simplify() for undefineddefs in Low() and High()
  * simplify: create a constant 0 as fallback

+ added test

git-svn-id: trunk@33884 -
2016-06-03 12:14:30 +00:00
svenbarth
04adcf2a12 Fix for Mantis #30179 and #30203.
pexpr.pas:
  * handle_factor_typenode: rework code for records and objects so that Delphi style specializations are handled as well
  * sub_expr.generate_inline_specialization: also do a typecheck pass on pload to be sure that we have a resultdef

+ added tests

git-svn-id: trunk@33876 -
2016-06-01 20:06:40 +00:00
svenbarth
c3c345d569 Fix for Mantis #30202.
pexpr.pas, sub_expr.generate_inline_specialization:
  * do_member_read() needs to happen independently of whether we're calling a method of the same object (was incorrectly copypasted code... :/ )

+ added test

git-svn-id: trunk@33875 -
2016-06-01 20:03:59 +00:00
Károly Balogh
a756609a27 m68k: added a simple VASM writer frontend for the GNU AS writer (as VASM has a compatiblity mode)
git-svn-id: trunk@33847 -
2016-05-29 15:52:43 +00:00
svenbarth
f27ce0b159 Rework the way the method bodies for specializations are generated: instead of walking the global and local symboltable all pending specializations are kept in a list of the current module which is (for now) walked at the end of a unit/program to generate the method bodies as before.
fmodule.pas, tmodule:
  + new list pendingspecializations which keeps track of all pending specializations of the current module
psub.pas:
  * move generate_specialization_procs and related routines to pgenutil
  + new procedure read_proc_body to read a routine's body, cause generate_specialization_procs needs it (unlike the already existing overload in the implementation section, this one can only handle bodies of non-nested routines) 
pgenutil.pas:
  * generate_specialization_phase2: add the newly specialized generic to the current module's pending specializations
  * generate_specialization_procs: reworked so that it uses the new pendingspecializations field instead of walking the global and local symboltable of the current unit
pmodules.pas:
  + add pgenutil to uses due to the moved generate_specialization_procs

+ added test

git-svn-id: trunk@33826 -
2016-05-26 18:56:16 +00:00
michael
300db70983 * Updated from latest service descriptions
git-svn-id: trunk@33777 -
2016-05-24 08:35:58 +00:00
florian
57f93ed40d * correctly generate accesses to jump tables if it contains negative entries, resolves issue #30119
git-svn-id: trunk@33760 -
2016-05-22 21:02:49 +00:00
Károly Balogh
963c4aa1f8 * fixed the sign handling of i386 fpc_div_int64 helper (Mantis 30166)
git-svn-id: trunk@33753 -
2016-05-22 16:57:30 +00:00
nickysn
bffe9480f4 + added the winapi functions, structures and constants for raw keyboard and mouse input
git-svn-id: trunk@33746 -
2016-05-22 01:59:27 +00:00
svenbarth
8927b8f6b1 * use the dummy DOS unit from the Embedded target so that we can use it for the ExtPas unit
git-svn-id: trunk@33711 -
2016-05-20 13:17:46 +00:00
Jonas Maebe
f1dad33217 * file forgotten to commit in r33708
git-svn-id: trunk@33710 -
2016-05-20 07:09:45 +00:00
Károly Balogh
25c34aedc2 m68k: implemented tcpucasenode.genlinearlist. 68k doesn't need cmp after sub, as sub sets the flags as expected. results in simpler, faster and more compact code
git-svn-id: trunk@33709 -
2016-05-19 21:33:45 +00:00
michael
5e3b22ab15 * Patch to Split AdvancedIPC and AdvancedSingleInstance, by Luiz Americo (Bug ID 30141)
git-svn-id: trunk@33699 -
2016-05-16 16:25:50 +00:00
michael
5f8fd810b8 * Test programs for crashing IPC server
git-svn-id: trunk@33698 -
2016-05-16 16:22:39 +00:00
michael
a5d38c7ba6 * Added TStringBuilder
git-svn-id: trunk@33695 -
2016-05-16 15:23:40 +00:00
marco
dd2aae023e * delete win9xwsmanager, conform bugreport #29108
git-svn-id: trunk@33687 -
2016-05-13 18:52:02 +00:00
marcus
a414a8bded os4units: support for Cybergraphics gfx
git-svn-id: trunk@33659 -
2016-05-06 19:07:14 +00:00
marcus
b6f73bf1cf os4units: support for Picasso96 gfx
git-svn-id: trunk@33658 -
2016-05-06 16:33:56 +00:00
marcus
acd7b1f128 AmigaOS4: Library unit for icon.library part 2
git-svn-id: trunk@33644 -
2016-05-03 20:17:50 +00:00
Jonas Maebe
14bab6c85d * fixed ppc jump table generation in case a jump table has cases for the
lowest and highest element of the type of the case expression, and the
    lowest element <> 0 (mantis #29906)

git-svn-id: trunk@33630 -
2016-05-03 09:00:52 +00:00
nickysn
a1621bd01c + XInput2.h header translation
git-svn-id: trunk@33625 -
2016-05-02 23:38:16 +00:00
nickysn
d06fb061db + added unit xfixes - header translation of X11/extensions/Xfixes.h
git-svn-id: trunk@33624 -
2016-05-02 21:32:27 +00:00
marcus
88a7915fb5 AmigaOS4: Added library units for asl, diskfont and workbench
git-svn-id: trunk@33623 -
2016-05-02 19:30:28 +00:00
nickysn
521790367d + new unit xge - header translation of X11/extensions/Xge.h
git-svn-id: trunk@33621 -
2016-05-02 17:25:20 +00:00
nickysn
5fa75f6037 + added unit xinput - a header translation of X11/extensions/XInput.h
git-svn-id: trunk@33620 -
2016-05-02 16:47:27 +00:00
nickysn
03dcc0f9ff + added header translation of X11/extensions/XI2.h
git-svn-id: trunk@33608 -
2016-05-01 23:53:18 +00:00
Károly Balogh
8d4e07c262 amunits: removed two Makefiles, which weren't actually in use for a good while
git-svn-id: trunk@33607 -
2016-05-01 22:46:26 +00:00
Károly Balogh
9e10e2fab4 ami-extra: moved pcq unit here from amunits/utilunits, so it's compiled for all Amiga-like platforms
git-svn-id: trunk@33606 -
2016-05-01 22:42:20 +00:00
michael
ad8e20efb7 * Moved hpack to fcl-web
git-svn-id: trunk@33602 -
2016-05-01 18:03:18 +00:00
Jonas Maebe
2bbab60c92 * when simplifying a constant string concatenation that gets assigned to a
rawbytestring, ensure the resulting constant string does not get CP_NONE
    as codepage, but the default system code page (mantis #30082)

git-svn-id: trunk@33597 -
2016-05-01 13:16:02 +00:00
Jonas Maebe
130d9fee91 * don't take the address of element 0 of a dynamic array in
tcallparanode.copy_value_by_ref_para() if the array is empty
    (mantis #30007)

git-svn-id: trunk@33595 -
2016-05-01 12:35:09 +00:00
florian
bd54a11f1c + TX86AsmOptimizer.OptPass1VMOVAP for i386 and x86-64
+ new unit aoptutils which helpers for the assembler optimizer

git-svn-id: trunk@33587 -
2016-05-01 09:37:21 +00:00
marcus
d9139219a9 os4units: mui added, DoMethod, DoSuperMethod and so on added.
git-svn-id: trunk@33585 -
2016-04-30 21:40:04 +00:00
marcus
77e47d21bb os4units: added iffparse, keymap, clipboard, graphics, intuition, activated some packages
git-svn-id: trunk@33581 -
2016-04-30 13:39:08 +00:00
michael
87be61c807 * Added HPACK implementation by José Mejuto (bug ID 30058)
git-svn-id: trunk@33579 -
2016-04-30 08:29:26 +00:00
michael
ecde605017 * Moved expression parser test to proper location, patch by Graeme Geldenhuys (bug ID 30037)
git-svn-id: trunk@33578 -
2016-04-30 07:53:36 +00:00
Jonas Maebe
44682f9f4d * ensure that if we create a temp for the funcretnode in a call node,
the funcretnode field keeps a reference to this temp even after we
    assign it to the call-by-reference return parameter if it is deleted
    by changing it into a normal temp (after which it will be freed when
    the result of the call node is used), because in that case getcopy
    for the callnode must copy this reference after copying the
    tempdeletenode in order to reset tempinfo^.hookoncopy (mantis #29891)

git-svn-id: trunk@33569 -
2016-04-28 20:33:12 +00:00
marcus
6e9e508091 os4units: inputevents and library unit for layer.library
git-svn-id: trunk@33560 -
2016-04-26 17:46:22 +00:00
marcus
d23ee52001 os4units: library unit for graphics.library
git-svn-id: trunk@33555 -
2016-04-25 21:27:30 +00:00
marcus
44a544d0f5 AmigaOS4: library units for utility.library, timer.device and dos.library
git-svn-id: trunk@33552 -
2016-04-24 16:30:36 +00:00
marcus
31b6e2df9b AmigaOS4: initial package checkin with exec.library unit
git-svn-id: trunk@33549 -
2016-04-23 14:55:20 +00:00
svenbarth
d07b49270f Fix for Mantis #30030.
pgenutil.pas:
  * parse_generic_specialization_types_internal: ignore the parasymtable of procvars (as before the addition of generic routines) and instead use the type's hierarchy name
  * generate_specialization_phase2: specialize types of procvars into the parameter symtable as they don't have a local one

+ added test

git-svn-id: trunk@33544 -
2016-04-22 13:07:48 +00:00
florian
3c2dab9878 * i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same
git-svn-id: trunk@33542 -
2016-04-21 20:14:01 +00:00
Jonas Maebe
1850cb4ccc * don't look at the resultdef, but at the defs of the operands to decide
whether a multiplication needs to be signed or unsigned (can be different
    in case of a 32x32->64 multiplication) (mantis #30035)

git-svn-id: trunk@33539 -
2016-04-20 22:17:15 +00:00
michael
ef564491b2 * Fixes from Graeme Geldenhuys for bug ID #30006 and bug ID #30008:
--------------------------------
  * pdf unittests: fixes failing test after fpPDF changes, plus newtest added.
  * pdf: fixes failing test due to recent changes in fpPDF.
  * pdf tests: new test for new behaviour.
  * pdf: Applies patch from Mantis 30006 - and replaced bitmasks with Sets.
  * pdf tests: Updates the README file with exact font details used by the tests.
  * ttf: fixes debug output directory.
  * pdf: FPC Mantis BugID 30008: fpTTF: wrong Ascender/Descender calculation
  * pdf: fix bug where return value was never set.
  * pdf: fixes compiler hint about uninitialised variables being used.
  * pdf unittests: fixes memory leak in one test.
  * pdf unittests: fixes compiler hint about unused units in uses  clause.

git-svn-id: trunk@33535 -
2016-04-19 07:10:59 +00:00
Jonas Maebe
f50dec5202 * don't allow implicit type conversions from pointers to c-style blocks in
Delphi mode, because unlike for procvars we need full type information
    to be able to generate a block (mantis #30022)

git-svn-id: trunk@33529 -
2016-04-17 19:07:26 +00:00
marcus
e38e051425 Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS
git-svn-id: trunk@33528 -
2016-04-17 15:31:18 +00:00