Patrick Pelissier
1e196fe22a
Port to new spec M_MEMORY_FULL
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
6d621703eb
Copyright go to 2025 year
2025-03-01 11:03:38 +01:00
Patrick Pelissier
0e09681a6a
Move m_typeof to core module.
2024-10-30 23:42:45 +01:00
Patrick Pelissier
14c954c6ce
Adding new property:
...
multithread safety if the container handles itself the multi thread
2024-10-27 20:38:36 +01:00
Patrick Pelissier
1e57d9c6d6
Fix default of FULL_P
2024-10-27 19:48:47 +01:00
Patrick Pelissier
eeaf74d24f
Add FULL_P operator
...
Add M_EMPLACE_LIST_TYPE_VAR_ALTER which doesn't put a comma before.
2024-10-26 16:56:54 +02:00
Patrick Pelissier
0a8e336037
Fix internal & subtil issue
...
when comparing two methods to check for their presence in an oplist, we may generate the name of an already existing macro.
For example, in the oplist (SIZE())
when we expanded we get the macro M_ADD_SIZE to check if ADD is present,
but M_ADD_SIZE is an already existing macro, which generates an error.
To avoid this issue, define a prefix for the definition of the operators (M_X)
2024-06-01 10:47:21 +02:00
Patrick Pelissier
2d4fc9dc97
Allow generation of EMPLACE_TYPE
...
for variant if all oplists defined a FIELD operator.
2024-06-01 10:16:39 +02:00
Patrick Pelissier
bf59c53921
Migrate to V0.7.4
2024-05-27 00:39:00 +02:00
Patrick Pelissier
66d2aa26d3
Fix clang warning
2024-05-15 21:19:43 +02:00
Patrick Pelissier
333cc2ccf8
Provide prefetch on non GCC target & compatible
2024-05-12 22:59:58 +02:00
Patrick Pelissier
22d62f94bb
Add WIP bulk functions for DICT/OA
2024-05-09 14:10:22 +02:00
Patrick Pelissier
29fe80a6af
Adding M_HOT_ATTRIBUTE
2024-05-07 10:05:23 +02:00
Patrick Pelissier
3c669548a2
Update to dev version 0.7.3
2024-05-04 19:56:51 +02:00
Patrick Pelissier
8f97a194ae
Add m_volatile
2024-04-08 23:08:16 +02:00
Patrick Pelissier
12ee3213b0
Simplify M_ON_EXCEPTION / M_IF_EXCEPTION
2024-04-06 19:13:08 +02:00
Patrick Pelissier
7404e63b53
Fix C++ / G++ introduced issue
2024-03-31 22:22:41 +02:00
Patrick Pelissier
c539eb57b7
Prepare exception aware integration
2024-03-31 21:55:02 +02:00
Patrick Pelissier
5174781a7a
Improve internal backoff to perform
...
lazy initialization of the seed.
2024-03-26 23:11:03 +01:00
Patrick Pelissier
d22e75d7a0
Make I/O functions exception aware.
...
Simplify their logic
Fix other bugs.
2024-03-08 00:15:08 +01:00
Patrick Pelissier
ca25dfb537
Add missing TYPE operator name in the error message if it is missing in the oplist
2024-02-27 01:12:29 +01:00
Patrick Pelissier
cc6bdbf06c
Add missing method name in the error message
...
if the method is missing.
2024-02-23 22:52:05 +01:00
Patrick Pelissier
26cec1591a
* Remove some obsolete macros
...
* Fix spelling
* A little bit of refactoring
2024-01-19 21:37:47 +01:00
Patrick Pelissier
52b58c5a51
Happy new year 2024
2024-01-19 21:37:47 +01:00
Patrick Pelissier
8902a752f5
Migrate to V0.7.2
2023-12-31 13:02:42 +01:00
Patrick Pelissier
044a085fb6
Fix support for pop generic macro function
2023-12-30 16:23:02 +01:00
Patrick Pelissier
53c35a22d7
First version of Generic header
2023-12-30 16:23:02 +01:00
Patrick Pelissier
722737d60c
Add M_QUAD internal macros
2023-12-30 16:23:02 +01:00
Patrick Pelissier
d318493c6c
Remove M_PRINT_ARG macro to simplify maintenance
...
(M_FPRINT_MACRO with stdout can be used instead)
2023-12-22 23:46:07 +01:00
Patrick Pelissier
e017a90e5c
Fix format
2023-11-04 19:28:32 +01:00
Patrick Pelissier
3a057fc319
M_STATIC_ASSERT: provide expression compatible
...
macro even in pure C11 mode
(Remove GCC extension)
Add M_OPL_AS_STR to display the oplist conditionnaly as the generated string may be too big for some compilers.
Translate some M_STATIC_FAILURE into M_STATIC_ASSERT
as M_STATIC_FAILURE is not an expression whereas M_STATIC_ASSERT is an expression.
2023-11-04 18:48:13 +01:00
Patrick Pelissier
f7f5db61d3
Fix formatting
2023-11-01 11:13:54 +01:00
Patrick Pelissier
32b00eb433
Add new operator GENTYPE
2023-10-21 19:05:08 +02:00
Patrick Pelissier
796f2619e5
Change M_BY_NARGS semantics:
...
simplify suffix by __ # NARGS
instead of __NARGS_ # NARGS
Driver: reduce macro name length.
2023-10-20 00:02:38 +02:00
Patrick Pelissier
268192138a
WIP M_ON_EXCEPTION
2023-10-19 22:54:51 +02:00
Patrick Pelissier
5f4303624f
Adding macro M_CHAIN_OBJ
2023-10-14 15:55:59 +02:00
Patrick Pelissier
1454bcebe4
Add unique name identifier
...
in order to avoid Wshadow warning
in generated code.
2023-10-14 15:30:57 +02:00
Patrick Pelissier
bf68340106
Add macro M_CHAIN_INIT for support of partially constructed object.
2023-09-09 18:40:32 +02:00
Patrick Pelissier
e049b83a9e
Rename M_SUFFIX_FUNCTION_BY_NARGS in M_BY_NARGS
...
and updates suffix with __NARGS_
in order to be more explicit.
2023-07-10 00:58:31 +02:00
Patrick Pelissier
31ac3999a1
Add new operators
2023-07-07 22:17:39 +02:00
Patrick Pelissier
a0818419ab
Fix format
2023-07-04 01:08:40 +02:00
Patrick Pelissier
ca9571a110
Fix no stdio:
...
M_CSTR macro cannot be available if there is no stdio
2023-06-29 21:26:22 +02:00
Patrick Pelissier
91f5f513c4
Update macro names
...
Make global logic easier.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
c63ce84e45
Update logic to select which linkage to use
...
so that user code can be written easily
M_USE_EXTERN_DECL / M_USE_DECL activates functions that are not inlined.
If M_USE_EXTERN_DEF / M_USE_DEF is also defined, then the definition is emitted instead of the declaration.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
92bb380117
Rewrite order in preprocessing if to simplify user code
2023-06-11 23:32:02 +02:00
Patrick Pelissier
1278d2f8a0
Implement noinline another way
2023-06-11 23:32:02 +02:00
Patrick Pelissier
17ded6fcc8
Update M_USE_EXTERN_FINE_GRAINED to avoid warnings
2023-06-11 23:32:02 +02:00
Patrick Pelissier
19ce371533
Add support for M_USE_EXTERN_FINE_GRAINED to enable / disable inline semantics alongside the translation unit by redefining it when needed
2023-06-11 23:32:02 +02:00
Patrick Pelissier
0bd1bcb68e
Another way to request the desired semantics, compatible with clang
2023-06-11 23:32:02 +02:00