Commit Graph

47749 Commits

Author SHA1 Message Date
Jonas Maebe
abcf441c00 * moved tllvmshadowsymtable items default property from private to public
section (although the compiler doesn't seem to care about it)

git-svn-id: trunk@32716 -
2015-12-25 21:05:31 +00:00
Jonas Maebe
f83f9168ee * emit all resource strings and internal dynamic string data using the
def representing that string type, instead of using p(wide)char
   o these string types are represented the same in llvm as p(wide)char,
     but this way we can check whether the emitted data type matches the
     expected one in the future

git-svn-id: trunk@32715 -
2015-12-25 21:05:26 +00:00
Jonas Maebe
787caf4dda * treat records with {$packrecords c} the same as other records for LLVM
o while in principle LLVM can layout those the same as we do, this would
     require special treatment in case some fields are not initialised in
     a typed record declaration (because then we have to emit padding only
     for the skipped fields, and not for any padding between them)
   o exception: records we create to represent parameters, as those have to
     match the ABI definitions exactly for them to be treated as expected

git-svn-id: trunk@32714 -
2015-12-25 21:05:22 +00:00
Jonas Maebe
f57a94b5aa * explicitly name the fields we add in llvmgettemprecorddef()
* use those field names when loading their addresses in
    thlcgllvm.a_load_ref_cgpara()/gen_load_cgpara_loc(), instead of
    assuming the field indices in the llvm representation of those
    records matches the parameter location order (it currently does
    because we let llvm lay out C-packed records, but that will
    change)

git-svn-id: trunk@32713 -
2015-12-25 21:05:17 +00:00
Jonas Maebe
5774238887 * always keep track of the field about to be emitted in curfield, as we
will need this for LLVM to determine whether the emitted data completely
    matches the definition (if not, we have to create a def for the actual
    data)
  - removed no longer used fieldoffsets property

git-svn-id: trunk@32712 -
2015-12-25 21:05:12 +00:00
Károly Balogh
c7ea73dccf morphunits: removed things which belong to internal input.device API accidentally exposed in the public headers
git-svn-id: trunk@32711 -
2015-12-25 20:47:38 +00:00
Károly Balogh
6bbc078ef8 morphunits: added input.device and keyboard.device interfaces, based on fpc-triforce
git-svn-id: trunk@32710 -
2015-12-24 19:19:32 +00:00
Károly Balogh
336e054bb0 morphunits: renamed WriteStr macro to dosWriteStr, to avoid clash with WriteStr in system unit
git-svn-id: trunk@32709 -
2015-12-24 17:43:18 +00:00
Károly Balogh
1f88db0bd3 morphunits: removed KVM unit, which was never meant for public use, and it's no longer used internally in the keyboard/video/mouse units.
git-svn-id: trunk@32708 -
2015-12-24 17:29:17 +00:00
Jonas Maebe
8f645fdc83 * removed hack to disable dircache for DragonFly BSD now that its dirent
handling has been fixed

git-svn-id: trunk@32707 -
2015-12-24 10:54:53 +00:00
Jonas Maebe
f8f03ac4ad * fixed dirent handling for DragonFly BSD (patch by John Marino,
mantis #29228)

git-svn-id: trunk@32706 -
2015-12-24 10:54:47 +00:00
Károly Balogh
d866e0be32 amunits: fixed error to be PLongInt instead of PCxObj in CxBroker. Shouldn't make a big actual difference, but for the sake of correctness...
git-svn-id: trunk@32705 -
2015-12-24 08:02:37 +00:00
Károly Balogh
21352ca934 amunits: actually, the DoMethodA() fix by Marcus added in r32699 is correct, and the old version was wrong. so remove remark about TODO, and leftovers of the old code.
git-svn-id: trunk@32704 -
2015-12-24 06:12:32 +00:00
Károly Balogh
c10272d879 amunits, arosunits, morphunits: don't pass the calculated object address through a local var in OCLASS, it's not needed really. also allow inlining of the macros. this results in better code generated
git-svn-id: trunk@32703 -
2015-12-24 05:54:03 +00:00
Károly Balogh
5d7b08d28f amunits: fixed CreateCxObj argument locations in commodities
git-svn-id: trunk@32702 -
2015-12-24 05:00:08 +00:00
Károly Balogh
bafefd52f6 morphunits: amigalib rework
* use Pascal implementations instead of assembler for DoMethodA, DoSuperMethodA and DISPATCHERARG
* the above fixed trasing of register r31 in DoMethodA and DoSuperMethodA
* these implementations might not be that optimal, but easier to understand and more maintainable on the long run
* depends on the newly added EmulHandle stuff in exec
* use const arguments for array of ... stuff where possible

git-svn-id: trunk@32701 -
2015-12-23 04:14:49 +00:00
Károly Balogh
d196f8f341 morphunits: added some of the EmulHandle magic for exec unit, which will be required for some upcoming amigalib cleanup
git-svn-id: trunk@32700 -
2015-12-23 03:42:53 +00:00
marcus
26e19330f5 Amiga: DoMethodA repaired (crashed always)
git-svn-id: trunk@32699 -
2015-12-22 20:27:53 +00:00
marcus
fe87417345 Amiga: Added DoMethod varargs version
git-svn-id: trunk@32698 -
2015-12-22 18:55:14 +00:00
nickysn
55a38bf895 * increased the default dosbox timeout to 60 seconds
git-svn-id: trunk@32697 -
2015-12-22 10:01:13 +00:00
nickysn
61d76e837f + support specifying the dosbox timeout (the maximal amount of time a test is
allowed to run, before dosbox is killed) via the DOSBOX_TIMEOUT environment
  variable

git-svn-id: trunk@32696 -
2015-12-22 00:05:39 +00:00
Károly Balogh
ddc387891b amunits: removed pastoc dependency from workbench unit. this was the last unit which depend on pastoc in coreunits
git-svn-id: trunk@32695 -
2015-12-21 22:37:47 +00:00
Károly Balogh
49e4ea153a amunits: removed pastoc dependency from icon unit. also removed two BumpRevision() overlays which were simply broken since day 1. (newname is an output buffer the caller must allocate, not an input parameter)
git-svn-id: trunk@32694 -
2015-12-21 22:34:13 +00:00
Károly Balogh
61e60bd46f amunits: syscallified reqtools, and zapped dependency on pastoc unit
git-svn-id: trunk@32693 -
2015-12-21 21:56:13 +00:00
Tomas Hajny
b48b758a23 * fix for bug #29158 - added definition of REMOTE_NAME_INFOW (and REMOTE_NAME_INFOA), the W version used in ExpandUNCFileName now
git-svn-id: trunk@32692 -
2015-12-21 02:05:13 +00:00
Károly Balogh
62efd8c156 rtl-extra: actually, SocketBase should be a threadvar on AROS too. thanks to Marcus for finding this. lets hope everything else is in place for this to even work...
git-svn-id: trunk@32691 -
2015-12-20 22:46:02 +00:00
Jonas Maebe
698ca04d90 * reset shiftval when transforming a paraloc into an llvm paraloc
git-svn-id: trunk@32690 -
2015-12-20 21:08:56 +00:00
Jonas Maebe
0df558af36 * disabled pic
* mark eax as used in assembler block in main program

git-svn-id: trunk@32689 -
2015-12-20 20:56:13 +00:00
Jonas Maebe
b4e857e9c4 * skip for darwin because it always requires/expects a 16 byte aligned stack
* mark ebx as modified in the assembler blocks

git-svn-id: trunk@32688 -
2015-12-20 20:56:11 +00:00
Jonas Maebe
5f14029e74 * if a function result has been migrated to the parentfpstruct because it is
accessed by a nested routine, assign it back to the original funcretsym
    at the end because the code generator is hardcoded to use funcretsym.
    We can't replace funcretsym with an absolutevarsym that redirects to
    the parentfpstruct field, because the code generator can only handle
    simple variables

git-svn-id: trunk@32687 -
2015-12-20 20:56:08 +00:00
Jonas Maebe
3c77214d4b * fixed redirecting aliases for the function result to the
nestedparentfpstruct

git-svn-id: trunk@32686 -
2015-12-20 20:56:05 +00:00
Jonas Maebe
1dcd312ca5 * don't handle Objective-C or dispinterfaces like Pascal interfaces (we
don't generated a vmtdef for those)

git-svn-id: trunk@32685 -
2015-12-20 20:56:02 +00:00
sergei
97eccd73b7 - Win32 RTL: removed assembler startup files, which are unused since version 2.0.x
git-svn-id: trunk@32684 -
2015-12-20 01:41:28 +00:00
sergei
cdd4c8a854 * Use integer components of date/time directly, instead of converting them into floating-point TDateTime and immediately back.
git-svn-id: trunk@32683 -
2015-12-19 14:44:42 +00:00
marcus
07ec703f24 MorphOS: Added SystemTags(), TMemChunk field names changed to match SDK
git-svn-id: trunk@32682 -
2015-12-18 20:33:47 +00:00
marcus
e73de332aa Amiga, AROS: fixed parameter _PDateTime type (broken in r32644)
git-svn-id: trunk@32681 -
2015-12-18 20:27:22 +00:00
sergei
903ddf8403 - Cleaned out some more assembler PIC hacks around ExitCode variable
git-svn-id: trunk@32680 -
2015-12-18 11:49:20 +00:00
nickysn
52402032ae * handle exceptions when opening the exitcode.txt file as well, so that we write
a nicer message to stdout in case the file does not exist (which happens often
  when we kill dosbox, due to a timeout)

git-svn-id: trunk@32679 -
2015-12-18 01:43:24 +00:00
nickysn
6f490cc6b3 * write a message to stdout if dosbox is killed due to a timeout
git-svn-id: trunk@32678 -
2015-12-18 01:40:22 +00:00
nickysn
66bad5a1cf * pushf and popf are 8086 level instructions, not 186+
git-svn-id: trunk@32677 -
2015-12-17 15:23:21 +00:00
Jonas Maebe
7a8079cfb4 * removed DLLsource global variable and replaced its uses with
current_module.islibrary

git-svn-id: trunk@32676 -
2015-12-17 15:23:05 +00:00
Jonas Maebe
f4f785b52e - removed unused global variables usegnubinutils and forceforwardslash
git-svn-id: trunk@32675 -
2015-12-17 15:08:13 +00:00
sergei
84c33631ef * Have the sysinit unit, if any, passed to the linker first (currently it is passed last). This is necessary to get the same linking order on targets with assembler startup and with Pascal startup. In particular, it allows to define global symbols like "data_start" in sysinit unit and expect that they will actually end up before other data in executable.
git-svn-id: trunk@32674 -
2015-12-17 11:57:19 +00:00
sergei
272e3db1db * Fixed test on x86_64 ('nostackframe' modifier ensures that no prologue/epilogue code is added on fixed-stack targets).
git-svn-id: trunk@32673 -
2015-12-16 16:46:23 +00:00
sergei
31623565cb * Skip test for Win64, since *nix-style PIC is not supported on that system.
git-svn-id: trunk@32672 -
2015-12-16 16:37:41 +00:00
sergei
eb86cd47c6 * tcgx86_64.g_proc_entry: Don't crash if 'list' is initially empty. Went unnoticed this far because ncgutil.gen_proc_entry_code adds some items before calling cg.g_proc_entry.
git-svn-id: trunk@32670 -
2015-12-16 11:13:24 +00:00
yury
2248805082 * pas2jni: Fixed ref counting of method pointers.
git-svn-id: trunk@32669 -
2015-12-15 14:03:25 +00:00
marco
79f4d0ed44 * memleak fix for mantis #29187
git-svn-id: trunk@32668 -
2015-12-15 10:34:26 +00:00
Károly Balogh
bc455adc23 amunits: syscall-ified realtime. this was the last unit in coreunits to be cleaned from the old asm wrappers.
git-svn-id: trunk@32664 -
2015-12-13 23:01:59 +00:00
Károly Balogh
6c4fab174e amunits: syscall-ified amigaguide
git-svn-id: trunk@32663 -
2015-12-13 22:54:46 +00:00