Nick Bowler <nbow...@elliptictech.com> writes:

> C11 also provides max_align_t, which is *probably* what you are looking
> for but obviously isn't available everywhere.  Anyway, on older
> implementations without max_align_t, the following type is probably a
> "good enough" substitute for it:

>   union {
>     char a;
>     short b;
>     int c;
>     long d;
>     long long e;
>     float f;
>     double g;
>     long double h;
>     void *i;
>   }

I would add a function pointer, but yes.

> You could use AC_CHECK_TYPE to test for max_align_t, then use
> AC_CHECK_ALIGNOF on the above monster if it is not available.

> You may also want to test for long long availability before
> including it in the union...

And long double, which IIRC is more of a portability issue than long long.

-- 
Russ Allbery (r...@stanford.edu)             <http://www.eyrie.org/~eagle/>

_______________________________________________
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf

Reply via email to