In B.xs use I16 to avoid an "initializer will be sign-extended" warning.
authorNicholas Clark <nick@ccl4.org>
Tue, 6 Aug 2013 10:56:04 +0000 (12:56 +0200)
committerNicholas Clark <nick@ccl4.org>
Wed, 7 Aug 2013 09:29:25 +0000 (11:29 +0200)
commit7d6d3fb7dc08e427517e383b8ab9c9c47cbaab14
tree089edcc73bcad2f625902e8a3152dd8daa5b1c04
parent9eb247a14b024bbe2624b3a0d51417d86d6b0351
In B.xs use I16 to avoid an "initializer will be sign-extended" warning.

The Solaris C compiler warns 30 times that -1 will be sign-extended, when
it is assigned to a struct member of type size_t. Instead, use I16 (No offset
will actually be larger than 1024), and reduce the size of the types used for
other structure members.

Change SVp (etc) to be constants in the range 0x0 to 0x7, instead of 0x00000
to 0x70000, now that most use cases no longer involve to or-ing with other
values. This makes two switch statements simpler.

As well as quietening warnings, the combined changes reduce the object size
by about 800 bytes on x86_64.
ext/B/B.xs