summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMakefile.SH30
-rw-r--r--XSUB.h21
-rw-r--r--perl.h7
-rw-r--r--pod/perlhacktips.pod8
-rwxr-xr-xregen/embed.pl17
5 files changed, 11 insertions, 72 deletions
diff --git a/Makefile.SH b/Makefile.SH
index a094f8783c..10003fdac6 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -558,32 +558,6 @@ lintflags = \
-erroff=E_STATIC_UNUSED \
-erroff=E_TRUE_LOGICAL_EXPR
-splintflags = \
- -I/usr/lib/gcc/i486-linux-gnu/4.0.2/include/ \
- -D__builtin_va_list=va_list \
- -Dsigjmp_buf=jmp_buf \
- -warnposix \
- \
- +boolint \
- +charintliteral \
- -fixedformalarray \
- -mustfreefresh \
- -nestedextern \
- -predboolint \
- -predboolothers \
- -preproc \
- -boolops \
- -shadow \
- -nullstate \
- +longintegral \
- +matchanyintegral \
- -type \
- \
- +line-len 999 \
- +weak
-
-splintfiles = $(c1)
-
.c$(OBJ_EXT):
@echo `$(CCCMD)` $(PLDLFLAGS) $*.c
@`$(CCCMD)` $(PLDLFLAGS) $*.c
@@ -1426,10 +1400,6 @@ lint: $(c)
rm -f *.ln
lint $(lintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(c)
-.PHONY: splint
-splint: $(c)
- splint $(splintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(splintfiles)
-
cscopeflags = -Rb # Recursive, build-only.
.PHONY: cscope
diff --git a/XSUB.h b/XSUB.h
index e64bc83b92..e74abae26f 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -93,12 +93,7 @@ is a lexical C<$_> in scope.
*/
#ifndef PERL_UNUSED_ARG
-# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# include <note.h>
-# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
-# else
-# define PERL_UNUSED_ARG(x) ((void)x)
-# endif
+# define PERL_UNUSED_ARG(x) ((void)x)
#endif
#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(x) ((void)x)
@@ -164,12 +159,7 @@ is a lexical C<$_> in scope.
#define dITEMS I32 items = (I32)(SP - MARK)
-#if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# define dXSARGS \
- NOTE(ARGUNUSED(cv)) \
- dSP; dAXMARK; dITEMS
-#else
-# define dXSARGS \
+#define dXSARGS \
dSP; dAXMARK; dITEMS
/* These 3 macros are replacements for dXSARGS macro only in bootstrap.
They factor out common code in every BOOT XSUB. Computation of vars mark
@@ -177,19 +167,18 @@ is a lexical C<$_> in scope.
optimized away since BOOT must return &PL_sv_yes by default from xsubpp.
Note these macros are not drop in replacements for dXSARGS since they set
PL_xsubfilename. */
-# define dXSBOOTARGSXSAPIVERCHK \
+#define dXSBOOTARGSXSAPIVERCHK \
I32 ax = XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK; \
SV **mark = PL_stack_base + ax; dSP; dITEMS
-# define dXSBOOTARGSAPIVERCHK \
+#define dXSBOOTARGSAPIVERCHK \
I32 ax = XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK; \
SV **mark = PL_stack_base + ax; dSP; dITEMS
/* dXSBOOTARGSNOVERCHK has no API in xsubpp to choose it so do
#undef dXSBOOTARGSXSAPIVERCHK
#define dXSBOOTARGSXSAPIVERCHK dXSBOOTARGSNOVERCHK */
-# define dXSBOOTARGSNOVERCHK \
+#define dXSBOOTARGSNOVERCHK \
I32 ax = XS_SETXSUBFN_POPMARK; \
SV **mark = PL_stack_base + ax; dSP; dITEMS
-#endif
#define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
? PAD_SV(PL_op->op_targ) : sv_newmortal())
diff --git a/perl.h b/perl.h
index 9595b3cd63..d832db4531 100644
--- a/perl.h
+++ b/perl.h
@@ -332,12 +332,7 @@
* or variables/arguments that are used only in certain configurations.
*/
#ifndef PERL_UNUSED_ARG
-# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# include <note.h>
-# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
-# else
-# define PERL_UNUSED_ARG(x) ((void)sizeof(x))
-# endif
+# define PERL_UNUSED_ARG(x) ((void)sizeof(x))
#endif
#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(x) ((void)sizeof(x))
diff --git a/pod/perlhacktips.pod b/pod/perlhacktips.pod
index 5aa0b63a04..8b3392d361 100644
--- a/pod/perlhacktips.pod
+++ b/pod/perlhacktips.pod
@@ -1037,18 +1037,14 @@ and looking at the resulting graph, what does it tell about the
execution and data flows. As a matter of fact, this is exactly how C
compilers know to give warnings about dubious code.
-=head2 lint, splint
+=head2 lint
The good old C code quality inspector, C<lint>, is available in several
platforms, but please be aware that there are several different
implementations of it by different vendors, which means that the flags
are not identical across different platforms.
-There is a lint variant called C<splint> (Secure Programming Lint)
-available from http://www.splint.org/ that should compile on any
-Unix-like platform.
-
-There are C<lint> and <splint> targets in Makefile, but you may have to
+There is a C<lint> target in Makefile, but you may have to
diddle with the flags (see above).
=head2 Coverity
diff --git a/regen/embed.pl b/regen/embed.pl
index f1b7449b0b..9b432ba825 100755
--- a/regen/embed.pl
+++ b/regen/embed.pl
@@ -30,7 +30,6 @@ BEGIN {
require './regen/embed_lib.pl';
}
-my $SPLINT = 0; # Turn true for experimental splint support http://www.splint.org
my $unflagged_pointers;
#
@@ -95,13 +94,6 @@ my ($embed, $core, $ext, $api) = setup_embed();
warn "$plain_func: s flag is mutually exclusive from the i and p plags"
if $flags =~ /s/ && $flags =~ /[ip]/;
- my $splint_flags = "";
- if ( $SPLINT && !$commented_out ) {
- $splint_flags .= '/*@noreturn@*/ ' if $never_returns;
- if ($can_ignore && ($retval ne 'void') && ($retval !~ /\*/)) {
- $retval .= " /*\@alt void\@*/";
- }
- }
if ($flags =~ /([si])/) {
my $type;
@@ -111,14 +103,14 @@ my ($embed, $core, $ext, $api) = setup_embed();
else {
$type = $1 eq 's' ? "STATIC" : "PERL_STATIC_INLINE";
}
- $retval = "$type $splint_flags$retval";
+ $retval = "$type $retval";
}
else {
if ($never_returns) {
- $retval = "PERL_CALLCONV_NO_RET $splint_flags$retval";
+ $retval = "PERL_CALLCONV_NO_RET $retval";
}
else {
- $retval = "PERL_CALLCONV $splint_flags$retval";
+ $retval = "PERL_CALLCONV $retval";
}
}
$func = full_name($plain_func, $flags);
@@ -150,9 +142,6 @@ my ($embed, $core, $ext, $api) = setup_embed();
&& ($temp_arg !~ /\w+\s+(\w+)(?:\[\d+\])?\s*$/) ) {
warn "$func: $arg ($n) doesn't have a name\n";
}
- if ( $SPLINT && $nullok && !$commented_out ) {
- $arg = '/*@null@*/ ' . $arg;
- }
if (defined $1 && $nn && !($commented_out && !$binarycompat)) {
push @names_of_nn, $1;
}