]> Savannah Git Hosting - gnulib.git/commitdiff
Use GCC_LINT, not lint
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 30 May 2016 19:18:19 +0000 (12:18 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 30 May 2016 23:04:23 +0000 (16:04 -0700)
FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
Problem reported by Ken Brown in: http://bugs.gnu.org/23640
* doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
Document problem with lint and _Noreturn.
* lib/diffseq.h (IF_LINT, IF_LINT2):
* lib/fts.c (sccsid):
* lib/getndelim2.c (IF_LINT):
* lib/gl_anylinked_list2.h (gl_linked_iterator)
(gl_linked_iterator_from_to):
* lib/gl_anytree_list2.h (gl_tree_iterator)
(gl_tree_iterator_from_to):
* lib/gl_anytree_oset.h (gl_tree_iterator):
* lib/gl_array_list.c (gl_array_iterator)
(gl_array_iterator_from_to):
* lib/gl_array_oset.c (gl_array_iterator):
* lib/gl_carray_list.c (gl_carray_iterator)
(gl_carray_iterator_from_to):
* lib/idcache.c:
* lib/inet_ntop.c (IF_LINT):
* lib/regcomp.c (build_charclass_op, create_tree):
* lib/regex_internal.c (re_acquire_state)
(re_acquire_state_context):
* lib/trigl.c (rcsid):
* lib/trim.c (IF_LINT):
* lib/vasnprintf.c (IF_LINT):
* lib/verify.h (assume):
Treat GCC_LINT like lint.

19 files changed:
ChangeLog
doc/posix-headers/stdnoreturn.texi
lib/diffseq.h
lib/fts.c
lib/getndelim2.c
lib/gl_anylinked_list2.h
lib/gl_anytree_list2.h
lib/gl_anytree_oset.h
lib/gl_array_list.c
lib/gl_array_oset.c
lib/gl_carray_list.c
lib/idcache.c
lib/inet_ntop.c
lib/regcomp.c
lib/regex_internal.c
lib/trigl.c
lib/trim.c
lib/vasnprintf.c
lib/verify.h

index 8189f4cdca8ae037974cdab98ac9d8e7d8c56a14..8525a803bf44a37ee48474d79f5b2b119542e81e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use GCC_LINT, not lint
+       FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
+       Problem reported by Ken Brown in: http://bugs.gnu.org/23640
+       * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
+       Document problem with lint and _Noreturn.
+       * lib/diffseq.h (IF_LINT, IF_LINT2):
+       * lib/fts.c (sccsid):
+       * lib/getndelim2.c (IF_LINT):
+       * lib/gl_anylinked_list2.h (gl_linked_iterator)
+       (gl_linked_iterator_from_to):
+       * lib/gl_anytree_list2.h (gl_tree_iterator)
+       (gl_tree_iterator_from_to):
+       * lib/gl_anytree_oset.h (gl_tree_iterator):
+       * lib/gl_array_list.c (gl_array_iterator)
+       (gl_array_iterator_from_to):
+       * lib/gl_array_oset.c (gl_array_iterator):
+       * lib/gl_carray_list.c (gl_carray_iterator)
+       (gl_carray_iterator_from_to):
+       * lib/idcache.c:
+       * lib/inet_ntop.c (IF_LINT):
+       * lib/regcomp.c (build_charclass_op, create_tree):
+       * lib/regex_internal.c (re_acquire_state)
+       (re_acquire_state_context):
+       * lib/trigl.c (rcsid):
+       * lib/trim.c (IF_LINT):
+       * lib/vasnprintf.c (IF_LINT):
+       * lib/verify.h (assume):
+       Treat GCC_LINT like lint.
+
 2016-05-29  Bruno Haible  <bruno@clisp.org>
 
        secure_getenv: Port to many more platforms.
index 19722bd1a3022ea65819acf54faa1d37db1831d4..1bb50b8d3bd2e3732ebf7e869f48941562e10c26 100644 (file)
@@ -22,6 +22,11 @@ Portability problems not fixed by Gnulib:
 You cannot assume that @code{_Noreturn} is a reserved word;
 it might be a macro.
 @item
+When the macro @code{lint} is defined, standard headers define
+@code{_Noreturn} (and therefore @code{noreturn}) to be a macro that
+expands to the empty token sequence on some platforms:
+Cygwin 2.5.1, FreeBSD 10.3.
+@item
 On MSVC 9, @code{noreturn} expands to the empty token sequence, to avoid
 problems with standard headers that use @code{__declspec (noreturn)}
 directly.  Although the resulting code operates correctly, the
index d1a562d6c97bf1a79ddf4815b1b0646deaec424a..6be7d838278327c1817d964735f1c583cc9961e9 100644 (file)
@@ -76,7 +76,7 @@
 /* Use this to suppress gcc's "...may be used before initialized" warnings.
    Beware: The Code argument must not contain commas.  */
 #ifndef IF_LINT
-# ifdef lint
+# if defined GCC_LINT || defined lint
 #  define IF_LINT(Code) Code
 # else
 #  define IF_LINT(Code) /* empty */
@@ -85,7 +85,7 @@
 
 /* As above, but when Code must contain one comma. */
 #ifndef IF_LINT2
-# ifdef lint
+# if defined GCC_LINT || defined lint
 #  define IF_LINT2(Code1, Code2) Code1, Code2
 # else
 #  define IF_LINT2(Code1, Code2) /* empty */
index 2c9df2fb88792ba824befcc51d8996236e2021a5..bcdcff9bb7f8aced6c4d0f00a40a0a5ec7f4353e 100644 (file)
--- a/lib/fts.c
+++ b/lib/fts.c
@@ -46,9 +46,9 @@
 
 #include <config.h>
 
-#if defined(LIBC_SCCS) && !defined(lint)
+#if defined LIBC_SCCS && !defined GCC_LINT && !defined lint
 static char sccsid[] = "@(#)fts.c       8.6 (Berkeley) 8/14/94";
-#endif /* LIBC_SCCS and not lint */
+#endif
 
 #include "fts_.h"
 
index b8bc98ffdb20feb0ffad83e1fa5fbdd22c294e36..44424c68f6f58789589b4733934d151357d2cbfa 100644 (file)
@@ -52,7 +52,7 @@
 #endif
 
 /* Use this to suppress gcc's "...may be used before initialized" warnings. */
-#ifdef lint
+#if defined GCC_LINT || defined lint
 # define IF_LINT(Code) Code
 #else
 # define IF_LINT(Code) /* empty */
index 6250c2bc3b9a90a39e7886b49255badcd2117489..a1037ede2fa0a4f05832b6ba71d6896dbfdae5cc 100644 (file)
@@ -923,7 +923,7 @@ gl_linked_iterator (gl_list_t list)
   result.list = list;
   result.p = list->root.next;
   result.q = &list->root;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
   result.count = 0;
@@ -994,7 +994,7 @@ gl_linked_iterator_from_to (gl_list_t list,
       result.q = node;
     }
 
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
   result.count = 0;
index b7ce99d170cb9df294214015cc076befdcd851f4..7e6fe4522c87389f81b934e518d2e4f425ed638a 100644 (file)
@@ -564,7 +564,7 @@ gl_tree_iterator (gl_list_t list)
   result.p = node;
   /* End point is past the rightmost node.  */
   result.q = NULL;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
   result.count = 0;
@@ -588,7 +588,7 @@ gl_tree_iterator_from_to (gl_list_t list, size_t start_index, size_t end_index)
   result.p = (start_index < count ? node_at (list->root, start_index) : NULL);
   /* End point is the node at position end_index.  */
   result.q = (end_index < count ? node_at (list->root, end_index) : NULL);
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
   result.count = 0;
index 97464cb733466d39b9a0d84581f45c2171b3ab94..127f4e338e598ad982bad28bd2ff7c53728b7312 100644 (file)
@@ -255,7 +255,7 @@ gl_tree_iterator (gl_oset_t set)
   result.p = node;
   /* End point is past the rightmost node.  */
   result.q = NULL;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
   result.count = 0;
index 098d8af38ef6d061cc5d53284bacb2c0468c12ed..66cf34bc10e5acb297b1aaeedb1b6484401546e1 100644 (file)
@@ -454,7 +454,7 @@ gl_array_iterator (gl_list_t list)
   result.count = list->count;
   result.p = list->elements + 0;
   result.q = list->elements + list->count;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
 #endif
@@ -475,7 +475,7 @@ gl_array_iterator_from_to (gl_list_t list, size_t start_index, size_t end_index)
   result.count = list->count;
   result.p = list->elements + start_index;
   result.q = list->elements + end_index;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
 #endif
index 2bc970f9cc9cffa1735513538a312030f19187dc..92e69cc366ac2b4b19645d141590a8bb68e45770 100644 (file)
@@ -303,7 +303,7 @@ gl_array_iterator (gl_oset_t set)
   result.count = set->count;
   result.p = set->elements + 0;
   result.q = set->elements + set->count;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.i = 0;
   result.j = 0;
 #endif
index 1e2b453a34c512aaef35cbd7bf0038498ade479b..694b09a764eaf7d72f95e34e7da486384302dc3a 100644 (file)
@@ -624,7 +624,7 @@ gl_carray_iterator (gl_list_t list)
   result.count = list->count;
   result.i = 0;
   result.j = list->count;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.p = 0;
   result.q = 0;
 #endif
@@ -645,7 +645,7 @@ gl_carray_iterator_from_to (gl_list_t list, size_t start_index, size_t end_index
   result.count = list->count;
   result.i = start_index;
   result.j = end_index;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   result.p = 0;
   result.q = 0;
 #endif
index a5f14adaf663de86d3ccb91229f33e9e2ff6e919..2db5109b4c5e6b4fa9307c19d08bed140ef0acff 100644 (file)
@@ -46,7 +46,7 @@ struct userid
 
 /* FIXME: provide a function to free any malloc'd storage and reset lists,
    so that an application can use code like this just before exiting:
-   #ifdef lint
+   #if defined GCC_LINT || defined lint
      idcache_clear ();
    #endif
 */
index ba8b682cfcce3d92ed6f6bc00d35951163dda379..e1dbe81026825d5a65782924bd9db7cc40afde36 100644 (file)
@@ -40,7 +40,7 @@
 /* Use this to suppress gcc's "...may be used before initialized" warnings.
    Beware: The Code argument must not contain commas.  */
 #ifndef IF_LINT
-# ifdef lint
+# if defined GCC_LINT || defined lint
 #  define IF_LINT(Code) Code
 # else
 #  define IF_LINT(Code) /* empty */
index 6de9b72970fc1ec194aac4ec40b36850e548c811..74267292d67a4a1ab4f1ce70c82a8f3c4d5c2f89 100644 (file)
@@ -3716,7 +3716,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 #endif
 
   /* Build a tree for simple bracket.  */
-#ifdef lint
+#if defined GCC_LINT || defined lint
   memset (&br_token, 0, sizeof br_token);
 #endif
   br_token.type = SIMPLE_BRACKET;
@@ -3812,7 +3812,7 @@ create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
             re_token_type_t type)
 {
   re_token_t t;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   memset (&t, 0, sizeof t);
 #endif
   t.type = type;
index 986aae2a8601e125799f7b2ab80280477fdfb9f2..cd78b252a3bc2102c02f9ea7a73039af1e48d9f9 100644 (file)
@@ -1482,7 +1482,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
   re_dfastate_t *new_state;
   struct re_state_table_entry *spot;
   Idx i;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   /* Suppress bogus uninitialized-variable warnings.  */
   *err = REG_NOERROR;
 #endif
@@ -1530,7 +1530,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
   re_dfastate_t *new_state;
   struct re_state_table_entry *spot;
   Idx i;
-#ifdef lint
+#if defined GCC_LINT || defined lint
   /* Suppress bogus uninitialized-variable warnings.  */
   *err = REG_NOERROR;
 #endif
index ffb677ae6c464d4e5297534a0dee01024ebd7e10..b203d9a17e53b30074a9143041ba116b933c6eb3 100644 (file)
@@ -289,7 +289,7 @@ ieee754_rem_pio2l (long double x, long double *y)
  * ====================================================
  */
 
-#if defined(LIBM_SCCS) && !defined(lint)
+#if defined LIBM_SCCS && !defined GCC_LINT && !defined lint
 static char rcsid[] =
   "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $";
 #endif
index 6f681a7fbf922db162d5f7a215034564b2544f13..b2e43c5a1c451755d54ccf09166b82ee66c1baab 100644 (file)
@@ -31,7 +31,7 @@
 #include "xalloc.h"
 
 /* Use this to suppress gcc's "...may be used before initialized" warnings. */
-#ifdef lint
+#if defined GCC_LINT || defined lint
 # define IF_LINT(Code) Code
 #else
 # define IF_LINT(Code) /* empty */
index 812d478a6461ede9f53204192a9429fe30528d6d..a4e8b82b82ed836d674e6279fdcb80996e998ddb 100644 (file)
 
 /* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized"
    warnings in this file.  Use -Dlint to suppress them.  */
-#ifdef lint
+#if defined GCC_LINT || defined lint
 # define IF_LINT(Code) Code
 #else
 # define IF_LINT(Code) /* empty */
index 2f4383743bb03d928ada7661cc17268b85879bc8..5c8381d2906a31974abea7c08449043bb7dd620c 100644 (file)
@@ -263,7 +263,7 @@ template <int w>
 # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
 #elif 1200 <= _MSC_VER
 # define assume(R) __assume (R)
-#elif (defined lint \
+#elif ((defined GCC_LINT || defined lint) \
        && (__has_builtin (__builtin_trap) \
            || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))))
   /* Doing it this way helps various packages when configured with