On 04/22/14 03:25, Eric Botcazou wrote:
Sure, and thanks again for your help.

Thanks!

I was not able to find any difference on the generated code with
or without that patch.

Yes, my gut feeling is that TYPE_ALIGN_OK is really obsolete now.  It is set
in a single place in the compiler (gcc-interface/decl.c:gnat_to_gnu_entity):

       /* Tell the middle-end that objects of tagged types are guaranteed to
         be properly aligned.  This is necessary because conversions to the
         class-wide type are translated into conversions to the root type,
         which can be less aligned than some of its derived types.  */
       if (Is_Tagged_Type (gnat_entity)
          || Is_Class_Wide_Equivalent_Type (gnat_entity))
        TYPE_ALIGN_OK (gnu_type) = 1;

but we changed the way these conversions are done some time ago.
So does this remove the last concern around Bernd's patch?

Jeff

Reply via email to