On Thu, Mar 24, 2016 at 06:41:34PM +0000, Salz, Rich via RT wrote:

> This looks like a good change.
> 
> > This clears what looks to be hundreds of alignment related warnings like
> > below.
> > 
> > $ git diff include/openssl/lhash.h
> > diff --git a/include/openssl/lhash.h b/include/openssl/lhash.h index
> > 2edd738..5da5054 100644
> > --- a/include/openssl/lhash.h
> > +++ b/include/openssl/lhash.h
> > @@ -180,7 +180,7 @@ void lh_node_usage_stats_bio(const _LHASH *lh, BIO
> > *out);  # define LHASH_OF(type) struct lhash_st_##type
> > 
> >  # define DEFINE_LHASH_OF(type) \
> > -    LHASH_OF(type) { int dummy; }; \
> > +    LHASH_OF(type) { unsigned long dummy; }; \
> >      static ossl_inline LHASH_OF(type) * \
> >          lh_##type##_new(unsigned long (*hfn)(const type *), \
> >                          int (*cfn)(const type *, const type *)) \
> 
> Does changing it to "void *dummy" also work?

Not necessarily.  A union might be more comprehensive.

        LHASH_OF(type) {
            union {
                void *v;
                unsigned long long ull;
                uint64_t u64;
                long double ld;
            } u;
        };

using whatever types we're sure to have on all supported platforms.

-- 
        Viktor.
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to