Patrick Pelissier
c515da9f37
Update documentation
2023-03-29 22:50:51 +02:00
Patrick Pelissier
961b93bd4c
Add test for M_LET + associative array
2023-03-28 23:43:49 +02:00
Patrick Pelissier
39a719c3f0
Fix warnings
2023-03-28 23:43:21 +02:00
Patrick Pelissier
8b643b4878
Add support for emplace detection in associative array + M_LET
2023-03-28 23:43:08 +02:00
Patrick Pelissier
876c394fba
Fix format
2023-03-28 23:42:25 +02:00
Patrick Pelissier
81439c9437
Fix grammar
2023-03-27 01:05:53 +02:00
Patrick Pelissier
191ef7d09e
Fix grammar
2023-03-27 00:55:08 +02:00
Patrick Pelissier
bd4131dd8f
Fix typo
2023-03-27 00:53:31 +02:00
Patrick Pelissier
cfe8293c64
Cleanup documentation
2023-03-25 10:25:52 +01:00
Patrick Pelissier
ea2715aa75
Remove static assert. Some old compilers failed to simplify into a constant expression, resulting in build failure
2023-03-24 23:54:49 +01:00
Patrick Pelissier
f69cec6820
Fix warning with clang+const char * type
2023-03-24 21:53:23 +01:00
Patrick Pelissier
085f371693
Update doc
2023-03-24 21:12:28 +01:00
Patrick Pelissier
16a0a5c1a3
Add new examples
2023-03-24 21:11:15 +01:00
Patrick Pelissier
3953f81884
Update
2023-03-24 21:10:59 +01:00
Patrick Pelissier
8365888e6e
Add Oplist inheritanc chapter
2023-03-24 20:38:51 +01:00
Patrick Pelissier
c3f6e3c5f0
Add trivial script to separate preproc of compilation for debug
2023-03-19 00:29:51 +01:00
Patrick Pelissier
4cafe4dce1
Fix steps to debug
2023-03-19 00:29:06 +01:00
Patrick Pelissier
9f8b97ae46
Rename fields of m_exception_t:
...
data->context
n->num
2023-03-18 18:11:23 +01:00
Patrick Pelissier
030bea9c11
Add test for M_DEFER & M_LET_IF in exceptions
2023-03-18 17:57:46 +01:00
Patrick Pelissier
e33894f1b3
Finish support for M_DEFER / M_LET_IF & exceptions
2023-03-18 17:57:15 +01:00
Patrick Pelissier
66f5e6c67d
Support for more than one expression in M_DEFER
2023-03-18 17:56:44 +01:00
Patrick Pelissier
78c6dce068
Update doc
2023-03-18 17:56:11 +01:00
Patrick Pelissier
0798480ad5
Refactoring & implement support for RAII with M_DEFER
2023-03-18 17:39:56 +01:00
Patrick Pelissier
e8322215fd
Update doc about clang
2023-03-18 17:39:20 +01:00
Patrick Pelissier
42d3042c15
Add NOCLEAR property to M_BASIC_OPLIST and prepare injection for M_DEFER
2023-03-18 17:25:08 +01:00
Patrick Pelissier
b7214ad11d
Adding test of NOCLEAR property
2023-03-18 17:20:30 +01:00
Patrick Pelissier
08b4bc9052
M_LET_IF reuses clear mechanism provided by M_DEFER
2023-03-18 15:14:31 +01:00
Patrick Pelissier
d813171e8a
Add new test generation
2023-03-18 09:15:39 +01:00
Patrick Pelissier
d1094999f5
Update M_ASSERT to separate requirement for predicate
2023-03-18 09:15:11 +01:00
Patrick Pelissier
c8354aa6ed
Update doc
2023-03-18 08:08:33 +01:00
Patrick Pelissier
ab3aa33fac
Add M_SET_THROUGH_INIT_SET
2023-03-18 08:08:23 +01:00
Patrick Pelissier
01f2f376e2
Update doc
2023-03-18 00:21:46 +01:00
Patrick Pelissier
535e00366a
Correct reported errors
2023-03-18 00:21:37 +01:00
Patrick Pelissier
42111ec22a
Rename field of m_exception_t
2023-03-17 22:13:18 +01:00
Patrick Pelissier
ef0e849616
Fix test
2023-03-17 22:04:50 +01:00
Patrick Pelissier
9c516c2055
Update doc
2023-03-17 21:56:27 +01:00
Patrick Pelissier
db48b985c3
Update doc
2023-03-17 21:48:56 +01:00
Patrick Pelissier
888796ca06
Update doc
2023-03-17 21:48:07 +01:00
Patrick Pelissier
144ae9c5ed
Add ID support for GAIA
2023-03-17 21:47:04 +01:00
Patrick Pelissier
6223c93b53
Update doc
2023-03-17 20:21:19 +01:00
Patrick Pelissier
30f7656822
Update documentation
2023-03-17 20:15:42 +01:00
PpHd
8209a0c32a
Merge pull request #107 from jonadem/patch-1
...
Fix typos
2023-03-17 20:14:38 +01:00
Patrick Pelissier
b3c9f6ee47
Add support of exception for Visual C++
2023-03-14 20:00:11 +01:00
Patrick Pelissier
ab8bbad3f4
Fix syntax
2023-03-13 23:54:52 +01:00
Patrick Pelissier
9047376b7f
Add m-try.h in HEADER
2023-03-13 23:53:36 +01:00
Patrick Pelissier
dfed8dbc50
Fix format
2023-03-13 23:53:26 +01:00
Patrick Pelissier
2d3c25cd85
TCC doesn't support the __thread attribute,
...
which is a GCC extension.
Use this extension only for GCC.
2023-03-13 23:45:28 +01:00
Patrick Pelissier
bfa948dc7a
Add WIP implementation for the exception memory model:
...
add header m-try that defines the M_TRY / M_CATCH macros
that macros similarly to the C++ try / catch keywords.
Add implementation for C++, GCC, CLANG and pure C compiler.
2023-03-13 23:31:50 +01:00
Patrick Pelissier
94b6d1b9fd
Fix computation of HASH_FINAL
2023-03-13 22:17:10 +01:00
Patrick Pelissier
0ddd5ddc6d
Add AARCH64 target for CI
2023-03-13 21:04:05 +01:00
Patrick Pelissier
cba93d5bb4
Add SC library
2023-03-12 21:12:21 +01:00
Patrick Pelissier
d02de75487
Add control that all initialized testobj are properly cleared at the end of the test suite
2023-03-12 20:29:58 +01:00
Patrick Pelissier
2f57766249
Rename NOEXCEPT to NOCLEAR property as NOEXCEPT
...
doesn't provide enough guarantee to the exception handler.
2023-03-12 20:23:31 +01:00
Patrick Pelissier
3ff01e37eb
Update documentation for properties
2023-03-05 19:44:36 +01:00
Patrick Pelissier
5683df0f22
Adding test for M_TEST_NOEXCEPT_P
2023-03-05 19:44:21 +01:00
Patrick Pelissier
11dc7afc06
Add NOEXCEPT property and M_TEST_NOEXCEPT_P macro to test it
2023-03-05 19:44:04 +01:00
Patrick Pelissier
9e2ae3f101
Update example
2023-03-05 18:30:47 +01:00
Patrick Pelissier
c35aa9c891
Replace the M_ASSERT(0) by M_ASSUME(0) since they are not reachable (in order to inform the compiler of this fact)
2023-03-05 00:50:40 +01:00
Patrick Pelissier
2fc31d8c12
Factorization find of item in prioqueue
2023-03-03 23:23:06 +01:00
Patrick Pelissier
4f8d0a7156
Split macro
2023-03-03 23:12:40 +01:00
Patrick Pelissier
aaf5bbd6a0
Separate IO from core macro
2023-03-03 23:03:24 +01:00
Patrick Pelissier
2f76652f2b
Maintenance
2023-03-03 22:50:14 +01:00
Patrick Pelissier
942cf32519
Maintenance: separate macros for type and core functions.
2023-03-03 22:02:07 +01:00
Patrick Pelissier
c1c9cb9cd3
Update example
2023-03-03 20:12:50 +01:00
Patrick Pelissier
76bfb48685
Update freebsd CI to be more robust.
2023-03-02 23:41:59 +01:00
Patrick Pelissier
afff412f7a
Maintenance: continue splitting huge macros into smaller ones.
2023-03-02 00:39:08 +01:00
Patrick Pelissier
e48dcdeecc
Factorization & assertions
2023-02-27 14:05:59 +01:00
Patrick Pelissier
12fae5c36c
Update example
2023-02-26 23:43:57 +01:00
Patrick Pelissier
3f9129c7ed
Update comments
2023-02-26 23:43:57 +01:00
Patrick Pelissier
b918f61f4f
Update example
2023-02-26 23:43:57 +01:00
Patrick Pelissier
93b69d0f8b
Fix call of memcpy with size=0 and src=NULL
2023-02-25 12:17:18 +01:00
Patrick Pelissier
b3440a2edd
Fix position of assertions
2023-02-24 20:35:32 +01:00
Patrick Pelissier
4140df5bfc
Improve test suite
2023-02-24 19:56:56 +01:00
Patrick Pelissier
fbab093d52
Avoid warnings about variables never read.
2023-02-24 19:56:26 +01:00
Patrick Pelissier
f57a0e0bf8
Update README
2023-02-24 18:21:39 +01:00
Patrick Pelissier
925c06beb8
Fix usage of va_copy
2023-02-24 15:07:29 +01:00
Patrick Pelissier
8e2f67b794
Fix building on exe files: some targets don't link with LDFLAGS if it is not in the last argument
2023-02-23 12:42:11 +01:00
Patrick Pelissier
f176d01e49
Fix README
2023-02-23 10:53:32 +01:00
Patrick Pelissier
2b99bbe956
Remove bool oplist as it is globally registered
2023-02-22 22:47:31 +01:00
Patrick Pelissier
700bfc5341
Add documentation for RET in API transformation
2023-02-22 22:47:17 +01:00
Patrick Pelissier
4062525821
Add test for RET in API transformation
2023-02-22 22:47:06 +01:00
Patrick Pelissier
800a1e5c36
Add support for RET in API transformation and register global bool oplist
2023-02-22 22:46:46 +01:00
Patrick Pelissier
1838f675a7
Add more comments, another alternative.
...
Rename some variables to be clearer.
2023-02-18 20:15:17 +01:00
Patrick Pelissier
bf6c1341b3
Add comments to explain what we do
...
Always use the prefixed version of M*LIB
2023-02-18 09:58:30 +01:00
Patrick Pelissier
55b745b916
Use of M_WORKER_SPAWN_DEF2 in example:
...
it shows how to add paralelization to a code base.
2023-02-18 00:25:30 +01:00
Patrick Pelissier
5cb0d9214b
Adding doc for M_WORKER_SPAWN_DEF2.
2023-02-18 00:25:17 +01:00
Patrick Pelissier
8f99b8e617
Adding test for M_WORKER_SPAWN_DEF2
2023-02-18 00:25:06 +01:00
Patrick Pelissier
d2ce71a90a
Adding M_WORKER_SPAWN_DEF2 for providing specialization
...
and type-safe variant of m_worker_spawn.
2023-02-18 00:24:20 +01:00
Patrick Pelissier
8562986eea
Avoid dereferencing the table in asserts if the lock is done on the tree:
...
it usually means that the tree is partially accessed by other
threads (at least the derefencing methods which should be
safe).
2023-02-18 00:15:31 +01:00
Patrick Pelissier
ee89858bf0
Add renaming of header in compatibility chapter
2023-02-16 00:20:07 +01:00
Patrick Pelissier
085d7157c0
Add compatibility layer with old header m-mutex
...
as a transition for current programs.
2023-02-16 00:10:55 +01:00
Patrick Pelissier
91f3174a36
Rename m-mutex header into m-thread
...
as it is not just about mutex but about thread functions
just like the header pthread or thread.h
2023-02-16 00:09:06 +01:00
Patrick Pelissier
56f51c59af
Add comments about locale dependent functions.
2023-02-11 23:47:11 +01:00
Patrick Pelissier
df0c95ca46
Adding note on locale for JSON outputs
2023-02-11 14:35:36 +01:00
Patrick Pelissier
482ec38e62
Fix wrong use of isprint function.
2023-02-11 14:34:13 +01:00
Patrick Pelissier
82743ca72c
Update pipeline for freebsd
2023-02-11 09:28:12 +01:00
Patrick Pelissier
312821454c
Avoid running tests in example for freebsd
2023-02-11 00:39:06 +01:00
Patrick Pelissier
c953e87660
Link with stdthreads for FreeBSD
2023-02-11 00:11:48 +01:00
Patrick Pelissier
8846707c8b
Fix issue on FreeBSD when building in C11 mode:
...
thrd_sucess is not equal to 0 on this system,
so replace 0 by thrd_success
2023-02-11 00:08:51 +01:00
Patrick Pelissier
bf7d4eee55
Avoid using .log suffix for failure checks
...
some Make program (like FreeBSD one) doesn't handle
priority of a specific rule over a generic rule.
So the generic rule is used for failure checks and it fails the check.
Use another suffix to avoid collision between rules
2023-02-10 23:57:28 +01:00