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
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