Bug #1735
closedRuby compiled with gcc 4.4.0: problems in date.rb
Description
=begin
I have a 64-bit ArchLinux system with gcc 4.4.0 and glibc 2.10.1. The distro itself ships 1.8.7, but I use REE which is 1.8.6-based. I'll illustrate the problem with stock Ruby 1.8.6-p369.
===========================================
home:~% /opt/ruby-1.8.6-p369/bin/irb
irb(main):001:0> t = Time.now
=> Mon Jul 06 13:21:20 +0700 2009
irb(main):002:0> [t.year, t.month, t.day]
=> [2009, 7, 6]
irb(main):003:0> d = Date.civil_to_jd(t.year, t.month, t.day)
=> 248077102
irb(main):004:0> Date.jd_to_civil(d)
=> [2075, -1, 37364]
irb(main):005:0>
I've run into this in my Rails app, namely with activesupport: 1.day.from_now and 1.year.from_now. The former raises ArgumentError with "invalid date", the latter just hangs.
The original post is on the REE group: http://groups.google.com/group/emm-ruby/browse_thread/thread/5bdb6869ed0f9843
Other people with gcc 4.4.0 have confirmed this bug.
Here's valid behavior in 1.8.7:
===========================================
RUBY_VERSION
=> "1.8.7"
RUBY_PATCHLEVEL
=> 173
t = Time.now
=> Mon Jul 06 13:34:12 0700 2009
[t.year, t.month, t.day]
=> [2009, 7, 6]
d = Date.civil_to_jd(t.year, t.month, t.day)
=> 2455019
Date.jd_to_civil(d)
=> [2009, 7, 6]
===========================================
=end