On Sun, Nov 24, 2002 at 07:02:11PM -0500, David Robins wrote: > Actually it looks like the problem is in assemble.pl's sub constant_table; > even though $PConfig{numvalsize} is 12, $PConfig{packtype_n} is 'd' and > pack('d',$n) uses 8 bytes. This is after hacking NUMVAL_SIZE to 12, > though, which explains why it wasn't caught in config/auto/pack.pl. > perldoc for pack shows no way to pack a native NV. Should assemble.pl be > using packout.c via XS/Inline? If this is decided to be the way to go then > I'd be glad to work on a patch to do it.
'D' will pack long doubles on perl 5.8.0 (and later) if the perl is built with NVs as long doubles. (ie -Duselongdouble at Configure time) The long vaunted plan to actually make everything that outputs bytecode use one C library (with a perl interface) might be a better way to properly solve this. Nicholas Clark