Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier 16c6a13fb1 Make string functions exception aware 2024-04-22 23:41:23 +02:00
Patrick Pelissier 9382cdc0f7 Improve exception integration tests 2024-04-22 23:00:04 +02:00
Patrick Pelissier ced2719760 Make string functions exception aware 2024-04-22 22:59:54 +02:00
Patrick Pelissier 1798530284 Fix issue in string_fgets
where it could be blocked infinity in the parsing
2024-04-22 22:51:59 +02:00
Patrick Pelissier 68f890a015 Improve exception integration tests 2024-04-22 22:47:11 +02:00
Patrick Pelissier 5805038943 Make string functions exception aware 2024-04-22 22:47:00 +02:00
Patrick Pelissier 2395ceb3d2 Remove obsolete and undocumented STRING_DECL_INIT macro 2024-04-20 00:42:38 +02:00
Patrick Pelissier 2b455c5c6b Fix test issue in C++ 2024-04-20 00:42:07 +02:00
Patrick Pelissier d466e76702 Factorize common test function 2024-04-13 08:19:05 +02:00
Patrick Pelissier 9d33c85e13 Fix issue in _push_front_new
Make list services compatible with exception
2024-04-13 08:02:07 +02:00
Patrick Pelissier 4e24e7a533 Improve exception integration tests 2024-04-13 08:01:36 +02:00
Patrick Pelissier 0914c26b8d Update test suite
testing more functions in exception scenario
2024-04-11 01:00:06 +02:00
Patrick Pelissier c245285123 Make more array/list functions exception aware 2024-04-11 00:55:47 +02:00
Patrick Pelissier be4ff6f94d Make list functions exception aware 2024-04-08 23:12:23 +02:00
Patrick Pelissier aa055d0b00 Add tests for exception + lists 2024-04-08 23:10:14 +02:00
Patrick Pelissier e7d6e0d6ac Generate dependency for new files 2024-04-08 23:08:39 +02:00
Patrick Pelissier 8f97a194ae Add m_volatile 2024-04-08 23:08:16 +02:00
Patrick Pelissier b191baec8b Make array functions exception aware 2024-04-06 19:14:36 +02:00
Patrick Pelissier e4a85cdc61 Add tests for exception+array 2024-04-06 19:13:38 +02:00
Patrick Pelissier 12ee3213b0 Simplify M_ON_EXCEPTION / M_IF_EXCEPTION 2024-04-06 19:13:08 +02:00
Patrick Pelissier 6cba7ad8ba Update 2024-04-06 19:12:35 +02:00
Patrick Pelissier 955c8bfb81 Adding new example of generic 2024-04-04 22:35:08 +02:00
Patrick Pelissier 8602a259fd Adding let & print as synonymous in m-generic mode 2024-04-04 22:31:27 +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 3c4943015b Fix introduced issue with TCC 2024-03-27 00:28:06 +01:00
Patrick Pelissier c9fef6d80a Fix issues in reworked lock:
* starving of writer threads by reader threads
* monopolization of memory bus by reader threads.
2024-03-26 23:11:57 +01:00
Patrick Pelissier 5174781a7a Improve internal backoff to perform
lazy initialization of the seed.
2024-03-26 23:11:03 +01:00
Patrick Pelissier 7bf9f6a377 Update comments 2024-03-26 22:47:13 +01:00
Patrick Pelissier 7575681e27 Rewrite Read / Write lock to be less costly 2024-03-26 22:41:41 +01:00
Patrick Pelissier cfab3cf0cf Add m_mutex_trylock function 2024-03-26 22:41:04 +01:00
Patrick Pelissier a523a97a0e Update doc 2024-03-18 22:44:53 +01:00
Patrick Pelissier 6f75bb938b Update doc 2024-03-18 22:32:16 +01:00
Patrick Pelissier a22046bc2a Update doc 2024-03-15 14:40:47 +01:00
Patrick Pelissier 84ee15b2e7 Remove workaround
This header is already quite demanding on compiler compliance , so there is no need to implement workaround for old compilers.
2024-03-15 14:40:36 +01:00
Patrick Pelissier fd6a8f1361 Update doc 2024-03-14 23:27:23 +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 e2159109b3 Update analysis of issues 2024-02-24 12:17:30 +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
PpHd cd37efc69d Merge pull request #115 from derskythe/feat-styled-readme
Refine explanations and improve formatting in README.md
2024-02-08 13:32:47 +01:00
Patrick Pelissier d7a232364f Update infrastructure to the fact that the bench directory has been deleted 2024-01-19 22:27:33 +01:00
Patrick Pelissier f7580e7ce9 Move bench directory to https://github.com/P-p-H-d/c-stl-comparison
since it is better to have the comparison centralized in one place.
2024-01-19 21:53:20 +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
PpHd 3445da13f3 Merge generic interface (WIP) 2023-12-31 12:53:10 +01:00
Patrick Pelissier 127530abaa Fix format 2023-12-30 16:27:25 +01:00
Patrick Pelissier ed0f538fb7 Add documentation of generic interface 2023-12-30 16:23:02 +01:00
Patrick Pelissier 76ef061dec Add basic example of generic interface 2023-12-30 16:23:02 +01:00
Patrick Pelissier c98786a3b3 Update TODO items 2023-12-30 16:23:02 +01:00
Patrick Pelissier 422f3c2c04 Add GENTYPE operator to all oplists 2023-12-30 16:23:02 +01:00
Patrick Pelissier 5ceb34d980 Cosmetics changes 2023-12-30 16:23:02 +01:00
Patrick Pelissier 73e3d1d1bd Register string_t globally 2023-12-30 16:23:02 +01:00
Patrick Pelissier 044a085fb6 Fix support for pop generic macro function 2023-12-30 16:23:02 +01:00
Patrick Pelissier 5344423ad9 Reorder header / comment 2023-12-30 16:23:02 +01:00
Patrick Pelissier 76ea989865 Fix warnings 2023-12-30 16:23:02 +01:00
Patrick Pelissier 29c4ba3dcc Add support for M_PRINT 2023-12-30 16:23:02 +01:00
Patrick Pelissier 42184f69db Disable generic tests for TCC 2023-12-30 16:23:02 +01:00
Patrick Pelissier fb8bf65233 Worlaround for warning with clang 2023-12-30 16:23:02 +01:00
Patrick Pelissier 1d86e51f4a Improve test suite 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 f951a947ec Adding a try catch example 2023-12-30 13:42:47 +01:00
Patrick Pelissier d9401371a6 Fix warnings reported by CLANG,
the C warning generator.
2023-12-23 13:16:42 +01:00
Patrick Pelissier 690fd72c8b Fix documentation 2023-12-23 11:24:25 +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 fecece19cb Add retry for TCC due the random segfault it generates 2023-12-22 23:45:39 +01:00
Patrick Pelissier ea640482a7 Add new examples with custom allocation 2023-12-20 19:25:27 +01:00
Patrick Pelissier 3e558af559 Remove unused function 2023-12-20 19:24:57 +01:00
Patrick Pelissier 91a602f774 Add bench of boost unordered flat hashmap 2023-12-19 20:58:02 +01:00
Patrick Pelissier 6a5c136c72 Complete bench-verstable with bench on big structure 2023-12-13 19:35:08 +01:00
Patrick Pelissier e50fdc82ef Add benchmark for verstable 2023-12-12 23:59:17 +01:00
Patrick Pelissier ec0a082701 Update ISSUE 2023-12-12 22:57:13 +01:00
Patrick Pelissier 7bf3ea3a87 Update Function Object interface
to make interface trivially copiable

There is no need to perform a copy-protected type as there is no init/clear for this type.
It is always created through an instance.
2023-12-09 12:40:45 +01:00
Patrick Pelissier 15492394ad Update list of exported files 2023-12-08 20:58:47 +01:00
Patrick Pelissier 09f40b5695 Fix format 2023-12-08 20:58:33 +01:00
Patrick Pelissier eabfcd1d49 Update list of ignored files 2023-12-08 00:25:53 +01:00
Patrick Pelissier 00aeafc616 Update comments 2023-12-06 23:55:11 +01:00
Patrick Pelissier f512051807 Migrate to actions/checkout@v4 2023-12-06 23:52:04 +01:00
Patrick Pelissier 4e8b929da9 Migrate to vmactions/freebsd-vm v1 2023-12-06 23:51:40 +01:00
Patrick Pelissier 5841f936e6 Work around static analyzer
that raise an issue on freeing non heap pointer
2023-12-02 13:48:21 +01:00
Patrick Pelissier 2ee40339b0 Using emplace to generate init_with for shared_ptr:
Equivalent to C++ make_shared)
2023-12-02 13:21:45 +01:00
Patrick Pelissier 0c8eca893d Add example of REST client
by using libcurl for HTTP connection
and M*LIB for JSON formating.
2023-11-25 13:33:27 +01:00
Patrick Pelissier b16048a55b Add test cases for tuple emplace 2023-11-25 13:32:57 +01:00
Patrick Pelissier 9dc582c6bc Add emplace set functions for tuple 2023-11-25 13:30:08 +01:00
Patrick Pelissier 1df8bf84fb Fix oplist definition for tuple.
The oplist didn't include as many sub-oplists as the number of variables.
2023-11-25 13:29:48 +01:00
Patrick Pelissier e017a90e5c Fix format 2023-11-04 19:28:32 +01:00
Patrick Pelissier 58b317b759 Add timeout for run in VM 2023-11-04 18:50:43 +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 703ab6ff9c Update examples 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 0671a2ea41 Update doc 2023-10-15 22:21:12 +02:00
Patrick Pelissier 07dce84e51 Tuple init: handle case of exception
during construction of tuple
2023-10-14 20:15:14 +02:00
Patrick Pelissier 5f4303624f Adding macro M_CHAIN_OBJ 2023-10-14 15:55:59 +02:00
Patrick Pelissier 19e61467d5 Adding tuple generation
for analysis of generated code.
2023-10-14 15:31:37 +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