Mattias Gaertner
07d6c5b688
fcl-passrc: resolver: check record/type helper static
...
git-svn-id: trunk@41188 -
2019-02-03 16:28:25 +00:00
marco
91fd2396fc
* patch from mantis 34851 committed. use size in bits to set result of openbit instead of a fsize*32.
...
git-svn-id: trunk@41185 -
2019-02-03 14:06:40 +00:00
joost
6ffe906794
* Mover {CompilerVersion} from the fppkg.cfg template to samplecfg, because
...
on Windows it is possible to install fpc in a location without the
compilerversion in the path.
git-svn-id: trunk@41184 -
2019-02-03 13:32:43 +00:00
Károly Balogh
cb5a1ed727
build/install fixes for the new sortbase unit for amiga, atari, aros and morphos
...
git-svn-id: trunk@41183 -
2019-02-03 02:06:32 +00:00
nickysn
c7d8bd9666
+ added a sort algorithm interface that accepts a custom callback function for
...
exchanging two elements. This is required for TStringList.Sort (and is the
most generic form for a sort algorithm interface that I can think of).
git-svn-id: trunk@41182 -
2019-02-03 00:33:43 +00:00
nickysn
2a0eb54fd5
+ added a simple test that tests TList.Sort
...
git-svn-id: trunk@41181 -
2019-02-02 23:56:24 +00:00
nickysn
178217821c
+ added sortbase as a dependency to unit fgl in the makefiles
...
git-svn-id: trunk@41180 -
2019-02-02 23:22:09 +00:00
nickysn
ad677070f4
* hook TFPSList.QuickSort to also call the default sorting algorithm from sortbase
...
git-svn-id: trunk@41179 -
2019-02-02 23:08:25 +00:00
nickysn
59a75ea429
* use Inc() and Dec() instead of v:=v+1
...
git-svn-id: trunk@41178 -
2019-02-02 22:58:52 +00:00
nickysn
63f9afa6bd
* fixed TFPList.Sort. Scary news: turns out we don't have any tests for
...
TFPList.Sort or TList.Sort... :(
git-svn-id: trunk@41177 -
2019-02-02 22:52:08 +00:00
nickysn
4ea42ab6d2
* use the sortbase sorting algorithm in fgl as well
...
git-svn-id: trunk@41176 -
2019-02-02 22:49:39 +00:00
nickysn
4082b8c7fc
+ added and implemented QuickSort_ItemList_Context
...
git-svn-id: trunk@41175 -
2019-02-02 21:21:07 +00:00
nickysn
7f44f2535e
* the Compare parameter renamed Comparer for consistency
...
git-svn-id: trunk@41174 -
2019-02-02 21:08:30 +00:00
nickysn
8cf5779297
* the first parameter of QuickSort_PtrList_NoContext renamed ItemPtrs for
...
consistency with the other similar procedures
git-svn-id: trunk@41173 -
2019-02-02 21:07:27 +00:00
nickysn
a2a0ed53b2
* the type of the ItemCount parameter changed from PtrUInt to SizeUInt
...
git-svn-id: trunk@41172 -
2019-02-02 21:05:02 +00:00
nickysn
848890e54b
+ added the TItemListSorter_NoContext and TItemListSorter_Context procedure
...
types to sortbase. No implementation for them yet. They will allow sorting
an array with elements of arbitrary size (e.g. array of records).
git-svn-id: trunk@41171 -
2019-02-02 21:03:10 +00:00
nickysn
25f6da7066
* added PtrList to the names of the current sort algorithm callback functions and
...
types, to indicate they sort a list of pointers
git-svn-id: trunk@41170 -
2019-02-02 20:56:59 +00:00
nickysn
e8dc54c768
+ added TList.Sort overload with a sorting algorithm parameter
...
git-svn-id: trunk@41169 -
2019-02-02 20:31:16 +00:00
nickysn
c24d525b9f
* compilation fixes for many platforms after r41167
...
git-svn-id: trunk@41168 -
2019-02-02 20:22:07 +00:00
nickysn
248fd313f8
+ introduced unit SortBase, which implements the foundation for pluggable
...
sorting algorithms. A default QuickSort implementation is provided by the
unit. Other units can be added, to provide other sorting algorithms (e.g.
HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
in SortBase for their .Sort method.
git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
Jonas Maebe
b1a2b405ea
* TMultiReadExclusiveWriteSynchronizer: removed some unnecessary barriers and
...
added some potentially missing ones
git-svn-id: trunk@41166 -
2019-02-02 15:19:32 +00:00
Jonas Maebe
20c4992ac9
- removed data race test with mixed and writers, because the modifications
...
to the global variable in the read-locked sections could cause
false positives regarding detecting whether nothing got changed
during a write-locked section due to lack of read/write dependencies
git-svn-id: trunk@41165 -
2019-02-02 15:17:12 +00:00
Jonas Maebe
56fd8e1208
* fixed tinterlockedmt*.pp for architectures with weak memory consistency
...
models
git-svn-id: trunk@41164 -
2019-02-02 14:28:48 +00:00
michael
85f1b78162
* Fix wrong typecast, fix warning when compiling
...
git-svn-id: trunk@41162 -
2019-02-02 09:02:57 +00:00
Jonas Maebe
0db9ff5c39
* fixed packed bitsize calculation for types with a negative lower bound and
...
and upper bound just below the next power of two (mantis #34971 )
git-svn-id: trunk@41161 -
2019-02-01 17:31:53 +00:00
pierre
71559c83a6
Fix parallel make for embedded rtl
...
git-svn-id: trunk@41159 -
2019-02-01 13:26:46 +00:00
Mattias Gaertner
e9c8d9b1b7
fcl-passrc: resolver: nicer error message on invalid set element type
...
git-svn-id: trunk@41157 -
2019-01-31 22:36:47 +00:00
Mattias Gaertner
8d368b0c21
pastojs fixed treating big ints as double
...
git-svn-id: trunk@41156 -
2019-01-31 19:50:23 +00:00
Mattias Gaertner
dd49ad6183
fcl-passrc: fixed treating big ints as extended
...
git-svn-id: trunk@41155 -
2019-01-31 19:50:06 +00:00
Mattias Gaertner
9aec974448
fcl-js: small optimization
...
git-svn-id: trunk@41154 -
2019-01-31 19:48:29 +00:00
nickysn
c5331d425a
* split the routines with asm versions into strict pascal and strict asm versions
...
git-svn-id: trunk@41153 -
2019-01-31 15:19:45 +00:00
Mattias Gaertner
74b897b875
pastojs: not using TSelfExpr
...
git-svn-id: trunk@41152 -
2019-01-31 14:48:44 +00:00
Mattias Gaertner
28b945242e
fcl-passrc: resolver: not using TSelfExpr
...
git-svn-id: trunk@41151 -
2019-01-31 14:48:25 +00:00
pierre
9299e97932
Disable pas2js for jvm compiler
...
git-svn-id: trunk@41150 -
2019-01-31 11:20:34 +00:00
Mattias Gaertner
d4c96dcf22
pastojs: searching units in current module directory, Delphi compatibility
...
git-svn-id: trunk@41149 -
2019-01-31 09:23:48 +00:00
Mattias Gaertner
6160a2ad51
pastojs: intrinsics lo/hi, issue #34964 , patch from Kryvichh
...
git-svn-id: trunk@41148 -
2019-01-30 16:44:48 +00:00
Mattias Gaertner
70c4d45474
pastojs: fixed rtl.js
...
git-svn-id: trunk@41147 -
2019-01-30 15:53:58 +00:00
nickysn
e348fada6c
* optimizations in SetVisualX and SetActiveX by using a table, instead of a case statement
...
git-svn-id: trunk@41146 -
2019-01-30 15:49:00 +00:00
Mattias Gaertner
dd2fc17d51
pastojs: nicer -Jm error message, check for (a,b)[]
...
git-svn-id: trunk@41145 -
2019-01-30 14:10:31 +00:00
Mattias Gaertner
569bd80cec
fcl-passrc: parser: fixed self.a[], self.a()
...
git-svn-id: trunk@41144 -
2019-01-30 14:09:32 +00:00
nickysn
7a15e4b0a2
* optimizations in SetActive200 and SetActive350
...
git-svn-id: trunk@41143 -
2019-01-30 12:56:17 +00:00
pierre
202c4f86c0
Disable jvm-android as fcl-json is not supported for this target
...
git-svn-id: trunk@41142 -
2019-01-30 12:55:04 +00:00
Károly Balogh
6c87b89e45
atari: fpc now searches for the compiler with .ttp extension, as that's the default on Atari
...
git-svn-id: trunk@41141 -
2019-01-30 10:48:27 +00:00
pierre
beec828647
Fix cycling of arm compiler starting with release ppcarm 3.0.4
...
git-svn-id: trunk@41140 -
2019-01-30 10:48:21 +00:00
florian
2b6076a719
* compilation fixed
...
git-svn-id: trunk@41139 -
2019-01-29 22:06:32 +00:00
Jonas Maebe
e52cf555ab
* fix loading of constants in registers in the LLVM CG if the constant
...
does not fit in ptrsinttype
git-svn-id: trunk@41138 -
2019-01-29 21:39:26 +00:00
Jonas Maebe
2d01fe76f6
* initialse the cgpara for the C-style varargs on ARM (needed for LLVM)
...
git-svn-id: trunk@41137 -
2019-01-29 21:39:23 +00:00
Jonas Maebe
96b27765f0
* replaced fstm/fldm with vstm/vldm for clang compatibility
...
git-svn-id: trunk@41136 -
2019-01-29 21:39:20 +00:00
Jonas Maebe
9c3e9e80a3
* fixed type correctness of and simplified the threadvar loading size
...
optimisation
git-svn-id: trunk@41135 -
2019-01-29 21:39:16 +00:00
Jonas Maebe
4869d0ace9
* perform extension of parameters to 32 bit for Darwin in the paraloc instead
...
of in the cgpara (cgpara should always correspond to the real parameter)
git-svn-id: trunk@41134 -
2019-01-29 21:39:12 +00:00