diff --git a/ChangeLog b/ChangeLog index 520476a1d8..41c12834ff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 14 14:12:34 2013 NARUSE, Yui + + * file.c (rb_sys_fail_path): use rb_sys_fail_path0 only on GCC. + __func__ is C99 feature. + Thu Mar 14 12:59:59 2013 NARUSE, Yui * file.c (rb_sys_fail_path0): add to append the name of called function diff --git a/file.c b/file.c index 3ee68f561f..14636d34c9 100644 --- a/file.c +++ b/file.c @@ -102,8 +102,8 @@ int flock(int, int); #define STAT(p, s) stat((p), (s)) #endif -#define rb_sys_fail_path(path) rb_sys_fail_path0(__func__, path) - +#ifdef __GNUC__ +# define rb_sys_fail_path(path) rb_sys_fail_path0(__func__, path) NORETURN(static void rb_sys_fail_path0(const char *,VALUE)); static void rb_sys_fail_path0(const char *func_name, VALUE path) @@ -112,6 +112,9 @@ rb_sys_fail_path0(const char *func_name, VALUE path) rb_str_buf_append(mesg, path); rb_sys_fail_str(mesg); } +#else +# define rb_sys_fail_path(path) rb_sys_fail_str(path) +#endif #if defined(__BEOS__) || defined(__HAIKU__) /* should not change ID if -1 */ static int