This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Not all Win32 compilers have a small macro buffer
authorKarl Williamson <khw@cpan.org>
Fri, 4 Dec 2020 15:01:31 +0000 (08:01 -0700)
committerKarl Williamson <khw@cpan.org>
Sun, 6 Dec 2020 20:57:11 +0000 (13:57 -0700)
Commit e7ae132ec78 consolidated PERL_SMALL_MACRO_BUFFER usages, but it
omitted the _MSC_VER number at which the buffer became large enough.
Apparently it did this because Windows compilations were failing with
the error "string too long", which doesn't happen if __ASSERT_ expands
to nothing, which it does under PERL_SMALL_MACRO_BUFFER.

However,  commits 92a0bb2 and 88086fd shortened the offending strings
so later Windows compilers don't have to be considered as having small
macro buffers.

perl.h

diff --git a/perl.h b/perl.h
index 05cc4d0..e1b6b18 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -529,7 +529,7 @@ __typeof__ and nothing else.
 #  endif
 #endif
 
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && _MSC_VER < 1400
 /* XXX older MSVC versions have a smallish macro buffer */
 #define PERL_SMALL_MACRO_BUFFER
 #endif