Jonas Maebe
0def3629cc
* factored out adding a single field to a record based on a def
...
git-svn-id: branches/hlcgllvm@28757 -
2014-10-06 20:53:30 +00:00
Jonas Maebe
bdb22772d9
* fixed whitespace
...
git-svn-id: branches/hlcgllvm@28756 -
2014-10-06 20:53:28 +00:00
Jonas Maebe
6560b1dbd6
* emit alignment directive in the typed constant builder when starting a new
...
constant without putting it in a separate section
git-svn-id: branches/hlcgllvm@28755 -
2014-10-06 20:53:25 +00:00
Jonas Maebe
9d9e0a578b
* return the next field from tabstractrecordsymtable.findfieldbyoffset() if
...
there is no field at that exact offset, so we can also use it to find the
next field in case there is alignment padding
git-svn-id: branches/hlcgllvm@28754 -
2014-10-06 20:53:22 +00:00
Jonas Maebe
210b532832
* split up specifying the type of the section of a typed constant and whether
...
it should be put in a new section
git-svn-id: branches/hlcgllvm@28753 -
2014-10-06 20:53:20 +00:00
Jonas Maebe
6677e698cd
* record the alignment in taillvmdecl, as it can be different from the
...
default
git-svn-id: branches/hlcgllvm@28752 -
2014-10-06 20:53:17 +00:00
Jonas Maebe
37009c917b
* pass alignment to tnodeutils.insertbsssym()
...
git-svn-id: branches/hlcgllvm@28751 -
2014-10-06 20:53:14 +00:00
Jonas Maebe
864b36fbe5
* create the recorddef at the start when building an anonymous recorddef,
...
so that we can already refer to its def while we are sill parsing
individual elements
git-svn-id: branches/hlcgllvm@28750 -
2014-10-06 20:53:12 +00:00
Jonas Maebe
6cc74cd115
+ added missing begin_anonymous_record() for widestring constants (undetected
...
before because it only matters for the llvm target, and fpc+llvm+windows is
not yet supported/tested)
git-svn-id: branches/hlcgllvm@28749 -
2014-10-06 20:53:09 +00:00
Jonas Maebe
b18ba8e85b
* syncrhonised with trunk up till r28471
...
git-svn-id: branches/hlcgllvm@28495 -
2014-08-19 20:23:11 +00:00
Jonas Maebe
b710220a5e
* fixed calldef specified in case of calling a varargs C function
...
git-svn-id: branches/hlcgllvm@28494 -
2014-08-19 20:22:59 +00:00
Jonas Maebe
d09243c8c1
* correctly handle make_simple_ref() for voidpointers
...
git-svn-id: branches/hlcgllvm@28493 -
2014-08-19 20:22:56 +00:00
Jonas Maebe
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
...
for some platforms it depends on that routine
git-svn-id: branches/hlcgllvm@28492 -
2014-08-19 20:22:54 +00:00
Jonas Maebe
33c277b3a7
+ temp_to_ref() implementation for llvm
...
git-svn-id: branches/hlcgllvm@28491 -
2014-08-19 20:22:50 +00:00
Jonas Maebe
0fbaa9e924
* record the alignment of temps, and set it when creating a reference based
...
on a temp instead of assuming it's always aligned to a multiple of
the stackpointer size
git-svn-id: branches/hlcgllvm@28490 -
2014-08-19 20:22:48 +00:00
Jonas Maebe
9880b53242
* changed all alignment parameters in the temp manager to shortint
...
git-svn-id: branches/hlcgllvm@28489 -
2014-08-19 20:22:45 +00:00
Jonas Maebe
dd733bd5b5
* changed all size parameters in the temp manager from longint to asizeint
...
git-svn-id: branches/hlcgllvm@28488 -
2014-08-19 20:22:42 +00:00
Jonas Maebe
830952cc3b
* moved creating a reference based on a ttemprecord to a new virtual method
...
called temp_to_ref()
git-svn-id: branches/hlcgllvm@28487 -
2014-08-19 20:22:40 +00:00
Jonas Maebe
0a87133e00
* spelling fix
...
git-svn-id: branches/hlcgllvm@28486 -
2014-08-19 20:22:37 +00:00
Jonas Maebe
344acef9b5
* separate tracking the def of a temp and whether or not it needs to be
...
finalised (for llvm, we always keep track of the def)
git-svn-id: branches/hlcgllvm@28485 -
2014-08-19 20:22:34 +00:00
Jonas Maebe
3b7f43ad77
* renamed (hl)gettemptyped() to (hl)gettempmanaged() to better indicate the
...
meaning
git-svn-id: branches/hlcgllvm@28484 -
2014-08-19 20:22:32 +00:00
Jonas Maebe
979a3d7e1d
* channged gettemptyped() into gethltemp() call, as gettemptyped() is only
...
intended/required for managed types
git-svn-id: branches/hlcgllvm@28483 -
2014-08-19 20:22:29 +00:00
Jonas Maebe
8064adec38
* converted tcgtryexceptnode.pass_generate_code() and
...
tcgtryfinallynode.pass_generate_code() to thlcg
git-svn-id: branches/hlcgllvm@28482 -
2014-08-19 20:22:27 +00:00
Jonas Maebe
a637fbe596
* moved all g_exception_*() methods to hlcgobj and cleaned them up (no more
...
hardcoded registers for the most part)
+ added extra g_exception_discard_reason() that can be called when we only
want to get rid of the currently pushed exception reason, and don't have
to load it (so it can do nothing on platforms that don't use push/pop)
git-svn-id: branches/hlcgllvm@28481 -
2014-08-19 20:22:24 +00:00
Jonas Maebe
9d118567cd
+ support for a_call_reg() on the llvm target (can call simple procvars now)
...
git-svn-id: branches/hlcgllvm@28480 -
2014-08-19 20:22:21 +00:00
Jonas Maebe
3a78f4f580
* use the correct destination def for loading a simple proc2procvar
...
git-svn-id: branches/hlcgllvm@28479 -
2014-08-19 20:22:19 +00:00
Jonas Maebe
bd3f0b3ada
* factored out the common calling code from a_call_name (to reuse in
...
a_call_reg()
git-svn-id: branches/hlcgllvm@28478 -
2014-08-19 20:22:16 +00:00
Jonas Maebe
b6fc2f1542
* don't emit the */pointer suffix for procdefs in llvmaddencodedtype_intern(),
...
so that if a_loadaddr_ref_reg() is used to load the address of a procdef
into a register, the getpointerdef(procdef) won't (wrongly) result in two
*'s
o the previous behaviour was necessary for the tck_simple_procvar2proc
special case that was removed in the previous commit
git-svn-id: branches/hlcgllvm@28477 -
2014-08-19 20:22:13 +00:00
Jonas Maebe
cc4482d6f8
- removed tck_simple_procvar2proc, instead use
...
procdef.getcopyas(procvardef,pc_address_only) as the def if we want to
specify that we're interested in the address of a procedure/procvar of
object
git-svn-id: branches/hlcgllvm@28476 -
2014-08-19 20:22:11 +00:00
Jonas Maebe
904a033ba2
* factored out the code for loading a procvar address, and fixed all used
...
defs
git-svn-id: branches/hlcgllvm@28475 -
2014-08-19 20:22:08 +00:00
Jonas Maebe
63a3ff3c7f
* integrate the functionality to create an address-only procvardef from a
...
procdef into tprocdef.getcopyas()
git-svn-id: branches/hlcgllvm@28474 -
2014-08-19 20:22:06 +00:00
Jonas Maebe
6f01bb56d6
* automatically call calcparas adter creating a procvardef from a procvdef,
...
so it doesn't have to be done explicitly anymore afterwards
git-svn-id: branches/hlcgllvm@28473 -
2014-08-19 20:22:03 +00:00
Jonas Maebe
b36e244e34
* allocate datastructures with new() instead of getmem() so that they get
...
initialised if necessary (such as the targetinfo since the llvmdatalayout
field is an ansistring)
git-svn-id: branches/hlcgllvm@28472 -
2014-08-19 20:22:00 +00:00
Jonas Maebe
a4a54fa344
* removed unnecessary "as" expressions
...
git-svn-id: trunk@28471 -
2014-08-19 20:11:52 +00:00
marco
eb67f66e10
* add taglogfont out of compatibility, patch by Ocean, mantis #0026539
...
git-svn-id: trunk@28470 -
2014-08-19 17:45:23 +00:00
nickysn
d553e4572a
+ added checks for HeapOrg and HeapEnd to the i8086 compact and large memory
...
layout tests
git-svn-id: trunk@28469 -
2014-08-19 16:59:54 +00:00
marco
95bb0e0fd1
* VT_DECIMAL added, patch by Ocean, mantis #26539
...
git-svn-id: trunk@28468 -
2014-08-19 14:00:16 +00:00
pierre
17ad136412
Remove warning of misplaced <P> marker, as noticed by html checker
...
git-svn-id: trunk@28467 -
2014-08-19 11:34:05 +00:00
Károly Balogh
03a0f7b409
AROS: improved version of the previous commit, pass the stripping option to the linker instead, seems to work.
...
git-svn-id: trunk@28466 -
2014-08-19 11:30:02 +00:00
Károly Balogh
883e71f18e
AROS: stripping of executables on i386 works now
...
git-svn-id: trunk@28465 -
2014-08-19 11:03:31 +00:00
Károly Balogh
167fad359e
AROS: syscall-ified the exec.library functions used by the RTL
...
git-svn-id: trunk@28464 -
2014-08-19 00:56:34 +00:00
Károly Balogh
4ee15b84da
AROS: syscall (library call) support for based on the Amiga/68k and MorphOS/PPC versions
...
git-svn-id: trunk@28463 -
2014-08-19 00:39:18 +00:00
Jonas Maebe
83c7dbb7a6
* fixed copy/paste error that caused all warnings to be disabled after
...
compiling the symdef unit while building a compiler for a non-64 bit
code generator
git-svn-id: trunk@28462 -
2014-08-18 23:03:54 +00:00
Jonas Maebe
ee76e8dbf5
* fixed warning about always-true comparison when compiling a 16 bit target
...
git-svn-id: trunk@28461 -
2014-08-18 23:02:12 +00:00
Jonas Maebe
7e3abd4b38
* fixed warning about signed integer to pointer conversion
...
git-svn-id: trunk@28460 -
2014-08-18 23:00:53 +00:00
Jonas Maebe
4005290b54
* aint -> asizeint (immediate operand vs offset size)
...
git-svn-id: trunk@28459 -
2014-08-18 23:00:17 +00:00
Jonas Maebe
f55516ed32
* changed forcesize parameter of tgobj.gethltemp() from aint into asizeint,
...
as that one represents memory sizes while aint represents code generator
immediate operands
git-svn-id: trunk@28458 -
2014-08-18 22:36:43 +00:00
Jonas Maebe
e7ac66a6c4
* removed nested comments
...
git-svn-id: trunk@28457 -
2014-08-18 22:34:35 +00:00
michael
77f62cafbe
* Fix range check error
...
git-svn-id: trunk@28456 -
2014-08-18 22:15:40 +00:00
michael
81ab999a89
* Rollback in try..except
...
git-svn-id: trunk@28455 -
2014-08-18 22:15:18 +00:00