aboutsummaryrefslogtreecommitdiffstats
path: root/eval_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval_error.c')
-rw-r--r--eval_error.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/eval_error.c b/eval_error.c
index 6a0b14cb9b..69090fdf50 100644
--- a/eval_error.c
+++ b/eval_error.c
@@ -3,7 +3,16 @@
* included by eval.c
*/
+#if defined(__GNUC__) && !defined(__PCC__)
+#define warn_print(x) __extension__ ( \
+{ \
+ (__builtin_constant_p(x)) ? \
+ rb_write_error2((x), (long)strlen(x)) : \
+ rb_write_error(x); \
+})
+#else
#define warn_print(x) rb_write_error(x)
+#endif
#define warn_print2(x,l) rb_write_error2((x),(l))
#define warn_print_str(x) rb_write_error_str(x)