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.
stdio.diff
Description: Binary data
------------------------------------------------------------------------------ RSA® Conference 2012 Save $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
