#endif
#endif // WARN_UNUSED_RESULT
+// Put after a variable that might not be used, to prevent compiler warnings:
+// int result UNUSED = DoSomething();
+// assert(result == 17);
+#ifndef UNUSED
+#ifdef __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
+#endif
+
+// Annotate a function that will not return control flow to the caller.
+#if defined(_MSC_VER)
+#define NO_RETURN __declspec(noreturn)
+#elif defined(__GNUC__)
+#define NO_RETURN __attribute__((noreturn))
+#else
+#define NO_RETURN
+#endif
+
#endif // WEBRTC_TYPEDEFS_H_