gcc-4.1.1 on Fedora optimized away NULL chacks in Perl_do_close(),
Steve Peters [Thu, 17 Aug 2006 14:50:36 +0000 (14:50 +0000)]
which caused core dumps.

p4raw-id: //depot/perl@28731

embed.fnc
proto.h

index 0342c39..e9c5da4 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -188,7 +188,7 @@ pmb |bool   |do_aexec       |NULLOK SV* really|NN SV** mark|NN SV** sp
 p      |bool   |do_aexec5      |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
 Ap     |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
 p      |void   |do_chop        |NN SV* asv|NN SV* sv
-Ap     |bool   |do_close       |NN GV* gv|bool not_implicit
+Ap     |bool   |do_close       |NULLOK GV* gv|bool not_implicit
 p      |bool   |do_eof         |NN GV* gv
 
 #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
diff --git a/proto.h b/proto.h
index b73bd70..4d8e91b 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -405,9 +405,7 @@ PERL_CALLCONV void  Perl_do_chop(pTHX_ SV* asv, SV* sv)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
-PERL_CALLCONV bool     Perl_do_close(pTHX_ GV* gv, bool not_implicit)
-                       __attribute__nonnull__(pTHX_1);
-
+PERL_CALLCONV bool     Perl_do_close(pTHX_ GV* gv, bool not_implicit);
 PERL_CALLCONV bool     Perl_do_eof(pTHX_ GV* gv)
                        __attribute__nonnull__(pTHX_1);