summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-08-03 15:21:59 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2020-08-03 19:08:58 -0700
commita1436544ff826b8c51242f4afb7c5d485c8e2e32 (patch)
tree05806e744974863a62ef5b2e903b062ca2c7545f /src/lisp.h
parenta4ed198e8f3754a59cabbb03ab6bae8a49597ee0 (diff)
downloademacs-a1436544ff826b8c51242f4afb7c5d485c8e2e32.tar.gz
Simplify use of __lsan_ignore_object
* configure.ac: Use AC_CHECK_FUNCS_ONCE for __lsan_ignore_object. * src/buffer.c, src/data.c, src/emacs-module.c, src/regex-emacs.c: * src/search.c: Use __lsan_ignore_object unconditionally, and don’t include sanitizer/lsan_interface.h. * src/lisp.h (__lsan_ignore_object): Provide a dummy in the typical case where leak sanitization is not available.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h
index fdf69ab7368..22ddf3e5faf 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4789,6 +4789,17 @@ lispstpcpy (char *dest, Lisp_Object string)
return dest + len;
}
+#if (defined HAVE___LSAN_IGNORE_OBJECT \
+ && defined HAVE_SANITIZER_LSAN_INTERFACE_H)
+# include <sanitizer/lsan_interface.h>
+#else
+/* Treat *P as a non-leak. */
+INLINE void
+__lsan_ignore_object (void const *p)
+{
+}
+#endif
+
extern void xputenv (const char *);
extern char *egetenv_internal (const char *, ptrdiff_t);