Narrowed down unaligned member access region in RB_OBJ_WRITE

Since UNALIGNED_MEMBER_ACCESS assigns to an intermediate variable,
it can cause unused-value warnings.
This commit is contained in:
Nobuyoshi Nakada 2020-12-13 11:34:57 +09:00
Родитель 88f3ce12d3
Коммит 97e6c28db4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -58,8 +58,8 @@ struct rb_objspace; /* in vm_core.h */
#define UNALIGNED_MEMBER_PTR(ptr, mem) UNALIGNED_MEMBER_ACCESS(&(ptr)->mem) #define UNALIGNED_MEMBER_PTR(ptr, mem) UNALIGNED_MEMBER_ACCESS(&(ptr)->mem)
#define RB_OBJ_WRITE(a, slot, b) \ #define RB_OBJ_WRITE(a, slot, b) \
UNALIGNED_MEMBER_ACCESS(\ rb_obj_write((VALUE)(a), UNALIGNED_MEMBER_ACCESS((VALUE *)(slot)), \
rb_obj_write((VALUE)(a), (VALUE *)(slot), (VALUE)(b), __FILE__, __LINE__)) (VALUE)(b), __FILE__, __LINE__)
/* gc.c */ /* gc.c */
extern VALUE *ruby_initial_gc_stress_ptr; extern VALUE *ruby_initial_gc_stress_ptr;