+dnl SIMPLE_DECLS_SIMPLIFY([arg], [arg ...])
+dnl
+dnl Generate tests to validate the expected operation of the "simplify"
+dnl command. The arguments are a quoted list of quoted items, with the
+dnl first item of each list being the input declaration and the second
+dnl item being the expected simplified output.
+dnl
+dnl The items should be related to each other as the user-visible test
+dnl group name is determined only by the first argument.
+m4_define([SIMPLE_DECLS_SIMPLIFY],
+[AT_SETUP([Simplify "m4_car($1)"m4_ifnblank([$2], [ etc.])])
+AT_DATA([test.dat],
+[m4_map_args([simplify m4_curry([_SIMPLE_DECL_ARG], [1])], $@)])
+AT_DATA([expout],
+[m4_map_args([m4_curry([_SIMPLE_DECL_ARG], [2])], $@)])
+AT_CHECK([cdecl99 -f test.dat], [0], [expout])
+AT_CLEANUP])
+