Tomas Hajny
ff02b2dfb5
+ added test based on bug #24504
...
git-svn-id: trunk@34850 -
2016-11-08 22:24:22 +00:00
florian
a27b07b342
+ more restrictions on pred/succ to dec/inc optimization
...
o check if the argument can be used as a call by reference parameter
o check if the argument has no side-effects
+ tests
git-svn-id: trunk@34816 -
2016-11-06 16:36:02 +00:00
florian
96858dd64d
+ additional tests which ensure that constant propagation is off
...
as the compiler optimizes the original tests too much with constant propagation
to keep them useful
git-svn-id: trunk@34796 -
2016-11-05 23:05:57 +00:00
florian
9c81e90e08
+ extension to iso mode: reset/rewrite can take a file name as a second parameter
...
git-svn-id: trunk@34726 -
2016-10-16 07:55:08 +00:00
Jonas Maebe
265923a2ee
* several fixes for TMultiReadExclusiveWriteSynchronizer, based on patch by
...
Derek (mantis #28830 )
o ability for a thread to acquire a readlock when it already holds a
write lock, or vice versa
o detect when thread1 releases a lock while it hadn't acquired one
o correct result of beginwrite (return true only when another thread
held/acquired a write lock before the current thread got it)
o extra compared to Derek's patch: replaced some additional
(mostly pre-existing) interlocked*() hacks with proper memory
barriers, made formatting consistent, fixed compilation on platforms
where tthreadid is not an integer type, improved tthreadid hashing
function for 64 bit platforms, fixed some comments
git-svn-id: trunk@34678 -
2016-10-08 20:45:45 +00:00
Jonas Maebe
e5a1231931
* updated FSF address (mantis #30198 , patch by Paul Gevers)
...
git-svn-id: trunk@34598 -
2016-10-02 12:56:59 +00:00
svenbarth
246de84ef3
* ensure that a finalization section is parsed before the generation of specializations as otherwise specializations in such sections would result in unresolved forward declarations
...
git-svn-id: trunk@34582 -
2016-09-30 15:41:35 +00:00
Jonas Maebe
775f86d216
* made cthreads the first unit, as the initialisation code of sysutils now
...
apparently already triggers threading-related code
git-svn-id: trunk@34516 -
2016-09-11 18:17:41 +00:00
svenbarth
6b93f09567
* fix test
...
git-svn-id: trunk@34458 -
2016-09-08 17:43:04 +00:00
svenbarth
26a2ddd3d6
+ extend Delete() intrinsics with Delphi compatible support for dynamic arrays. Also fixes Mantis #30306
...
git-svn-id: trunk@34455 -
2016-09-08 17:15:10 +00:00
Jonas Maebe
2d051f89f7
* don't increase refcounts for variants assigned to (ti_)const nodes, fixes
...
memory leak after r34288 and should have been done as part of r34287
(mantis #30546 )
git-svn-id: trunk@34440 -
2016-09-06 21:28:34 +00:00
svenbarth
8b853571c6
* don't generate a warning if a "generic" token follows while parsing procedure directives (let's hope we'll never have to add a "generic" directive :/ )
...
+ added test
git-svn-id: trunk@34343 -
2016-08-19 14:07:36 +00:00
marco
690f784c4d
* enable 40+ tests for Haiku as per mantis #30470
...
git-svn-id: trunk@34312 -
2016-08-14 14:09:24 +00:00
pierre
d957595842
Fix for msdos, local variable SaveExit must be a CodePointer
...
git-svn-id: trunk@34267 -
2016-08-10 16:16:17 +00:00
pierre
4b17961dd4
* Skip some tests for msdos
...
git-svn-id: trunk@34266 -
2016-08-10 16:10:25 +00:00
yury
f08d136290
* Fixed test for non-Windows targets.
...
git-svn-id: trunk@34236 -
2016-07-30 16:37:47 +00:00
yury
980c4741ac
* Fixed conversion from PWideChar to ansistring.
...
+ test.
git-svn-id: trunk@34219 -
2016-07-29 09:43:05 +00:00
pierre
e9a1ed9446
Add fpwidestring and unicodeducet units for go32v2 tests related to unicode support
...
git-svn-id: trunk@34168 -
2016-07-22 06:26:17 +00:00
pierre
d4945f4fd0
Avoid range check error for Win64 by correcting type of parameters for GetModuleFileNameA WinAPI function
...
git-svn-id: trunk@34148 -
2016-07-19 11:35:21 +00:00
pierre
d1a610a2fc
Avoid range check error on win64 target in comparison of THandle to -1
...
git-svn-id: trunk@34147 -
2016-07-19 09:48:34 +00:00
pierre
ffe2940b01
Fix test for compact and medium i8086 memory model
...
git-svn-id: trunk@34073 -
2016-07-05 22:32:19 +00:00
pierre
bc839068de
Fix test for compact and medium i8086 memory model
...
git-svn-id: trunk@34072 -
2016-07-05 22:30:12 +00:00
pierre
360f2734eb
Improve targ1a and targ1b to really check content of args passed to called executable
...
git-svn-id: trunk@34067 -
2016-07-04 21:03:40 +00:00
pierre
1cbc526501
Reduce NumIterations for I8086 cpu to avoid timeout
...
git-svn-id: trunk@34052 -
2016-07-03 07:45:45 +00:00
pierre
16477c598d
Fix huge memory model failure by adding nostackframe modifier needed to avoid DS reloading at proc entry
...
git-svn-id: trunk@34049 -
2016-07-02 15:12:18 +00:00
pierre
ef6a8009cf
Add {$goto on} for FPC to avoid compile time error
...
git-svn-id: trunk@34048 -
2016-07-02 15:10:51 +00:00
pierre
2ca06538d6
Limit alignment requirement for I8086 CPU to 2 even if pointer is 4 byte long
...
git-svn-id: trunk@34047 -
2016-07-02 14:58:49 +00:00
pierre
d2113f5ead
Use SizeInt type for DoMem variable argument, as it might be different from PtrInt, for instance for some msdos memory models
...
git-svn-id: trunk@34021 -
2016-06-28 15:59:09 +00:00
pierre
dfeadf89e9
Modify test to take into account the specific prologue for Huge model
...
git-svn-id: trunk@34016 -
2016-06-24 15:13:37 +00:00
pierre
f079701302
Also disable range check error that can happen on 64-bit processors
...
git-svn-id: trunk@34011 -
2016-06-21 08:02:19 +00:00
pierre
df7e562d94
Add explicit $R- or $Q- to avoid different results if -Criot option is used
...
git-svn-id: trunk@34010 -
2016-06-20 15:55:10 +00:00
pierre
27119cad3c
Disable range checks explicitly as THandle is unsigned at least for win32 OS
...
git-svn-id: trunk@34009 -
2016-06-20 15:26:50 +00:00
Jonas Maebe
580cf73e64
* align the variables passed to InterlockedCompareExchange128() to a
...
multiple of 16 bytes
git-svn-id: trunk@33962 -
2016-06-12 09:21:08 +00:00
Jonas Maebe
5af40f22e8
* handle enums with a packenum setting that is larger than necessary to store
...
all of their values, when kept in a bitpacked array, properly via
pass_typecheck rather than hacking location.size in pass_generate_code:
o the old fix was incomplete (it didn't handle non-constant indices)
o the old fix didn't work for llvm (since it uses defs rather than
location.size)
git-svn-id: trunk@33943 -
2016-06-09 22:00:14 +00:00
svenbarth
f27ce0b159
Rework the way the method bodies for specializations are generated: instead of walking the global and local symboltable all pending specializations are kept in a list of the current module which is (for now) walked at the end of a unit/program to generate the method bodies as before.
...
fmodule.pas, tmodule:
+ new list pendingspecializations which keeps track of all pending specializations of the current module
psub.pas:
* move generate_specialization_procs and related routines to pgenutil
+ new procedure read_proc_body to read a routine's body, cause generate_specialization_procs needs it (unlike the already existing overload in the implementation section, this one can only handle bodies of non-nested routines)
pgenutil.pas:
* generate_specialization_phase2: add the newly specialized generic to the current module's pending specializations
* generate_specialization_procs: reworked so that it uses the new pendingspecializations field instead of walking the global and local symboltable of the current unit
pmodules.pas:
+ add pgenutil to uses due to the moved generate_specialization_procs
+ added test
git-svn-id: trunk@33826 -
2016-05-26 18:56:16 +00:00
pierre
345361beef
Revert commit 33771 and directly replace cpu8086 by cpui8086 which is always defined by ppc8086 compiler
...
git-svn-id: trunk@33773 -
2016-05-24 06:52:17 +00:00
pierre
ba509152b8
Also define CPUSMALL macro if CPUI8086 is defined
...
git-svn-id: trunk@33771 -
2016-05-23 21:07:11 +00:00
pierre
6646a0d29f
Correct tseg.pp test for i8086 CPPU for which seg/cseg/dseg/sseg should NOT return zero values
...
git-svn-id: trunk@33770 -
2016-05-23 20:58:37 +00:00
pierre
74b3481918
Use small number for Blocks constant for i8086 CPU also
...
git-svn-id: trunk@33769 -
2016-05-23 20:51:07 +00:00
nickysn
bffe9480f4
+ added the winapi functions, structures and constants for raw keyboard and mouse input
...
git-svn-id: trunk@33746 -
2016-05-22 01:59:27 +00:00
Jonas Maebe
f0753d85ad
* fix the Upgrade to Unicode version 7 and CLDR 27 from r32814
...
(mantis #29659 , fixes tuca* tests)
git-svn-id: trunk@33708 -
2016-05-19 15:44:22 +00:00
michael
8e75ac64f1
* Patch from Graeme GeldenHuys to implement UnicodeString versions of MatchStr() and IndexStr() (bug ID 30113)
...
git-svn-id: trunk@33700 -
2016-05-16 16:40:27 +00:00
yury
511f5b5ded
* trwsync test: Increased timeout to 60 seconds. Trying to fix random failures due to the timeout on busy machines.
...
git-svn-id: trunk@33487 -
2016-04-12 08:38:18 +00:00
yury
a37cd66a87
* trwsync test: Increased timeout to 30 seconds. Should prevent failures on busy machines.
...
git-svn-id: trunk@33313 -
2016-03-22 10:16:25 +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
yury
d43e5dcab8
* tests: Fixed string comparison.
...
git-svn-id: trunk@33302 -
2016-03-20 21:25:18 +00:00
nickysn
759a4f8258
* don't try to build lnfodwrf on i8086-msdos, because it causes internal error
...
200309041 and thus breaks building i8086-msdos snapshots entirely. Added test
that reproduces the bug in a small program, so it can be fixed eventually.
git-svn-id: trunk@33276 -
2016-03-18 19:56:37 +00:00
Jonas Maebe
2b210335a1
* fixed pointer arithmetic errors in WideStrAlloc/StrBufSize/StrDispose
...
(patch by Iks, mantis #29710 )
git-svn-id: trunk@33271 -
2016-03-18 13:12:11 +00:00
Jonas Maebe
697aed738c
* replaced test directory names with ones that doesn't contain decomposable
...
characters, so the test's success doesn't depend on getdir returning a
string using the same composition as the used name (fixes test on
OS X 10.11)
git-svn-id: trunk@33270 -
2016-03-18 12:43:47 +00:00
Jonas Maebe
5919ca84bb
* fixed string code page after setstring(rawbytestring,..) (mantis #29833 )
...
git-svn-id: trunk@33268 -
2016-03-18 12:43:42 +00:00