diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2007-02-01 12:00:52 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2007-02-01 12:00:52 +0000 |
commit | 1620e443a06a157a55c4029f91277121bd1a3960 (patch) | |
tree | 90e01c778147c0ea61defe6d98bf0953eaf5e2d3 /gnu | |
parent | 7ad1e7bb58b76857a57b6dd97f43bcdf21b4a242 (diff) |
Ignore HASATTRIBUTE_UNUSED for C++ as our g++ does not grok
the __unused__ attribute. Also give XS functions C linkage.
Patch taken from perl-current.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/usr.bin/perl/XSUB.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gnu/usr.bin/perl/XSUB.h b/gnu/usr.bin/perl/XSUB.h index 2a8e90c7f06..547f2d3722b 100644 --- a/gnu/usr.bin/perl/XSUB.h +++ b/gnu/usr.bin/perl/XSUB.h @@ -91,10 +91,14 @@ handled automatically by C<xsubpp>. #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) # define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) #else -# ifdef HASATTRIBUTE_UNUSED +# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) # define XS(name) void name(pTHX_ CV* cv __attribute__unused__) # else -# define XS(name) void name(pTHX_ CV* cv) +# ifdef __cplusplus +# define XS(name) extern "C" void name(pTHX_ CV* cv) +# else +# define XS(name) void name(pTHX_ CV* cv) +# endif # endif #endif |