diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
index 6d686e3ed..363c8d605 100644
--- a/documentation/RELEASE_NOTES.html
+++ b/documentation/RELEASE_NOTES.html
@@ -15,9 +15,18 @@ EPICS Base 3.15.0.x releases are not intended for use in production systems.
Changes between 3.15.0.1 and 3.15.0.2
+Added macro EPICS_UNUSED to compilerDependencies.h
+
+To prevent the compiler from warning about a known-unused variable, mark it
+with the macro EPICS_UNUSED. On gcc and clang this will expand to
+__attribute__((unused)) to prevent the warning.
+
User specified db substitution file suffix
-Per Dirk Zimoch's suggestion, a user specified db substitution file suffix is now allowed by setting the variable SUBST_SUFFIX in a configuration directory CONFIG_SITE file or in a Makefile before the include $(TOP)/configure/RULES line. The default is SUBST_SUFFIX=.substitutions.
+Per Dirk Zimoch's suggestion, a user specified db substitution file suffix is
+now allowed by setting the variable SUBST_SUFFIX in a configuration directory
+CONFIG_SITE file or in a Makefile before the include $(TOP)/configure/RULES
+line. The default for SUBST_SUFFIX is .substitutions
NTP Time Provider adjusts to OS tick rate changes
diff --git a/src/libCom/osi/compiler/clang/compilerSpecific.h b/src/libCom/osi/compiler/clang/compilerSpecific.h
index 9c6b237c5..482ee513e 100644
--- a/src/libCom/osi/compiler/clang/compilerSpecific.h
+++ b/src/libCom/osi/compiler/clang/compilerSpecific.h
@@ -45,5 +45,9 @@
*/
#define EPICS_DEPRECATED __attribute__((deprecated))
+/*
+ * Unused marker
+ */
+#define EPICS_UNUSED __attribute__((unused))
#endif /* ifndef compilerSpecific_h */
diff --git a/src/libCom/osi/compiler/gcc/compilerSpecific.h b/src/libCom/osi/compiler/gcc/compilerSpecific.h
index efd17e4b2..6696c7a89 100644
--- a/src/libCom/osi/compiler/gcc/compilerSpecific.h
+++ b/src/libCom/osi/compiler/gcc/compilerSpecific.h
@@ -60,5 +60,9 @@
# define EPICS_DEPRECATED __attribute__((deprecated))
#endif
+/*
+ * Unused marker
+ */
+#define EPICS_UNUSED __attribute__((unused))
#endif /* ifndef compilerSpecific_h */
diff --git a/src/libCom/osi/compilerDependencies.h b/src/libCom/osi/compilerDependencies.h
index c91133996..bb077fbf0 100644
--- a/src/libCom/osi/compilerDependencies.h
+++ b/src/libCom/osi/compilerDependencies.h
@@ -58,5 +58,8 @@
#define EPICS_DEPRECATED
#endif
+#ifndef EPICS_UNUSED
+# define EPICS_UNUSED
+#endif
#endif /* ifndef compilerDependencies_h */
diff --git a/src/libCom/osi/epicsAssert.h b/src/libCom/osi/epicsAssert.h
index db071d6cb..a16c036ec 100644
--- a/src/libCom/osi/epicsAssert.h
+++ b/src/libCom/osi/epicsAssert.h
@@ -18,6 +18,7 @@
#define INC_epicsAssert_H
#include "shareLib.h"
+#include "compilerDependencies.h"
#ifdef __cplusplus
extern "C" {
@@ -48,7 +49,7 @@ epicsShareFunc void epicsAssert (const char *pFile, const unsigned line,
#define STATIC_JOIN2(x, y) x ## y
#define STATIC_ASSERT(expr) \
typedef int STATIC_JOIN(static_assert_failed_at_line_, __LINE__) \
- [ (expr) ? 1 : -1 ]
+ [ (expr) ? 1 : -1 ] EPICS_UNUSED
#ifdef __cplusplus