This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Don't promulgate Perl attributes
[perl5.git] / handy.h
diff --git a/handy.h b/handy.h
index 011dbf9..8586a25 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -175,7 +175,7 @@ typedef U64TYPE U64;
 #endif
 
 /* HMB H.Merijn Brand - a placeholder for preparing Configure patches */
-#if defined(HAS_MALLOC_SIZE) && defined(HAS_SNPRINTF) && defined(HAS_HAS_C99_VARIADIC_MACROS)
+#if defined(HAS_MALLOC_SIZE) && defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS)
 /* Not (yet) used at top level, but mention them for metaconfig */
 #endif
 
@@ -246,10 +246,10 @@ Like C<newSVpvn>, but takes a literal string instead of a string/length pair.
 Like C<newSVpvn_share>, but takes a literal string instead of a string/length
 pair and omits the hash parameter.
 
-=for apidoc Am|SV*|sv_catpvs|SV* sv|const char* s
+=for apidoc Am|void|sv_catpvs|SV* sv|const char* s
 Like C<sv_catpvn>, but takes a literal string instead of a string/length pair.
 
-=for apidoc Am|SV*|sv_setpvs|SV* sv|const char* s
+=for apidoc Am|void|sv_setpvs|SV* sv|const char* s
 Like C<sv_setpvn>, but takes a literal string instead of a string/length pair.
 
 =head1 Memory Management
@@ -681,10 +681,13 @@ PoisonWith(0xEF) for catching access to freed memory.
 #define NEWSV(x,len)   newSV(len)
 #endif
 
+/* The +0.0 in MEM_WRAP_CHECK_ is an attempt to foil
+ * overly eager compilers that will bleat about e.g.
+ * (U16)n > (size_t)~0/sizeof(U16) always being false. */
 #ifdef PERL_MALLOC_WRAP
 #define MEM_WRAP_CHECK(n,t) MEM_WRAP_CHECK_1(n,t,PL_memory_wrap)
 #define MEM_WRAP_CHECK_1(n,t,a) \
-       (void)(sizeof(t) > 1 && (MEM_SIZE)(n) > ((MEM_SIZE)~0)/sizeof(t) && (Perl_croak_nocontext(a),0))
+       (void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > ((MEM_SIZE)~0)/sizeof(t) && (Perl_croak_nocontext(a),0))
 #define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
 
 #define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > (MEM_SIZE)~0 - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (Perl_croak_nocontext(PL_memory_wrap),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))