summaryrefslogtreecommitdiff
path: root/load.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-01 07:37:27 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-01 07:37:27 +0000
commit97b88a177371c5c60cdf7f3b8ec9943886cd19e8 (patch)
treedfb263594f1798f53d99fd3611acc3fe7085289b /load.c
parentea09a7b75594819b6f7e28a22e6d022b2a01674f (diff)
load.c: suppress warning
* load.c (rb_load_internal): split to suppress false "clobbered" warning by gcc 4.4.5. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'load.c')
-rw-r--r--load.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/load.c b/load.c
index c197631..fbf65e3 100644
--- a/load.c
+++ b/load.c
@@ -558,16 +558,15 @@ rb_provide(const char *feature)
NORETURN(static void load_failed(VALUE));
-static void
-rb_load_internal(VALUE fname, int wrap)
+static inline void
+rb_load_internal0(rb_thread_t *th, VALUE fname, int wrap)
{
int state;
- rb_thread_t *th = GET_THREAD();
volatile VALUE wrapper = th->top_wrapper;
volatile VALUE self = th->top_self;
volatile int loaded = FALSE;
volatile int mild_compile_error;
-#if !defined __GNUC__ || (__GNUC__ == 4 && __GNUC_MINOR__ == 4)
+#if !defined __GNUC__
rb_thread_t *volatile th0 = th;
#endif
@@ -599,7 +598,7 @@ rb_load_internal(VALUE fname, int wrap)
}
POP_TAG();
-#if !defined __GNUC__ || (__GNUC__ == 4 && __GNUC_MINOR__ == 4)
+#if !defined __GNUC__
th = th0;
fname = RB_GC_GUARD(fname);
#endif
@@ -621,6 +620,12 @@ rb_load_internal(VALUE fname, int wrap)
}
}
+static void
+rb_load_internal(VALUE fname, int wrap)
+{
+ rb_load_internal0(GET_THREAD(), fname, wrap);
+}
+
void
rb_load(VALUE fname, int wrap)
{