1570af302Sopenharmony_ci#include <regex.h>
2570af302Sopenharmony_ci#define T(t) (t*)0;
3570af302Sopenharmony_ci#define F(t,n) {t *y = &x.n;}
4570af302Sopenharmony_ci#define C(n) switch(n){case n:;}
5570af302Sopenharmony_cistatic void f()
6570af302Sopenharmony_ci{
7570af302Sopenharmony_ciT(size_t)
8570af302Sopenharmony_ciT(regoff_t)
9570af302Sopenharmony_ci{
10570af302Sopenharmony_ciregex_t x;
11570af302Sopenharmony_ciF(size_t,re_nsub)
12570af302Sopenharmony_ci}
13570af302Sopenharmony_ci{
14570af302Sopenharmony_ciregmatch_t x;
15570af302Sopenharmony_ciF(regoff_t,rm_so)
16570af302Sopenharmony_ciF(regoff_t,rm_eo)
17570af302Sopenharmony_ci}
18570af302Sopenharmony_ciC(REG_EXTENDED)
19570af302Sopenharmony_ciC(REG_ICASE)
20570af302Sopenharmony_ciC(REG_NOSUB)
21570af302Sopenharmony_ciC(REG_NEWLINE)
22570af302Sopenharmony_ciC(REG_NOTBOL)
23570af302Sopenharmony_ciC(REG_NOTEOL)
24570af302Sopenharmony_ciC(REG_NOMATCH)
25570af302Sopenharmony_ciC(REG_BADPAT)
26570af302Sopenharmony_ciC(REG_ECOLLATE)
27570af302Sopenharmony_ciC(REG_ECTYPE)
28570af302Sopenharmony_ciC(REG_EESCAPE)
29570af302Sopenharmony_ciC(REG_ESUBREG)
30570af302Sopenharmony_ciC(REG_EBRACK)
31570af302Sopenharmony_ciC(REG_EPAREN)
32570af302Sopenharmony_ciC(REG_EBRACE)
33570af302Sopenharmony_ciC(REG_BADBR)
34570af302Sopenharmony_ciC(REG_ERANGE)
35570af302Sopenharmony_ciC(REG_ESPACE)
36570af302Sopenharmony_ciC(REG_BADRPT)
37570af302Sopenharmony_ci{int(*p)(regex_t*restrict,const char*restrict,int) = regcomp;}
38570af302Sopenharmony_ci{size_t(*p)(int,const regex_t*restrict,char*restrict,size_t) = regerror;}
39570af302Sopenharmony_ci{int(*p)(const regex_t*restrict,const char*restrict,size_t,regmatch_t[restrict],int) = regexec;}
40570af302Sopenharmony_ci{void(*p)(regex_t*) = regfree;}
41570af302Sopenharmony_ci}
42