From: Paul Eggert Date: Sat, 18 May 2002 00:56:47 +0000 (+0000) Subject: (AC_CHECK_MEMBER): Work correctly even if the member is itself an X-Git-Tag: AUTOCONF-2.53b~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=970e96bd212c43cdcacc326c1e969d4780cfcd54;p=thirdparty%2Fautoconf.git (AC_CHECK_MEMBER): Work correctly even if the member is itself an aggregate. Bug reported by Sergey Poznyakoff. This improves on an earlier suggestion by H. Peter Anvin. --- diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 index d58a541fd..e3b6a5328 100644 --- a/lib/autoconf/types.m4 +++ b/lib/autoconf/types.m4 @@ -434,7 +434,14 @@ dnl ac_aggr.MEMBER; if (ac_aggr.m4_bpatsubst([$1], [^[^.]*\.])) return 0;])], [AS_VAR_SET(ac_Member, yes)], - [AS_VAR_SET(ac_Member, no)])]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])], +[dnl AGGREGATE ac_aggr; +static m4_bpatsubst([$1], [\..*]) ac_aggr; +dnl sizeof ac_aggr.MEMBER; +if (sizeof ac_aggr.m4_bpatsubst([$1], [^[^.]*\.])) +return 0;])], + [AS_VAR_SET(ac_Member, yes)], + [AS_VAR_SET(ac_Member, no)])])]) AS_IF([test AS_VAR_GET(ac_Member) = yes], [$2], [$3])dnl AS_VAR_POPDEF([ac_Member])dnl ])# AC_CHECK_MEMBER