diff options
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | include/ruby/defines.h | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 2c0fc2ae07..5b21e47c88 100644 --- a/configure.ac +++ b/configure.ac @@ -984,6 +984,7 @@ AC_CHECK_HEADERS(net/socket.h) AC_CHECK_HEADERS(process.h) AC_CHECK_HEADERS(pwd.h) AC_CHECK_HEADERS(setjmpex.h) +AC_CHECK_HEADERS(stdalign.h) AC_CHECK_HEADERS(sys/attr.h) AC_CHECK_HEADERS(sys/fcntl.h) AC_CHECK_HEADERS(sys/file.h) @@ -1279,13 +1280,16 @@ AC_CACHE_CHECK([for alignof() syntax], rb_cv_have_alignof,[ rb_cv_have_alignof=no RUBY_WERROR_FLAG([ for expr in \ - "_Alignof" \ "alignof" \ + "_Alignof" \ "__alignof" \ "__alignof__" \ ; do - AC_TRY_COMPILE([],[return (int)$expr(int);], + AC_TRY_COMPILE([ + @%:@ifdef HAVE_STDALIGN_H + @%:@include <stdalign.h> + @%:@endif],[return (int)$expr(int);], [rb_cv_have_alignof="$expr"; break], []) done ])]) diff --git a/include/ruby/defines.h b/include/ruby/defines.h index 375e039d4b..eb25d6e3eb 100644 --- a/include/ruby/defines.h +++ b/include/ruby/defines.h @@ -135,6 +135,9 @@ extern "C" { #ifdef HAVE_STDINT_H # include <stdint.h> #endif +#ifdef HAVE_STDALIGN_H +# include <stdalign.h> +#endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif |