mirror of
https://github.com/Ed94/gencpp.git
synced 2024-12-22 07:44:45 -08:00
WIP: Fleshing out parsing constructor
This code commit will compile just backing up stuff before I switch the functions to use the lexer instead of manually sifting through the string.
This commit is contained in:
parent
eec93cee78
commit
86cd0e1fb7
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@ -14,7 +14,9 @@
|
|||||||
"exception": "cpp",
|
"exception": "cpp",
|
||||||
"optional": "cpp",
|
"optional": "cpp",
|
||||||
"tuple": "cpp",
|
"tuple": "cpp",
|
||||||
"xmemory": "cpp"
|
"xmemory": "cpp",
|
||||||
|
"algorithm": "cpp",
|
||||||
|
"limits": "cpp"
|
||||||
},
|
},
|
||||||
"C_Cpp.intelliSenseEngineFallback": "disabled"
|
"C_Cpp.intelliSenseEngineFallback": "disabled"
|
||||||
}
|
}
|
@ -60,6 +60,7 @@ using zpl::EFileError_NONE;
|
|||||||
using zpl::alloc;
|
using zpl::alloc;
|
||||||
using zpl::arena_allocator;
|
using zpl::arena_allocator;
|
||||||
using zpl::arena_init_from_memory;
|
using zpl::arena_init_from_memory;
|
||||||
|
using zpl::arena_init_from_allocator;
|
||||||
using zpl::arena_free;
|
using zpl::arena_free;
|
||||||
using zpl::bprintf;
|
using zpl::bprintf;
|
||||||
using zpl::char_is_alpha;
|
using zpl::char_is_alpha;
|
||||||
@ -79,6 +80,7 @@ using zpl::snprintf_va;
|
|||||||
using zpl::string_appendc;
|
using zpl::string_appendc;
|
||||||
using zpl::string_append_fmt;
|
using zpl::string_append_fmt;
|
||||||
using zpl::string_append_length;
|
using zpl::string_append_length;
|
||||||
|
using zpl::string_make_length;
|
||||||
using zpl::string_length;
|
using zpl::string_length;
|
||||||
using zpl::string_make;
|
using zpl::string_make;
|
||||||
using zpl::strnlen;
|
using zpl::strnlen;
|
||||||
|
916
project/gen.cpp
916
project/gen.cpp
File diff suppressed because it is too large
Load Diff
@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
* Macro or template generation : This library is to avoid those, adding support for them adds unnecessary complexity.
|
* Macro or template generation : This library is to avoid those, adding support for them adds unnecessary complexity.
|
||||||
* Vendor provided dynamic dispatch (virtuals) : Roll your own, this library might roll its own vtable/interface generation helpers in the future.
|
* Vendor provided dynamic dispatch (virtuals) : Roll your own, this library might roll its own vtable/interface generation helpers in the future.
|
||||||
* RTTI : This is kinda covered with the last point, but just wanted to emphasize.
|
* RTTI
|
||||||
* Exceptions : Most fo the
|
* Exceptions
|
||||||
* Execution statement validation : Execution expressions are defined using the untyped string API.
|
* Execution statement validation : Execution expressions are defined using the untyped string API.
|
||||||
|
|
||||||
Keywords in from "Modern C++":
|
Keywords in from "Modern C++":
|
||||||
@ -383,6 +383,9 @@
|
|||||||
#define GEN_DEFINE_LIBRARY_CODE_CONSTANTS
|
#define GEN_DEFINE_LIBRARY_CODE_CONSTANTS
|
||||||
// #define GEN_DONT_USE_FATAL
|
// #define GEN_DONT_USE_FATAL
|
||||||
#define GEN_ENFORCE_READONLY_AST
|
#define GEN_ENFORCE_READONLY_AST
|
||||||
|
|
||||||
|
#define GEN_FEATURE_INCREMENTAL
|
||||||
|
#define GEN_FEATURE_PARSING
|
||||||
#define GEN_FEATURE_EDITOR
|
#define GEN_FEATURE_EDITOR
|
||||||
#define GEN_FEATURE_SCANNER
|
#define GEN_FEATURE_SCANNER
|
||||||
|
|
||||||
@ -439,6 +442,7 @@ namespace gen
|
|||||||
Entry( Variable ) \
|
Entry( Variable ) \
|
||||||
Entry( Typedef ) \
|
Entry( Typedef ) \
|
||||||
Entry( Typename ) \
|
Entry( Typename ) \
|
||||||
|
Entry( Union ) \
|
||||||
Entry( Using ) \
|
Entry( Using ) \
|
||||||
Entry( Using_Namespace )
|
Entry( Using_Namespace )
|
||||||
|
|
||||||
@ -498,7 +502,7 @@ namespace gen
|
|||||||
Entry( Assgin_Divide, /= ) \
|
Entry( Assgin_Divide, /= ) \
|
||||||
Entry( Assgin_Modulo, %= ) \
|
Entry( Assgin_Modulo, %= ) \
|
||||||
Entry( Assgin_BAnd, &= ) \
|
Entry( Assgin_BAnd, &= ) \
|
||||||
Entry( Assgin_BOr, &= ) \
|
Entry( Assgin_BOr, |= ) \
|
||||||
Entry( Assign_BXOr, ^= ) \
|
Entry( Assign_BXOr, ^= ) \
|
||||||
Entry( Assign_LShift, <<= ) \
|
Entry( Assign_LShift, <<= ) \
|
||||||
Entry( Assign_RShift, >>= ) \
|
Entry( Assign_RShift, >>= ) \
|
||||||
@ -535,7 +539,7 @@ namespace gen
|
|||||||
|
|
||||||
enum Type : u32
|
enum Type : u32
|
||||||
{
|
{
|
||||||
# define Entry( Type, Token ) Type,
|
# define Entry( Type_, Token_ ) Type_,
|
||||||
Define_Operators
|
Define_Operators
|
||||||
# undef Entry
|
# undef Entry
|
||||||
Comma,
|
Comma,
|
||||||
@ -552,7 +556,7 @@ namespace gen
|
|||||||
|
|
||||||
local_persist
|
local_persist
|
||||||
char const* lookup[ Num_Ops ] = {
|
char const* lookup[ Num_Ops ] = {
|
||||||
# define Entry( Type, Token ) txt(Token),
|
# define Entry( Type_, Token_ ) txt(Token_),
|
||||||
Define_Operators
|
Define_Operators
|
||||||
# undef Entry
|
# undef Entry
|
||||||
","
|
","
|
||||||
@ -570,15 +574,11 @@ namespace gen
|
|||||||
# if defined(ZPL_SYSTEM_WINDOWS)
|
# if defined(ZPL_SYSTEM_WINDOWS)
|
||||||
# define API_Export_Code __declspec(dllexport)
|
# define API_Export_Code __declspec(dllexport)
|
||||||
# define API_Import_Code __declspec(dllimport)
|
# define API_Import_Code __declspec(dllimport)
|
||||||
|
# define API_Keyword __declspec
|
||||||
# elif defined(ZPL_SYSTEM_MACOS)
|
# elif defined(ZPL_SYSTEM_MACOS)
|
||||||
# define API_Export_Code __attribute__ ((visibility ("default")))
|
# define API_Export_Code __attribute__ ((visibility ("default")))
|
||||||
# define API_Import_Code __attribute__ ((visibility ("default")))
|
# define API_Import_Code __attribute__ ((visibility ("default")))
|
||||||
# endif
|
# define API_Keyword __attribute__
|
||||||
|
|
||||||
# if defined(ZPL_MODULE_THREADING)
|
|
||||||
# define Thread_Local_Code thread_local
|
|
||||||
# else
|
|
||||||
# define Thread_Local_Code "NOT DEFINED"
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define Define_Specifiers \
|
# define Define_Specifiers \
|
||||||
@ -587,8 +587,8 @@ namespace gen
|
|||||||
Entry( Attribute, "You cannot stringize an attribute this way" ) \
|
Entry( Attribute, "You cannot stringize an attribute this way" ) \
|
||||||
Entry( Alignas, alignas ) \
|
Entry( Alignas, alignas ) \
|
||||||
Entry( Array_Decl, "You cannot stringize an array declare this way" ) \
|
Entry( Array_Decl, "You cannot stringize an array declare this way" ) \
|
||||||
Entry( Const, const ) \
|
|
||||||
Entry( C_Linkage, extern "C" ) \
|
Entry( C_Linkage, extern "C" ) \
|
||||||
|
Entry( Const, const ) \
|
||||||
Entry( Consteval, consteval ) \
|
Entry( Consteval, consteval ) \
|
||||||
Entry( Constexpr, constexpr ) \
|
Entry( Constexpr, constexpr ) \
|
||||||
Entry( Constinit, constinit ) \
|
Entry( Constinit, constinit ) \
|
||||||
@ -605,7 +605,7 @@ namespace gen
|
|||||||
Entry( Register, register ) \
|
Entry( Register, register ) \
|
||||||
Entry( RValue, && ) \
|
Entry( RValue, && ) \
|
||||||
Entry( Static_Member, static ) \
|
Entry( Static_Member, static ) \
|
||||||
Entry( Thread_Local, Thread_Local_Code ) \
|
Entry( Thread_Local, thread_local ) \
|
||||||
Entry( Volatile, volatile )
|
Entry( Volatile, volatile )
|
||||||
|
|
||||||
enum Type : u32
|
enum Type : u32
|
||||||
@ -1100,6 +1100,7 @@ namespace gen
|
|||||||
# pragma endregion Upfront
|
# pragma endregion Upfront
|
||||||
|
|
||||||
# pragma region Incremental
|
# pragma region Incremental
|
||||||
|
# ifdef GEN_FEATURE_INCREMENTAL
|
||||||
Code make_class ( s32 length, char const* name, Code parent = NoCode, Code specifiers = NoCode );
|
Code make_class ( s32 length, char const* name, Code parent = NoCode, Code specifiers = NoCode );
|
||||||
Code make_enum ( s32 length, char const* name, Code type = NoCode, EnumT specifier = EnumRegular );
|
Code make_enum ( s32 length, char const* name, Code type = NoCode, EnumT specifier = EnumRegular );
|
||||||
Code make_function ( s32 length, char const* name, Code params = NoCode, Code ret_type = NoCode, Code specifiers = NoCode );
|
Code make_function ( s32 length, char const* name, Code params = NoCode, Code ret_type = NoCode, Code specifiers = NoCode );
|
||||||
@ -1109,9 +1110,11 @@ namespace gen
|
|||||||
Code make_params ();
|
Code make_params ();
|
||||||
Code make_specifiers ();
|
Code make_specifiers ();
|
||||||
Code make_struct ( s32 length, char const* name, Code parent = NoCode, Code specifiers = NoCode );
|
Code make_struct ( s32 length, char const* name, Code parent = NoCode, Code specifiers = NoCode );
|
||||||
|
# endif
|
||||||
# pragma endregion Incremental
|
# pragma endregion Incremental
|
||||||
|
|
||||||
# pragma region Parsing
|
# pragma region Parsing
|
||||||
|
# ifdef GEN_FEATURE_PARSING
|
||||||
Code parse_class ( s32 length, char const* class_def );
|
Code parse_class ( s32 length, char const* class_def );
|
||||||
Code parse_enum ( s32 length, char const* enum_def );
|
Code parse_enum ( s32 length, char const* enum_def );
|
||||||
Code parse_execution ( s32 length, char const* exec_def );
|
Code parse_execution ( s32 length, char const* exec_def );
|
||||||
@ -1136,6 +1139,7 @@ namespace gen
|
|||||||
s32 parse_variables ( s32 length, char const* vars_def, Code* out_var_codes );
|
s32 parse_variables ( s32 length, char const* vars_def, Code* out_var_codes );
|
||||||
s32 parse_typedefs ( s32 length, char const* typedef_def, Code* out_typedef_codes );
|
s32 parse_typedefs ( s32 length, char const* typedef_def, Code* out_typedef_codes );
|
||||||
s32 parse_usings ( s32 length, char const* usings_def, Code* out_using_codes );
|
s32 parse_usings ( s32 length, char const* usings_def, Code* out_using_codes );
|
||||||
|
# endif
|
||||||
# pragma endregion Parsing
|
# pragma endregion Parsing
|
||||||
|
|
||||||
# pragma region Untyped text
|
# pragma region Untyped text
|
||||||
@ -1364,10 +1368,13 @@ namespace gen
|
|||||||
# define operator_body( ... ) gen::def_operator_body ( macro_num_args( __VA_ARGS__ ), __VA_ARGS__ )
|
# define operator_body( ... ) gen::def_operator_body ( macro_num_args( __VA_ARGS__ ), __VA_ARGS__ )
|
||||||
# define struct_body( ... ) gen::def_struct_body ( macro_num_args( __VA_ARGS__ ), __VA_ARGS__ )
|
# define struct_body( ... ) gen::def_struct_body ( macro_num_args( __VA_ARGS__ ), __VA_ARGS__ )
|
||||||
|
|
||||||
|
# ifdef GEN_FEATURE_INCREMENTAL
|
||||||
// Incremental
|
// Incremental
|
||||||
|
|
||||||
# define make( ConstructType_, Name_, ... ) Code Name_ = make_##ConstructType_( txt_n_len(Name_), __VA_ARGS__ );
|
# define make( ConstructType_, Name_, ... ) Code Name_ = make_##ConstructType_( txt_n_len(Name_), __VA_ARGS__ );
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifdef GEN_FEATURE_PARSING
|
||||||
// Parsing
|
// Parsing
|
||||||
|
|
||||||
# define class_code( ... ) gen::parse_class ( txt_n_len( __VA_ARGS__ ))
|
# define class_code( ... ) gen::parse_class ( txt_n_len( __VA_ARGS__ ))
|
||||||
@ -1381,6 +1388,7 @@ namespace gen
|
|||||||
# define type_code( ... ) gen::parse_type ( txt_n_len( __VA_ARGS__ ))
|
# define type_code( ... ) gen::parse_type ( txt_n_len( __VA_ARGS__ ))
|
||||||
# define typedef_code( ... ) gen::parse_typedef ( txt_n_len( __VA_ARGS__ ))
|
# define typedef_code( ... ) gen::parse_typedef ( txt_n_len( __VA_ARGS__ ))
|
||||||
# define using_code( ... ) gen::parse_code ( txt_n_len( __VA_ARGS__ ))
|
# define using_code( ... ) gen::parse_code ( txt_n_len( __VA_ARGS__ ))
|
||||||
|
# endif
|
||||||
|
|
||||||
// Untyped
|
// Untyped
|
||||||
|
|
||||||
|
61
thirdparty/zpl.h
vendored
61
thirdparty/zpl.h
vendored
@ -35,7 +35,7 @@ GitHub:
|
|||||||
|
|
||||||
Version History:
|
Version History:
|
||||||
19.0.0 - Check all results of zpl_alloc() when using JSON parser/writer (rheatley-pervasid)
|
19.0.0 - Check all results of zpl_alloc() when using JSON parser/writer (rheatley-pervasid)
|
||||||
|
|
||||||
18.1.5 - set parent to parsed JSON nodes (fixed)
|
18.1.5 - set parent to parsed JSON nodes (fixed)
|
||||||
- fix zpl_json/csv_write_string off-by-one issue
|
- fix zpl_json/csv_write_string off-by-one issue
|
||||||
18.1.4 - fix zpl_random_gen_isize/zpl_random_range_isize 32bit overflow
|
18.1.4 - fix zpl_random_gen_isize/zpl_random_range_isize 32bit overflow
|
||||||
@ -51,13 +51,13 @@ Version History:
|
|||||||
18.0.0 - removed coroutines module
|
18.0.0 - removed coroutines module
|
||||||
- removed timer module
|
- removed timer module
|
||||||
- rename zpl_adt_get -> zpl_adt_query
|
- rename zpl_adt_get -> zpl_adt_query
|
||||||
|
|
||||||
17.0.0 - ADT API changes
|
17.0.0 - ADT API changes
|
||||||
zpl_adt_inset_* -> zpl_adt_append_*
|
zpl_adt_inset_* -> zpl_adt_append_*
|
||||||
zpl_adt_node now holds a parent field, methods no longer require a pointer to the parent
|
zpl_adt_node now holds a parent field, methods no longer require a pointer to the parent
|
||||||
methods are now documented
|
methods are now documented
|
||||||
- add zpl_thread_init_nowait (gaopeng)
|
- add zpl_thread_init_nowait (gaopeng)
|
||||||
|
|
||||||
16.1.1 - fix scientific notation parsing
|
16.1.1 - fix scientific notation parsing
|
||||||
16.1.0 - introduce ZPL_PARSER_DISABLE_ANALYSIS that disables extra parsing capabilities to offer better raw performance
|
16.1.0 - introduce ZPL_PARSER_DISABLE_ANALYSIS that disables extra parsing capabilities to offer better raw performance
|
||||||
at a cost of lack of node metadata.
|
at a cost of lack of node metadata.
|
||||||
@ -69,7 +69,7 @@ Version History:
|
|||||||
- fix memory leak when parsing a json array (gaopeng)
|
- fix memory leak when parsing a json array (gaopeng)
|
||||||
- add zpl_strntok (gaopeng)
|
- add zpl_strntok (gaopeng)
|
||||||
- add zpl_semaphore_trywait (gaopeng)
|
- add zpl_semaphore_trywait (gaopeng)
|
||||||
|
|
||||||
15.0.3 - fix zpl_sign call in math failing to compile
|
15.0.3 - fix zpl_sign call in math failing to compile
|
||||||
on macos devices
|
on macos devices
|
||||||
15.0.2 - zpl_sign0 was introduced
|
15.0.2 - zpl_sign0 was introduced
|
||||||
@ -77,7 +77,7 @@ Version History:
|
|||||||
- zpl_sign(0) returns 0
|
- zpl_sign(0) returns 0
|
||||||
15.0.0 - Rework zpl ring buffer
|
15.0.0 - Rework zpl ring buffer
|
||||||
- various code improvements
|
- various code improvements
|
||||||
|
|
||||||
14.1.7 - fix zpl_random_range_i64
|
14.1.7 - fix zpl_random_range_i64
|
||||||
- set thread's is_running before we start a thread
|
- set thread's is_running before we start a thread
|
||||||
14.1.6 - remove windows.h dependency for header part
|
14.1.6 - remove windows.h dependency for header part
|
||||||
@ -87,7 +87,7 @@ Version History:
|
|||||||
14.1.0 - add hashtable map_mut method
|
14.1.0 - add hashtable map_mut method
|
||||||
14.0.1 - fix zpl_array_remove_at boundary bug
|
14.0.1 - fix zpl_array_remove_at boundary bug
|
||||||
14.0.0 - heap memory allocator analysis
|
14.0.0 - heap memory allocator analysis
|
||||||
|
|
||||||
13.4.1 - adt optimizations
|
13.4.1 - adt optimizations
|
||||||
13.4.0 - new adt manipulation methods
|
13.4.0 - new adt manipulation methods
|
||||||
13.3.3 - fix zpl_str_skip_literal bug
|
13.3.3 - fix zpl_str_skip_literal bug
|
||||||
@ -102,7 +102,7 @@ Version History:
|
|||||||
13.1.1 - fix emscripten support
|
13.1.1 - fix emscripten support
|
||||||
13.1.0 - abstract data tree naming update
|
13.1.0 - abstract data tree naming update
|
||||||
13.0.0 - text parsers refactor
|
13.0.0 - text parsers refactor
|
||||||
|
|
||||||
12.8.0 - zpl_opts improvements
|
12.8.0 - zpl_opts improvements
|
||||||
12.7.0 - math improvements
|
12.7.0 - math improvements
|
||||||
12.6.2 - remove register usage (BeastLe9enD)
|
12.6.2 - remove register usage (BeastLe9enD)
|
||||||
@ -119,7 +119,7 @@ Version History:
|
|||||||
12.1.0 - Add rectangle partitioning
|
12.1.0 - Add rectangle partitioning
|
||||||
12.0.1 - Optimize zpl_strlen
|
12.0.1 - Optimize zpl_strlen
|
||||||
12.0.0 - JSON API revamp + improvements
|
12.0.0 - JSON API revamp + improvements
|
||||||
|
|
||||||
11.3.0 - JSON zpl_json_str_to_flt + cleanup
|
11.3.0 - JSON zpl_json_str_to_flt + cleanup
|
||||||
11.2.5 - fix small atomics typo
|
11.2.5 - fix small atomics typo
|
||||||
11.2.4 - JSON rewrite core parser
|
11.2.4 - JSON rewrite core parser
|
||||||
@ -141,7 +141,7 @@ Version History:
|
|||||||
11.0.0 - New jobs system
|
11.0.0 - New jobs system
|
||||||
- Rewrite the timer module
|
- Rewrite the timer module
|
||||||
- zpl_ring rework
|
- zpl_ring rework
|
||||||
|
|
||||||
10.13.0 - Initial ARM threading support
|
10.13.0 - Initial ARM threading support
|
||||||
10.12.1 - Fix missing zpL_alloc_str
|
10.12.1 - Fix missing zpL_alloc_str
|
||||||
10.12.0 - Add zpl_crc64
|
10.12.0 - Add zpl_crc64
|
||||||
@ -185,7 +185,7 @@ Version History:
|
|||||||
10.0.4 - Flush tester output to fix ordering
|
10.0.4 - Flush tester output to fix ordering
|
||||||
10.0.3 - Fix ZPL_STATIC_ASSERT under MSVC
|
10.0.3 - Fix ZPL_STATIC_ASSERT under MSVC
|
||||||
10.0.0 - Major overhaul of the library
|
10.0.0 - Major overhaul of the library
|
||||||
|
|
||||||
9.8.10 - JSON fix array-based documents with objects
|
9.8.10 - JSON fix array-based documents with objects
|
||||||
9.8.9 - JSON document structured as array now properly recognizes the root object as array.
|
9.8.9 - JSON document structured as array now properly recognizes the root object as array.
|
||||||
9.8.8 - Fixed an incorrect parsing of empty array nodes.
|
9.8.8 - Fixed an incorrect parsing of empty array nodes.
|
||||||
@ -218,7 +218,7 @@ Version History:
|
|||||||
9.1.0 - get_env rework and fixes
|
9.1.0 - get_env rework and fixes
|
||||||
9.0.3 - Small fixes and removals
|
9.0.3 - Small fixes and removals
|
||||||
9.0.0 - New documentation format, removed deprecated code, changed styles
|
9.0.0 - New documentation format, removed deprecated code, changed styles
|
||||||
|
|
||||||
8.14.1 - Fix string library
|
8.14.1 - Fix string library
|
||||||
8.14.0 - Added zpl_re_match_all
|
8.14.0 - Added zpl_re_match_all
|
||||||
8.13.0 - Update system command API
|
8.13.0 - Update system command API
|
||||||
@ -237,7 +237,7 @@ Version History:
|
|||||||
8.10.0 - Added zpl_strchr
|
8.10.0 - Added zpl_strchr
|
||||||
8.9.0 - API improvements for JSON5 parser
|
8.9.0 - API improvements for JSON5 parser
|
||||||
8.8.4 - Add support for SJSON formatting http://bitsquid.blogspot.com/2009/10/simplified-json-notation.html
|
8.8.4 - Add support for SJSON formatting http://bitsquid.blogspot.com/2009/10/simplified-json-notation.html
|
||||||
|
|
||||||
6.8.3 - JSON5 exp fix
|
6.8.3 - JSON5 exp fix
|
||||||
6.8.2 - Bugfixes applied from gb
|
6.8.2 - Bugfixes applied from gb
|
||||||
6.8.1 - Performance improvements for JSON5 parser
|
6.8.1 - Performance improvements for JSON5 parser
|
||||||
@ -257,7 +257,7 @@ Version History:
|
|||||||
6.0.2 - Fixed warnings for json5 i64 printfs
|
6.0.2 - Fixed warnings for json5 i64 printfs
|
||||||
6.0.1 - Fixed warnings for particual win compiler in dirlist method
|
6.0.1 - Fixed warnings for particual win compiler in dirlist method
|
||||||
6.0.0 - New build, include/ was renamed to code/
|
6.0.0 - New build, include/ was renamed to code/
|
||||||
|
|
||||||
5.8.3 - Naming fixes
|
5.8.3 - Naming fixes
|
||||||
5.8.2 - Job system now supports prioritized tasks
|
5.8.2 - Job system now supports prioritized tasks
|
||||||
5.8.1 - Renames zpl_pad to zpl_ring
|
5.8.1 - Renames zpl_pad to zpl_ring
|
||||||
@ -285,7 +285,7 @@ Version History:
|
|||||||
5.0.2 - Fix segfault when using zpl_stack_memory
|
5.0.2 - Fix segfault when using zpl_stack_memory
|
||||||
5.0.1 - Small code improvements
|
5.0.1 - Small code improvements
|
||||||
5.0.0 - Project structure changes
|
5.0.0 - Project structure changes
|
||||||
|
|
||||||
4.7.2 - Got rid of size arg for zpl_str_split_lines
|
4.7.2 - Got rid of size arg for zpl_str_split_lines
|
||||||
4.7.1 - Added an example
|
4.7.1 - Added an example
|
||||||
4.7.0 - Added zpl_path_dirlist
|
4.7.0 - Added zpl_path_dirlist
|
||||||
@ -310,7 +310,7 @@ Version History:
|
|||||||
4.0.2 - Warning fix for _LARGEFILE64_SOURCE
|
4.0.2 - Warning fix for _LARGEFILE64_SOURCE
|
||||||
4.0.1 - include stdlib.h for getenv (temp)
|
4.0.1 - include stdlib.h for getenv (temp)
|
||||||
4.0.0 - ARM support, coding style changes and various improvements
|
4.0.0 - ARM support, coding style changes and various improvements
|
||||||
|
|
||||||
3.4.1 - zpl_memcopy now uses memcpy for ARM arch-family
|
3.4.1 - zpl_memcopy now uses memcpy for ARM arch-family
|
||||||
3.4.0 - Removed obsolete code
|
3.4.0 - Removed obsolete code
|
||||||
3.3.4 - Added Travis CI config
|
3.3.4 - Added Travis CI config
|
||||||
@ -331,7 +331,7 @@ Version History:
|
|||||||
3.0.2 - Fixed linux part, and removed trailing spaces
|
3.0.2 - Fixed linux part, and removed trailing spaces
|
||||||
3.0.1 - Small bugfix in zpl_file_open
|
3.0.1 - Small bugfix in zpl_file_open
|
||||||
3.0.0 - Added several fixes and features
|
3.0.0 - Added several fixes and features
|
||||||
|
|
||||||
2.4.0 - Added remove to hash table
|
2.4.0 - Added remove to hash table
|
||||||
2.3.3 - Removed redundant code
|
2.3.3 - Removed redundant code
|
||||||
2.3.2 - Eliminated extra warnings
|
2.3.2 - Eliminated extra warnings
|
||||||
@ -344,7 +344,7 @@ Version History:
|
|||||||
2.0.8 - Small adjustments
|
2.0.8 - Small adjustments
|
||||||
2.0.7 - MinGW related fixes
|
2.0.7 - MinGW related fixes
|
||||||
2.0.0 - New NPM based version
|
2.0.0 - New NPM based version
|
||||||
|
|
||||||
1.2.2 - Small fix
|
1.2.2 - Small fix
|
||||||
1.2.1 - Macro fixes
|
1.2.1 - Macro fixes
|
||||||
1.2.0 - Added zpl_async macro
|
1.2.0 - Added zpl_async macro
|
||||||
@ -354,15 +354,15 @@ Version History:
|
|||||||
|
|
||||||
License:
|
License:
|
||||||
This Software is dual licensed under the following licenses:
|
This Software is dual licensed under the following licenses:
|
||||||
|
|
||||||
Unlicense
|
Unlicense
|
||||||
This is free and unencumbered software released into the public domain.
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
distribute this software, either in source code form or as a compiled
|
distribute this software, either in source code form or as a compiled
|
||||||
binary, for any purpose, commercial or non-commercial, and by any
|
binary, for any purpose, commercial or non-commercial, and by any
|
||||||
means.
|
means.
|
||||||
|
|
||||||
In jurisdictions that recognize copyright laws, the author or authors
|
In jurisdictions that recognize copyright laws, the author or authors
|
||||||
of this software dedicate any and all copyright interest in the
|
of this software dedicate any and all copyright interest in the
|
||||||
software to the public domain. We make this dedication for the benefit
|
software to the public domain. We make this dedication for the benefit
|
||||||
@ -370,7 +370,7 @@ License:
|
|||||||
successors. We intend this dedication to be an overt act of
|
successors. We intend this dedication to be an overt act of
|
||||||
relinquishment in perpetuity of all present and future rights to this
|
relinquishment in perpetuity of all present and future rights to this
|
||||||
software under copyright law.
|
software under copyright law.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
@ -378,15 +378,15 @@ License:
|
|||||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
For more information, please refer to <http://unlicense.org/>
|
For more information, please refer to <http://unlicense.org/>
|
||||||
|
|
||||||
BSD 3-Clause
|
BSD 3-Clause
|
||||||
Copyright (c) 2016-2021 Dominik Madarász. All rights reserved.
|
Copyright (c) 2016-2021 Dominik Madarász. All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are met:
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
list of conditions and the following disclaimer.
|
list of conditions and the following disclaimer.
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
@ -395,7 +395,7 @@ License:
|
|||||||
3. Neither the name of the copyright holder nor the names of its contributors
|
3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
may be used to endorse or promote products derived from this software without
|
may be used to endorse or promote products derived from this software without
|
||||||
specific prior written permission.
|
specific prior written permission.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -8367,7 +8367,9 @@ ZPL_END_NAMESPACE
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if ! defined( thread_local )
|
# if ! defined( thread_local )
|
||||||
# if defined( _MSC_VER ) && _MSC_VER >= 1300
|
# if defined( __cplusplus ) && __cplusplus >= 201103L
|
||||||
|
# define thread_local thread_local
|
||||||
|
# elif defined( _MSC_VER ) && _MSC_VER >= 1300
|
||||||
# define thread_local __declspec( thread )
|
# define thread_local __declspec( thread )
|
||||||
# elif defined( __GNUC__ )
|
# elif defined( __GNUC__ )
|
||||||
# define thread_local __thread
|
# define thread_local __thread
|
||||||
@ -8803,7 +8805,10 @@ ZPL_END_NAMESPACE
|
|||||||
# endif
|
# endif
|
||||||
# else
|
# else
|
||||||
# if ! defined( thread_local )
|
# if ! defined( thread_local )
|
||||||
# define thread_local
|
# if defined( __cplusplus ) && __cplusplus >= 201103L
|
||||||
|
# define thread_local thread_local
|
||||||
|
# else
|
||||||
|
# define thread_local
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user