Fix strict aliasing issue with call to rb_id_table_lookup()

Previously, GCC 11 with -O2 LTO issues -Wmaybe-uninitialized here.
This commit is contained in:
Alan Wu 2022-04-25 14:30:54 -04:00 коммит произвёл GitHub
Родитель 9c44b5fbc8
Коммит 5c61caa481
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 3 добавлений и 2 удалений

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

@ -139,10 +139,11 @@ void rb_clear_constant_cache(void) {}
void
rb_clear_constant_cache_for_id(ID id)
{
VALUE lookup_result;
rb_vm_t *vm = GET_VM();
st_table *ics;
if (rb_id_table_lookup(vm->constant_cache, id, (VALUE *) &ics)) {
if (rb_id_table_lookup(vm->constant_cache, id, &lookup_result)) {
st_table *ics = (st_table *)lookup_result;
st_foreach(ics, rb_clear_constant_cache_for_id_i, (st_data_t) NULL);
ruby_vm_constant_cache_invalidations += ics->num_entries;
}