Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier 725f42852e Update markdown 2025-05-07 21:02:24 +02:00
Patrick Pelissier bfcc4134d6 Fix markdown 2025-05-07 21:02:24 +02:00
Patrick Pelissier de6ccc293e Update doc
Update M_USE_GLOBAL_CONTEXT definition to be simpler.
2025-05-07 21:02:24 +02:00
Patrick Pelissier d9953daf59 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 1a62f5a4ed Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 3721129da1 Update prototype of memory functions
to always get the memory context parameter
(even if it is not needed) to provide a cleaner
and simpler user interface
(instead of requesting the user to use directly m_context).
2025-05-07 21:02:24 +02:00
Patrick Pelissier f585167fa8 Simplify code (remove redundant intermediary macro) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 6d5d34fb72 Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 196db1cf62 Improve test suite 2025-05-07 21:02:24 +02:00
Patrick Pelissier 174c62015b Workaround wrong analyze by GCC analyzer 2025-05-07 21:02:24 +02:00
Patrick Pelissier fb3140e645 Fix warning of unused variable. 2025-05-07 21:02:24 +02:00
Patrick Pelissier 431e3a1228 Update doc (WIP) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 3ddf9438da Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 6e8aa58bd6 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier df37a5d8f1 Fix 2025-05-07 21:02:24 +02:00
Patrick Pelissier 2ad8d42401 Update summary 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8f47fb35ae Use of context for nearly all M*LIB 2025-05-07 21:02:24 +02:00
Patrick Pelissier a1a5ae749d Fix oplist of bitset 2025-05-07 21:02:24 +02:00
Patrick Pelissier 147bc0a363 Fix ALGO and oplist doesn't providing IT_REF 2025-05-07 21:02:24 +02:00
Patrick Pelissier 33aa102b7c Port DualPush list to new format 2025-05-07 21:02:24 +02:00
Patrick Pelissier bd9485a3fe Port algo to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 0de3c622e3 Port algo to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 93a1be616d Rename parameter pool to context 2025-05-07 21:02:24 +02:00
Patrick Pelissier 692c0487af Update oplist for new memory model 2025-05-07 21:02:24 +02:00
Patrick Pelissier 22ccae74c3 Minor optimization of stable_sort 2025-05-07 21:02:24 +02:00
Patrick Pelissier 586d0ae13a Update documentation 2025-05-07 21:02:24 +02:00
Patrick Pelissier c7bad98a7e Port ARRAY oplist to support local memcontext 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8e3a06b852 Simplify OPLIST definition as INIT_MOVE is mandatory for arrays 2025-05-07 21:02:24 +02:00
Patrick Pelissier d548117538 Make M*LIB stricter for INIT_MOVE operator:
* either the default INIT_MOVE operator works ('=')
* either an INIT_MOVE method is defined
* or it is disabled.
As a consequence, fix usage of testobj_t and mpz_t in the repository

The emulation layer of INIT_MOVE using INIT_SET+CLEAR is removed:
it wasn't working correctly with the local memory context
(INIT_MOVE doesn't need any local memory context to work,
 whereas INIT_SET/CLEAR does)
Remove macro M_DO_INIT_MOVE as it is now useless and uses M_CALL_INIT_MOVE.

The INIT_MOVE default method no longer sets the old 'src' to '0':
it was useless (it doesn't catch any error) and complicates compiler parsing.

Fix POD & A1 & CSTR & classic oplists definition (missing INIT_MOVE operators).
2025-05-07 21:02:24 +02:00
Patrick Pelissier 3a39ce5a4a Reformat 2025-05-07 21:02:24 +02:00
Patrick Pelissier fa41f3affd M_INIT_VAI supports API 2025-05-07 21:02:24 +02:00
Patrick Pelissier 0d0747dea9 Update oplists 2025-05-07 21:02:24 +02:00
Patrick Pelissier ab75397e21 TCC now supports m-generic 2025-05-07 21:02:24 +02:00
Patrick Pelissier cc97aa887f Fix reference 2025-05-07 21:02:24 +02:00
Patrick Pelissier b275859a37 Fix issue if BString is empty 2025-05-07 21:02:24 +02:00
Patrick Pelissier 256ff916a2 Port serial to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 77195fb1d0 Remove m-mutex header 2025-05-07 21:02:24 +02:00
Patrick Pelissier c2cfb2f0a0 Cleanup & support of M_USE_GLOBAL_POOL 2025-05-07 21:02:24 +02:00
Patrick Pelissier 03cceafd73 Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 505e2c4a62 Fix spelling 2025-05-07 21:02:24 +02:00
Patrick Pelissier daadf693f7 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 98b3bbd7a1 Fix for MACOS 2025-05-07 21:02:24 +02:00
Patrick Pelissier decec8f7ae Fix for tcc 2025-05-07 21:02:24 +02:00
Patrick Pelissier ce3f674ba8 Add new header m-queue (Doc to do) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 01f5228a36 Port to new memory model:
Communication thread buffer needs to use the global pool,
and not a local pool, since the allocation is done accross
several threads.
Therefore the non thread fixed queue & stack interfaces are moved into
a dedicated header (m-queue)
and remove support for non thread stack & queue into m-buffer
Remove also deprecated policy too.
2025-05-07 21:02:24 +02:00
Patrick Pelissier a7294abe0c Update documentation and error message 2025-05-07 21:02:24 +02:00
Patrick Pelissier 77e5666802 Update string oplist definition with pool 2025-05-07 21:02:24 +02:00
Patrick Pelissier 689527c2dc Port m-shared-ptr to new memory model
(use global pool)
2025-05-07 21:02:24 +02:00
Patrick Pelissier 5d1ebdf5bb Update obsolete header files:
* remove obsolete m-mutex header file
* mark m-concurrent, m-shared and m-i-shared as obsolete (They won't support new memory model)
2025-05-07 21:02:24 +02:00
Patrick Pelissier 10d918bbc9 Port to new memory model (add global context 0) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8069fae3d5 Remove use of invalid representation, which is refused by clang & C++ 2025-05-07 21:02:24 +02:00
Patrick Pelissier 94dd0a5571 Add example of using pool 2025-05-07 21:02:24 +02:00
Patrick Pelissier 32a3d95104 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier d08aeb32fe Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 26fc2bcffe Port tree to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 7617048073 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 57e7510ae7 Format 2025-05-07 21:02:23 +02:00
Patrick Pelissier 324ba5d256 Port to new memory model: M_MEMORY_FULL cannot return anymore 2025-05-07 21:02:23 +02:00
Patrick Pelissier 8939b4d046 New memory model is for 0.8.0 version 2025-05-07 21:02:23 +02:00
Patrick Pelissier 1cf7c4fa4d Port to new memory model: M_MEMORY_FULL cannot return anymore 2025-05-07 21:02:23 +02:00
Patrick Pelissier 839e7c2957 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 06e3046268 Port to new memory interface 2025-05-07 21:02:23 +02:00
Patrick Pelissier e959c001aa Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier bcc9f2c894 Port B+TREE to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 6e828eabaf Port list to new memory pool
Remove support for mempool. A new support for mempool should be provided later through the new memory context parameter (TODO / better API)
2025-05-07 21:02:23 +02:00
Patrick Pelissier 7677b13d8a Update contract comment. 2025-05-07 21:02:23 +02:00
Patrick Pelissier e16c6987e4 Port to new memory interface (remove mempool support, but it was undocumented) 2025-05-07 21:02:23 +02:00
Patrick Pelissier aa4cbfebdb Port to new memory interface 2025-05-07 21:02:23 +02:00
Patrick Pelissier 66f376ea80 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 6de8eab5c3 Add comments, rename macro for maintenance 2025-05-07 21:02:23 +02:00
Patrick Pelissier 9e63289a38 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier bf617ab6ab Port to new memory interface (WIP) 2025-05-07 21:02:23 +02:00
Patrick Pelissier 3f8c30e592 Port ARRAY & STRING to new memory model with memory context support 2025-05-07 21:02:23 +02:00
Patrick Pelissier 37b2f4d2ac Update test suite to properly allocation & deallocation 2025-05-07 21:02:23 +02:00
Patrick Pelissier 50e8d1f469 Fix old size parameter for memory allocation 2025-05-07 21:02:23 +02:00
Patrick Pelissier d40a6e5bc3 Document limitation 2025-05-07 21:02:23 +02:00
Patrick Pelissier b4c29d5423 Update spec 2025-05-07 21:02:23 +02:00
Patrick Pelissier 9f4f9d1d5d Update 2025-05-07 21:02:23 +02:00
Patrick Pelissier 1e196fe22a Port to new spec M_MEMORY_FULL 2025-05-07 21:02:23 +02:00
Patrick Pelissier 450d2c9000 Update spec of M_MEMORY_FULL 2025-05-07 21:02:23 +02:00
Patrick Pelissier 93112a5a7c Update example 2025-05-07 21:02:23 +02:00
Patrick Pelissier 1f2584ccea Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 5b4c9cd618 Update spec of memory functions 2025-05-07 21:02:23 +02:00
Patrick Pelissier f4e3d9cd4c Release V0.7.4 2025-05-07 21:02:01 +02:00
Patrick Pelissier 4988661b7d Fix target armv6 (2) for Continuous Integration 2025-05-06 00:47:29 +02:00
Patrick Pelissier 7033a922c7 Fix target armv6 for Continuous Integration 2025-05-05 23:50:43 +02:00
Patrick Pelissier dd607252eb Add target risc64, ppc64le and armv6 for Continuous Integration 2025-05-05 23:46:09 +02:00
Patrick Pelissier 73da9a4316 Update obsolete header section 2025-04-18 21:58:15 +02:00
Patrick Pelissier b3a0d70147 Fix memory safety errors in examples. 2025-04-08 21:46:16 +02:00
Patrick Pelissier c55bb6b9ad Fix random segfault on AARCH64 CI 2025-03-13 22:24:13 +01:00
Patrick Pelissier 68fdc2dde1 Fix undefined behavior in using setjmp 2025-03-06 15:38:44 +01:00
Patrick Pelissier 8877af10b0 Update copyright 2025-03-03 23:45:04 +01:00
Patrick Pelissier 782963dec5 Add example of disabling small name usage 2025-03-01 12:20:28 +01:00
Patrick Pelissier 36d11bc2bd Fix small name usage 2025-03-01 12:19:35 +01:00
Patrick Pelissier 6d621703eb Copyright go to 2025 year 2025-03-01 11:03:38 +01:00
Patrick Pelissier 76b40d247d Fix #133 : forgotten const for second argument (reported by Brian Sipos) 2025-02-03 23:12:22 +01:00
Patrick Pelissier 033deac9f5 Workaround for GCC 12 bug in warning 2025-02-03 23:06:41 +01:00
Patrick Pelissier b60553165d Fix usage of M_USE_SMALL_NAME (Reported by Brian Sipos) 2025-02-03 22:33:07 +01:00
Patrick Pelissier e1a4d359a2 Update doc 2025-02-02 10:50:41 +01:00
Patrick Pelissier 4ab2615a1c Clarify constraint on _splice 2024-12-25 20:48:34 +01:00