Jonas Maebe
9ea38f4577
* support static fields in nested types in records, by always including
...
support for nested types when generating an access to a static fied;
we also always do that when generating the mangled name of a static
field declaration in symcreat.make_field_static() (mantis #29030 )
git-svn-id: trunk@32517 -
2015-11-24 16:04:19 +00:00
Jonas Maebe
9dc5f1acb4
* support LOC_(C)SUBSETREG in tcgvecnode.pass_generate_code, can also occur
...
for function results (patch by Do-wan Kim, mantis #29064 )
git-svn-id: trunk@32516 -
2015-11-24 15:03:34 +00:00
Jeppe Johansen
f5eaf7ddde
Fix stack pointer offset.
...
git-svn-id: trunk@32499 -
2015-11-22 20:51:54 +00:00
nickysn
e6d01eb3b5
* fixed a bug, which caused a function that returns a method pointer (or nested
...
procdef) to be called twice, when the result of this function is immediately
called (i.e. not stored in a temp variable).
git-svn-id: trunk@32495 -
2015-11-22 17:21:08 +00:00
marco
7d1889e0ef
* mantis #28917 'r' mode sets filemode.
...
git-svn-id: trunk@32490 -
2015-11-22 13:21:21 +00:00
Jonas Maebe
ea0c8e6f38
- reverted accidentally committed code with r32463
...
git-svn-id: trunk@32476 -
2015-11-22 11:52:30 +00:00
Jonas Maebe
99c97c331a
* keep the result type after a call as llvmretdef, because call nodes
...
afterwards use hlcg.gen_load_cgpara_loc() to convert it to the Pascal
level tdef (and otherwise we try to do this twice). For non-Pascal
level calls, the code generator will automatically convert the
type if necessary when using the function result location, because
its def is (now) set to llvmretdef
git-svn-id: trunk@32475 -
2015-11-22 11:49:51 +00:00
Jonas Maebe
f4a62c4c60
* fixed (harmless) range errors in getasizeint() after r32444
...
git-svn-id: trunk@32474 -
2015-11-22 11:49:47 +00:00
Jonas Maebe
94a6ef3103
* use codeptruinttype/codeptrsinttype when emiting ordinal constants that
...
have the same size as voidcodepointertype
git-svn-id: trunk@32473 -
2015-11-22 11:49:43 +00:00
Jonas Maebe
7b89072d88
* fixed external wrapper generation on llvm
...
git-svn-id: trunk@32472 -
2015-11-22 11:49:40 +00:00
Jonas Maebe
8f57609ef2
* fixed types for classrefdef typed constants
...
git-svn-id: trunk@32471 -
2015-11-22 11:49:36 +00:00
Jonas Maebe
2504a0ce6c
+ codeptruinttype/codeptrsinttype that has the same size as
...
voidcodepointertype
git-svn-id: trunk@32470 -
2015-11-22 11:49:32 +00:00
Jonas Maebe
e90af5d7c0
* fixed collection of types from tai_*typedconst
...
git-svn-id: trunk@32469 -
2015-11-22 11:49:28 +00:00
Jonas Maebe
c17458149c
- removed accidentally committed debug code
...
git-svn-id: trunk@32468 -
2015-11-22 11:49:25 +00:00
Jonas Maebe
f37576cf0f
* fixed type of resourcestrings in typed constants
...
git-svn-id: trunk@32467 -
2015-11-22 11:49:21 +00:00
Jonas Maebe
0bceb953e5
* fixed high level type of unicodestring records
...
git-svn-id: trunk@32466 -
2015-11-22 11:49:18 +00:00
Jonas Maebe
4f287207cd
* initialise all register temps with "undef" for llvm, so that llvm knows
...
they exist even if we try to read them before writing to them (e.g.
because they represent the uninitialised function result of an
inlined function)
git-svn-id: trunk@32465 -
2015-11-22 11:49:15 +00:00
Jonas Maebe
13cf405f8c
* fixed llvm second_int_to_real for comp
...
git-svn-id: trunk@32464 -
2015-11-22 11:49:11 +00:00
Jonas Maebe
688b9c0a69
* use the correctly typecasted reference in a_bit_set_reg_ref
...
git-svn-id: trunk@32463 -
2015-11-22 11:49:07 +00:00
svenbarth
6ff3226e3c
Fix for Mantis #29066 .
...
git-svn-id: trunk@32459 -
2015-11-22 11:17:15 +00:00
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