Commit Graph

236 Commits

Author SHA1 Message Date
d0d9c3a676 tools: add a 'crash' tool that triggers a segfault 2019-10-10 17:33:12 +11:00
0fb910fb5f crash: add a minimal handler for coredumping signals 2019-10-10 17:32:32 +11:00
c63bc5df4e tools: add a backtrace generating test 2019-10-10 16:28:16 +11:00
67ea686753 log: modularise the logging infrastructure 2019-10-10 15:52:37 +11:00
5666a64e77 tools: add a logging tool 2019-10-10 15:11:02 +11:00
fa9f537e59 log: prepare to expand headers 2019-10-10 15:10:41 +11:00
932b93ce5e list: add additional node types 2019-09-10 14:43:08 +10:00
ce03a24f88 list/sort: add initial linked list merge sort 2019-09-09 10:22:36 +10:00
979deaa4aa geom/traits: add initial shape_traits trait 2019-08-30 10:15:26 +10:00
2a4401da98 geom/region: add 'bounds' specialisation for region 2019-08-29 13:10:12 +10:00
b6d1b74bc4 geom/sample: add edge sampling routines for extent2i 2019-08-20 15:00:26 +10:00
4608d24027 debug/memory: add asan and valgrind annotation functions 2019-08-14 11:27:49 +10:00
01094611eb thread: add minimal thread primitives for win32
This allows us to get around the lack of these types under MinGW
2019-06-22 15:46:34 +10:00
493317cc9c build: label installation targets with 'development' component 2019-06-21 15:55:39 +10:00
c79b0bae22 sysinfo: add a trivial system stats dump function 2019-06-20 12:37:48 +10:00
f4438831a6 build: update the meson build configuration 2019-06-19 17:28:01 +10:00
f86989bc67 rand/rdrand: add rdrand generator 2019-06-19 12:02:50 +10:00
3a83851e90 rand/system: add system generator for Linux 2019-06-19 12:02:40 +10:00
c64cd2eb29 build: don't fully qualify the installation path 2019-06-18 15:12:49 +10:00
70fcf1e97d build: don't add a missing path to the CMAKE_MODULE_PATh 2019-06-18 11:26:59 +10:00
b7ebf577bf build: install the library and headers 2019-06-18 11:26:59 +10:00
7dcba62047 build: correctly install the pkg-config file 2019-06-18 11:26:59 +10:00
8e346d7717 build: correct the SIMD option test 2019-06-18 11:26:59 +10:00
822243f86d parse/enum: return a cookie we could use for cleanup on setup 2019-06-01 10:06:15 +10:00
5e3af7f8fb parse/enum: add basic typeid enum parsing 2019-05-30 11:54:56 +10:00
41edd3cebe types/description: add initial enum support 2019-05-30 10:43:28 +10:00
19409d67ca build: add a 'util_test' target 2019-05-24 10:58:32 +10:00
e033cb2e4f parallel/stack: Add a trivial thread safe stack 2019-05-23 15:21:07 +10:00
7805153e17 nocopy: remove deprecated header 2019-05-17 13:44:14 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
a4d963e00b debug: move panic related calls to a distinct unit
This will allow us to reduce the required headers and avoid some
circular dependencies in some client libraries.
2019-05-17 10:48:29 +10:00
6d48e5a8e5 types/description: add arity and alignment variables 2019-05-09 10:32:39 +10:00
5fb87ea4c4 posix/ostream: add stat ostream operators 2019-04-26 12:11:42 +10:00
cd8a2d9816 posix/util: add stat wrappers 2019-04-26 12:11:25 +10:00
e1d56395f6 build: remove buzstats tool 2019-04-23 08:19:47 +10:00
4cc20526ce tools/buzstats: add initial buzhash query tool 2019-04-22 14:23:52 +10:00
209a6800c4 hash/buzhash: add a trivial buzhash implementation 2019-04-22 13:59:48 +10:00
81715c1602 hash/table: add a trivial table lookup 'hash' 2019-04-22 09:51:04 +10:00
0683f80903 registrar: add skeleton of plugin registry 2019-04-16 11:02:26 +10:00
70a16c7d47 scoped: add optional reset modifier 2019-04-12 16:40:17 +10:00
9926179e7f map/fixed: add static sized flat map 2019-03-28 14:28:08 +11:00
fdcab4eafd parse/time: add duration parsing 2019-03-19 16:02:39 +11:00
48c4866705 parse: move test binaries into a single directory 2019-03-19 16:01:55 +11:00
32427a1df2 Change remnant GPL licence to MPL 2019-03-19 16:00:44 +11:00
e5e47ffb24 parse: move si and value parsing into common namespace 2019-03-19 12:38:22 +11:00
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
020d3c0aaf si: change the SI code to a parser 2019-03-18 14:09:29 +11:00
5d123a5fd5 build: increase the entry count on preprocessor output 2019-03-16 18:19:52 +11:00
4a73a3cea7 job/dispatch: add index uniqueness test 2019-03-08 09:42:15 +11:00
0d27694a51 coord/comparator: add a trivial ordering comparator 2019-03-08 09:37:48 +11:00
35916e2854 rand/pcg: add pcg_xsh_rr generator 2019-02-21 20:53:58 +11:00
fc252ee209 expected: add trivial expected implementation 2019-02-07 17:12:59 +11:00
a64e721cf0 posix/interface: add initial interface query logic 2019-02-02 19:09:35 +11:00
3a518fbac8 cpuid: add null fallback 2019-02-02 16:40:37 +11:00
c5633a32c5 cpuid: move specifics into a directory 2019-02-02 16:37:46 +11:00
bb7be903b1 build: only build x86 cpuid on support architectures 2019-02-02 15:49:50 +11:00
1f6caaa242 thread/primitive: add platform wrappers for pause/yield instructions 2019-02-02 14:55:13 +11:00
7511580de7 array: add varray wrapper 2019-01-31 13:45:40 +11:00
c92f450ff8 win32/file: add basic file wrapper 2019-01-04 17:13:21 +11:00
a33938e735 build: explicitly link to stdc++fs
We note the dependency ourselves rather than use a global link directive
so that it comes _after_ us. This prevents undefined references (and an
ICE under GCC/LTO)
2019-01-02 13:44:31 +11:00
bce481db0e buffer: move buffer code out of 'memory' namespace 2018-12-19 20:22:18 +11:00
4e25f6e3e2 alloc: eliminate 'raw' allocator distinction 2018-12-19 17:55:24 +11:00
39ed7b27e8 alloc: remove unused allocators 2018-12-19 17:34:35 +11:00
10d5c141f2 alloc: rationalise the 'arena' allocator 2018-12-19 17:16:57 +11:00
4e055f5f0b memory/buffer/traits: add a simple buffer concept 2018-12-19 17:15:51 +11:00
37d68d5586 m/b/simple: add simple buffer implementation 2018-12-17 15:20:55 +11:00
825d359b9d io: test that mapped_file satisfies is_container_v 2018-12-17 12:50:05 +11:00
a7786f04b9 array: move sarray and parray into array directory 2018-12-17 12:50:05 +11:00
8047bf0f83 encode/number: add number decoding for base36 2018-12-16 16:24:45 +11:00
ec16afc747 except: add custom base exception 2018-12-03 15:29:21 +11:00
c7cc0dbf4c random: add a trivial test of the default generator
This allows us to ensure some level of coverage using tools like ASan.
2018-11-28 15:24:28 +11:00
1e0a87d5df geom/sample: align the interfaces for volume/surface sampling 2018-11-26 15:21:18 +11:00
3625a92977 algo: add minimises linear search 2018-11-14 10:21:51 +11:00
6b00668692 types: add 'tagged' union type 2018-11-13 12:57:19 +11:00
79edea8f2d darray: add a static capacity, dynamic sized array 2018-11-05 21:31:30 +11:00
bfe0a92eec preprocessor: build the header out of tree
This avoids unnecessary rebuilds when we have parallel configurations
being built.
2018-10-30 21:41:15 +11:00
627f80ddcd coord;sse: add configuration option to enable SSE specialisation 2018-09-13 14:52:00 +10:00
9ca093d982 backtrace: remove dependency on addr2line
This wasn't functioning in any case so we may as well get rid of it.
2018-09-12 14:01:21 +10:00
300ae9df73 win32/windows: add a defensive windows wrapper header 2018-08-27 14:16:27 +10:00
c5ed42ccbf debug: defend against renaming of panic using macros 2018-08-24 17:31:54 +10:00
3adbfae057 thread: fix compilation for linux specialisations 2018-08-16 12:10:05 +10:00
9a929353d6 build; account for newlines in win32 tests 2018-08-13 23:29:14 +10:00
ff5f79a858 build; add (untested) paths for win32 builds 2018-08-13 14:50:48 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
3aaddd1d2b json: move json code to external module
This module can now be found at git://git.nerdcruft.net/libcruft-json.git
2018-08-04 15:02:06 +10:00
395b5ae557 json: rename schema directory to constraint 2018-07-16 13:58:12 +10:00
01ae59c19c build: explicitly set FAIL_REGULAR_EXPRESSION for tests 2018-07-16 11:28:04 +10:00
33dc5c7053 json/pointer: add a trivial parser for json-pointer 2018-07-13 16:08:24 +10:00
647af5504b json/schema: reimplement enum support 2018-07-12 13:06:11 +10:00
c07ce50908 json/schema: modularise the validator objects 2018-07-11 19:30:14 +10:00
1658347573 json-schema: add schema test suite 2018-07-05 19:08:58 +10:00
4c0f129a37 json-compare: add a json comparison tool and test suite 2018-07-05 17:46:43 +10:00
74568d1c2d test/json-parse: add json parsing test 2018-07-05 13:45:10 +10:00
8bc87e7c3f build: add C to the required language list
This is required for various compilation tests (like CHECK_SIZE_TYPE).
2018-06-20 12:50:27 +10:00
ba24e9e5af build: explicitly include the nerdcruft cmake module 2018-06-20 12:23:15 +10:00
e9d5909f21 scoped: eliminate the raii header 2018-06-13 15:43:01 +10:00
710a99b865 scoped: add scoped value restoring class 2018-06-12 14:50:54 +10:00
33222d3ef4 types/description: add trivial type categorisation enums 2018-06-03 15:25:50 +10:00
18e2b615d5 std: add compact fixed width typedefs 2018-06-03 15:25:17 +10:00
38e1a19e37 alloc: all allocators should take a type for alloc/dealloc 2018-05-10 13:53:06 +10:00