PERL_DEBUG_READONLY_OPS is designed to catch modifications of op trees
at run time, to make sure that perl is doing things safely under
threads. (Op trees are shared between threads.)
On non-threaded perls, ops are modified regularly, which is perfectly
safe, so PERL_DEBUG_READONLY_OPS does not make any sense, and is guar-
anteed to crash.
Forcing a compilation error with cpp directives makes it obvious that
it is not intended for this PERL_DEBUG_READONLY_OPS mode to work with-
out USE_ITHREADS.
# define PERL_SAWAMPERSAND
#endif
+#if defined(PERL_DEBUG_READONLY_OPS) && !defined(USE_ITHREADS)
+# error PERL_DEBUG_READONLY_OPS only works with ithreads
+#endif
+
#include "handy.h"
#if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_RAWIO)