Commit Graph

51212 Commits

Author SHA1 Message Date
marco
cb0f89c4a8 * change longint cast of pointer to ptrint #32096
git-svn-id: trunk@36642 -
2017-07-04 11:48:49 +00:00
maciej-izak
72a35844c5 fcl-passrc: pparser: Correct parent for first method on overloads list.
git-svn-id: trunk@36641 -
2017-07-03 22:30:44 +00:00
florian
0d296001a8 * argv is a longint in fpc
git-svn-id: trunk@36640 -
2017-07-03 20:49:08 +00:00
florian
57a137068b * integer registers must have the size R_SUBWHOLE for sparc, resolves issue #32065
git-svn-id: trunk@36639 -
2017-07-03 20:49:06 +00:00
florian
28cfa838b5 + support for the different flag registers of sparc
* fixing 64 bit cmp operations on sparc64

git-svn-id: trunk@36638 -
2017-07-03 20:49:05 +00:00
florian
4b30e5ee11 + TSparcmoddivnode.pass_generate_code for SPARC64
git-svn-id: trunk@36637 -
2017-07-03 20:49:03 +00:00
florian
5bc9890727 + more sparc64 instructions
git-svn-id: trunk@36636 -
2017-07-03 20:49:01 +00:00
florian
5b91fd7065 + taicpu.op_reg_sym for sparc
git-svn-id: trunk@36635 -
2017-07-03 20:49:00 +00:00
florian
26b43e65c9 * fix longjmp/setjmp for sparc64
git-svn-id: trunk@36634 -
2017-07-03 20:48:58 +00:00
florian
65c9e6c32e + fccX registers
git-svn-id: trunk@36633 -
2017-07-03 20:48:56 +00:00
florian
94c3ac027b * fixed spelling: fpc_mode -> gpc_mode
git-svn-id: trunk@36632 -
2017-07-03 20:48:53 +00:00
Károly Balogh
17e85c4a09 m68k: rewritten FillChar from scratch. does aligned word and dword writes on large block fills. depending on the host CPU it's up to 5x faster on medium and large block fills
git-svn-id: trunk@36631 -
2017-07-03 19:22:51 +00:00
pierre
91995c004c Fix compilation of graph unit for msdos OS target
git-svn-id: trunk@36630 -
2017-07-03 17:07:42 +00:00
pierre
4882b802ae Fix compilation of RTL classes unit for msdos OS target
git-svn-id: trunk@36629 -
2017-07-03 16:21:15 +00:00
maciej-izak
f5b8825662 fcl-passrc: new GlobalDirectivesSection (section between unit and interface) to allow writing $IFDEFS and global directives from paswrite.pp by TPasImplCommand/TPasImplCommands
git-svn-id: trunk@36628 -
2017-07-03 13:58:42 +00:00
maciej-izak
bbc2ef6ac0 fcl-passrc: paswrite: write initialization and finalization sections for module
git-svn-id: trunk@36627 -
2017-07-02 20:57:41 +00:00
Károly Balogh
13d2ae8166 m68k: disabled obsolete test which tested between FPU_NONE and FPU_SOFT defaults...
git-svn-id: trunk@36626 -
2017-07-01 21:29:00 +00:00
maciej-izak
184157c9d7 fcl-passrc: paswrite: allow writing "out" and "constref" modifiers
git-svn-id: trunk@36625 -
2017-07-01 18:31:28 +00:00
maciej-izak
f475ba39ba fcl-passrc: pastree: Don't create TPasUnresolvedTypeRef for empty AUnresolvedTypeName in TPasProcedureType.CreateArgument (parameter can be declared without type with additional modifiers)
git-svn-id: trunk@36624 -
2017-07-01 17:06:13 +00:00
maciej-izak
c5941e109f fcl-passrc: paswrite: omit useless calling DecIdent and IncIdent in WriteImplElement method
git-svn-id: trunk@36623 -
2017-07-01 12:53:00 +00:00
maciej-izak
8225588722 fcl-passrc: pastree: Move option SemicolonAtEOL to new more generic class TPasImplCommandBase
git-svn-id: trunk@36622 -
2017-06-30 22:55:55 +00:00
maciej-izak
99f7c010a8 fcl-passrc: similar to r36619. New option SemicolonAtEOL for better control of TPasImplCommand (previously, semicolon was implicitly added for command for generated pascal code by paswrite.pp module for TPasImplCommand)
git-svn-id: trunk@36621 -
2017-06-30 22:47:18 +00:00
svenbarth
ad65ff5600 * insert symbol only once
git-svn-id: trunk@36620 -
2017-06-30 15:59:33 +00:00
maciej-izak
aaf7f5137e fcl-passrc: new option SemicolonAtEOL for better control of TPasImplCommands (previously, semicolon was implicitly added for each line for generated pascal code by paswrite.pp module for TPasImplCommands)
git-svn-id: trunk@36619 -
2017-06-30 13:35:24 +00:00
Károly Balogh
2d8313165d m68k: support FFU exception settings, also reworked FPU initalization
git-svn-id: trunk@36618 -
2017-06-30 02:38:14 +00:00
svenbarth
a301bf75ea * ngenutil.tnodeutils.sym_maybe_initialize: don't use "is" operator, but corresponding is_* functions
git-svn-id: trunk@36617 -
2017-06-29 18:51:35 +00:00
maciej-izak
6006c6a8bd fcl-passrc: paswrite: allow write TPasImplCommand and TPasImplCommands directly in TPasWriter.WriteElement. Useful way to build pascal code by using predfined code blocks.
git-svn-id: trunk@36616 -
2017-06-29 13:24:42 +00:00
maciej-izak
584ef096a0 fcl-passrc: paswrite: write interfaces GUID
git-svn-id: trunk@36615 -
2017-06-29 12:39:46 +00:00
Károly Balogh
4001435454 fixed typo in previous commit
git-svn-id: trunk@36614 -
2017-06-29 01:21:35 +00:00
Károly Balogh
a12111e1bd m68k: define safecall_is_cdecl on m68k too in tcalvar6 and tcalst6
git-svn-id: trunk@36613 -
2017-06-29 00:33:55 +00:00
Károly Balogh
358f8eb85d m68k: do not internalerror on localsize < 0. this condition is handled elsewhere in the compiler properly, so we just let it through
git-svn-id: trunk@36612 -
2017-06-29 00:11:19 +00:00
Károly Balogh
ad89a972e5 m68k: also have tf_safecall_clearstack flag defined for Linux
git-svn-id: trunk@36611 -
2017-06-28 23:55:17 +00:00
maciej-izak
3fd4e52345 fcl-passrc: paswrite: handled calling conventions for procedure declaration
git-svn-id: trunk@36610 -
2017-06-28 13:54:47 +00:00
Károly Balogh
0370d52f20 m68k: support longword to double conversions with the FPU, without a helper, better code for some other cases
git-svn-id: trunk@36609 -
2017-06-28 01:27:02 +00:00
maciej-izak
bcacbe1cba fcl-passrc: paswrite: proper write for properties (previously WriteProperty was not executed)
git-svn-id: trunk@36608 -
2017-06-27 12:52:58 +00:00
maciej-izak
b35522d947 Commit again r36573 reverted by r36601 -,-
git-svn-id: trunk@36607 -
2017-06-27 12:44:46 +00:00
michael
54a8a73ca7 * Append end to correct location in class
git-svn-id: trunk@36606 -
2017-06-27 06:59:59 +00:00
Károly Balogh
02ed753fab m68k: yet another attempt to fix small struct alignments on stack
git-svn-id: trunk@36605 -
2017-06-27 02:36:55 +00:00
Károly Balogh
8a8753eb79 m68k: reenabled some safety checks and removed obsolete TODO comment
git-svn-id: trunk@36604 -
2017-06-26 19:45:11 +00:00
Károly Balogh
d5e1b391f9 m68k: when calling g_concatcopy for para copy, still only copy cgpara.intsize amount of bytes
git-svn-id: trunk@36603 -
2017-06-26 19:40:13 +00:00
Jeppe Johansen
09a8cafcd7 Restricted MlaCmp>Mlas optimization to only work in ARM mode.
git-svn-id: trunk@36602 -
2017-06-26 18:14:46 +00:00
Mattias Gaertner
8935b3c05c fcl-passrc: const eval: pred(), succ(), ord()
git-svn-id: trunk@36601 -
2017-06-26 16:21:32 +00:00
Mattias Gaertner
84b08b61a8 fcl-js: jssrcmap: added property SourceTranslatedFiles to allow custom filenames written to JSON
git-svn-id: trunk@36600 -
2017-06-26 16:19:08 +00:00
Mattias Gaertner
a66eaa4769 fcl-js: jswriter: allow overriding Writing, less grows(faster and less allocations)
git-svn-id: trunk@36599 -
2017-06-26 16:17:34 +00:00
Károly Balogh
22ae3cd186 m68k: revert the r36568 and the followup fix attempts altogether, as they broke Amiga support entirely. there will be a cleanup before another fixing attempt
git-svn-id: trunk@36598 -
2017-06-26 16:02:26 +00:00
Jeppe Johansen
f3889a191b Generate bx lr exit instruction in Thumb-2 instead of mov pc,lr as bx lr will trigger an exception return but mov doesn't.
git-svn-id: trunk@36597 -
2017-06-26 08:05:31 +00:00
Károly Balogh
a14b2fd80a m68k: modify some alignment calculations in the register calling convention code, hopefully it fixes some Amiga regressions introduced in r36568
git-svn-id: trunk@36596 -
2017-06-25 19:33:21 +00:00
Károly Balogh
890f4ac2bc m68k: use 2 byte alignments for C structs on Linux
git-svn-id: trunk@36595 -
2017-06-24 23:19:00 +00:00
Károly Balogh
ea635bfda5 typinfo: push/pop doesn't save packrecords. also, always use AlignTypeData on m68k, which might have less than pointer sized (word, 2 byte) alignments in the typeinfo, because on most systems C compilers also use 2 byte alignments, so we need that for compatibility
git-svn-id: trunk@36594 -
2017-06-24 23:18:12 +00:00
Károly Balogh
41f72a0e6d m68k: some initial support for C ABIs which use an address register to return structs by address
git-svn-id: trunk@36592 -
2017-06-24 19:03:58 +00:00