]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
(AC_CHECK_MEMBER): Work correctly even if the member is itself an
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 18 May 2002 00:56:47 +0000 (00:56 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 18 May 2002 00:56:47 +0000 (00:56 +0000)
aggregate.  Bug reported by Sergey Poznyakoff.  This improves on an
earlier suggestion by H. Peter Anvin.

lib/autoconf/types.m4

index d58a541fd5052f06213065f5fad0469446be8315..e3b6a5328f8942c094f6f7cec502675988d4414d 100644 (file)
@@ -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