aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-30 07:53:24 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-30 07:53:24 +0000
commitab740cbb75c256e7a209f618857e136df78c6a88 (patch)
treedf7e658faac45ecb4ce7912e4f4c0a7995c5bfc0
parentd83536c980fb96a880def3e952eb4920815eeb51 (diff)
downloadruby-ab740cbb75c256e7a209f618857e136df78c6a88.tar.gz
move #pragma out of functions
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) reportedly fails to compile cf: https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-trunk/log/20180726T093003Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--mjit.c11
-rw-r--r--process.c22
2 files changed, 15 insertions, 18 deletions
diff --git a/mjit.c b/mjit.c
index 3599aa6c9e..91839092c9 100644
--- a/mjit.c
+++ b/mjit.c
@@ -352,6 +352,10 @@ form_args(int num, ...)
return res;
}
+COMPILER_WARNING_PUSH
+#ifdef __GNUC__
+COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)
+#endif
/* Start an OS process of executable PATH with arguments ARGV. Return
PID of the process.
TODO: Use the same function in process.c */
@@ -387,13 +391,7 @@ start_process(const char *path, char *const *argv)
}
dev_null = rb_cloexec_open(ruby_null_device, O_WRONLY, 0);
- COMPILER_WARNING_PUSH;
-#ifdef __GNUC__
- COMPILER_WARNING_IGNORED(-Wdeprecated-declarations);
-#endif
if ((pid = vfork()) == 0) {
- COMPILER_WARNING_POP;
-
umask(0077);
if (mjit_opts.verbose == 0) {
/* CC can be started in a thread using a file which has been
@@ -415,6 +413,7 @@ start_process(const char *path, char *const *argv)
#endif
return pid;
}
+COMPILER_WARNING_POP
/* Execute an OS process of executable PATH with arguments ARGV.
Return -1 or -2 if failed to execute, otherwise exit code of the process.
diff --git a/process.c b/process.c
index ec6bbf8da5..32053a8d3d 100644
--- a/process.c
+++ b/process.c
@@ -3959,6 +3959,10 @@ disable_child_handler_fork_child(struct child_handler_disabler_state *old, char
return 0;
}
+COMPILER_WARNING_PUSH
+#ifdef __GNUC__
+COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)
+#endif
static rb_pid_t
retry_fork_async_signal_safe(int *status, int *ep,
int (*chfunc)(void*, char *, size_t), void *charg,
@@ -3972,10 +3976,6 @@ retry_fork_async_signal_safe(int *status, int *ep,
while (1) {
prefork();
disable_child_handler_before_fork(&old);
- COMPILER_WARNING_PUSH;
-#ifdef __GNUC__
- COMPILER_WARNING_IGNORED(-Wdeprecated-declarations);
-#endif
#ifdef HAVE_WORKING_VFORK
if (!has_privilege())
pid = vfork();
@@ -3984,7 +3984,6 @@ retry_fork_async_signal_safe(int *status, int *ep,
#else
pid = fork();
#endif
- COMPILER_WARNING_POP;
if (pid == 0) {/* fork succeed, child process */
int ret;
close(ep[0]);
@@ -4009,6 +4008,7 @@ retry_fork_async_signal_safe(int *status, int *ep,
return -1;
}
}
+COMPILER_WARNING_POP
rb_pid_t
rb_fork_async_signal_safe(int *status, int (*chfunc)(void*, char *, size_t), void *charg, VALUE fds,
@@ -4040,6 +4040,10 @@ rb_fork_async_signal_safe(int *status, int (*chfunc)(void*, char *, size_t), voi
return pid;
}
+COMPILER_WARNING_PUSH
+#ifdef __GNUC__
+COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)
+#endif
rb_pid_t
rb_fork_ruby(int *status)
{
@@ -4053,14 +4057,7 @@ rb_fork_ruby(int *status)
prefork();
disable_child_handler_before_fork(&old);
before_fork_ruby();
- COMPILER_WARNING_PUSH;
-#ifdef __GNUC__
- COMPILER_WARNING_IGNORED(-Wdeprecated-declarations);
-#endif
pid = fork();
-#ifdef __GNUC__
- COMPILER_WARNING_POP;
-#endif
err = errno;
after_fork_ruby();
disable_child_handler_fork_parent(&old); /* yes, bad name */
@@ -4071,6 +4068,7 @@ rb_fork_ruby(int *status)
return -1;
}
}
+COMPILER_WARNING_POP
#endif