diff options
Diffstat (limited to 'regparse.h')
-rw-r--r-- | regparse.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/regparse.h b/regparse.h index 35de54671e..caf0790b1c 100644 --- a/regparse.h +++ b/regparse.h @@ -67,7 +67,11 @@ RUBY_SYMBOL_EXPORT_BEGIN BIT_NT_CANY | BIT_NT_BREF)) != 0) #define NTYPE(node) ((node)->u.base.type) -#define SET_NTYPE(node, ntype) (node)->u.base.type = (ntype) +#define SET_NTYPE(node, ntype) \ + do { \ + int value = ntype; \ + memcpy(&((node)->u.base.type), &value, sizeof(int)); \ + } while (0) #define NSTR(node) (&((node)->u.str)) #define NCCLASS(node) (&((node)->u.cclass)) |