Prev: Question on array of strings
Next: Types, packages & objects : the good old naming conventions question (without religious ware)
From: Gautier write-only on 17 Nov 2009 07:57 Hello, I have an idea about how to patch GNAT on this. Indeed, there is already a fast Stream exchangein GNAT, only for the {Wide_}String types. So, at the end of Find_Stream_Subprogram, exp_attr.adb, I would add something like if Is_Array_Type(Typ) and then Is_Bit_Packed_Array (Typ) and then Component_Size (Typ) = 8 and then then Comp_Typ:= Component_Type (Typ); if Is_Modular_Integer_Type(Comp_Typ) and then [modulus ??] (Comp_Typ) = 2**8 then [ go ahead with some unchecked conversion to String ] return [the right thing]; end if; end if; Now, I have no experience with building GNAT, from the GCC tree. Would someone like to help ? Or is it easy to on Windows (currently, no Linux available on my side) ? TIA _________________________________________________________ Gautier's Ada programming -- http://sf.net/users/gdemont/ NB: For a direct answer, e-mail address on the Web site!
From: Ludovic Brenta on 17 Nov 2009 08:26 Gautier wrote on comp.lang.ada: > Now, I have no experience with building GNAT, from the GCC tree. > Would someone like to help ? > Or is it easy to on Windows (currently, no Linux available on my > side) ? > TIA http://goodbye-microsoft.com/ :) *ducks and hides* -- Ludovic Brenta.
From: Gautier write-only on 26 Nov 2009 08:23
> I have an idea about how to patch GNAT on this. Someone might be quicker than me in doing that... Just in case, another good place (or even a better one) for inserting the shortcut would be: Build_Array_Read_Write_Procedure in exp_strm.adb . Multi-dimensional arrays could be considered there as well, if they comply of course. _________________________________________________________ Gautier's Ada programming -- http://sf.net/users/gdemont/ NB: For a direct answer, e-mail address on the Web site! |