Mattias Gaertner
9a878f99db
fcl-passrc: fixed parsing (expr).name()
...
git-svn-id: trunk@41225 -
2019-02-04 16:49:07 +00:00
Mattias Gaertner
bf1af93938
pastojs: typecast string(unicodestring), unicodestring(string)
...
git-svn-id: trunk@41224 -
2019-02-04 16:02:42 +00:00
Mattias Gaertner
cfe65c8cd8
fcl-passrc: resolver: typecast string(unicodestring), unicodestring(string)
...
git-svn-id: trunk@41223 -
2019-02-04 16:02:28 +00:00
nickysn
26486bbaea
+ keep track of the pivot index in all quicksort implementations. No functional changes,
...
but will be used to prevent overlap in the divided subregions and also infinite loops
in case of an incorrect compare function.
git-svn-id: trunk@41222 -
2019-02-04 15:32:41 +00:00
Mattias Gaertner
b47c58dddc
fcl-passrc: fixed case of widechar
...
git-svn-id: trunk@41221 -
2019-02-04 15:08:50 +00:00
pierre
15fc7b3510
Programs can also have import libraries
...
git-svn-id: trunk@41220 -
2019-02-04 15:02:42 +00:00
nickysn
ec45f0069a
+ added unit SortAlgs to rtl-extra. It implements extra sorting algorithms
...
that can be used in place of the default QuickSort implementation from unit
SortBase. Currently, only HeapSort is implemented, but others will be added
in the future.
git-svn-id: trunk@41219 -
2019-02-04 14:34:13 +00:00
Mattias Gaertner
57ece7b0f5
fcl-passrc: fixed set literal of widechar, issue #35001
...
git-svn-id: trunk@41218 -
2019-02-04 12:34:25 +00:00
Jonas Maebe
13ce27cc1d
* fixed the default external assembler for llvm when using -s
...
git-svn-id: trunk@41207 -
2019-02-03 21:01:13 +00:00
Jonas Maebe
1abea6451c
* fixed thlcgobj.g_rangecheck() for cpuhighleveltarget when targetting a
...
cpu32bitalu
git-svn-id: trunk@41206 -
2019-02-03 21:01:08 +00:00
Jonas Maebe
7af95cbf06
* LLVM does not support 128 bits arithmetic on 32 bit platforms, which we
...
need for overflow checking -> use RTL built-ins
git-svn-id: trunk@41205 -
2019-02-03 21:01:02 +00:00
Jonas Maebe
353be907c7
* update the stack alignment field of parameters when doing so for paralocs
...
git-svn-id: trunk@41204 -
2019-02-03 21:00:57 +00:00
Jonas Maebe
7a65e1f393
* fixed ARM paraloc defs (for LLVM)
...
git-svn-id: trunk@41203 -
2019-02-03 21:00:51 +00:00
Jonas Maebe
da0deae9ae
* removed unnecessary replacements of the paraloc def with arraydefs on ARM
...
git-svn-id: trunk@41202 -
2019-02-03 21:00:46 +00:00
Jonas Maebe
8c362eac67
* always emit UAL when using LLVM (clang does not and will not support
...
pre-UAL)
git-svn-id: trunk@41201 -
2019-02-03 21:00:41 +00:00
Jonas Maebe
ab51e8637c
* set default Mac OS X target version to 10.6 for LLVM (earlier versions did
...
not include libunwind in libSystem, causing linking errors when compiling
on later versions)
git-svn-id: trunk@41200 -
2019-02-03 21:00:36 +00:00
Jonas Maebe
f9668f8c03
* let de LLVM parameter manager merge multiple paralocs used to represent a
...
single ordinal, as such splitting is handled by LLVM itself (and handling
such split locations is currently not supported by our LLVM code generator)
git-svn-id: trunk@41199 -
2019-02-03 21:00:28 +00:00
Jonas Maebe
503ea604f3
+ nolinline modifier to specify that a routine must never be inlined
...
git-svn-id: trunk@41198 -
2019-02-03 21:00:17 +00:00
joost
5341f6fc7a
* Fixed the user-repository path on Windows
...
git-svn-id: trunk@41197 -
2019-02-03 20:08:21 +00:00
nickysn
1d7ff66602
+ added .Sort() overloads with a SortingAlgorithm parameter to TFPGList,
...
TFPGObjectList, TFPGInterfacedObjectList and TFPSMap
git-svn-id: trunk@41196 -
2019-02-03 19:49:35 +00:00
nickysn
5c4af27a7a
+ added test for the sortbase unit
...
git-svn-id: trunk@41195 -
2019-02-03 19:16:48 +00:00
nickysn
d86da19570
* use the sort algorithm from sortbase for TStringList
...
git-svn-id: trunk@41194 -
2019-02-03 17:00:21 +00:00
Mattias Gaertner
d9954e410e
pastojs: fixed case char of widechar_literal, issue #34993
...
git-svn-id: trunk@41192 -
2019-02-03 16:49:00 +00:00
nickysn
ea340b9481
* fixed bug in QuickSort_ItemList_CustomItemExchanger_Context and
...
QuickSort_ItemList_Context and which can cause wrong sort results, due to not
taking into account that the pivot can be moved by the swap operation
git-svn-id: trunk@41191 -
2019-02-03 16:34:05 +00:00
Mattias Gaertner
79b82acfcc
pas2js: docs lo|hi
...
git-svn-id: trunk@41190 -
2019-02-03 16:31:26 +00:00
Mattias Gaertner
c2671bdbb6
pastojs: helpers: access helper fields from method
...
git-svn-id: trunk@41189 -
2019-02-03 16:29:24 +00:00
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