Change 32708 by [EMAIL PROTECTED] on 2007/12/22 19:22:48
Replace our assert-which-can-be-caught-by-eval with the real deal from
the standard C library. Make ours available as Perl_assert(), if you
really want that.
assert() is only #include'd if you compile with -DDEBUGGING.
Affected files ...
... //depot/perl/perl.h#809 edit
Differences ...
==== //depot/perl/perl.h#809 (text) ====
Index: perl/perl.h
--- perl/perl.h#808~32707~ 2007-12-22 10:26:21.000000000 -0800
+++ perl/perl.h 2007-12-22 11:22:48.000000000 -0800
@@ -3760,13 +3760,21 @@
#define PERL_MAGIC_arylen_p '@' /* to move arylen out of XPVAV */
#define PERL_MAGIC_ext '~' /* Available for use by extensions */
+#if defined(DEBUGGING) && defined(I_ASSERT)
+# include <assert.h>
+#endif
+
+/* Keep the old croak based assert for those who want it, and as a fallback if
+ the platform is so hertically non-ANSI that it can't assert. */
-#ifndef assert /* <assert.h> might have been included somehow */
-#define assert(what) PERL_DEB( \
+#define Perl_assert(what) PERL_DEB( \
((what) ? ((void) 0) : \
(Perl_croak_nocontext("Assertion %s failed: file \"" __FILE__ \
"\", line %d", STRINGIFY(what), __LINE__), \
(void) 0)))
+
+#ifndef assert
+# define assert(what) Perl_assert(what)
#endif
struct ufuncs {
End of Patch.