It turns out that the NOT_REACHED macro that is used to make sure a
statement really isn't reachable, causes the Solaris compiler to emit
such warnings. It expands to ASSUME(0), and Solaris will flag that.
This commit just changes NOT_REACHED to expand to nothing on Solaris.
# define ASSUME(x) assert(x)
#endif
-#define NOT_REACHED ASSUME(0)
+#if defined(__sun) /* ASSUME() generates warnings on Solaris */
+# define NOT_REACHED
+#else
+# define NOT_REACHED ASSUME(0)
+#endif
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define