* lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
* lib/posixtm.c: (IF_LINT): Define.
(posix_time_parse): Use it to void a "may be used uninitialized"
warning, seen only with -O3.
+2014-12-05 Pádraig Brady <P@draigBrady.com>
+
+ filevercmp, posixtm: avoid compiler warnings with -O3
+ * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
+ * lib/posixtm.c: (IF_LINT): Define.
+ (posix_time_parse): Use it to void a "may be used uninitialized"
+ warning, seen only with -O3.
+
2014-12-05 Bruno Haible <bruno@clisp.org>
Fix LDBL80_WORDS macro on big endian platforms.
PREFIX VER2 SUFFIX) < 0.
This function is intended to be a replacement for strverscmp. */
-int filevercmp (const char *s1, const char *s2);
+int filevercmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE;
#endif /* FILEVERCMP_H */
#include <sys/types.h>
#include <string.h>
+/* Use this to suppress gcc's "...may be used uninitialized" warnings. */
+#ifdef lint
+# define IF_LINT(Code) Code
+#else
+# define IF_LINT(Code) /* empty */
+#endif
+
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
#endif
if (len != 8 && len != 10 && len != 12)
return 1;
+ IF_LINT(if (len < 8) return 1;)
+
if (dot)
{
if (!(syntax_bits & PDS_SECONDS))