marco
ffff774ff2
* fixes by lks of base.inc procptr types (one long->plong, three dword_ptr to ulong_ptr) fixes mantis #29023
...
git-svn-id: trunk@32456 -
2015-11-22 11:04:37 +00:00
Jonas Maebe
c4b347c271
* support anonymous procvar definitions for jvm outside parameter lists (in a
...
parameter list they represent nested procvars, which aren't supported yet)
git-svn-id: trunk@32454 -
2015-11-22 10:52:20 +00:00
svenbarth
318b69600c
Fix for Mantis #29065 .
...
+ add an ObjFPC variant of the test for 29053.
git-svn-id: trunk@32453 -
2015-11-22 10:44:03 +00:00
marco
f69e6730be
* fix for #29036 overload sHOpenFolderAndSelectItems with a plain pointer versions
...
git-svn-id: trunk@32452 -
2015-11-22 10:42:54 +00:00
marco
de0f9e65c8
* fix bug #29061 , add guids to gmp interfaces
...
git-svn-id: trunk@32449 -
2015-11-22 10:23:17 +00:00
Jeppe Johansen
5ec4d38231
Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence.
...
git-svn-id: trunk@32448 -
2015-11-22 00:37:10 +00:00
nickysn
7990b55a87
* use sizeof(aint) instead of sizeof(asizeint) to determine whether a record is
...
intregable in tstoreddef.is_intregable
git-svn-id: trunk@32447 -
2015-11-21 19:43:18 +00:00
marco
b371c43c3e
* misc chm binindex logging (under ifdef)
...
git-svn-id: trunk@32446 -
2015-11-21 19:39:24 +00:00
Jeppe Johansen
49f8d574db
Save some space on ATTiny28 since it doesn't have any ram.
...
git-svn-id: trunk@32445 -
2015-11-21 19:33:42 +00:00
nickysn
62dadad93e
* reimplemented tppufile.getasizeint to use sizeof(asizeint), just like tppufile.putasizeint does
...
git-svn-id: trunk@32444 -
2015-11-21 18:59:50 +00:00
nickysn
0f6b5161e6
* the 'count' parameter of Move and FillChar on i8086 made 16-bit unsigned,
...
instead of signed (BP7 compatibility)
git-svn-id: trunk@32443 -
2015-11-21 17:55:47 +00:00
Jeppe Johansen
0046af39eb
Fixed #29025 .
...
Some architecture bit-nesses were missing.
git-svn-id: trunk@32442 -
2015-11-21 17:05:00 +00:00
Jeppe Johansen
baae6ec169
Fix incorrect AVR optimization.
...
git-svn-id: trunk@32441 -
2015-11-21 16:53:56 +00:00
svenbarth
1d72397c19
Add tests for generic functions/procedures/methods
...
git-svn-id: trunk@32440 -
2015-11-21 16:53:11 +00:00
svenbarth
c81eda7a42
Fully enable generic functions, procedures and methods by allowing inline specializations in procedure bodies as well.
...
Please note that this now also includes inline specializations of types in non-Delphi modes, thus removing a difference between modes Delphi and non-Delphi
pgentype.pas, inline_specialization_block_types:
+ add bt_body as valid block type
git-svn-id: trunk@32439 -
2015-11-21 16:52:09 +00:00
svenbarth
b2988ad8c0
pexpr.pas, sub_expr:
...
* generate_inline_specialization: fix Delphi-style inline specializations of generic methods
git-svn-id: trunk@32438 -
2015-11-21 15:59:11 +00:00
svenbarth
86f1ca2037
symtable.pas, is_visible_for_object:
...
* correctly handle the case that a generic method specialized in another unit needs to have access to private/protected members as well
git-svn-id: trunk@32437 -
2015-11-21 15:52:56 +00:00
svenbarth
2eeb59591a
pdecsub.pas, parse_proc_head:
...
* register the type parameter symbols and their defs once we really keep them
git-svn-id: trunk@32436 -
2015-11-21 15:41:51 +00:00
nickysn
b9ca24d4df
+ added property to the omf object reader, specifying whether symbol names
...
should be case sensitive (on by default, for now)
git-svn-id: trunk@32435 -
2015-11-21 15:35:42 +00:00
nickysn
79336c59de
* fixed test for PIC code on i386
...
git-svn-id: trunk@32434 -
2015-11-21 15:02:04 +00:00
florian
c9204f6c5e
+ added explicit rules for the iso7186 unit for the bsd targets
...
* fixed FreeBSD Makefile to work with make 3.82
git-svn-id: trunk@32433 -
2015-11-21 14:43:54 +00:00
svenbarth
fcae436177
Add test for Mantis #29053 to make sure it doesn't get broken by accident.
...
git-svn-id: trunk@32432 -
2015-11-21 14:35:35 +00:00
nickysn
82eb67cd24
* fixed test for PIC code on x86_64
...
git-svn-id: trunk@32431 -
2015-11-21 14:34:28 +00:00
Jonas Maebe
27219ae5ff
* actually assign the section name for end of the resourcestrings
...
git-svn-id: trunk@32430 -
2015-11-21 14:31:08 +00:00
florian
1142fdeccd
* initialize variables to avoid warnings
...
git-svn-id: trunk@32428 -
2015-11-21 14:14:30 +00:00
Jonas Maebe
f60a33f5af
* moved darwin/aix-specific code for resource string sections to
...
ttai_lowleveltypedconstbuilder (will have to be handled differently
for llvm)
git-svn-id: trunk@32427 -
2015-11-21 12:37:53 +00:00
Jonas Maebe
72c7cb2770
* typecast second_proc_to_procvar() results for llvm if the generic code
...
performed a simple location_copy() from one complex procvar type to
another
git-svn-id: trunk@32426 -
2015-11-21 12:37:50 +00:00
Jonas Maebe
8cebb76572
* corrected llvm level type of interfaces
...
git-svn-id: trunk@32425 -
2015-11-21 12:37:47 +00:00
Jonas Maebe
be69fbef4f
* fixed type used to store copied open array value parameters
...
git-svn-id: trunk@32424 -
2015-11-21 12:37:43 +00:00
Jonas Maebe
423eb7ddb6
* fixed int_to_real() conversion llvm destination type when the result is
...
currency
git-svn-id: trunk@32423 -
2015-11-21 12:37:40 +00:00
Jonas Maebe
a55e9a8b0a
* fixed type in second_class_to_intf if the class was in a LOC_REGISTER
...
git-svn-id: trunk@32422 -
2015-11-21 12:37:36 +00:00
Jonas Maebe
118f3c8049
* fixed type of stored exception class instance in on-node
...
git-svn-id: trunk@32421 -
2015-11-21 12:37:33 +00:00
Jonas Maebe
cc52730147
* typecast function results if an explicit type is forced
...
git-svn-id: trunk@32420 -
2015-11-21 12:37:30 +00:00
Jonas Maebe
83521e7d1f
* ensure that the def used when calling virtual methods matches the
...
procdefinition (e.g. regarding the self parameter type)
git-svn-id: trunk@32419 -
2015-11-21 12:37:27 +00:00
Jonas Maebe
32796f4af9
* ensure that the def used when calling procvars matches the value in
...
the register (e.g., change it to only the procedure address in case of
a complex procvar)
git-svn-id: trunk@32418 -
2015-11-21 12:37:24 +00:00
Jonas Maebe
00a5dd87c9
* allow g_ptrtypecast_reg() to allocate a new register, because spilling
...
a bitcast that reads from and writes to the same register doesn't
work well
* changed pointerdef parameters of g_ptrtypecast_reg()/ref() to regular tdef
so that these routines can also be used with procvardefs (which are pointers,
but not pointerdefs), except for the fromdef of g_ptrtypecast_ref() as this
one has to call a_loadaddr_ref_reg() (which needs the pointeddef, and getting
that is not possible for non-pointerdefs)
git-svn-id: trunk@32417 -
2015-11-21 12:37:20 +00:00
Jonas Maebe
abd79d275f
* always emit the procdef when calling a routine in llvm; this is
...
only required when calling a routine that returns a procvardef or
if it's a C-style varargs routine, but it's always allowed and
always doing it simplifies procvar handling
git-svn-id: trunk@32416 -
2015-11-21 12:37:17 +00:00
Jonas Maebe
fed94f56c8
* fixed spilling_get_operation_type and spilling_get_reg_type for
...
la_call and la_invoke (operand 1 is the destination register
since r30776)
git-svn-id: trunk@32415 -
2015-11-21 12:37:14 +00:00
Jonas Maebe
554be0c301
* fixed hlcg type correctness when getting the address of a virtual method
...
o handle interfaces like classrefdef, since they also point to the vmt
git-svn-id: trunk@32414 -
2015-11-21 12:37:11 +00:00
Jonas Maebe
a3cdf466e3
* fixed type of proc address when loading a complex procvar
...
git-svn-id: trunk@32413 -
2015-11-21 12:37:08 +00:00
Jonas Maebe
9a0cb50a08
* converted the result of fullownerhierarchyname to tsymstr so it (and
...
contcatenations based on it) can be longer than 255 characters in
case tsymstr=ansistring
git-svn-id: trunk@32412 -
2015-11-21 12:37:04 +00:00
Jonas Maebe
eaeb9d8351
* renamed thlcgobj.g_set_addr_nonbitpacked_record_field_ref() to
...
thlcgobj.g_set_addr_nonbitpacked_field_ref() and adjusted it so that
it also works for objects/classes (if the incoming reference points
to the start of the class contents)
o factored out the related code from tllvmsubscriptnode
git-svn-id: trunk@32411 -
2015-11-21 12:37:01 +00:00
Jonas Maebe
c8a5994e2e
* fixed size used for left in in_smallset (it's been forced in a register
...
of size opdef a few lines before)
git-svn-id: trunk@32410 -
2015-11-21 12:36:58 +00:00
Jonas Maebe
1284032765
+ llvm blockaddress() intrinsic (supported as of LLVM 3.5.1)
...
git-svn-id: trunk@32409 -
2015-11-21 12:36:55 +00:00
Jonas Maebe
949fd53a0a
- reverted r32315: targets using the high level code generator should keep
...
complex procvars either in a single "register", or in memory
git-svn-id: trunk@32408 -
2015-11-21 12:36:51 +00:00
Jonas Maebe
bd4787c716
* force complex procvars immediately to memory for llvm, so we don't have to
...
deal with the hacky register/registerhi complex locations
git-svn-id: trunk@32407 -
2015-11-21 12:36:48 +00:00
Jonas Maebe
ae5a355f06
* helpers to load registers/constants into a record field at the hlcg level
...
git-svn-id: trunk@32406 -
2015-11-21 12:36:45 +00:00
Jonas Maebe
8d8851afd6
* set minimum alignment for pchar to 1 instead of 0 (llvm doesn't
...
support alignment 0)
git-svn-id: trunk@32405 -
2015-11-21 12:36:42 +00:00
Jonas Maebe
7b93e40530
* fixed opcode in second_sqr_real
...
git-svn-id: trunk@32404 -
2015-11-21 12:36:39 +00:00
Jonas Maebe
7ce34ac7d2
* fixed code generator type correctness when loading a resourcestring
...
git-svn-id: trunk@32403 -
2015-11-21 12:36:35 +00:00