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