8000 Prefer alignof() over _Alignof() · willnet/ruby@9930481 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9930481

Browse files
committed
Prefer alignof() over _Alignof()
to allow C++ programs include <ruby.h>. [Bug #14668] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent 784fdba commit 9930481

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

configure.ac

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -984,6 +984,7 @@ AC_CHECK_HEADERS(net/socket.h)
984984
AC_CHECK_HEADERS(process.h)
985985
AC_CHECK_HEADERS(pwd.h)
986986
AC_CHECK_HEADERS(setjmpex.h)
987+
AC_CHECK_HEADERS(stdalign.h)
987988
AC_CHECK_HEADERS(sys/attr.h)
988989
AC_CHECK_HEADERS(sys/fcntl.h)
989990
AC_CHECK_HEADERS(sys/file.h)
@@ -1279,13 +1280,16 @@ AC_CACHE_CHECK([for alignof() syntax], rb_cv_have_alignof,[
12791280
rb_cv_have_alignof=no
12801281
RUBY_WERROR_FLAG([
12811282
for expr in \
1282-
"_Alignof" \
12831283
"alignof" \
1284+
"_Alignof" \
12841285
"__alignof" \
12851286
"__alignof__" \
12861287
;
12871288
do
1288-
AC_TRY_COMPILE([],[return (int)$expr(int);],
1289+
AC_TRY_COMPILE([
1290+
@%:@ifdef HAVE_STDALIGN_H
1291+
@%:@include <stdalign.h>
1292+
@%:@endif],[return (int)$expr(int);],
12891293
[rb_cv_have_alignof="$expr"; break], [])
12901294
done
12911295
])])

include/ruby/defines.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ extern "C" {
135135
#ifdef HAVE_STDINT_H
136136
# include <stdint.h>
137137
#endif
138+
#ifdef HAVE_STDALIGN_H
139+
# include <stdalign.h>
140+
#endif
138141
#ifdef HAVE_UNISTD_H
139142
# include <unistd.h>
140143
#endif

0 commit comments

Comments
 (0)
0