Jonas Maebe
0ce5a1de7f
+ IsSimpleRef() function that can be used to determine whether a reference
...
is a valid AArch64 memory reference or not. It returns an enum that says
it's either valid, invalid, or invalid in a way that should trigger an
internal error in case we created the reference ourselves (as opposed to
it coming in via the assembler reader)
git-svn-id: trunk@29846 -
2015-02-23 22:49:07 +00:00
Jonas Maebe
84cea76f7a
* ARM64 -> AArch64
...
git-svn-id: trunk@29845 -
2015-02-23 22:49:04 +00:00
Jonas Maebe
19d47610ad
* added error checking to spilling_create_load/store
...
git-svn-id: trunk@29844 -
2015-02-23 22:49:01 +00:00
Jonas Maebe
92b644a19f
+ taicpu.op_reg_reg_const_shifterop()
...
* made shifterop parameter of taicpu.op_reg_reg_reg_shifterop() const
git-svn-id: trunk@29843 -
2015-02-23 22:48:58 +00:00
Jonas Maebe
f5950ac4cd
+ added remaining aarch64 shift/extension modes
...
git-svn-id: trunk@29842 -
2015-02-23 22:48:55 +00:00
Jonas Maebe
24d3b1cdf6
+ tcgsizep2size[] to convert a tcgsize to its power-of-2 bytesize
...
git-svn-id: trunk@29841 -
2015-02-23 22:48:52 +00:00
Jonas Maebe
a49d386541
+ SW postfix for sign extending a 32 bit integer
...
git-svn-id: trunk@29840 -
2015-02-23 22:48:49 +00:00
Jonas Maebe
ff61aba3fe
* there is no ROR shiftmode on AArch64
...
git-svn-id: trunk@29839 -
2015-02-23 22:48:46 +00:00
Jonas Maebe
cd6e3d5622
* fixed another compilation error
...
git-svn-id: trunk@29838 -
2015-02-23 22:48:43 +00:00
Jonas Maebe
544c8d34ec
+ taicpu.op_reg_const_shifterop() constructor
...
git-svn-id: trunk@29837 -
2015-02-23 22:48:40 +00:00
Jonas Maebe
3cfa91a249
* enable cgsize2subreg() and cgsize2subreg() to differentiate between 32 and
...
64 bit integer registers
git-svn-id: trunk@29836 -
2015-02-23 22:48:37 +00:00
Jonas Maebe
df8b644190
- removed some ARM leftovers
...
git-svn-id: trunk@29835 -
2015-02-23 22:48:33 +00:00
Jonas Maebe
fc235c9400
* fixed warnings
...
git-svn-id: trunk@29834 -
2015-02-23 22:48:30 +00:00
Jonas Maebe
76d779b648
* added SW suffix
...
git-svn-id: trunk@29833 -
2015-02-23 22:48:27 +00:00
Jonas Maebe
c0548cadb0
* added some missing instructions and aliases, reordered them according
...
to how they appear in the ARM ARM
o in particular, added the "unscaled offset" variants of instructions as
separate opcodes (seems simpler than handling them as postfixes)
git-svn-id: trunk@29832 -
2015-02-23 22:48:24 +00:00
Jonas Maebe
f1b619a942
* made (X|W)ZR and (W)SP separate registers, because a number of
...
instructions can use either depending on the encoding
git-svn-id: trunk@29831 -
2015-02-23 22:48:21 +00:00
Jonas Maebe
e8c9b94147
* X29 is callee-saved
...
git-svn-id: trunk@29830 -
2015-02-23 22:48:18 +00:00
Jonas Maebe
3f5e95791b
* use iosxwstr instead of cwstring on Darwin (for iOS 7+ testing)
...
git-svn-id: trunk@29829 -
2015-02-23 22:48:15 +00:00
Jonas Maebe
a56d94230f
+ iosxwstr unit that uses CoreFoundation where possible for the widestring
...
manager routines (in particular for locale-based routines, such as upper/
lowercase), and which falls back to cwstring for functionality not
supported by CoreFoundation (such as converting an UTF-8 string with
illegal sequences to a different encoding)
o this unit is particularly useful on iOS 7 (and 8?), as Apple no
longer includes command line locale information on that platform and
hence locale-dependent libc routines only work with the "C" locale
there)
git-svn-id: trunk@29828 -
2015-02-23 22:48:11 +00:00
Jonas Maebe
67c9d60b72
* factored out the check regarding whether the index of a vecn needs to be
...
loaded into a register because of its size
o by default, also allow if the size is the same as OS_ADDR but with a
different sign
git-svn-id: trunk@29827 -
2015-02-23 22:48:08 +00:00
Jonas Maebe
73a9dc8077
* fixed formatting
...
git-svn-id: trunk@29826 -
2015-02-23 22:48:05 +00:00
Jonas Maebe
f886fe49d6
* only prepend the sysroot path to -Fl paths if these paths are absolute;
...
if they are not, they should be interpreted relative to the current
directory instead (solves compiling tests that depend on a library
when cross-testing for a platform with a sysroot)
git-svn-id: trunk@29825 -
2015-02-23 22:48:02 +00:00
Jonas Maebe
bc3d495285
* extra error checking in gen_load_cgpara_loc
...
git-svn-id: trunk@29824 -
2015-02-23 22:47:59 +00:00
Jonas Maebe
3fe0bd065e
* ARM assembler reader: don't check for postfixes beyond the length
...
of the opcode
git-svn-id: trunk@29823 -
2015-02-23 22:47:56 +00:00
Jonas Maebe
1dd5f579e6
* support record fields with the same name as registers in subscripts in
...
the assembler reader
git-svn-id: trunk@29822 -
2015-02-23 22:47:53 +00:00
Jonas Maebe
504a9d1594
* fixed register sizes in a_load_ref_reg_unaligned()
...
git-svn-id: trunk@29821 -
2015-02-23 22:47:50 +00:00
Jonas Maebe
290e3f5ff8
* fixed assigning one float loc_reference to another of a different size if a
...
platform does not support (hl)cg.a_loadfpu_*, but only (hl)cg.a_loadmm_*
git-svn-id: trunk@29820 -
2015-02-23 22:47:47 +00:00
Jonas Maebe
c764826bb3
* check whether we are explicitly typecasting untypedpointer^ before other
...
cases (that depend on the sizes of the typecast matching) so that we
can (internally) generate typecasts to open array/array of const
git-svn-id: trunk@29819 -
2015-02-23 22:47:44 +00:00
Jonas Maebe
aae879d28a
* also set aktcallnode during tcallnode.pass_1, so that the callparanode
...
pass_1 code can make use of it
git-svn-id: trunk@29818 -
2015-02-23 22:47:41 +00:00
Jonas Maebe
863e81315e
* changed goto usage in tcallnode.pass_typecheck into try/finally (and at
...
the same time solved some issues where "exit" instead of "goto errorexit"
was used)
git-svn-id: trunk@29817 -
2015-02-23 22:47:38 +00:00
Jonas Maebe
68303b8df1
* add explicit check that argument of sizeof(x) is a simple load node (this
...
was already assumed later on)
git-svn-id: trunk@29816 -
2015-02-23 22:47:35 +00:00
Jonas Maebe
b8c8ef8489
* support transfering a cgpara that is stored in multiple paralocs into a
...
single register, by first storing everything consecutively to memory and
then loading it. Required for "homogeneous float aggregates" on AArch64
git-svn-id: trunk@29815 -
2015-02-23 22:47:32 +00:00
Jonas Maebe
e6511bcb33
* support multiple paralocs in a_load_reg_cgpara() by taking a round trip
...
via a_load_ref_cgpara()
git-svn-id: trunk@29814 -
2015-02-23 22:47:29 +00:00
nickysn
9be4e6a0de
* made the registers shown in the registers window depend on the target CPU
...
defines, instead of the host CPU defines (i.e. i386 instead of cpui386, etc)
git-svn-id: trunk@29813 -
2015-02-23 22:17:11 +00:00
florian
35d550c9c6
+ commented directive for easier enabling
...
git-svn-id: trunk@29812 -
2015-02-23 22:11:26 +00:00
florian
a5bef2a2b9
* prevent new definitions being added to a global unit symtable after compilation of the implementation part started
...
git-svn-id: trunk@29811 -
2015-02-23 22:10:46 +00:00
florian
bc672e8fb2
* do not mess with the global symbol when compiling the implementation part of a unit
...
git-svn-id: trunk@29810 -
2015-02-23 22:09:46 +00:00
nickysn
7f2dce8f20
* also set got_error to true in case of an error response in i_gdb_command
...
git-svn-id: trunk@29809 -
2015-02-23 21:15:21 +00:00
Tomas Hajny
dff7cb3c3c
* added missing error constant
...
git-svn-id: trunk@29808 -
2015-02-23 11:19:50 +00:00
Jonas Maebe
1a949eae1f
* fixed i8086 compilation
...
git-svn-id: trunk@29807 -
2015-02-23 08:51:59 +00:00
Károly Balogh
d85b49755c
m68k: some ideas for a future second_abs_long implementation. no functional changes.
...
git-svn-id: trunk@29806 -
2015-02-23 03:37:51 +00:00
Károly Balogh
c72f58bcc5
m68k: implemented sqrt_real and abs_real inlines
...
git-svn-id: trunk@29805 -
2015-02-23 02:41:33 +00:00
nickysn
bd467adf52
* use StrDispose instead of Dispose in the libgdb.a implementation of GetIntRegister
...
git-svn-id: trunk@29804 -
2015-02-23 01:12:48 +00:00
nickysn
3b55dd919d
* fixed getting the FPC_BREAK_ERROR parameters on i386
...
git-svn-id: trunk@29803 -
2015-02-23 00:06:09 +00:00
nickysn
ac79722eb2
* use the Backtrace method (which supports gdb/mi) instead of issuing the
...
command directly in TDebugController.DoSelectSourceLine
git-svn-id: trunk@29802 -
2015-02-22 23:53:54 +00:00
nickysn
4a1a443ffa
* fixed getting the FPC_BREAK_ERROR parameters on x86_64
...
git-svn-id: trunk@29801 -
2015-02-22 23:47:42 +00:00
nickysn
d83655f73c
+ implemented the GetIntRegister methods added in r29795 in the libgdb.a
...
interface as well. The code is loosely based on GetIntRegs from fpregs.pas
git-svn-id: trunk@29800 -
2015-02-22 23:46:56 +00:00
Károly Balogh
db50666b3b
n68kinl: added inline nodes for 68k. implemented first_sqr_real and second_sqr_real for 68881 FPU
...
git-svn-id: trunk@29799 -
2015-02-22 23:11:16 +00:00
nickysn
5ec640006c
* moved the code that obtains the parameters to HandleErrorAddrFrame (after
...
trapping a runtime error) to a separate method.
git-svn-id: trunk@29798 -
2015-02-22 22:30:36 +00:00
Tomas Hajny
b9f88aa80c
* mapping of I/O error number 206 having different meaning in FPC to RTE 3
...
git-svn-id: trunk@29797 -
2015-02-22 22:25:44 +00:00