Károly Balogh
b4fd85f19c
m68k: unaligned handling for math and typeconv nodes
...
git-svn-id: trunk@33854 -
2016-05-29 18:48:24 +00:00
Károly Balogh
2d6736e40e
m68k: fixed unaligned stores' predecrement addressing. also removed an unnecessary sign-extension of the tmpreg for 16bit stores
...
git-svn-id: trunk@33853 -
2016-05-29 18:25:33 +00:00
Károly Balogh
a8ad51e96f
m68k: unaligned access support in add nodes
...
git-svn-id: trunk@33852 -
2016-05-29 18:12:36 +00:00
marcus
c4a0c08c8d
AmigaOS4: OS4 needs socketbase and interface as threadvars (like all other Amiga-systems)
...
git-svn-id: trunk@33848 -
2016-05-29 15:55:45 +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
marcus
3d448cd55f
Removed debug output from GetServerURL()
...
git-svn-id: trunk@33846 -
2016-05-29 15:46:12 +00:00
svenbarth
1bd43d9e37
Fix regressions.
...
pgenutil.pas:
+ new function maybe_add_pending_specialization() to add a pending specialization if it belongs to the current unit
* generate_specialization_phase2: don't set up the owner as this leads to problems when using overloaded generic routines and don't add it to the pending list if it's a procdef
ncal.pas, tcallnode:
* pass_typecheck: if we have a specialization then add it to the pending specializations once we know that we use it
git-svn-id: trunk@33843 -
2016-05-28 22:12:45 +00:00
svenbarth
7c5c5d2e4b
symdef.pas, tprocdef:
...
* don't check the type of the owner symtable if we don't have one
git-svn-id: trunk@33842 -
2016-05-28 22:08:00 +00:00
Károly Balogh
c509036c11
m68k: added REMS/REMU to the special formatting requirements list in the assembler writer
...
git-svn-id: trunk@33840 -
2016-05-28 15:30:48 +00:00
pierre
3ba2d44101
Regenerated after previous commit
...
git-svn-id: trunk@33832 -
2016-05-28 07:28:49 +00:00
pierre
806890df40
Avoid line longer than 255, to be able to edit Makefile.fpc with fp IDE
...
git-svn-id: trunk@33831 -
2016-05-28 07:27:24 +00:00
pierre
433da1b199
Add msdos and win16 to the list of target OS for which TargetHasDosStylesDirectories
...
git-svn-id: trunk@33830 -
2016-05-28 07:26:10 +00:00
michael
9f9abd525a
* Patch from Luiz Americo to add const to some string params (Bug ID 30197)
...
git-svn-id: trunk@33829 -
2016-05-27 19:11:48 +00:00
svenbarth
1d7c19aaf0
Fix regressions.
...
pgenutil.pas:
* process_procdef & process_abstractrecorddef: only check whether the procdef's generic is still a forward declaration if it's in the current unit (otherwise we would trigger an internal error)
git-svn-id: trunk@33828 -
2016-05-27 16:29:22 +00:00
svenbarth
ac95dcd7fa
Improve inlining of generic routines (no matter whether they belong to a generic type or a generics themselves).
...
psub.pas, read_proc_body:
* also try to generate pending specializations before generating a routine's code so that these might be inlined as well
git-svn-id: trunk@33827 -
2016-05-26 18:57:55 +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
svenbarth
2f6a1c01ba
pgenutil.pas, generate_specialization_phase2:
...
* ensure that the owner of the newly greated def is set to the symtable we specialize in (happens with generic routines)
git-svn-id: trunk@33825 -
2016-05-26 18:37:37 +00:00
svenbarth
f8def6dbc9
Store and use procedure directives of generic routines.
...
scanner.pas, tscannerfile:
+ new method is_recording_tokens to check whether token recording is already active
pdecsub.pas, parse_proc_directives:
* record tokens into the declaration token buffer of a generic routine if necessary
pgenutil.pas, generate_specialization_phase2:
* process the procedure directives that had been recorded with the generic routine
git-svn-id: trunk@33824 -
2016-05-26 18:35:08 +00:00
Károly Balogh
a2a630e9c5
m68k: fixed and enabled hardware mod/div support for coldfire, also it no longer depends on cpu family but cpu capability
...
git-svn-id: trunk@33821 -
2016-05-26 16:54:39 +00:00
Károly Balogh
931c14f0cf
m68k: in second_int_to_bool, don't call TST after OR, since OR sets the flags as required already
...
git-svn-id: trunk@33819 -
2016-05-26 14:48:56 +00:00
Károly Balogh
766eeffc69
m68k: build fix. (changes before commit is a bad idea...)
...
git-svn-id: trunk@33817 -
2016-05-26 14:47:16 +00:00
Károly Balogh
2bfa1b995a
m68k: added division/remainder cpu capabilities
...
git-svn-id: trunk@33816 -
2016-05-26 14:41:00 +00:00
Károly Balogh
6706445cb4
m68k: enable hardware divisions for all '020+, not only 020 itself
...
git-svn-id: trunk@33810 -
2016-05-26 10:38:08 +00:00
Károly Balogh
aa63aa95bb
m68k: a bunch of '000 related fixes and cleanups. generated source now compiles for '000 again, which was broken due to recent improvements conflicting with limitations of the original '000
...
git-svn-id: trunk@33809 -
2016-05-26 10:33:29 +00:00
Károly Balogh
62e0eab89b
m68k: also handle large register save/restore offsets on 68000
...
git-svn-id: trunk@33808 -
2016-05-26 00:04:55 +00:00
Károly Balogh
0dd5beb064
m68k: more unaligned access support in the base cg, also enabled the code
...
git-svn-id: trunk@33807 -
2016-05-26 00:03:25 +00:00
Károly Balogh
b6d845e732
m68k: needs_unaligned helper. returns true when the given reference with the given size needs to be loaded with unaligned support on the given cpu
...
git-svn-id: trunk@33806 -
2016-05-25 23:56:24 +00:00
Károly Balogh
391a79aebf
m68k: a bunch of tweaks and improvements to assembly functions. higher move() speed on coldfire, disabled fillword implementation on CPUs not supporting unaligned access
...
git-svn-id: trunk@33805 -
2016-05-25 22:44:18 +00:00
Károly Balogh
7fbae10515
m68k: added more cpu capabilities (unaligned access, long addressing, various MULx), and the 68060 cpu target
...
git-svn-id: trunk@33804 -
2016-05-25 22:14:58 +00:00
michael
cf6f3b7024
* Split autostore in autoconf/autosession
...
git-svn-id: trunk@33791 -
2016-05-25 15:49:35 +00:00
Károly Balogh
a82196bf84
* now Amiga and MorphOS defines tf_requires_proper_alignment. for 68k Amiga it's required for 68000, on others it's not mandatory but beneficial
...
git-svn-id: trunk@33788 -
2016-05-25 09:54:01 +00:00
nickysn
c78f406d99
+ implemented proper stack checking for the i8086
...
git-svn-id: trunk@33787 -
2016-05-24 23:57:47 +00:00
florian
9daa4bd48d
* always generate unaligned pointer entries (so .4bytes instead of .long is generated) in dwarf debugging info
...
git-svn-id: trunk@33782 -
2016-05-24 18:58:01 +00:00
svenbarth
a35627628c
Fix potential access violations when compiling units with helper types and/or generics
...
fmodule.pas, tmodule:
* end_of_parsing: free neither extendeddefs nor genericdummysyms as both might be used by the def-aware symtablestack even after parsing the unit is done
git-svn-id: trunk@33780 -
2016-05-24 14:32:04 +00:00
michael
a1e5c122f2
* Some updates from Graeme Geldenhuys
...
- pdf: updates demo with a landscape page.
- pdf: Intenal Coordinate Matrix was not always adjusted when needed.
eg: When the Page.Orientation was changed, PaperType was changed and so on.
- pdf: Extra sanity check to prevent a possible AV.
- TTF: new FixPathDelimiters() to fix font search paths.
git-svn-id: trunk@33779 -
2016-05-24 14:29:17 +00:00
michael
73ab7d877a
* Fix 30181: correctly finalize fontmanager
...
git-svn-id: trunk@33778 -
2016-05-24 12:43:46 +00:00
michael
300db70983
* Updated from latest service descriptions
...
git-svn-id: trunk@33777 -
2016-05-24 08:35:58 +00:00
michael
4d671cd49d
* Fix bug #30174 , by default allow additional properties
...
git-svn-id: trunk@33776 -
2016-05-24 08:33:45 +00:00
michael
1d54f9f3e7
* Improved code generator to take care of some corner cases (duplicate identifiers, linefeeds in descriptions)
...
git-svn-id: trunk@33775 -
2016-05-24 08:32:58 +00:00
michael
2121a3ae39
* Improved code generator to take care of some corner cases
...
git-svn-id: trunk@33774 -
2016-05-24 08:32:10 +00:00
pierre
345361beef
Revert commit 33771 and directly replace cpu8086 by cpui8086 which is always defined by ppc8086 compiler
...
git-svn-id: trunk@33773 -
2016-05-24 06:52:17 +00:00
michael
904b28bde2
* Small patch from Graeme Geldenhuys to make coding style more coherent (bug id 30114)
...
git-svn-id: trunk@33772 -
2016-05-24 06:49:18 +00:00
pierre
ba509152b8
Also define CPUSMALL macro if CPUI8086 is defined
...
git-svn-id: trunk@33771 -
2016-05-23 21:07:11 +00:00
pierre
6646a0d29f
Correct tseg.pp test for i8086 CPPU for which seg/cseg/dseg/sseg should NOT return zero values
...
git-svn-id: trunk@33770 -
2016-05-23 20:58:37 +00:00
pierre
74b3481918
Use small number for Blocks constant for i8086 CPU also
...
git-svn-id: trunk@33769 -
2016-05-23 20:51:07 +00:00
nickysn
0a9bcf0369
+ added the new test/units/windows directory to the list of dirs, searched for tests by the makefile
...
git-svn-id: trunk@33763 -
2016-05-23 17:22:07 +00:00
pierre
4ff01e1f41
Modify tnodeutils.insertbsssym method to generate indirect symbol only if flags contains tf_supports_packages
...
git-svn-id: trunk@33762 -
2016-05-23 15:31:18 +00:00
lacak
33d48897d7
fcl-db: sqldb: when parsing SQL end of /* comment */ is not detected if ends with **/. Bug #30171
...
git-svn-id: trunk@33761 -
2016-05-23 07:25:21 +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