changeset 8810:83d0b976d9b3 v7.4.1693

commit https://github.com/vim/vim/commit/864733ad92e30cd603314604af73f25106db4c90 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 2 14:18:01 2016 +0200 patch 7.4.1693 Problem: Building the Perl interface gives compiler warnings. Solution: Remove a pragma. Add noreturn attributes. (Damien)
author Christian Brabandt <cb@256bit.org>
date Sat, 02 Apr 2016 14:30:05 +0200
parents cf5e575309da
children f252c4dbc297
files src/if_perl.xs src/version.c
diffstat 2 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -52,7 +52,6 @@
 #ifdef __GNUC__
 # pragma GCC diagnostic push
 # pragma GCC diagnostic ignored "-Wunused-variable"
-# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
 
 #include <EXTERN.h>
@@ -307,16 +306,18 @@ static void (*perl_free)(PerlInterpreter
 static int (*perl_run)(PerlInterpreter*);
 static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
 static void* (*Perl_get_context)(void);
-static void (*Perl_croak)(pTHX_ const char*, ...);
+static void (*Perl_croak)(pTHX_ const char*, ...) __attribute__noreturn__;
 #ifdef PERL5101_OR_LATER
 /* Perl-5.18 has a different Perl_croak_xs_usage signature. */
 # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-static void (*Perl_croak_xs_usage)(const CV *const, const char *const params);
+static void (*Perl_croak_xs_usage)(const CV *const, const char *const params)
+						    __attribute__noreturn__;
 # else
-static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
+static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params)
+						    __attribute__noreturn__;
 # endif
 #endif
-static void (*Perl_croak_nocontext)(const char*, ...);
+static void (*Perl_croak_nocontext)(const char*, ...) __attribute__noreturn__;
 static I32 (*Perl_dowantarray)(pTHX);
 static void (*Perl_free_tmps)(pTHX);
 static HV* (*Perl_gv_stashpv)(pTHX_ const char*, I32);
@@ -591,7 +592,9 @@ static struct {
  * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined.
  * The linker won't complain about undefined __impl_Perl_sv_free2. */
 #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
+# define PL_memory_wrap "panic: memory wrap" /* Dummy */
 # include <inline.h>
+# undef PL_memory_wrap
 #endif
 
 /*
@@ -1516,7 +1519,8 @@ SetHeight(win, height)
     curwin = savewin;
 
 void
-Cursor(VIWIN win, ...)
+Cursor(win, ...)
+    VIWIN win
 
     PPCODE:
     if (items == 1)
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1693,
+/**/
     1692,
 /**/
     1691,