Line 747 of libxsd/xsd/cxx/tree/types.txx: change "char byte" to "unsigned char byte". Otherwise the right shift can sign extend byte, causing undefined behavior when the array index is way, way, way bigger than 15. -- Ray Lischner, Proteus Technologies