Patrick Pelissier
5dba526e29
Update ISSUES
2023-09-08 22:12:16 +02:00
Patrick Pelissier
469239adcd
Update comments
2023-08-24 23:32:47 +02:00
Patrick Pelissier
589abda0c2
Fix bug in list insertion:
...
The output iterator has its previous field incorrect.
2023-08-13 23:27:12 +02:00
Patrick Pelissier
8f141896ba
Clarify operators for memory allocation
2023-08-02 23:20:02 +02:00
Patrick Pelissier
a0cbec4329
Support of output failure for serialization of strings
2023-08-02 23:20:02 +02:00
Patrick Pelissier
df66db562d
Add comments
2023-08-01 00:33:43 +02:00
Patrick Pelissier
1829a70601
Update documentation
2023-07-20 23:42:15 +02:00
Patrick Pelissier
e9b25f2414
Rename internal field size to capacity
...
to match what it is used for.
2023-07-13 21:48:33 +02:00
Patrick Pelissier
c9bb739f24
Fix format
2023-07-10 00:59:18 +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
496f885a84
Add threads backend for FreeRTOS tasks.
2023-07-04 01:07:59 +02:00
Patrick Pelissier
d5d9a4bd5c
Update documentation of threads
2023-07-04 00:46:32 +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
4497214b9c
Fix spelling
2023-06-29 00:32:23 +02:00
PpHd
ccb1658afd
Provide way of avoiding code duplication for multiple source C files
...
Use of compiler extension for that, only compatible for GCC /CLANG.
This provides easy and total customization (for example non template functions like strings can also avoid code duplication).
2023-06-13 23:46:58 +02:00
Patrick Pelissier
eaf2783f1a
Synchro with master branch
2023-06-11 23:32:42 +02:00
Patrick Pelissier
5705819814
Update doc
2023-06-11 23:32:02 +02:00
Patrick Pelissier
91f5f513c4
Update macro names
...
Make global logic easier.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
3dec4e2cbe
Fix example
2023-06-11 23:32:02 +02:00
Patrick Pelissier
e70766beaa
Update list of ignored file
2023-06-11 23:32:02 +02:00
Patrick Pelissier
d7639f0ae0
Update example to match new semantic
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
a043c379c0
Update user code as per new liberty
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
6bb7a184db
Fix compil rules
2023-06-11 23:32:02 +02:00
Patrick Pelissier
fa9163be9d
Make linker options optional
2023-06-11 23:32:02 +02:00
Patrick Pelissier
0bade1563c
Also build exn.exe by default
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
53af2aae68
Add example of separating inline & function code
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
Patrick Pelissier
b50813713a
Define internal M_INLINE:
...
it is used to control the inline semantics.
By combining it with optimize option "-fno-inline"
for the internal M*LIB function (using _Pragma optimize)
we can control easily if we want to use an inline version
or call of an external function.
Define new user API:
* M_USE_EXTERN_DECL : define it before including any MLIB header to requests to call the M*LIB functions and don't inline then.
* M_USE_EXTERN_DEF : define it once in a translation unit to define the M*LIB functions. This translation unit shall contain all templated macro too.
If you use one option, you need to use the other one too for another translation unit.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
2628536d20
Add +m_string_it_set_ref
2023-06-10 01:50:14 +02:00
Patrick Pelissier
ecfa4a9152
Add new function string_pop_u
...
to pop the last unicode code point
of a string.
2023-06-03 00:59:34 +02:00
Patrick Pelissier
dafe4bcec5
Add basic test for M_DEFAULT_ARGS
...
Print hint to developper in case of incorrect usage
2023-06-03 00:56:13 +02:00
Patrick Pelissier
8544a7f289
Update example
2023-05-30 14:01:30 +02:00
Patrick Pelissier
aa18915d61
Fix overflow computation
2023-05-21 00:15:58 +02:00
Patrick Pelissier
df4bc0a56c
Remove alloc warning for analyzer:
...
it is not able to track allocations correctly and only give false warnings.
valgraind or memory sanitizer are much more reliable to track memory errors.
2023-05-13 00:52:06 +02:00
Patrick Pelissier
b6046e5e23
Fix new warnings with GCC13
2023-05-13 00:52:06 +02:00
Patrick Pelissier
b487bfe5ad
Adding missing inline
2023-05-08 23:54:16 +02:00
PpHd
408272c810
Merge pull request
...
Add m_string_cat_vprintf
2023-05-08 23:35:54 +02:00
kitterion
6a9ee17eca
Add tests
2023-05-08 23:17:19 +03:00
kitterion
05c5a94634
Add m_string_cat_vprintf
2023-05-08 20:52:47 +03:00
Patrick Pelissier
b1b0927e9f
Update examples
2023-05-06 21:54:08 +02:00
Patrick Pelissier
37770365a1
Fix several bugs:
...
* in case of some invalid format starting with ']' directly it wrongly assume that the parsing was valid.
* incase of exception handling, and an exception was raised during the internal parsing, some destructors wern't called.
2023-05-05 22:16:39 +02:00
Patrick Pelissier
82bdcc685a
Add internal macro MQLET for internal M_LET use
2023-05-05 22:15:13 +02:00
Patrick Pelissier
26fa733f70
Fix format
2023-05-05 22:14:41 +02:00