Jonas Maebe
1c2bac7608
- removed FPC_HAS_VARSETS-related checks, FPC 2.6.4 has it
...
git-svn-id: trunk@31690 -
2015-09-15 11:51:42 +00:00
Jonas Maebe
858fd37483
- removed FPC_HASINTERNALOLEVARIANT2VARIANTCAST-related checks, FPC 2.6.4
...
has it
git-svn-id: trunk@31689 -
2015-09-15 11:51:38 +00:00
Jonas Maebe
da6382db2a
- removed FPC_HASFIXED64BITVARIANT-related checks, FPC 2.6.4 has it
...
git-svn-id: trunk@31688 -
2015-09-15 11:51:35 +00:00
Jonas Maebe
4494565a15
- removed RESSTRSECTIONS-related checks, FPC 2.6.4 has it
...
git-svn-id: trunk@31687 -
2015-09-15 11:51:32 +00:00
Jonas Maebe
555319ec15
- disabled x86-specific code when using llvm
...
git-svn-id: trunk@31686 -
2015-09-15 11:51:29 +00:00
Jonas Maebe
75992c1274
* don't allow records to be put in registers for the llvm target
...
git-svn-id: trunk@31685 -
2015-09-15 11:51:25 +00:00
Jonas Maebe
919bce9819
* also construct the high level code generator for high level targets; they
...
don't use it for creating interface stubs, but they do for the abstract
wrappers
git-svn-id: trunk@31684 -
2015-09-15 11:51:22 +00:00
Jonas Maebe
06feac07a5
+ support for the text/file types on the JVM platform
...
git-svn-id: trunk@31683 -
2015-09-15 11:51:19 +00:00
yury
30b8137994
* arm-android: PIC compatible library startup code.
...
git-svn-id: trunk@31682 -
2015-09-14 23:22:26 +00:00
yury
61c0448903
* Big fix for ARM GOT support to make it work:
...
- Fixed access to symbols with offset.
- Always use register R9 for GOT pointer to prevent bugs when free register limit is reached in a function.
- GOT is not needed for function calls by name.
git-svn-id: trunk@31681 -
2015-09-14 23:15:10 +00:00
Jonas Maebe
3dccdab911
* fixed wrong parameter to file permissions parameter (patch by temp4746,
...
mantis #28634 )
git-svn-id: trunk@31680 -
2015-09-14 16:11:00 +00:00
Jonas Maebe
5f7b242222
* fixed compilation with -Oodfa/-O3
...
git-svn-id: trunk@31679 -
2015-09-14 16:10:57 +00:00
Jonas Maebe
f8d9e70ec2
* converted tnodeutils.InsertMemorySizes() to the high level typed constant
...
builder and activated it for llvm
git-svn-id: trunk@31678 -
2015-09-14 16:10:54 +00:00
Jonas Maebe
fa7ebba80d
+ new tcalo_no_dead_strip flag for the high level typed const builder to
...
indicate symbols that should never be removed by the linker
o TODO for llvm, needs support for the @llvm.used array (only used for
the compiler ident, so it's not that important
git-svn-id: trunk@31677 -
2015-09-14 16:10:51 +00:00
Jonas Maebe
bf10ae45de
* only add the llvm "sret" attribute to "struct return" parameters if they
...
are the first parameter (as required by llvm)
o ensure that for AArch64, "struct return" the parameter always is the first
parameter, as it needs to be returned in a special register there
git-svn-id: trunk@31676 -
2015-09-14 16:10:48 +00:00
Jonas Maebe
4564bffb85
* use binutils 2.19+ linker script "augmentation" functionality to specify
...
how the fpc sections have to be linked *on Linux*. This prevents the
"did you forget -T" warnings from ld, and in general is more correct than
our previous approach of specifying a complete linker script without -T
and hoping that there won't be any unexpected interactions with ld's
built-in linker script (fixed version of r31664, thanks to Alan Modra)
o use the new -X9 command line option to generate linker scripts that
are compatible with binutils older than 2.19 (reverts to the old
behaviour)
git-svn-id: trunk@31675 -
2015-09-14 07:24:54 +00:00
florian
5595651816
* define avr => cpu8bitalu
...
git-svn-id: trunk@31673 -
2015-09-13 21:07:23 +00:00
florian
40a5f97239
- cclasses unit is not used
...
git-svn-id: trunk@31672 -
2015-09-13 21:07:21 +00:00
Tomas Hajny
a35c9978b8
* correct the highest possible number of items in tab/group and fix the LIBPATH information moved by one line in the dialogue box
...
git-svn-id: trunk@31671 -
2015-09-13 20:41:26 +00:00
Jonas Maebe
e06a759e20
- reverted r31664, it causes crashes with some ld versions :/
...
git-svn-id: trunk@31670 -
2015-09-13 20:14:46 +00:00
Tomas Hajny
fd579d3406
* make sure that no tab/group contains more than 32 items
...
git-svn-id: trunk@31669 -
2015-09-13 19:52:38 +00:00
Jonas Maebe
4d0c42ee23
- removed double calling of handlemanagedbyrefpara() for managed targets,
...
not sure why it didn't cause problems before
git-svn-id: trunk@31668 -
2015-09-13 19:06:29 +00:00
Jonas Maebe
b12bedb9f8
- disabled InsertResStrTablesTable and InsertResStrInits for the JVM target
...
(they were not functional, but now cause internalerrors due to
invocations of the high level typed constant builder rather than their
output gets ignored)
git-svn-id: trunk@31667 -
2015-09-13 19:06:25 +00:00
Jonas Maebe
f4c868b06a
* fixed infinite Java assembler writer create loop after r31625
...
git-svn-id: trunk@31666 -
2015-09-13 19:06:22 +00:00
Jonas Maebe
0ea38852ac
* fixed compilation of the jvm compiler after r31591 - r31593
...
git-svn-id: trunk@31665 -
2015-09-13 19:06:19 +00:00
Jonas Maebe
cd41bf672c
* use binutils 2.19+ linker script "augmentation" functionality to specify
...
how the fpc sections have to be linked *on Linux*. This prevents the
"did you forget -T" warnings from ld, and in general is more correct than
our previous approach of specifying a complete linker script without -T
and hoping that there won't be any unexpected interactions with ld's
built-in linker script
o use the new -X9 command line option to generate linker scripts that
are compatible with binutils older than 2.19 (reverts to the old
behaviour)
git-svn-id: trunk@31664 -
2015-09-13 19:06:14 +00:00
marcus
54961de266
AROS: complete rewrite ASL and MUI
...
git-svn-id: trunk@31663 -
2015-09-13 17:55:55 +00:00
nickysn
c7ecf84fc0
* fixed compilation of threadvars in i8086 far data memory models
...
git-svn-id: trunk@31662 -
2015-09-13 12:52:23 +00:00
Jonas Maebe
381270bf30
* changed the threadvars table count back from
...
tai_const.create_32bit_unaligned() into tai_const.create_32bit() after
r31649 (Lazarus autocompletion...) (fixes webtbs/tw3540.pp regression)
git-svn-id: trunk@31661 -
2015-09-13 07:56:12 +00:00
Jonas Maebe
06fc6ac491
* fixed threadvar support on linux/i386 and android/i386 after r31639
...
(mantis #28672 )
git-svn-id: trunk@31660 -
2015-09-13 07:46:31 +00:00
Jonas Maebe
75012405fa
* add some llvm function flags
...
o in particular, mark fpc_setjmp as "returns_twice" so calls to it are
never converted into tail calls
git-svn-id: trunk@31659 -
2015-09-12 23:34:04 +00:00
Jonas Maebe
faf4a9cb38
* moved the generation of the "main" stub for libc-based platforms from
...
hlcgobj to pmodules/symcreat/ngenutil, so that it also works for llvm
git-svn-id: trunk@31658 -
2015-09-12 23:34:01 +00:00
Jonas Maebe
6909523b70
* handle atan, sqrt, ln, sin and cos in the x86 RTL for llvm
...
o there are llvm intrinsics for all of these except for atan,
but these obey "the same rules as the equivalent libc functions"
and I first have to investigate whether these libc functions
behave the same as our FPC implementations
git-svn-id: trunk@31657 -
2015-09-12 23:33:57 +00:00
Jonas Maebe
616dbead35
+ handle abs(real) internally for LLVM, as the generic code calls a helper
...
that is not implemented for some architectures
git-svn-id: trunk@31656 -
2015-09-12 23:33:53 +00:00
Jonas Maebe
8ff5371a6c
+ support mmregisters in the generic unaryminus code for floats
...
git-svn-id: trunk@31655 -
2015-09-12 23:33:50 +00:00
Jonas Maebe
2741b37f28
* only specify the "unnamed_addr" flag for initialised data if its symbol is
...
a tasmlabel, since otherwise the address needs to remain unique
git-svn-id: trunk@31654 -
2015-09-12 23:33:46 +00:00
Jonas Maebe
7a08319d2e
* converted taillvmdecl properties to a set
...
git-svn-id: trunk@31653 -
2015-09-12 23:33:42 +00:00
Jonas Maebe
4b92083006
* converted tnodeutils.InsertRuntimeInitsTablesTable to the high level typed
...
const builder
o enabled the routines that use this one for LLVM
git-svn-id: trunk@31652 -
2015-09-12 23:33:38 +00:00
Jonas Maebe
a4ee982269
* converted tnodeutils.InsertInitFinalTable to the high level typed const
...
builder and enabled it for LLVM
git-svn-id: trunk@31651 -
2015-09-12 23:33:35 +00:00
Jonas Maebe
f7948ff25f
* removed outdated comment
...
git-svn-id: trunk@31650 -
2015-09-12 23:33:31 +00:00
Jonas Maebe
a1c676cc51
* converted tnodeutils.InsertThreadvarTablesTable to the high level typed
...
constant builder
git-svn-id: trunk@31649 -
2015-09-12 23:33:28 +00:00
Jonas Maebe
5a2217f645
+ support for emitting simple placeholder elements in the high level
...
typed const builder, for use when e.g. emitting a table preceded by
the number of elements in case that number is only known afterwards
git-svn-id: trunk@31648 -
2015-09-12 23:33:24 +00:00
Jonas Maebe
f49d6e5f26
* converted tnodeutils.InsertThreadvars to the high level typed constant
...
builder
git-svn-id: trunk@31647 -
2015-09-12 23:33:21 +00:00
Jonas Maebe
7def77dcc9
* we only support resourcestrings in ttai_typedconstbuilder.queue_emit_const()
...
right now, so give an internalerror if something else is passed
* use the correct type when emitting a resourcestring like that (it will store
the address of the resource string -> pointer to an ansistring)
git-svn-id: trunk@31646 -
2015-09-12 23:33:17 +00:00
Jonas Maebe
c813e024ee
* support non-section-based threadvars on the LLVM target
...
git-svn-id: trunk@31645 -
2015-09-12 23:33:14 +00:00
Jonas Maebe
19882aea7e
* converted threadvar loading to high level code generator and updated/added
...
comments
git-svn-id: trunk@31644 -
2015-09-12 23:33:10 +00:00
Jonas Maebe
83ae160057
+ get_threadvar_record() to get a recorddef representing a threadvar (index
...
and data in case of single threaded)
git-svn-id: trunk@31643 -
2015-09-12 23:33:07 +00:00
Jonas Maebe
4da34a6046
+ llvm implementation of g_set_addr_nonbitpacked_record_field_ref
...
git-svn-id: trunk@31642 -
2015-09-12 23:33:03 +00:00
Jonas Maebe
9ee2a0f71c
+ g_set_addr_nonbitpacked_record_field_ref() thlcgobj method to make a
...
reference pointing to the base address of a record point to a field
of that same record
git-svn-id: trunk@31641 -
2015-09-12 23:33:00 +00:00
Jonas Maebe
5a50d05e50
* fixed skipping if intermediate fields in llvm shadow symtable
...
git-svn-id: trunk@31640 -
2015-09-12 23:32:56 +00:00