svenbarth
d07b49270f
Fix for Mantis #30030 .
...
pgenutil.pas:
* parse_generic_specialization_types_internal: ignore the parasymtable of procvars (as before the addition of generic routines) and instead use the type's hierarchy name
* generate_specialization_phase2: specialize types of procvars into the parameter symtable as they don't have a local one
+ added test
git-svn-id: trunk@33544 -
2016-04-22 13:07:48 +00:00
Jonas Maebe
1850cb4ccc
* don't look at the resultdef, but at the defs of the operands to decide
...
whether a multiplication needs to be signed or unsigned (can be different
in case of a 32x32->64 multiplication) (mantis #30035 )
git-svn-id: trunk@33539 -
2016-04-20 22:17:15 +00:00
Jonas Maebe
2a1f2b9fd9
* fixed a_load_regconst_subsetreg_intern() when loading a 32 bit register
...
to a non-zero bit offset in a subsetreg (mantis #29933 )
git-svn-id: trunk@33498 -
2016-04-13 17:09:31 +00:00
Jonas Maebe
08d63e3408
* allow default parameters for constref (mantis #29992 )
...
git-svn-id: trunk@33480 -
2016-04-10 21:27:29 +00:00
florian
406e3c4ac1
+ support xgetbv instruction, resolves issue #29958
...
git-svn-id: trunk@33418 -
2016-04-03 20:53:10 +00:00
Jonas Maebe
1e1b36515e
* don't narrow expressions that contain a mod/div followed by an "and",
...
since the mod/div get a different result if calculated using fewer
bits (mantis #29930 )
git-svn-id: trunk@33413 -
2016-04-02 22:09:34 +00:00
Jonas Maebe
a5dba44fd3
* fixed sign extension for unaligned loads (mantis #29891 , although that
...
code shouldn't use unaligned loads in the first place)
git-svn-id: trunk@33382 -
2016-03-29 14:52:27 +00:00
Jonas Maebe
322493c195
* fixed overflow checking on AArch64 for signed multiplications with zero
...
(mantis #29912 )
git-svn-id: trunk@33380 -
2016-03-29 09:50:42 +00:00
florian
8d5cc3dfa4
* (extended and modified) patch by Emelyanov Roman to add suport of RDRAND, RDSEED and TSX instructions set, resolves issue #29893 .
...
In comparison with the original patch, support for a i386 has been added as well as a test program.
Further, a small issue with xbegin has been fixed
git-svn-id: trunk@33375 -
2016-03-28 19:08:13 +00:00
yury
d4d70d3865
* Evaluate currency constant expressions when the currency type is 64-bit integer. Issue #28749 .
...
git-svn-id: trunk@33334 -
2016-03-26 17:48:50 +00:00
yury
d7cc0064d3
* Disabled test for android.
...
git-svn-id: trunk@33304 -
2016-03-20 22:09:45 +00:00
yury
3a5412a931
* Disabled tests which force the -Cg- option for Android since they can not be run on Android 5+ where PIE is required.
...
git-svn-id: trunk@33303 -
2016-03-20 21:52:05 +00:00
svenbarth
e9fab1bfee
Fix for Mantis #29080 .
...
psub.pas, tcgprocinfo.parse_body:
* ensure that parse_generic and current_genericdef are set correctly when parsing a generic routine
pgenutil.pas, generate_specialization_phase2:
* when we're specializing inside a generic we don't want to have the routine definitions, so let the compiler assume that the routine is no longer a forward definition
+ added test
git-svn-id: trunk@33275 -
2016-03-18 16:31:23 +00:00
florian
bb1f2b8062
* make NativeInt and NativeUInt unique types, resolves #29444
...
git-svn-id: trunk@33234 -
2016-03-13 15:30:38 +00:00
svenbarth
27ab1c61c5
Fix for Mantis #29745 .
...
symdef.pas, getansistringdef:
* use a temporary, non-defaware symtablestack to create the ansistringdef
+ added test
git-svn-id: trunk@33214 -
2016-03-10 19:43:45 +00:00
svenbarth
e58488dc3e
Fix for Mantis #29792 .
...
htypechk.pas, tcallcandidates:
* create_candidate_list: check the correct tableoptions for sto_has_overload flag
+ added test
git-svn-id: trunk@33211 -
2016-03-09 20:45:26 +00:00
Jonas Maebe
c93e8a51cd
* fixed test result after r33201
...
git-svn-id: trunk@33204 -
2016-03-07 19:59:05 +00:00
Jonas Maebe
70cd8f6e59
- removed overflow, so the test also works with constant propagation and -Co
...
git-svn-id: trunk@33201 -
2016-03-07 14:40:52 +00:00
Jonas Maebe
0e97811b50
+ initialise managed string function results with an error string when
...
compiling with -gt (mantis #28948 )
git-svn-id: trunk@33198 -
2016-03-06 17:22:11 +00:00
Jonas Maebe
315b32918e
+ Tconstexprint-version of ispowerof2() to correctly deal with constants
...
> high(int64) (mantis #29620 )
git-svn-id: trunk@33191 -
2016-03-06 14:16:47 +00:00
Jonas Maebe
096e1c45d6
* don't keep records in registers if they contain a field that spans the
...
boundary between two awords, as our subscript code does not handle
them correctly (second part of mantis #29669 )
git-svn-id: trunk@33180 -
2016-03-06 13:20:25 +00:00
Jonas Maebe
9788bb1316
* fixed check regarding whether a field is in the first or second word of
...
of 2*sizeof(aword) bitpacked record that's kept in registers
(mantis #29669 )
git-svn-id: trunk@33177 -
2016-03-06 13:20:16 +00:00
Jonas Maebe
4039c1835c
+ test from mantis #29547 , fixed in r30168 as mantis #27580
...
git-svn-id: trunk@33164 -
2016-03-05 19:01:47 +00:00
Jonas Maebe
a100309350
* made utf8tostring() Delphi-compatible (mantis #29585 ):
...
o removed utf8string overload
o always ignore any code page information from the input, and interpret the
contents of the input directly as utf8-encoded bytes
* made utf8tostring() compatible with the JVM backend (mantis #29497 )
git-svn-id: trunk@33159 -
2016-03-05 15:32:22 +00:00
svenbarth
25744dd3f1
Fix for Mantis #29609 .
...
pexpr.pas, factor.factor_read_id:
* don't use a cloadvmtaddrnode for accessing class properties in records
+ added test
git-svn-id: trunk@33110 -
2016-02-19 21:37:02 +00:00
Jonas Maebe
f3df3a7a67
+ test for mantis #28668
...
git-svn-id: trunk@33104 -
2016-02-18 22:03:46 +00:00
Jonas Maebe
001417bb47
+ test from mantis #28667
...
git-svn-id: trunk@33103 -
2016-02-18 21:58:34 +00:00
sergei
2861362780
* Reuse binary search routine from rgbase.pas to look up AT&T register names, removes need in regnumber_count_bsstart constant. Resolves #29471 .
...
git-svn-id: trunk@33076 -
2016-02-09 16:48:32 +00:00
svenbarth
05174f3e67
Fix for Mantis #29546 .
...
htypechk.pas, tcallcandidates:
* create_candidate_list: don't check whether the pd is a specialization if the owner is valid; happens if a generic method is used more than once (which should happen here and then :P )
+ added test
git-svn-id: trunk@33037 -
2016-01-31 17:14:44 +00:00
svenbarth
d2a7f17d8c
Fix for Mantis #29372 .
...
compiler/ncgcal.pas:
* tchcallnode.release_para_temps: don't release temps of a constructor's self parameter
+ added test
git-svn-id: trunk@32990 -
2016-01-23 22:19:00 +00:00
Jonas Maebe
a65ab73e8b
* support unicodestring constants in "case string of" (mantis #29353 )
...
git-svn-id: trunk@32970 -
2016-01-20 21:11:26 +00:00
svenbarth
82788b4995
tw20821.pp:
...
* test program attached to the bug report was incorrectly transformed to a test for the test suite
git-svn-id: trunk@32962 -
2016-01-17 12:14:54 +00:00
florian
df82921cd8
* fix test after r32820
...
git-svn-id: trunk@32855 -
2016-01-05 13:46:06 +00:00
florian
a4d2f71d3d
* better estimation of compatibility of array constructors with open arrays, resolves issue #29244
...
git-svn-id: trunk@32846 -
2016-01-04 23:10:45 +00:00
svenbarth
61b12af82b
Fix for Mantis #29321 .
...
pexpr.pas, postfixoperators:
* also handle type helpers for static arrays
+ added test
git-svn-id: trunk@32845 -
2016-01-04 22:02:24 +00:00
florian
a7f1ce2e98
* patch by Dmitry Boyarintsev: initialize dyn. arrays more cleverly in a setlength call with ref. count>1, resolves issue #29250
...
git-svn-id: trunk@32721 -
2015-12-26 08:53:56 +00:00
Jonas Maebe
0df558af36
* disabled pic
...
* mark eax as used in assembler block in main program
git-svn-id: trunk@32689 -
2015-12-20 20:56:13 +00:00
Jonas Maebe
b4e857e9c4
* skip for darwin because it always requires/expects a 16 byte aligned stack
...
* mark ebx as modified in the assembler blocks
git-svn-id: trunk@32688 -
2015-12-20 20:56:11 +00:00
sergei
272e3db1db
* Fixed test on x86_64 ('nostackframe' modifier ensures that no prologue/epilogue code is added on fixed-stack targets).
...
git-svn-id: trunk@32673 -
2015-12-16 16:46:23 +00:00
sergei
31623565cb
* Skip test for Win64, since *nix-style PIC is not supported on that system.
...
git-svn-id: trunk@32672 -
2015-12-16 16:37:41 +00:00
florian
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
...
git-svn-id: trunk@32652 -
2015-12-13 13:28:51 +00:00
Jonas Maebe
092a0af0ec
* removed special-purpose code for constant chars while parsing typed string
...
constants: it did not properly handle ansistring code pages, and was just a
hack to speed things up a bit (mantis #29153 )
git-svn-id: trunk@32636 -
2015-12-11 15:33:28 +00:00
Jonas Maebe
ed03286be5
* simplify "div -1" to unaryminusn, not just for performance reasons but
...
also because "div -1" is not handled correctly by the div-to-mul/shift
transformation on x86 (mantis #28702 )
git-svn-id: trunk@32619 -
2015-12-08 15:57:07 +00:00
Jonas Maebe
0b4f3f01b3
* fixed another case of endless recursion in
...
tabstractrecordsymtable.has_single_field(), due to always looking in the
symlist of the original record rather than properly recursing into those
of nested ones (mantis #28641 )
git-svn-id: trunk@32618 -
2015-12-08 15:35:19 +00:00
Jonas Maebe
01d93b61c3
* save/restore the type (and hence code page) of ansistring constsyms in/from
...
the ppu (mantis #28964 )
* also save/restore the type of constnil, constresourcestring and constguid
in/from the ppu
git-svn-id: trunk@32617 -
2015-12-08 14:27:23 +00:00
florian
19a7bc0aee
* fix test for 64 bit targets
...
git-svn-id: trunk@32613 -
2015-12-07 21:48:19 +00:00
florian
cad29a4e19
* set nf_write flag correctly for subscript nodes, resolves issue #28713
...
git-svn-id: trunk@32602 -
2015-12-06 19:17:50 +00:00
Jonas Maebe
03067f240c
+ added already working test for mantis #27149
...
git-svn-id: trunk@32577 -
2015-12-04 14:00:37 +00:00
Jonas Maebe
2e0fea94b8
* set operand size information when accessing fields in assembly
...
(mantis #29096 )
git-svn-id: trunk@32567 -
2015-12-02 15:53:22 +00:00
Jonas Maebe
0c4edd2aa9
* fixed getting address of interface methods after r32414: interfaces are not
...
a pointer to a vmt, but a pointer to a pointer to vmt (mantis #29086 )
o also adjusted the llvm type for interfaces accordingly
git-svn-id: trunk@32530 -
2015-11-25 19:28:17 +00:00