Commit Graph

49852 Commits

Author SHA1 Message Date
Jonas Maebe
d36fe53d85 * factored out the code to create an complete alias for a procdef to
symcreat.create_procdef_alias()

git-svn-id: trunk@35087 -
2016-12-09 13:39:35 +00:00
Jonas Maebe
8af85a16b3 * document finish_copied_procdef()
git-svn-id: trunk@35086 -
2016-12-09 13:39:31 +00:00
Jonas Maebe
472b5228fe * changed ncgutil.has_alias_name(pd,s) to a method of tprocdef
git-svn-id: trunk@35085 -
2016-12-09 13:39:28 +00:00
michael
4406ec7e68 * Forgot to add subsetter font
git-svn-id: trunk@35084 -
2016-12-09 13:22:48 +00:00
michael
b7083402cf * Fix from Graeme adding Font subset embedding and underline/strikethrough
git-svn-id: trunk@35083 -
2016-12-09 12:51:06 +00:00
florian
1e374df5b8 * correctly calculate the bit mask in thlcgobj.a_load_regconst_subsetreg_intern, resolves #31042
* convert immediates on x86 always to 32 (x86-64, i386) or 16 bit (i8086) signed values

git-svn-id: trunk@35082 -
2016-12-07 20:08:22 +00:00
sergei
8173efff3e * x86 asm reader: Don't copy operand size to instruction size for MOVSS and VMOVSS, because it is different for source and destination. Fixes breakage caused by fixing memory size of those instructions (Mantis #29954 and Mantis #29957).
+ Tests are extended to check that both OPR_LOCAL and OPR_REF memory operands compile without warnings as source and destination, in both Intel and AT&T syntax.

git-svn-id: trunk@35081 -
2016-12-07 14:08:28 +00:00
svenbarth
a23cfd9a85 * regenerate msgidx.inc and msgtxt.inc after r35079; thankfully that didn't break the build this time since it was merely a text change ^.^'
git-svn-id: trunk@35080 -
2016-12-07 07:38:01 +00:00
svenbarth
d499163ef5 * provisional fix for Mantis #31076: fail gracefully instead of with an internal error if a generic method is declared inside a generic class or record. This will change once we support nested generics however.
* adjusted error message to reflect that we're not only dealing with generic classes
+ added test; note: it's added in webtbs, cause the test will loose its %FAIL attribute in the future

git-svn-id: trunk@35079 -
2016-12-06 22:26:53 +00:00
svenbarth
70817baf98 * since we already allow inline specializations in mode ObjFPC due to generic functions it's only consequential to also allow specializations after pointers (they are already allowed in mode Delphi).
+ added tests
* tgeneric87.pp and tgeneric88.pp are no longer considered as tests that should fail

git-svn-id: trunk@35078 -
2016-12-06 21:37:22 +00:00
Károly Balogh
db976a3a3e amiga: added __amigaos4__ signature symbol to the pascal startup code
git-svn-id: trunk@35077 -
2016-12-06 01:26:20 +00:00
Károly Balogh
eb6fe91208 amiga: proof-of-concept untested implementation for OS4/PowerPC Pascal startup code
git-svn-id: trunk@35076 -
2016-12-05 21:12:23 +00:00
marcus
8917b476c0 AROS: CreateRastPort as explicit function only needed for ABIv1 (for v0 in graphics.library)
git-svn-id: trunk@35075 -
2016-12-05 07:22:05 +00:00
marcus
afaefc32e8 AROS: more ABIv1 and x64 adjustments
git-svn-id: trunk@35074 -
2016-12-04 21:49:54 +00:00
florian
759a53dfc7 - removed comment that the unit is a prototype and changing: the comment was introduced 10 years ago, the unit is part of stable release for years, it is documented
git-svn-id: trunk@35073 -
2016-12-04 21:16:00 +00:00
florian
55d9fea401 * CLASSESINLINE -> FGLINLINE
* inlining enabled

git-svn-id: trunk@35072 -
2016-12-04 21:14:00 +00:00
Károly Balogh
dbd7e74e9c amiga: yet another attempt to fix powerpc-amiga build
git-svn-id: trunk@35071 -
2016-12-04 19:10:53 +00:00
Károly Balogh
8057b42830 amiga: only try to build the pascal startup code on 68k for now
git-svn-id: trunk@35070 -
2016-12-04 18:51:48 +00:00
Károly Balogh
b356b18675 amiga: forgot to commit the actual buildrtl.pp in the previous commit
git-svn-id: trunk@35069 -
2016-12-04 18:37:47 +00:00
Károly Balogh
788c622307 amiga: pascal startup code for 68k and buildrtl refactor
git-svn-id: trunk@35068 -
2016-12-04 18:21:24 +00:00
marcus
7eba7122d2 AROS: ABIv1 AmigaDOS unit
git-svn-id: trunk@35067 -
2016-12-04 16:58:59 +00:00
marcus
bebef242d4 AROS: Initial ABIv1 Support
git-svn-id: trunk@35066 -
2016-12-04 15:41:35 +00:00
Károly Balogh
1701f06a0e morphos: take two on the Pascal startup code. this version works as a drop-in replacement for the asm one, and doesn't need system unit patching. this will be important when linking against LibC and when the approach gets ported to other Amiga-like platforms
git-svn-id: trunk@35065 -
2016-12-04 14:02:01 +00:00
marcus
114a43e6ef AROS: fixed TTask type
git-svn-id: trunk@35064 -
2016-12-04 13:45:04 +00:00
michael
d05175a17f * FileOpen should not open directories (Windows compatible) Bug ID #30766
git-svn-id: trunk@35063 -
2016-12-04 12:41:57 +00:00
michael
0d772ae198 * Patch from Silvio Clecio to remove unused variable (bug ID 31044)
git-svn-id: trunk@35062 -
2016-12-04 11:56:05 +00:00
Jonas Maebe
f55d962e40 * use system.round() instead of LLVM's fptosui operation for converting a
floating point type to currency, as fptosui is defined as always rounding
    to zero while on other platforms we use the FPU's current rounding mode
    (fixes webtbs/tw21449 for LLVM, and also webtbs/tw24197 because LLVM's
     code generated for fptosui temporarily changes the FPU control word so
     it rounds to zero and also to disable FPU exceptions)

git-svn-id: trunk@35061 -
2016-12-04 11:15:22 +00:00
Jonas Maebe
8b1c90124e * support encoding helper types for LLVM (encode the same type as the
extended class) (fixes webtbs/tw21457 for LLVM)

git-svn-id: trunk@35060 -
2016-12-04 11:15:19 +00:00
Jonas Maebe
a0b537bc7b * fixed typed constants that use an integer number to initialise a procvar or
pointer on LLVM (fixes webtbs/tw21267)

git-svn-id: trunk@35059 -
2016-12-04 11:15:15 +00:00
Jonas Maebe
2e9c6f35ae - disable -Ooregvar for the LLVM-based x86-64 code generator, as it causes
internalerrors there and fixing it doesn't make sense since LLVM will take
    care of that anywaya

git-svn-id: trunk@35058 -
2016-12-04 11:15:12 +00:00
Jonas Maebe
a2017b2327 * don't keep tc_equal type conversions for LLVM in case the resultdef doesn't
change, since then we definitely don't have to insert a type conversion at
    the LLVM level either (fixes webtbs/tw1901 for LLVM)

git-svn-id: trunk@35057 -
2016-12-04 11:15:09 +00:00
Jonas Maebe
a8e107bb4b * fix memory leak: free rg[R_MMREGISTER]
git-svn-id: trunk@35056 -
2016-12-04 11:15:05 +00:00
michael
d6d10a522a * Patch from Mattias Gaertner
- more tests
   - case-of: added option to change between switch and if-else
   - Some changes to the way the implementation block is generated for units.

git-svn-id: trunk@35055 -
2016-12-04 09:35:53 +00:00
Károly Balogh
f3e33a9dde morphos: new pascal-written internal startup code. also refactored the rtl build process for morphos
git-svn-id: trunk@35054 -
2016-12-04 00:15:41 +00:00
Tomas Hajny
7956cb5d48 * CrtCtrlBreakHandler may not be invoked for Ctrl-C on certain platforms (Win32/Win64) - made conditional (preparation for future use as platform independent include file)
git-svn-id: trunk@35053 -
2016-12-03 23:41:03 +00:00
Tomas Hajny
63c3fc59d4 * as pointed to by Dmitry Boyarintsev (bug #31023), TurnMouseOff is not used and may be removed
git-svn-id: trunk@35052 -
2016-12-03 23:38:58 +00:00
Tomas Hajny
8038b2e64f * patch by Dmitry Boyarintsev (bug #31023) improving compatibility of unit Crt under Win32 and Win64 to other platforms and original TP/BP - Ctrl-C now treated as ASCII 3 and Ctrl-Break respects CheckBreak setting
git-svn-id: trunk@35051 -
2016-12-03 23:37:03 +00:00
Tomas Hajny
e5ceb04725 * patch by Dmitry Boyarintsev (bug #31023) implementing SysSetCtrlBreakHandler for Win32 and Win64
git-svn-id: trunk@35050 -
2016-12-03 23:35:20 +00:00
marcus
85e485826a AROS: Startupcode for x86_64 with stack extent feature
git-svn-id: trunk@35049 -
2016-12-03 19:29:00 +00:00
Károly Balogh
8c4e5e0610 bump PPU version due to the latest syscall changes
git-svn-id: trunk@35048 -
2016-12-03 19:01:11 +00:00
Károly Balogh
0cb555c07c syscalls: move the reference implementation of parseparaloc to paramgr. removes two identical copies from CPU specific code and enables basereg convention for AROS/x86_64. also, other minor fixes and cleanups in related code.
git-svn-id: trunk@35047 -
2016-12-03 19:00:41 +00:00
Jonas Maebe
ba33da711a * fixed compilation after r35034
- removed commented-out uses statement

git-svn-id: trunk@35046 -
2016-12-03 08:48:01 +00:00
Jonas Maebe
8c167f4e40 * handle already quoted symbol names for LLVM (like for Objective-C)
git-svn-id: trunk@35045 -
2016-12-02 18:04:14 +00:00
Jonas Maebe
876e5eab56 * fixed "smart linking" parameters to llc
git-svn-id: trunk@35044 -
2016-12-02 17:45:12 +00:00
Jonas Maebe
f26ed10ba1 * same as r27223 for hlcgobj (fixes webtbs/tw25895 for llvm)
git-svn-id: trunk@35043 -
2016-12-02 17:45:09 +00:00
Jonas Maebe
02e4a27a35 * print internalerrors in case we still encounter stray constants not part of
a typed constants
  * don't print superfluous newlines in typed constant definitions

git-svn-id: trunk@35042 -
2016-12-02 12:33:09 +00:00
Jonas Maebe
db40e1575d + support for handling the tcalo_no_dead_strip flag when targeting LLVM:
add such symbols to the pseudo-arrays llvm.compiler.used or llvm.used
    depending on their nature (fixes compiling Objective-C programs with
    optimization, and keeps the FPC ident in the linked binary)

git-svn-id: trunk@35041 -
2016-12-02 12:33:05 +00:00
Jonas Maebe
e62cb7917e + support for setting the "appending" flag of declaration generated via an
LLVM typed constant builder through a new appendingdef property

git-svn-id: trunk@35040 -
2016-12-02 12:33:02 +00:00
Jonas Maebe
97d6f17cc8 + add support for marking an LLVM definition as using "appending" linkage
git-svn-id: trunk@35039 -
2016-12-02 12:32:58 +00:00
Jonas Maebe
d328d7d95d * don't write an alignment for symbols in internal llvm sections (sections
whose name starts with 'llvm.')

git-svn-id: trunk@35038 -
2016-12-02 12:32:54 +00:00