Jonas Maebe
703e31512d
* moved JVM-specific code of tloadvmtaddrnode.pass_1 to njvmmem
...
* create separate nodes for Objective-C in tloadvmtaddrnode.pass_1
instead of implicitly relying on the fact that the Objective-C
ISA field is at the same offset as the VMT of Object-Pascal
classes
o translate the resulting loads of ISA field into direct pointer
accesses, so that even on non-fragile ABI platforms we don't
go via an indirection (like clang/gcc)
git-svn-id: trunk@30947 -
2015-05-31 16:50:39 +00:00
Jonas Maebe
033c28e5ac
* removed unnecessary and potentially wrong typecast
...
git-svn-id: trunk@30946 -
2015-05-31 16:50:36 +00:00
Jonas Maebe
48ffe7b033
* don't create RTTI for internally generated recorddefs (doing so can cause
...
undefined references to RTTI for some of the fields, and we don't need
it anyway because these types are not user-visible and we don't generate
variables of these types)
git-svn-id: trunk@30945 -
2015-05-31 16:50:33 +00:00
Jonas Maebe
0eab091e1a
* factored symansistr-define-conditional handling of fforcedprocname into
...
a property
git-svn-id: trunk@30944 -
2015-05-31 16:50:30 +00:00
florian
cf552b2a0b
+ ATmeag168/ATmeag368 support
...
git-svn-id: trunk@30938 -
2015-05-30 18:01:14 +00:00
florian
0cd521fc8b
+ ATmega48/ATmega88 support
...
git-svn-id: trunk@30937 -
2015-05-30 17:55:49 +00:00
florian
aadcf9f6bc
* do not convert JMP into RJMP in assembler blocks, resolves issue #280208
...
git-svn-id: trunk@30936 -
2015-05-30 16:17:24 +00:00
florian
d58d7b7838
* fixes breakage of r30930 (+ ATtiny24/ATtiny44/ATtiny84 support)
...
git-svn-id: trunk@30932 -
2015-05-28 21:15:00 +00:00
florian
0f73675354
+ ATtiny24/ATtiny44/ATtiny84 support
...
git-svn-id: trunk@30930 -
2015-05-28 21:10:39 +00:00
Jeppe Johansen
36dfe750d8
Added Freescale MK20D7 controller support.
...
git-svn-id: trunk@30925 -
2015-05-28 11:46:22 +00:00
Jonas Maebe
ca5addff8e
* fixed memory leaks introduced in r30908
...
git-svn-id: trunk@30911 -
2015-05-25 15:10:16 +00:00
Jonas Maebe
0f99ae82af
* increased ppu version after r30907
...
git-svn-id: trunk@30910 -
2015-05-25 13:04:36 +00:00
Jonas Maebe
caea5ac8be
* record a load node for the self/vmt tree of the current routine in the
...
tcallnode constructor, so that when it's needed later during pass 1,
its value doesn't depend on the context in which pass 1 is executed
(e.g. when inlining) (mantis #18121 )
git-svn-id: trunk@30908 -
2015-05-25 12:55:40 +00:00
Jonas Maebe
6c3f1c3722
* stop tcallnode.pass_1 after we've detected a direct call to a helper/
...
category method, as this may lead to an internalerror later on after
the following commits
git-svn-id: trunk@30907 -
2015-05-25 12:55:37 +00:00
Jonas Maebe
f51b11e969
* implemented tcallnode.create_procvar on top of tcallnode.create
...
git-svn-id: trunk@30906 -
2015-05-25 12:55:34 +00:00
Jonas Maebe
e02e742997
* removed OS check when loading the address of a symbol on AArch64, it's
...
probably the same everywhere
git-svn-id: trunk@30900 -
2015-05-24 16:50:13 +00:00
Jonas Maebe
3c8068ad0b
+ Aarch64 support in the fpc binary (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30894 -
2015-05-22 09:25:08 +00:00
Jonas Maebe
8628d50aba
+ Linux/AArch64 compiler support (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30893 -
2015-05-22 09:25:05 +00:00
Jonas Maebe
89418d23e5
* regenerated Makefiles with Linux/AArch64 support
...
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
Jonas Maebe
b5081d76c6
* since we insert the internal ansistring record types in the symtable of
...
the current module, also search it only there so that it doesn't depend
on the state of the symtablestack (hopefully fixes mantis #28109 )
git-svn-id: trunk@30879 -
2015-05-17 18:11:13 +00:00
florian
b4fc11fe06
* implemented r30870 for all platforms: pass dyn. array parameters like pointer parameters so typically in a register
...
git-svn-id: trunk@30878 -
2015-05-17 12:29:28 +00:00
florian
b61fd60b9d
+ support for {$I %CURRENTROUTINE%}
...
* if chain changed into case statements
git-svn-id: trunk@30873 -
2015-05-16 22:22:26 +00:00
florian
afa5546ff8
* aktcommentstyle => current_commentstyle
...
git-svn-id: trunk@30872 -
2015-05-16 21:57:01 +00:00
florian
420309ec59
* reduce dependencies of the procinfo unit
...
git-svn-id: trunk@30871 -
2015-05-16 21:49:42 +00:00
florian
956883b0c7
* pass dyn. arrays in registers when i386 register calling conventions are used
...
git-svn-id: trunk@30870 -
2015-05-16 20:27:09 +00:00
nickysn
8515160e9d
+ set CObjData in the TMZExeOutput constructor
...
git-svn-id: trunk@30866 -
2015-05-15 22:35:32 +00:00
nickysn
27f77329e7
- removed agjasmin.pas from the ppc8086.lpi (plus other changes lazarus insists on doing)
...
git-svn-id: trunk@30865 -
2015-05-15 22:27:35 +00:00
nickysn
29a1c74e34
+ implemented TOmfObjInput.CanReadObjData
...
git-svn-id: trunk@30864 -
2015-05-15 22:23:30 +00:00
nickysn
91d3cb1cd0
+ initial implementation of TInternalLinkerMsDos.DefaultLinkScript
...
git-svn-id: trunk@30863 -
2015-05-15 22:22:36 +00:00
Jonas Maebe
ac592ed634
- removed some more unnecessary code after r30855
...
git-svn-id: trunk@30857 -
2015-05-14 17:44:37 +00:00
Jonas Maebe
bd8079f896
* cache and reuse procvardefs internally created to get the address of a
...
procdef (halves the amount of memory needed to compile the googlapi
package using a build unit, as done by fpmake)
git-svn-id: trunk@30856 -
2015-05-14 15:36:20 +00:00
Jonas Maebe
801fc50e86
* simplified "case stringexpr of" handling and removed memory leaks due to
...
symbols that weren't put in any symbol table (and that couldn't be put
anywhere, since they all had the same name)
git-svn-id: trunk@30855 -
2015-05-14 14:42:38 +00:00
Jonas Maebe
32501834c9
* fixed memory leaks due to missing frees of temporary tcgpara locations
...
git-svn-id: trunk@30854 -
2015-05-14 14:42:35 +00:00
Jonas Maebe
ce49f5fb41
* fixed memory leak due to double allocation of typedconstbuilder and wrong
...
free location
git-svn-id: trunk@30853 -
2015-05-14 14:42:32 +00:00
Jonas Maebe
d7412fb5c0
* fixed memory leaks and multiple recalculation regarding function result
...
locations
git-svn-id: trunk@30852 -
2015-05-14 14:42:28 +00:00
Jonas Maebe
9ceddf9b16
* fix tasmlisttypedconstbuilder memory leaks
...
git-svn-id: trunk@30851 -
2015-05-14 14:42:25 +00:00
Jonas Maebe
93fcdb9a5a
* fixed initialisation of procvar typed const with a pointerconstn:
...
we start a typeconversion queue before, so we have to emit to that
queue as well (to get all the type conversions)
git-svn-id: trunk@30850 -
2015-05-14 14:42:22 +00:00
Jonas Maebe
d71f6e9840
- removed extraneous maybe_begin_aggregate() when a procvar is initialised
...
with a pointerconstn, and moved the maybe_end_aggregate() for all procvar
initialisation cases to a common location
git-svn-id: trunk@30849 -
2015-05-14 14:42:19 +00:00
Jonas Maebe
1e7fcec236
* build mka64ins by default in the compiler/utils directory (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30848 -
2015-05-14 14:42:15 +00:00
Jonas Maebe
585e4a9a14
* corrected cosmetic ARM/AArch64 copy/paste leftovers (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30847 -
2015-05-14 14:42:12 +00:00
Jonas Maebe
7395058cf3
* recognise tb(n)z as branch opcode (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30846 -
2015-05-14 14:42:03 +00:00
Jonas Maebe
edceff5756
* moved Jasmin assembler writer to jvm backend directory
...
git-svn-id: trunk@30838 -
2015-05-09 17:25:18 +00:00
Jonas Maebe
95b900911c
- removed outdated script
...
git-svn-id: trunk@30837 -
2015-05-09 17:25:14 +00:00
Jonas Maebe
a04cae2c4b
- removed partial Alpha, IA64 and vis backends since they were never nor
...
will likely ever be finished
git-svn-id: trunk@30836 -
2015-05-09 17:25:11 +00:00
Jonas Maebe
1b43930749
- removed long deprecated/buggy assembler cse optimiser for i386
...
o bumped ppu version because optimiser settings can be embedded in generic
token streams
git-svn-id: trunk@30835 -
2015-05-09 17:25:07 +00:00
nickysn
3b288554e7
+ more msdos internal linker classes added
...
git-svn-id: trunk@30811 -
2015-05-06 14:49:07 +00:00
nickysn
93ec811c97
+ created the msdos internal linker class (empty for now)
...
git-svn-id: trunk@30810 -
2015-05-06 13:45:39 +00:00
nickysn
ced1368221
* fixed emitting of RELOC_SEG and RELOC_SEGREL relocations within the same
...
section in the omf internal obj writer
git-svn-id: trunk@30809 -
2015-05-06 10:40:38 +00:00
nickysn
328a4fa19a
+ optimization: don't emit relative relocation entries to the same section in
...
the omf obj writer
git-svn-id: trunk@30808 -
2015-05-06 10:05:15 +00:00
nickysn
b17087a645
- removed debug writelns after r30800
...
git-svn-id: trunk@30802 -
2015-05-04 17:13:17 +00:00