On Tue, Nov 1, 2011 at 5:13 PM, Komisar <[email protected]> wrote:
> Also I see lot of
> "stdio.h:287:28: warning: inline function 'vsnprintf' declared but never
> defined [enabled by default]"
> Warnings when compiling mingw-w64-crt
> http://komisar.gin.by/test/ugh.txt
>
> From: Komisar [mailto:[email protected]]
> Sent: Tuesday, November 01, 2011 5:54 PM
> To: '[email protected]'
> Subject: stdio.h problem
>
> I think something wrong with last commit 2011-10-31.
> Not sure about correctness this of the patch but review it.
> http://komisar.gin.by/test/stdio.h.diff
>

Indeed, the lines you touched seem broken.  *Possibly* better
patch below, using __MINGW_ATTRIB_NONNULL macro for consistency
and adding __restict__ to args 1 and 2 and also marked as nothrow
the asprintf and vasprintf (JonY, Kai: verify.)

--- stdio.h.orig
+++ stdio.h
@@ -162,11 +162,11 @@ extern
   __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
   int __cdecl __mingw_vsprintf (char * __restrict__ , const char *
__restrict__ , va_list) __MINGW_NOTHROW;
 extern
-  __attribute__ ((format (gnu_printf, 2, 3))) __attribute__((nonnull (1,2))) __
-  int __cdecl mingw_asprintf(char **ret, const char *format, ...);
+  __attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(1,2)
+  int __cdecl __mingw_asprintf(char ** __restrict__ , const char *
__restrict__ , ...) __MINGW_NOTHROW;
 extern
-  __attribute__ ((format (gnu_printf, 2, 0))) __attribute__((nonnull (1,2))) __
-  int __cdecl mingw_vasprintf(char **ret, const char *format, va_list ap);
+  __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(1,2)
+  int __cdecl __mingw_vasprintf(char ** __restrict__ , const char *
__restrict__ , va_list) __MINGW_NOTHROW;

 #if __USE_MINGW_ANSI_STDIO
 /*
@@ -284,7 +284,7 @@ int vsnprintf (char *__stream, size_t __
 # undef vsnprintf
   int __cdecl snprintf(char * __restrict__ s, size_t n, const char *
__restrict__  format, ...);
 #ifndef __CRT__NO_INLINE
-  __CRT__INLINE int __cdecl vsnprintf(char * __restrict__
_DstBuf,size_t _MaxCount,const char * __restrict__ _Format,va_list
_ArgList) __MINGW_ATTRIB_DEPRECATED_MSVC2005
__MINGW_ATTRIB_DEPRECATED_SEC_WARN;
+  __CRT_INLINE int __cdecl vsnprintf(char * __restrict__
_DstBuf,size_t _MaxCount,const char * __restrict__ _Format,va_list
_ArgList) __MINGW_ATTRIB_DEPRECATED_MSVC2005
__MINGW_ATTRIB_DEPRECATED_SEC_WARN;
 #endif /* __CRT__NO_INLINE */
 #pragma pop_macro ("vsnprintf")
 #pragma pop_macro ("snprintf")


As for the warnings you mention: Do you see them _after_ applying
your fix?

--
O.S.

Attachment: stdio.diff
Description: Binary data

------------------------------------------------------------------------------
RSA&reg; Conference 2012
Save &#36;700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to