summary refs log tree commit diff
path: root/intl
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-01-02 19:01:50 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-01-02 19:05:09 +0000
commit568035b7874a099087b77f7bba3e36a1173787b0 (patch)
treeebd5b536530f6875afa9d15753d7e2f9185939b4 /intl
parentcaed4e98ca463e72745e7173a21409dce658d04f (diff)
downloadglibc-568035b7874a099087b77f7bba3e36a1173787b0.tar.gz
glibc-568035b7874a099087b77f7bba3e36a1173787b0.tar.xz
glibc-568035b7874a099087b77f7bba3e36a1173787b0.zip
Update copyright notices with scripts/update-copyrights.
Diffstat (limited to 'intl')
-rw-r--r--intl/Makefile2
-rw-r--r--intl/bindtextdom.c2
-rw-r--r--intl/dcgettext.c2
-rw-r--r--intl/dcigettext.c3
-rw-r--r--intl/dcngettext.c2
-rw-r--r--intl/dgettext.c2
-rw-r--r--intl/dngettext.c2
-rw-r--r--intl/explodename.c2
-rw-r--r--intl/finddomain.c3
-rw-r--r--intl/gettext.c2
-rw-r--r--intl/gettextP.h3
-rw-r--r--intl/gmo.h2
-rw-r--r--intl/hash-string.c2
-rw-r--r--intl/hash-string.h2
-rw-r--r--intl/l10nflist.c2
-rw-r--r--intl/libintl.h2
-rw-r--r--intl/loadinfo.h2
-rw-r--r--intl/loadmsgcat.c2
-rw-r--r--intl/locale.alias2
-rw-r--r--intl/localealias.c2
-rw-r--r--intl/ngettext.c2
-rw-r--r--intl/plural-eval.c2
-rw-r--r--intl/plural-exp.c2
-rw-r--r--intl/plural-exp.h2
-rw-r--r--intl/plural.c307
-rw-r--r--intl/plural.y2
-rw-r--r--intl/po2test.awk2
-rw-r--r--intl/textdomain.c2
-rw-r--r--intl/tst-codeset.c2
-rw-r--r--intl/tst-gettext.c2
-rwxr-xr-xintl/tst-gettext.sh2
-rw-r--r--intl/tst-gettext2.c2
-rw-r--r--intl/tst-gettext2.sh2
-rw-r--r--intl/tst-gettext3.c2
-rw-r--r--intl/tst-gettext4.c2
-rwxr-xr-xintl/tst-gettext4.sh2
-rw-r--r--intl/tst-gettext5.c2
-rw-r--r--intl/tst-gettext6.c2
-rw-r--r--intl/tst-gettext6.sh2
-rw-r--r--intl/tst-ngettext.c2
-rw-r--r--intl/tst-translit.c2
-rwxr-xr-xintl/tst-translit.sh2
42 files changed, 185 insertions, 207 deletions
diff --git a/intl/Makefile b/intl/Makefile
index c2a169807d..3469f02337 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2012 Free Software Foundation, Inc.
+# Copyright (C) 1995-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c
index 98a3606db1..e4cc8d4136 100644
--- a/intl/bindtextdom.c
+++ b/intl/bindtextdom.c
@@ -1,5 +1,5 @@
 /* Implementation of the bindtextdomain(3) function
-   Copyright (C) 1995-1998, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/dcgettext.c b/intl/dcgettext.c
index 0f2942be45..294cedd644 100644
--- a/intl/dcgettext.c
+++ b/intl/dcgettext.c
@@ -1,5 +1,5 @@
 /* Implementation of the dcgettext(3) function.
-   Copyright (C) 1995-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 088fdcbdca..110307bdb2 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -1,6 +1,5 @@
 /* Implementation of the internal dcigettext function.
-   Copyright (C) 1995-2005, 2006, 2007, 2008, 2009, 2011, 2012
-   Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/dcngettext.c b/intl/dcngettext.c
index b0e2ee8d8c..9b3e9d713e 100644
--- a/intl/dcngettext.c
+++ b/intl/dcngettext.c
@@ -1,5 +1,5 @@
 /* Implementation of the dcngettext(3) function.
-   Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/dgettext.c b/intl/dgettext.c
index 7718f4e4e0..00b30c7b8b 100644
--- a/intl/dgettext.c
+++ b/intl/dgettext.c
@@ -1,5 +1,5 @@
 /* Implementation of the dgettext(3) function.
-   Copyright (C) 1995-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/dngettext.c b/intl/dngettext.c
index 18ff68e94e..185c5c90a6 100644
--- a/intl/dngettext.c
+++ b/intl/dngettext.c
@@ -1,5 +1,5 @@
 /* Implementation of the dngettext(3) function.
-   Copyright (C) 1995-1997, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/explodename.c b/intl/explodename.c
index 52506c4c70..247129b18d 100644
--- a/intl/explodename.c
+++ b/intl/explodename.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
diff --git a/intl/finddomain.c b/intl/finddomain.c
index fec3156985..b07d890050 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,6 +1,5 @@
 /* Handle list of needed message catalogs
-   Copyright (C) 1995-1999, 2000, 2001, 2002, 2004, 2006, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@gnu.org>, 1995.
 
diff --git a/intl/gettext.c b/intl/gettext.c
index fbc598407d..b592f3c8e7 100644
--- a/intl/gettext.c
+++ b/intl/gettext.c
@@ -1,5 +1,5 @@
 /* Implementation of gettext(3) function.
-   Copyright (C) 1995-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/gettextP.h b/intl/gettextP.h
index b48912d212..d1ec644cb7 100644
--- a/intl/gettextP.h
+++ b/intl/gettextP.h
@@ -1,6 +1,5 @@
 /* Header describing internals of libintl library.
-   Copyright (C) 1995-1999, 2000, 2001, 2004-2005, 2007, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
diff --git a/intl/gmo.h b/intl/gmo.h
index f16b9544b6..7b50597a9b 100644
--- a/intl/gmo.h
+++ b/intl/gmo.h
@@ -1,5 +1,5 @@
 /* Internal header for GNU gettext internationalization functions.
-   Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/hash-string.c b/intl/hash-string.c
index 1b6cfa01b6..f40dcbf266 100644
--- a/intl/hash-string.c
+++ b/intl/hash-string.c
@@ -1,5 +1,5 @@
 /* Implements a string hashing function.
-   Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/hash-string.h b/intl/hash-string.h
index b32f725fa1..bc81287f7a 100644
--- a/intl/hash-string.h
+++ b/intl/hash-string.h
@@ -1,5 +1,5 @@
 /* Implements a string hashing function.
-   Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/l10nflist.c b/intl/l10nflist.c
index 32d8a01b5b..3d8344be7b 100644
--- a/intl/l10nflist.c
+++ b/intl/l10nflist.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2012 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
diff --git a/intl/libintl.h b/intl/libintl.h
index eb6a3e6a83..e8637e47b5 100644
--- a/intl/libintl.h
+++ b/intl/libintl.h
@@ -1,5 +1,5 @@
 /* Message catalogs for internationalization.
-   Copyright (C) 1995-2002, 2004, 2005, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is derived from the file libgettext.h in the GNU gettext package.
 
diff --git a/intl/loadinfo.h b/intl/loadinfo.h
index 1055abaee2..75636247ab 100644
--- a/intl/loadinfo.h
+++ b/intl/loadinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000, 2002-2004, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index a217fcce41..e4b7b385a0 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -1,5 +1,5 @@
 /* Load needed message catalogs.
-   Copyright (C) 1995-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/locale.alias b/intl/locale.alias
index ad9fe3091f..0314df1beb 100644
--- a/intl/locale.alias
+++ b/intl/locale.alias
@@ -1,5 +1,5 @@
 # Locale name alias data base.
-# Copyright (C) 1996-2001,2003,2007 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/intl/localealias.c b/intl/localealias.c
index 1341228716..478e5c45a6 100644
--- a/intl/localealias.c
+++ b/intl/localealias.c
@@ -1,5 +1,5 @@
 /* Handle aliases for locale names.
-   Copyright (C) 1995-2002, 2003, 2005, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/ngettext.c b/intl/ngettext.c
index 109e9da0e5..eaf16c6d41 100644
--- a/intl/ngettext.c
+++ b/intl/ngettext.c
@@ -1,5 +1,5 @@
 /* Implementation of ngettext(3) function.
-   Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/plural-eval.c b/intl/plural-eval.c
index e692e379b1..0484918175 100644
--- a/intl/plural-eval.c
+++ b/intl/plural-eval.c
@@ -1,5 +1,5 @@
 /* Plural expression evaluation.
-   Copyright (C) 2000, 2001, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/plural-exp.c b/intl/plural-exp.c
index 2fa27bd7f3..156a181650 100644
--- a/intl/plural-exp.c
+++ b/intl/plural-exp.c
@@ -1,5 +1,5 @@
 /* Expression parsing for plural form selection.
-   Copyright (C) 2000, 2001, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
    This file is part of the GNU C Library.
 
diff --git a/intl/plural-exp.h b/intl/plural-exp.h
index 900daa1451..2185328066 100644
--- a/intl/plural-exp.h
+++ b/intl/plural-exp.h
@@ -1,5 +1,5 @@
 /* Expression parsing and evaluation for plural form selection.
-   Copyright (C) 2000, 2001, 2002, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
    This file is part of the GNU C Library.
 
diff --git a/intl/plural.c b/intl/plural.c
index 0d8bf4c6d5..e52c2c4637 100644
--- a/intl/plural.c
+++ b/intl/plural.c
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
+/* A Bison parser, made by GNU Bison 2.7.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.5"
+#define YYBISON_VERSION "2.7"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -58,8 +58,6 @@
 /* Pull parsers.  */
 #define YYPULL 1
 
-/* Using locations.  */
-#define YYLSP_NEEDED 0
 
 /* Substitute the variable and function names.  */
 #define yyparse         __gettextparse
@@ -70,14 +68,12 @@
 #define yydebug         __gettextdebug
 #define yynerrs         __gettextnerrs
 
-
 /* Copy the first part of user declarations.  */
-
-/* Line 268 of yacc.c  */
+/* Line 371 of yacc.c  */
 #line 1 "plural.y"
 
 /* Expression parsing for plural form selection.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
@@ -120,14 +116,16 @@
 #define YYLEX_PARAM	&((struct parse_args *) arg)->cp
 #define YYPARSE_PARAM	arg
 
+/* Line 371 of yacc.c  */
+#line 121 "plural.c"
 
-/* Line 268 of yacc.c  */
-#line 126 "plural.c"
-
-/* Enabling traces.  */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
+# ifndef YY_NULL
+#  if defined __cplusplus && 201103L <= __cplusplus
+#   define YY_NULL nullptr
+#  else
+#   define YY_NULL 0
+#  endif
+# endif
 
 /* Enabling verbose error messages.  */
 #ifdef YYERROR_VERBOSE
@@ -137,11 +135,14 @@
 # define YYERROR_VERBOSE 0
 #endif
 
-/* Enabling the token table.  */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
 
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int __gettextdebug;
+#endif
 
 /* Tokens.  */
 #ifndef YYTOKENTYPE
@@ -165,12 +166,10 @@
 
 
 
-
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
-
-/* Line 293 of yacc.c  */
+/* Line 387 of yacc.c  */
 #line 49 "plural.y"
 
   unsigned long int num;
@@ -178,9 +177,8 @@ typedef union YYSTYPE
   struct expression *exp;
 
 
-
-/* Line 293 of yacc.c  */
-#line 184 "plural.c"
+/* Line 387 of yacc.c  */
+#line 182 "plural.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -188,9 +186,24 @@ typedef union YYSTYPE
 #endif
 
 
-/* Copy the second part of user declarations.  */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int __gettextparse (void *YYPARSE_PARAM);
+#else
+int __gettextparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int __gettextparse (void);
+#else
+int __gettextparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
 
-/* Line 343 of yacc.c  */
+
+
+/* Copy the second part of user declarations.  */
+/* Line 390 of yacc.c  */
 #line 55 "plural.y"
 
 /* Prototypes for local functions.  */
@@ -290,9 +303,8 @@ new_exp_3 (op, bexp, tbranch, fbranch)
 }
 
 
-
-/* Line 343 of yacc.c  */
-#line 296 "plural.c"
+/* Line 390 of yacc.c  */
+#line 308 "plural.c"
 
 #ifdef short
 # undef short
@@ -345,24 +357,24 @@ typedef short int yytype_int16;
 # if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
 #  endif
 # endif
 # ifndef YY_
-#  define YY_(msgid) msgid
+#  define YY_(Msgid) Msgid
 # endif
 #endif
 
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
 #else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
 #endif
 
 /* Identity function, used to suppress warnings about constant conditions.  */
 #ifndef lint
-# define YYID(n) (n)
+# define YYID(N) (N)
 #else
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
@@ -398,6 +410,7 @@ YYID (yyi)
 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
 #     ifndef EXIT_SUCCESS
 #      define EXIT_SUCCESS 0
 #     endif
@@ -489,20 +502,20 @@ union yyalloc
 #endif
 
 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from FROM to TO.  The source and destination do
+/* Copy COUNT objects from SRC to DST.  The source and destination do
    not overlap.  */
 # ifndef YYCOPY
 #  if defined __GNUC__ && 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
 #  else
-#   define YYCOPY(To, From, Count)		\
-      do					\
-	{					\
-	  YYSIZE_T yyi;				\
-	  for (yyi = 0; yyi < (Count); yyi++)	\
-	    (To)[yyi] = (From)[yyi];		\
-	}					\
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYSIZE_T yyi;                         \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
       while (YYID (0))
 #  endif
 # endif
@@ -588,14 +601,14 @@ static const yytype_uint8 yyrline[] =
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+#if YYDEBUG || YYERROR_VERBOSE || 0
 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2",
   "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'",
-  "$accept", "start", "exp", 0
+  "$accept", "start", "exp", YY_NULL
 };
 #endif
 
@@ -669,10 +682,10 @@ static const yytype_uint8 yytable[] =
       16,    13,    14,    15,    16
 };
 
-#define yypact_value_is_default(yystate) \
-  ((yystate) == (-10))
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-10)))
 
-#define yytable_value_is_error(yytable_value) \
+#define yytable_value_is_error(Yytable_value) \
   YYID (0)
 
 static const yytype_int8 yycheck[] =
@@ -721,62 +734,35 @@ static const yytype_uint8 yystos[] =
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
-#define YYBACKUP(Token, Value)					\
-do								\
-  if (yychar == YYEMPTY && yylen == 1)				\
-    {								\
-      yychar = (Token);						\
-      yylval = (Value);						\
-      YYPOPSTACK (1);						\
-      goto yybackup;						\
-    }								\
-  else								\
-    {								\
+#define YYBACKUP(Token, Value)                                  \
+do                                                              \
+  if (yychar == YYEMPTY)                                        \
+    {                                                           \
+      yychar = (Token);                                         \
+      yylval = (Value);                                         \
+      YYPOPSTACK (yylen);                                       \
+      yystate = *yyssp;                                         \
+      goto yybackup;                                            \
+    }                                                           \
+  else                                                          \
+    {                                                           \
       yyerror (YY_("syntax error: cannot back up")); \
       YYERROR;							\
     }								\
 while (YYID (0))
 
-
+/* Error token number */
 #define YYTERROR	1
 #define YYERRCODE	256
 
 
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)				\
-    do									\
-      if (YYID (N))                                                    \
-	{								\
-	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
-	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
-	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
-	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
-	}								\
-      else								\
-	{								\
-	  (Current).first_line   = (Current).last_line   =		\
-	    YYRHSLOC (Rhs, 0).last_line;				\
-	  (Current).first_column = (Current).last_column =		\
-	    YYRHSLOC (Rhs, 0).last_column;				\
-	}								\
-    while (YYID (0))
-#endif
-
-
 /* This macro is provided for backward compatibility. */
-
 #ifndef YY_LOCATION_PRINT
 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 #endif
 
 
 /* YYLEX -- calling `yylex' with the right arguments.  */
-
 #ifdef YYLEX_PARAM
 # define YYLEX yylex (&yylval, YYLEX_PARAM)
 #else
@@ -826,6 +812,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
     YYSTYPE const * const yyvaluep;
 #endif
 {
+  FILE *yyo = yyoutput;
+  YYUSE (yyo);
   if (!yyvaluep)
     return;
 # ifdef YYPRINT
@@ -837,7 +825,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
   switch (yytype)
     {
       default:
-	break;
+        break;
     }
 }
 
@@ -1077,12 +1065,11 @@ static int
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
-  YYSIZE_T yysize1;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = 0;
+  const char *yyformat = YY_NULL;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -1142,11 +1129,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                     break;
                   }
                 yyarg[yycount++] = yytname[yyx];
-                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-                if (! (yysize <= yysize1
-                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-                  return 2;
-                yysize = yysize1;
+                {
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                    return 2;
+                  yysize = yysize1;
+                }
               }
         }
     }
@@ -1166,10 +1155,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 # undef YYCASE_
     }
 
-  yysize1 = yysize + yystrlen (yyformat);
-  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-    return 2;
-  yysize = yysize1;
+  {
+    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+      return 2;
+    yysize = yysize1;
+  }
 
   if (*yymsg_alloc < yysize)
     {
@@ -1229,25 +1220,11 @@ yydestruct (yymsg, yytype, yyvaluep)
     {
 
       default:
-	break;
+        break;
     }
 }
 
 
-/* Prevent warnings from -Wmissing-prototypes.  */
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
 
 
 /*----------.
@@ -1279,8 +1256,31 @@ yyparse ()
 /* The lookahead symbol.  */
 int yychar;
 
+
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+/* Default value used for initialization, for pacifying older GCCs
+   or non-GCC compilers.  */
+static YYSTYPE yyval_default;
+# define YY_INITIAL_VALUE(Value) = Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
 /* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
 
     /* Number of syntax errors so far.  */
     int yynerrs;
@@ -1293,7 +1293,7 @@ YYSTYPE yylval;
        `yyss': related to states.
        `yyvs': related to semantic values.
 
-       Refer to the stacks thru separate pointers, to allow yyoverflow
+       Refer to the stacks through separate pointers, to allow yyoverflow
        to reallocate them elsewhere.  */
 
     /* The state stack.  */
@@ -1311,7 +1311,7 @@ YYSTYPE yylval;
   int yyn;
   int yyresult;
   /* Lookahead token as an internal (translated) token number.  */
-  int yytoken;
+  int yytoken = 0;
   /* The variables used to return semantic value and location from the
      action routines.  */
   YYSTYPE yyval;
@@ -1329,9 +1329,8 @@ YYSTYPE yylval;
      Keep to zero when no symbol should be popped.  */
   int yylen = 0;
 
-  yytoken = 0;
-  yyss = yyssa;
-  yyvs = yyvsa;
+  yyssp = yyss = yyssa;
+  yyvsp = yyvs = yyvsa;
   yystacksize = YYINITDEPTH;
 
   YYDPRINTF ((stderr, "Starting parse\n"));
@@ -1340,14 +1339,6 @@ YYSTYPE yylval;
   yyerrstatus = 0;
   yynerrs = 0;
   yychar = YYEMPTY; /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-  yyssp = yyss;
-  yyvsp = yyvs;
-
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -1488,7 +1479,9 @@ yybackup:
   yychar = YYEMPTY;
 
   yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
   goto yynewstate;
 
@@ -1525,8 +1518,7 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 175 "plural.y"
     {
 	    if ((yyvsp[(1) - (1)].exp) == NULL)
@@ -1536,8 +1528,7 @@ yyreduce:
     break;
 
   case 3:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 183 "plural.y"
     {
 	    (yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp));
@@ -1545,8 +1536,7 @@ yyreduce:
     break;
 
   case 4:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 187 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1554,8 +1544,7 @@ yyreduce:
     break;
 
   case 5:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 191 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1563,8 +1552,7 @@ yyreduce:
     break;
 
   case 6:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 195 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1572,8 +1560,7 @@ yyreduce:
     break;
 
   case 7:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 199 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1581,8 +1568,7 @@ yyreduce:
     break;
 
   case 8:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 203 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1590,8 +1576,7 @@ yyreduce:
     break;
 
   case 9:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 207 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
@@ -1599,8 +1584,7 @@ yyreduce:
     break;
 
   case 10:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 211 "plural.y"
     {
 	    (yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp));
@@ -1608,8 +1592,7 @@ yyreduce:
     break;
 
   case 11:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 215 "plural.y"
     {
 	    (yyval.exp) = new_exp_0 (var);
@@ -1617,8 +1600,7 @@ yyreduce:
     break;
 
   case 12:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 219 "plural.y"
     {
 	    if (((yyval.exp) = new_exp_0 (num)) != NULL)
@@ -1627,8 +1609,7 @@ yyreduce:
     break;
 
   case 13:
-
-/* Line 1806 of yacc.c  */
+/* Line 1792 of yacc.c  */
 #line 224 "plural.y"
     {
 	    (yyval.exp) = (yyvsp[(2) - (3)].exp);
@@ -1636,9 +1617,8 @@ yyreduce:
     break;
 
 
-
-/* Line 1806 of yacc.c  */
-#line 1642 "plural.c"
+/* Line 1792 of yacc.c  */
+#line 1622 "plural.c"
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -1801,7 +1781,9 @@ yyerrlab1:
       YY_STACK_PRINT (yyss, yyssp);
     }
 
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
 
   /* Shift the error token.  */
@@ -1825,7 +1807,7 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
-#if !defined(yyoverflow) || YYERROR_VERBOSE
+#if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 `-------------------------------------------------*/
@@ -1867,8 +1849,7 @@ yyreturn:
 }
 
 
-
-/* Line 2067 of yacc.c  */
+/* Line 2055 of yacc.c  */
 #line 229 "plural.y"
 
 
diff --git a/intl/plural.y b/intl/plural.y
index 2df3604dcf..58d8ee36f8 100644
--- a/intl/plural.y
+++ b/intl/plural.y
@@ -1,6 +1,6 @@
 %{
 /* Expression parsing for plural form selection.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
diff --git a/intl/po2test.awk b/intl/po2test.awk
index f2f010a973..815bdafb48 100644
--- a/intl/po2test.awk
+++ b/intl/po2test.awk
@@ -1,5 +1,5 @@
 # po2test.awk - Convert Uniforum style .po file to C code for testing.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2013 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/intl/textdomain.c b/intl/textdomain.c
index 35fb2e4c99..32976375e2 100644
--- a/intl/textdomain.c
+++ b/intl/textdomain.c
@@ -1,5 +1,5 @@
 /* Implementation of the textdomain(3) function.
-   Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/tst-codeset.c b/intl/tst-codeset.c
index e1026f94be..45938904b3 100644
--- a/intl/tst-codeset.c
+++ b/intl/tst-codeset.c
@@ -1,5 +1,5 @@
 /* Test of bind_textdomain_codeset.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bruno Haible <haible@clisp.cons.org>, 2001.
 
diff --git a/intl/tst-gettext.c b/intl/tst-gettext.c
index 38f95a2a14..bea144dbb8 100644
--- a/intl/tst-gettext.c
+++ b/intl/tst-gettext.c
@@ -1,5 +1,5 @@
 /* Test of the gettext functions.
-   Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
diff --git a/intl/tst-gettext.sh b/intl/tst-gettext.sh
index a3bb0a61d7..f622840789 100755
--- a/intl/tst-gettext.sh
+++ b/intl/tst-gettext.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of gettext functions.
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.
+# Copyright (C) 2000-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/tst-gettext2.c b/intl/tst-gettext2.c
index c5a471c988..3b4a2193f1 100644
--- a/intl/tst-gettext2.c
+++ b/intl/tst-gettext2.c
@@ -1,5 +1,5 @@
 /* Test of the gettext functions.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de> and
    Andreas Jaeger <aj@suse.de>, 2000.
diff --git a/intl/tst-gettext2.sh b/intl/tst-gettext2.sh
index 833b97986c..9c8f298e44 100644
--- a/intl/tst-gettext2.sh
+++ b/intl/tst-gettext2.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of gettext functions.
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.
+# Copyright (C) 2000-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/tst-gettext3.c b/intl/tst-gettext3.c
index d661a49099..ef128367b6 100644
--- a/intl/tst-gettext3.c
+++ b/intl/tst-gettext3.c
@@ -1,6 +1,6 @@
 /* Test that the gettext() results come out in the correct encoding for
    locales that differ only in their encoding.
-   Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2001-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bruno Haible <bruno@clisp.org>, 2001, 2005.
 
diff --git a/intl/tst-gettext4.c b/intl/tst-gettext4.c
index e7d3ac695d..ed1886fbfb 100644
--- a/intl/tst-gettext4.c
+++ b/intl/tst-gettext4.c
@@ -1,6 +1,6 @@
 /* Test that gettext() in multithreaded applications works correctly if
    different threads operate in different locales with the same encoding.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bruno Haible <bruno@clisp.org>, 2005.
 
diff --git a/intl/tst-gettext4.sh b/intl/tst-gettext4.sh
index 4067071c78..657bd309cd 100755
--- a/intl/tst-gettext4.sh
+++ b/intl/tst-gettext4.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Test that gettext() in multithreaded applications works correctly if
 # different threads operate in different locales with the same encoding.
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/tst-gettext5.c b/intl/tst-gettext5.c
index 61e95477fd..17a6aea876 100644
--- a/intl/tst-gettext5.c
+++ b/intl/tst-gettext5.c
@@ -1,7 +1,7 @@
 /* Test that gettext() in multithreaded applications works correctly if
    different threads operate in different locales referring to the same
    catalog file but with different encodings.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bruno Haible <bruno@clisp.org>, 2005.
 
diff --git a/intl/tst-gettext6.c b/intl/tst-gettext6.c
index 3984ce3710..8419074f2d 100644
--- a/intl/tst-gettext6.c
+++ b/intl/tst-gettext6.c
@@ -1,5 +1,5 @@
 /* Test that gettext() in multithreaded applications works correctly.
-   Copyright (C) 2008 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2008.
 
diff --git a/intl/tst-gettext6.sh b/intl/tst-gettext6.sh
index 2db0cd653a..9b7dc4717d 100644
--- a/intl/tst-gettext6.sh
+++ b/intl/tst-gettext6.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test that gettext() in multithreaded applications works correctly.
-# Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
diff --git a/intl/tst-ngettext.c b/intl/tst-ngettext.c
index a9fd049099..188b7867aa 100644
--- a/intl/tst-ngettext.c
+++ b/intl/tst-ngettext.c
@@ -1,5 +1,5 @@
 /* Test of the ngettext functions.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
diff --git a/intl/tst-translit.c b/intl/tst-translit.c
index e0eae7c088..946fabf67e 100644
--- a/intl/tst-translit.c
+++ b/intl/tst-translit.c
@@ -1,5 +1,5 @@
 /* Test of translitation in the gettext functions.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
diff --git a/intl/tst-translit.sh b/intl/tst-translit.sh
index 27cd1bf95d..90bfd9bb22 100755
--- a/intl/tst-translit.sh
+++ b/intl/tst-translit.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of transliteration in gettext functions.
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.
+# Copyright (C) 2000-2013 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or