Skip to content

Commit ae2a2dc

Browse files
committed
add windows std regex wrapper symbols.
1 parent ae2c225 commit ae2a2dc

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/loader.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ struct ModuleLoader {
184184
RuntimeLib::inst().initHashes();
185185

186186
// cache the apis
187+
auto regexInit = &api::regex::init;
188+
auto regexDeinit = &api::regex::deinit;
189+
auto regexSearch = &api::regex::search;
187190
#if ON_WINDOWS
188191
syms_.insert({"?home_directory@icpp@@YA?AV?$basic_string_view@DU?$char_"
189192
"traits@D@__1@std@@@__1@std@@XZ",
@@ -232,6 +235,14 @@ struct ModuleLoader {
232235
syms_.insert({"?result_set@icpp@@YAXAEBV?$basic_string_view@DU?$char_"
233236
"traits@D@__1@std@@@__1@std@@@Z",
234237
api::result_sets});
238+
syms_.insert({"?init@regex@icpp@@AEAAXV?$basic_string_view@DU?$char_traits@"
239+
"D@__1@std@@@__1@std@@H@Z",
240+
*(const void **)(&regexInit)});
241+
syms_.insert(
242+
{"?deinit@regex@icpp@@AEAAXXZ", *(const void **)(&regexDeinit)});
243+
syms_.insert({"?search@regex@icpp@@QEBA_NV?$basic_string_view@DU?$char_"
244+
"traits@D@__1@std@@@__1@std@@@Z",
245+
*(const void **)(&regexSearch)});
235246
#else
236247
#if __APPLE__
237248
#define apisym(n) #n
@@ -296,10 +307,6 @@ struct ModuleLoader {
296307
{apisym(
297308
__ZN4icpp10result_setERKNSt3__117basic_string_viewIcNS0_11char_traitsIcEEEE),
298309
reinterpret_cast<const void *>(&api::result_sets)});
299-
300-
auto regexInit = &api::regex::init;
301-
auto regexDeinit = &api::regex::deinit;
302-
auto regexSearch = &api::regex::search;
303310
syms_.insert(
304311
{apisym(
305312
__ZN4icpp5regex4initENSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEi),

0 commit comments

Comments
 (0)