mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Suppress gcc11 clobbered warning
This commit is contained in:
parent
931ea7cfbe
commit
70833fab7f
1 changed files with 5 additions and 1 deletions
6
load.c
6
load.c
|
@ -1036,12 +1036,14 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception)
|
||||||
enum ruby_tag_type state;
|
enum ruby_tag_type state;
|
||||||
char *volatile ftptr = 0;
|
char *volatile ftptr = 0;
|
||||||
VALUE path;
|
VALUE path;
|
||||||
|
volatile VALUE saved_path;
|
||||||
volatile bool reset_ext_config = false;
|
volatile bool reset_ext_config = false;
|
||||||
struct rb_ext_config prev_ext_config;
|
struct rb_ext_config prev_ext_config;
|
||||||
|
|
||||||
fname = rb_get_path(fname);
|
fname = rb_get_path(fname);
|
||||||
path = rb_str_encode_ospath(fname);
|
path = rb_str_encode_ospath(fname);
|
||||||
RUBY_DTRACE_HOOK(REQUIRE_ENTRY, RSTRING_PTR(fname));
|
RUBY_DTRACE_HOOK(REQUIRE_ENTRY, RSTRING_PTR(fname));
|
||||||
|
saved_path = path;
|
||||||
|
|
||||||
EC_PUSH_TAG(ec);
|
EC_PUSH_TAG(ec);
|
||||||
ec->errinfo = Qnil; /* ensure */
|
ec->errinfo = Qnil; /* ensure */
|
||||||
|
@ -1051,8 +1053,9 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception)
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
RUBY_DTRACE_HOOK(FIND_REQUIRE_ENTRY, RSTRING_PTR(fname));
|
RUBY_DTRACE_HOOK(FIND_REQUIRE_ENTRY, RSTRING_PTR(fname));
|
||||||
found = search_required(path, &path, rb_feature_p);
|
found = search_required(path, &saved_path, rb_feature_p);
|
||||||
RUBY_DTRACE_HOOK(FIND_REQUIRE_RETURN, RSTRING_PTR(fname));
|
RUBY_DTRACE_HOOK(FIND_REQUIRE_RETURN, RSTRING_PTR(fname));
|
||||||
|
path = saved_path;
|
||||||
|
|
||||||
if (found) {
|
if (found) {
|
||||||
if (!path || !(ftptr = load_lock(RSTRING_PTR(path)))) {
|
if (!path || !(ftptr = load_lock(RSTRING_PTR(path)))) {
|
||||||
|
@ -1086,6 +1089,7 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception)
|
||||||
th2->top_wrapper = saved.wrapper;
|
th2->top_wrapper = saved.wrapper;
|
||||||
if (reset_ext_config) ext_config_pop(th2, &prev_ext_config);
|
if (reset_ext_config) ext_config_pop(th2, &prev_ext_config);
|
||||||
|
|
||||||
|
path = saved_path;
|
||||||
if (ftptr) load_unlock(RSTRING_PTR(path), !state);
|
if (ftptr) load_unlock(RSTRING_PTR(path), !state);
|
||||||
|
|
||||||
if (state) {
|
if (state) {
|
||||||
|
|
Loading…
Reference in a new issue