X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2FChangeLog;h=2c182f9bd53190f9a6828104cc39da9e944bf57f;hb=7926b523071cfc66fa2252b51a8d51ffd9df7219;hp=4d22d834c986e0f8e53fbf4ea7d6a3d47d22e9bb;hpb=52bcc4fca9336df9167ed2f5d0aeaeaf874302c2;p=gnulib.git diff --git a/lib/ChangeLog b/lib/ChangeLog index 4d22d834c..2c182f9bd 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,651 @@ +2006-01-09 Paul Eggert + + Sync from coreutils. + * chdir-long.c (cdb_free): Don't bother trying to open directory + for write access: POSIX says that must fail. + * fts.c (diropen): Likewise. + * save-cwd.c (save_cwd): Likewise. + * chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as + well, for minor improvements on hosts that lack O_DIRECTORY. + * chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: + Don't try O_WRONLY unless O_RDONLY failed wth EACCES. + Fall back on chown if open failed with EACCES. + + * gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: + Report an error at compile-time if only a 1-second nominal clock + resolution is found. + + * lchmod.h: New file. + * mkdir-p.c: Include lchmod.h, lchown.h. + (make_dir_parents): Use lchown rather than chown, and + lchmod rather than chmod. + + * mountlist.c (ME_DUMMY): "none" and "proc" file systems are dummies + too. Problem with "none" reported by Bob Proulx. Problem with + "proc" reported by n0dalus. + + * mountlist.c: Include . + (dev_from_mount_options) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: + New function. It no longer assumes "dev=" has the System V meaning + on Linux (since it doesn't). It also parses "dev=" more carefully. + (read_file_system_list) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. + MOUNTED_GETMNTENT2 is new here; the code didn't used to look for + dev= in that case. + + * posixtm.h (PDS_PRE_2000): New macro. + * posixtm.c (year): Arg is now syntax_bits rather than allow_century. + All usages changed. Reject dates outside the range 1969-1999 if + PDS_PRE_2000 is used. + +2006-01-09 Jim Meyering + + Sync from coreutils. + + * version-etc.c (COPYRIGHT_YEAR): Update to 2006. + + Rewrite fts.c not to change the current working directory, + by using openat, fstatat, fdopendir, etc.. + + * fts.c [! _LIBC]: Include "openat.h", "unistd--.h", and "fcntl--.h". + [_LIBC] (fchdir): Don't undef or define; no longer used. + (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. + Now, this `function' always succeeds, and consumes its file descriptor + parameter -- so callers must not close such FDs. Update callers. + (diropen_fd, opendirat, cwd_advance_fd): New functions. + (diropen): Add parameter, SP. Adjust all callers. + Implement using diropen_fd, rather than open. + (fts_open): Initialize new member, fts_cwd_fd. + Remove fts_rft-setting code. + (fts_close): Close fts_cwd_fd, if necessary. + (__opendir2): Define in terms of opendir or opendirat, + depending on whether the FST_NOCHDIR flag is set. + (fts_build): Since fts_safe_changedir consumes its FD, and since + this code must do `closedir(dirp)', dup the dirfd(dirp) argument, + and close the dup'd file descriptor upon failure. + (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. + (fts_safe_changedir): Tweak semantics to reflect that this function + now calls cwd_advance_fd and hence consumes its FD argument. + * fts_.h [struct FTS] (fts_cwd_fd): New member. + (fts_rft): Remove now-unused member. + + * openat.c (fchownat): New function. + * openat.h (fchmodat, fchownat): Declare. + (chmodat, lchmodat): Define convenience functions. + (chownat, lchownat): Likewise. + + * chdir-safer.h, chdir-safer.c: New files. + + * modechange.c (mode_compile): Reject an invalid mode string + that starts with an octal digit. From Andreas Gruenbacher. + + * openat.c: Include "fcntl--.h" and "unistd--.h", to map open + and dup to open_safer and dup_safer, respectively. + (openat_permissive): Fix typo in comment. + + * openat.c: Don't include , , , + "gettext.h"; either no longer needed or are guaranteed by openat.h. + (_): Remove; no longer needed. + (openat): Renamed from rpl_openat; no need for rpl_openat + since openat.h renames openat for us. + Replace most of the body with a call to openat_permissive, + to avoid duplicate code. + Port to (probably hypothetical) environments were mode_t is + wider than int. + (openat_permissive): Require mode arg, so that we can check + types better. Put it just after flags. Change cwd failure + indicator from pointer-to-bool to pointer-to-errno-value. + All callers changed. + Invoke openat_save_fail and/or openat_restore_fail if + cwd_errno is null, so that openat can call us. + (openat_permissive, fdopendir, fstatat, unlinkat): + Simplify errno handling to avoid some duplicate code, + as it's OK to set errno on success. + * openat.h: Revamp code so that function macros depend on + __OPENAT_PREFIX only, not also on AT_FDCWD. + (openat_ro): Remove. Caller changed to use openat_permissive. + (openat_permissive): Now a macro, if not a function. + (openat_restore_fail, openat_save_fail): Now always functions, + since mkdirat needs them even if __OPENAT_PREFIX is defined. + + * openat-priv.h: New file, defining macros used by mkdirat.c + and openat.c. + * mkdirat.c: Include openat-priv.h. + Remove definitions of macros defined therein. + * openat.c: Likewise. + + * mkdirat.c (mkdirat): New file and function. + * openat.h (mkdirat): Declare. + + * openat.c (fdopendir): Don't change errno when returning non-NULL. + + * openat.h (openat_permissive): Declare. + (openat_ro): Define. + + * openat.c (EXPECTED_ERRNO): New macro. + (openat_permissive): New function -- used in remove.c rewrite. + (all functions): Set errno just before returning, only if there + was an actual failure. + Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. + + Emulate openat-family functions using Linux's procfs, if possible. + Idea and some code based on Ulrich Drepper's glibc changes. + + * openat.c: (BUILD_PROC_NAME): New macro. + Include , , "alloca.h" and "intprops.h". + (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, + before falling back on save_cwd and restore_cwd. + (fdopendir, fstatat, unlinkat): Likewise. + + * openat.c (fstatat, unlinkat): Perform the syscall directly, + skipping the save_cwd...restore_cwd overhead, if FILE is absolute. + + * openat.c (rpl_openat): Use the promoted type (int), not mode_t, + as second argument to va_arg. Otherwise, some versions of gcc + warn that `if this code is reached, the program will abort'. + +2006-01-09 Andreas Gruenbacher + + Sync from coreutils. + + Add POSIX ACL support + * acl.h (copy_acl, set_acl): Add declarations. + * acl.c (acl_entries): Add fallback implementation for POSIX ACL + systems other than Linux. + (chmod_or_fchmod): New function: use fchmod when possible, + and chmod otherwise. + (file_has_acl): Add a POSIX ACL implementation, with a + Linux-specific subcase. + (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and + S_ISVTX from one file to another. Fall back to fchmod/chmod when + acls are unsupported. + (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and + S_ISVTX to a defined value. Fall back to fchmod/chmod when acls + are unsupported. + +2006-01-09 Bruno Haible + + * sysexit_.h (EX_OK): New macro. + Suggested by Martin Lambers . + +2006-01-09 Bruno Haible + + * javacomp.sh.in: Move to ../build-aux/javacomp.sh.in. + * javaexec.sh.in: Move to ../build-aux/javaexec.sh.in. + * csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in. + * csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in. + +2006-01-09 Bruno Haible + + * stdint_.h (SIZE_MAX): Write the value without involving negative + numbers. + +2005-10-16 Bruno Haible + + * stdint_.h: On Linux libc4 and libc5, include and + don't define _STDINT_H_NEED_SIGNED_INT_TYPES. + +2006-01-04 Paul Eggert + + * strftime.c (tzname): Don't declare if it is already #defined. + Problem reported for Mingw by Mark Junker. + +2006-01-03 Paul Eggert + + * xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use + long int, not int, for nanosecond counts, so that people who are + used to POSIX struct timespec won't be surprised. Reported by Jim + Meyering. + +2005-12-16 Jim Meyering + + * fprintftime.c, fprintftime.h: New files. + +2005-12-10 Sergey Poznyakoff + + * argp-fmtstream.c (__argp_fmtstream_update): Fix coredump + * argp-help.c (fill_in_uparams): Check if the constructed + struct uparams is valid. Fall back to the default values if it is + not. + +2005-12-09 Sergey Poznyakoff + + * argp-help.c (__argp_base_name): New function + (__argp_short_program_name): Rewrite using __argp_base_name + * argp-namefrob.h: Define program_invocation_name and + program_invocation_short_name if requested + (__argp_base_name): Add prototype + * argp-parse.c (argp_def): Use gettext wrappers + (argp_default_parser): Use __argp_base_name + * argp-pin.c: New file. Defines program_invocation_name and + program_invocation_short_name on systems that lack them. + +2005-12-07 Paul Eggert + + * stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . + +2005-07-09 Bruno Haible + + * csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix. + * csharpcomp.c (compile_csharp_using_sscli): Likewise. + Reported by Mark Junker . + +2005-11-29 Paul Eggert + + * stdint_.h (intmax_t) [defined intmax_t]: Do not declare. + (uintmax_t) [defined uintmax_t]: Do not declare. + (SIZE_MAX) [defined SIZE_MAX]: Do not define. + This works around a problem if intmax_t.m4 and/or uintmax_t.m4 + and/or size_max.m4 are also used. Problem reported by Mark D. Baushke. + (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the + sake of portability to weird hosts that C allows (though we don't + know of any practical examples). + + * savedir.h (fdsavedir): New decl. + * savedir.c (fdsavedir, savedirstream): New functions; the latter + contains most of the former guts of savedir. + (savedir): Use savedirstream. + Include "openat.h". + +2005-11-15 Paul Eggert + + * xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as + coreutils no longer futzes with rounding modes. + +2005-11-14 Jim Meyering + + * mkstemp-safer.c: Include , required for possible + replacement of mkstemp. + +2005-11-10 Paul Eggert + + * gethrxtime.c: Include "timespec.h" rather than the sys/time / time + business. + (gethrxtime) [! (HAVE_NANOUPTIME + || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) + || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling + our own approximation. + +2005-11-10 Simon Josefsson + + * readline.c: Remove EOL. + +2005-11-08 Eric Blake + + * inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-08 Eric Blake + + * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-10-30 Paul Eggert + + Fix porting problem reported by Theodoros V. Kalamatianos. + * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: + Don't assume that futimes failing means we must fail. + +2005-10-29 Paul Eggert + + * getcwd.c (__getcwd): Don't assume that system calls after readdir + leave errno alone. Problem reported by Dmitry V. Levin. + +2005-10-28 Paul Eggert + + * savedir.c (savedir): Don't assume that xrealloc etc. leave + errno alone. Problem reported by Frederic Jolliton. + +2005-10-28 Simon Josefsson + + * inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add + "restrict" keywords, as per POSIX. Protect the function + declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP. + Don't use K&R prototypes. Check the sprintf return values. + Re-define EAFNOSUPPORT if not present. Indent. + + * md5.h, md5.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + + * gc-gnulib.c, gc-libgcrypt.c: Check calloc return value. + + * gc.h: Add MD2 and RMD160 length defines. Add prototypes. + + * gc-libgcrypt.c: Add MD2 (which is not available through + libgcrypt). + + * gc-gnulib.c: Add MD2. Implement gc_hash_* API. + + * md2.h, md2.c: New files. + +2005-10-24 Simon Josefsson + + * md4.h: Shrink buffer size, now that we changed the type. + +2005-10-22 Simon Josefsson + + * arcfour.h, arcfour.c: Use fixed size indices in the + arcfour_context struct (simplify test vector testing in GNU + Shishi). + +2005-10-22 Simon Josefsson + + * md4.h, md4.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . + +2005-10-22 Simon Josefsson + + * crc.h: Include stddef.h, for size_t. + +2005-10-21 Simon Josefsson + + * arctwo.h (arctwo_setkey): Protect variable in CPP macro, + suggested by Ralf Wildenhues . + +2005-10-21 Simon Josefsson + + * rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. + +2005-10-21 Simon Josefsson + + * gc-gnulib.c: Support ARCTWO in CBC mode. + +2005-10-21 Simon Josefsson + + * hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible + . + + * hmac-sha1.c (hmac_sha1): Likewise. + + * crc.c (crc32_update): Actually use crc parameter, suggested by + Bruno Haible . + + * crc.h: Include stdint.h directly, suggested by Bruno Haible + . + +2005-10-21 Simon Josefsson + + * des.h, des.c: New files. + + * gc-gnulib.c: Support DES.c + +2005-10-21 Simon Josefsson + + * arctwo.h, arctwo.c: New files. + + * gc-gnulib.c: Support ARCTWO. + +2005-10-21 Simon Josefsson + + * gc-libgcrypt.c (gc_cipher_open): Handle ECB. + +2005-10-19 Simon Josefsson + + * gc-gnulib.c: Support ARCFOUR. + +2005-10-19 Simon Josefsson + + * gc-gnulib.c: Implement gc_cipher_* API, currently only with AES + support. + + * gc.h: Add ECB enum type. + + * hmac-md5.c, hmac-sha1.c: Include memxor.h. + +2005-10-19 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. + +2005-10-18 Simon Josefsson + + * md4.h, md4.c: New files, based on md5.?. + +2005-10-17 Simon Josefsson + + * gc-libgcrypt.c (gc_hmac_sha1): Fix assert. + + * gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes. + +2005-10-17 Simon Josefsson + + * gc.h, gc-libgcrypt.c: Add more hash types/functions. + +2005-10-17 Simon Josefsson + + * gc.h, gc-libgcrypt.c: Add ciphers. + +2005-10-17 Simon Josefsson + + * sha1.c: Use uint32_t instead of md5_uint32.t + + * sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from + md5.h. + + * md5.c: Use uin32_t. Fix non-gcc UNALIGNED_P macro. + + * md5.h: Use stdint.h and uint32_t. Doc fix. + +2005-10-15 Simon Josefsson + + * rijndael-api-fst.h, rijndael-api-fst.c: New files. + + * rijndael-alg-fst.h, rijndael-alg-fst.c: New files. + +2005-10-14 Simon Josefsson + + * arcfour.h, arcfour.c: New files. + +2005-10-14 Paul Eggert + + * obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't + include ; no longer needed. + +2005-10-14 Jakub Jelinek + and Ulrich Drepper + + Import from libc. + * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf + instead of inline stream orientation test and two separate + function calls. Pay no attention to USE_IN_LIBIO. + +2005-10-14 Roland McGrath + + Import from libc. [BZ #1331] + * obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed + macro argument. + Reported by Matej Vela . + +2005-10-13 Paul Eggert + + * mkdir-p.c (make_dir_parents): Don't report an error if an + intermediate directory is in a read-only file system. Problem + reported by Eric Blake. + +2005-10-13 Simon Josefsson + + * gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. + Move memory allocation outside of loop. + +2005-10-12 Simon Josefsson + + * gc-pbkdf2-sha1.c: New file. + + * gc.h: Add gc_pbkdf2_sha1 prototype. + +2005-10-12 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, + suggested by Bruno Haible . + +2005-10-12 Simon Josefsson + + * gc-libgcrypt.c (gc_hmac_sha1): New function. + + * gc-gnulib.c (gc_hmac_sha1): New function. + +2005-10-12 Simon Josefsson + + * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. + +2005-10-12 Simon Josefsson + + * gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and + GC_USE_HMAC_MD5, respectively. + + * gc-libgcrypt.c (gc_md5): Fix assert call. + (gc_md5): Fix typo. + + * gc.h (gc_hash_buffer): Use gc_hash in prototype. + + * gc-libgcrypt.c (gc_hash_buffer): Ditto. + + * gc-gnulib.c (gc_hash_buffer): Ditto. + +2005-10-11 Bruno Haible + + * c-strcasestr.h: New file, from GNU gettext. + * c-strcasestr.c: New file, from GNU gettext. + +2005-10-11 Bruno Haible + + * c-strcase.h: New file, from GNU gettext. + * c-strcasecmp.c: New file, from GNU gettext. + * c-strncasecmp.c: New file, from GNU gettext. + +2005-10-11 Simon Josefsson + + * crc.h, crc.c: New files. + + * gc.h (gc_hash_buffer): Add doc. + +2005-10-08 Simon Josefsson + + * gc.h: Add gc_hash and gc_hash_buffer. + + * gc-gnulib.c (gc_hash_buffer): Add. Reorder #include's. + + * gc-libgcrypt.c (gc_hash_buffer): Add. + +2005-10-11 Bruno Haible + + * strcasecmp.c: Include limits.h. + (strcasecmp): Avoid integer overflow on exotic platforms. + * strncasecmp.c: Include limits.h. + (strncasecmp): Avoid integer overflow on exotic platforms. + Reported by Paul Eggert. + +2005-10-06 Simon Josefsson + + * hmac-md5.c: New file. + + * hmac.h: New file. + +2005-10-06 Simon Josefsson + + * memxor.c (memxor): Avoid casts and warnings. + +2005-10-05 Derek Price + + * getdelim.c (SIZE_MAX): New macro, if not already defined. + +2005-10-05 Simon Josefsson + + * memxor.c (memxor): Fix compiler error. + + * md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also + . + + * memxor.h, memxor.c: New files. + + * getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H, + we assume all systems have it, suggested by Jim Meyering + . Remove HAVE_SYS_SOCKET_H test too, to see if + any systems lack sys/socket.h; mingw32 is known to lack it, but we + don't support it yet anyway. Also remove HAVE_NETDB_H test, for + same reasons. + +2005-10-04 Bruno Haible + + * verify.h (verify_true): Provide alternative definition for C++. + +2005-10-04 Simon Josefsson + + * getaddrinfo.h: Move sys/types.h include first, reported by "Mark + D. Baushke" . + +2005-10-03 Paul Eggert + + * getdelim.c: Include getdelim.h first. Include . + (SSIZE_MAX): New macro, if not already defined. + (getdelim): Fix buffer overrun on 64-bit hosts with lines longer + than 2 GiB. + +2005-10-02 Paul Eggert + + * exclude.c: Include verify.h. + (verify): Remove. All callers changed to use verify.h's version. + * strtoimax.c: Likewise. + * utimecmp.c: Likewis.e + + Sync from coreutils. + * .cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, getpass.c + mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. + * .cvsignore: Add fts.h, search.h, t-fpending. + * settime.c (settime): Fix { typo in previous patch. Also, don't + bother returning ENOSYS if settimeofday or stime fails; just let + them return whatever errno they want to return. + * utimens.c: Include unistd.h, for dup2. + (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. + (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. + +2005-10-02 Jim Meyering + + Sync from coreutils. + * fts-cycle.c [HAVE_CONFIG_H]: Include . + * openat-die.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H'. + * openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. + Remove AT_FDCWD test. + Do not consume the fd unless successful. + * openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. + * settime.c (settime): Move the HAVE_STIME block `up' into an #elif + block, so that we don't even try to compile it if settimeofday is + available. This works around a compilation failure on OSF1 V5.1, + due to stime requiring a `long int*' while tv_sec is `int'. + +2005-09-30 Eric Blake (tiny change) + + * getdelim.c (getdelim): Remove unused variables. + +2005-10-01 Simon Josefsson + + * getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. + Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect + AI_* and EAI_* definitions. Protect function declarations. + +2005-09-29 Paul Eggert + + * xtime.h (XTIME_PRECISION): Now of type int, not long long int, + so that the code works even with ancient cpp. Portability problem + with GCC 2.7.2.1 reported by Thomas M.Ott. + +2005-09-27 Jim Meyering + + * getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef HAVE_CONFIG_H. + + * intprops.h (signed_type_or_expr__): Define. + (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound + for unsigned types. + +2005-09-26 Paul Eggert + + * verify.h (verify_expr): Remove, replacing with: + (verify_true): New macro that returns true instead of void. + (verify_type__): Remove. + (verify): Use verify_true rather than verify_type__. + 2005-09-24 Paul Eggert * utimens.c (ENOSYS): Define if not already defined. @@ -2694,7 +3342,7 @@ 2004-09-08 Bruno Haible - * stdint_.h.in: New file, taken from GNU clisp. + * stdint_.h: New file, taken from GNU clisp. 2004-09-08 Oskar Liljeblad @@ -6578,7 +7226,7 @@ * exclude.c (bool): Declare, perhaps by including stdbool.h. (): Include only if HAVE_SYS_TYPES_H. (, , , , ): - Include if available. + Include if available. (): Include (SIZE_MAX): Define if or doesn't. (verify): New macro. Use it to verify that EXCLUDE macros do not