This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Tested on i686-linux, committed on trunk All the vector/view conversions operate similarily: bare unchecked conversion on big endian targets, and elements permutation on little endian targets. This was so far done in a not quite systematic way, with e.g. versions for signed components implemented on top of versions for unsigned components, with extra temporary copies that could be avoided. We would like to provide a generic version of the conversion routines and just have a set of "renaming as body" declarations to satisfy the public interface. This unfortunately prevents inlining, which we must preserve at least for the hard binding. We instead provide a generic version of facilities needed by all the conversion routines and use them repeatedly. The code is now very systematic, thus easier to read, and the extra temporaries are gone. Fix also an obvious mistake in the low level vector type definitions, which were all mapped to the unsigned char vector view instead of each mapped to the vector view corresponding to its element type. One consequence was that all vector objects were displayed a byte sequences by the debugger. 2007-04-06 Olivier Hainque <hainque@adacore.com> * g-alleve.ads (Low Level Vector type definitions): Map each to the associated vector view instead of all to the unsigned char view. * g-altcon.adb (Generic_Conversions): New internal generic package, offering facilities for all the Vector/View conversion routines implemented by this unit. (To_View/To_Vector - all versions): Reimplemented in a systematic manner, using the internal Generic_Conversions facilities.
Attachment:
difs
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |