This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Split __declspec(dllimport,noreturn) into 2 parts
authorJan Dubois <jand@activestate.com>
Mon, 30 Jul 2012 23:08:01 +0000 (16:08 -0700)
committerJan Dubois <jand@activestate.com>
Mon, 30 Jul 2012 23:09:00 +0000 (16:09 -0700)
I thought I did test commit 12a2785c with VC6 and it built without
errors, but I can no longer reproduce this.  Checking standard
CRT headers shows common usage (e.g. for longjmp() in setjmp.h) is
"__declspec(dllimport) __declspec(noreturn)", so let's use that
one instead.

win32/win32.h [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 2c821eb..877db5f
 #  ifdef __cplusplus
 #    define PERL_CALLCONV extern "C" __declspec(dllimport)
 #    ifdef _MSC_VER
 #  ifdef __cplusplus
 #    define PERL_CALLCONV extern "C" __declspec(dllimport)
 #    ifdef _MSC_VER
-#      define PERL_CALLCONV_NO_RET extern "C" __declspec(dllimportnoreturn)
+#      define PERL_CALLCONV_NO_RET extern "C" __declspec(dllimport) __declspec(noreturn)
 #    endif
 #  else
 #    define PERL_CALLCONV __declspec(dllimport)
 #    ifdef _MSC_VER
 #    endif
 #  else
 #    define PERL_CALLCONV __declspec(dllimport)
 #    ifdef _MSC_VER
-#      define PERL_CALLCONV_NO_RET __declspec(dllimportnoreturn)
+#      define PERL_CALLCONV_NO_RET __declspec(dllimport) __declspec(noreturn)
 #    endif
 #  endif
 #endif
 #    endif
 #  endif
 #endif