+2009-08-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Ensure we do not regress with AC_CHECK_MEMBERS.
+ * tests/semantics.at (AC_CHECK_MEMBERS): Expose the recent
+ AC_CHECK_MEMBERS fix.
+ (AC_CHECK_MEMBER): New test group.
+
2009-08-10 Jeff Squyres <jsquyres@cisco.com> (tiny change)
Fix typo in AC_REQUIRE description.
AT_CLEANUP
+# AC_CHECK_MEMBER
+# ----------------
+# Check that it performs the correct actions.
+# Must define HAVE_STRUCT_YES_S_YES, but not HAVE_STRUCT_YES_S_NO.
+AT_CHECK_MACRO([AC_CHECK_MEMBER],
+[[AC_CHECK_MEMBER([struct yes_s.yes],
+ [AC_DEFINE([HAVE_STRUCT_YES_S_YES], [1],
+ [Define to 1 if `yes' is a member of `struct yes_s'.])],,
+ [struct sub { int x; };
+ struct yes_s { int yes; struct sub substruct; };])
+ AC_CHECK_MEMBER([struct yes_s.no],
+ [AC_DEFINE([HAVE_STRUCT_YES_S_NO], [1],
+ [Define to 1 if `no' is a member of `struct yes_s'.])],,
+ [struct sub { int x; };
+ struct yes_s { int yes; struct sub substruct; };])
+ AC_CHECK_MEMBER([struct yes_s.substruct],
+ [AC_DEFINE([HAVE_STRUCT_YES_S_SUBSTRUCT], [1],
+ [Define to 1 if `substruct' is a member of `struct yes_s'.])],,
+ [struct sub { int x; };
+ struct yes_s { int yes; struct sub substruct; };])]],
+[AT_CHECK_DEFINES(
+[/* #undef HAVE_STRUCT_YES_S_NO */
+#define HAVE_STRUCT_YES_S_SUBSTRUCT 1
+#define HAVE_STRUCT_YES_S_YES 1
+])])
+
# AC_CHECK_MEMBERS
# ----------------
# Check that it performs the correct actions.
[/* #undef HAVE_STRUCT_YES_S_NO */
#define HAVE_STRUCT_YES_S_SUBSTRUCT 1
#define HAVE_STRUCT_YES_S_YES 1
-])])
+])
+AT_CHECK([grep 'yes.*member of.*yes_s' config.h], [], [ignore])
+])
# AC_CHECK_ALIGNOF