Catching SEGVs with __try/__except is MSVC only, not general C++
authorNicholas Clark <nick@ccl4.org>
Thu, 14 Apr 2011 13:19:15 +0000 (14:19 +0100)
committerNicholas Clark <nick@ccl4.org>
Sat, 16 Apr 2011 14:01:51 +0000 (15:01 +0100)
commit1a36ac09c25a034362359c60d9f6599073d3108f
tree007026cb30dc241a2524ba024fdeccf4cc53f0ea
parent795fc84c62c127116baa0def5dfb7e52a6e5221d
Catching SEGVs with __try/__except is MSVC only, not general C++

__try/__except is an MSVC extension to C++ *and* C, and is orthogonal to
"regular" C++ exception handling. As there's no way to catch a SEGV with
C++ exceptions (certainly not portably), and __try/__except is available in C,
there's nothing to be gained from using C++ exceptions, and hence making the
code require a C++ compiler. Hence remove the logic from Makefile.PL to force
compilation with a C++ compiler, which didn't even work well on "both" kinds of
OS, as it assumed that the C compiler was named *exactly* qr/\Ag?cc\z/, and
that the analogous C++ compiler was available and named g++.

[Which isn't true when it's named 'ccache gcc', 'gcc-mp-4.6' etc, or when cc
isn't gcc]
CHANGES
Makefile.PL
README
Size.xs
lib/Devel/Size.pm