| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
There's no point in having separate types depending on C dialect
when using bitfields, "unsigned int" bitfields are bitfields
anywhere.
Note: we also have test_memsize in test_time.rb in case
users of other platforms want to enable size assertions
if they don't trust their compiler.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
To be precise C90 says "A bit-field may have type int, unsigned
int, or signed int". It is clear that char or enum are NG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* configure.in (PACKED_STRUCT): check VC pragma too, and make
function-style macro.
* win32/Makefile.sub (PACKED_STRUCT): enable with VC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* configure.in: define PACKED_STRUCT_UNALIGNED for x86*
* timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED
* time.c (struct time_object): ditto
[Bug #9558] non-x86 cannot safely access unaligned addresses
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct time_object shrinks from 88 to 46 bytes on my 64-bit system.
* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
use __attribute__((packed)) if available
* timev.h: shrink and pack struct vtm
* time.c: pack struct time_object and adjust/introduce helpers
[ruby-core:60794]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* timev.h (TYPEOF_TIMEVAL_TV_SEC, unsigned_time_t): move from time.c.
* thread.c: use definitions in timev.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(struct vtm): subsec is replaced by subsecx.
subsec * TIME_SCALE == subsecx.
* time.c: avoid rational in most cases.
(struct time_object): timev is replaced by timexv.
timev * TIME_SCALE == timexv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* timev.h: new file to define struct vtm.
* strftime.c: format struct vtm instead of struct tm.
* ext/syck/rubyext.c (mktime_do): don't use time_t;
[ruby-dev:38191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|