From 51f4d6645ba78fdb7342c2e58e65026643b21e17 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 13 Dec 2005 03:27:51 +0000 Subject: [PATCH] * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with gcc 3.3.5 (Debian 1:3.3.5-13). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++-- re.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7e109e70c0..c78ee79e9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,13 @@ +Tue Dec 13 12:23:47 2005 Tanaka Akira + + * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with + gcc 3.3.5 (Debian 1:3.3.5-13). + Tue Dec 13 01:44:16 2005 Tanaka Akira * array.c (rb_ary_diff): fix a GC problem on IA64 with gcc 3.3.5 (Debian 1:3.3.5-13). - When rb_ary_push is called, there was no register - which contains + When rb_ary_push is called, there was no register which contains `hash' but `&RHASH(hash)->tbl' instead. Tue Dec 13 00:08:09 2005 Tanaka Akira diff --git a/re.c b/re.c index 18f74fa079..47876d3fcd 100644 --- a/re.c +++ b/re.c @@ -1384,6 +1384,7 @@ static VALUE reg_cache; VALUE rb_reg_regcomp(VALUE str) { + volatile VALUE save_str = str; if (reg_cache && RREGEXP(reg_cache)->len == RSTRING(str)->len && case_cache == ruby_ignorecase && kcode_cache == reg_kcode