aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-03-05 00:39:23 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-03-05 00:39:23 +0000
commitf8c264049036ace8b02a73fe76b4470b8e0df0c0 (patch)
treeb79096f9660e10e7d5a6b520823cbbc9313e6894 /libcpp
parente4ca607bcff0531a124c6603c1a0496c21b5c1d2 (diff)
parent94014ee95b2594859168baac31da4c846a256807 (diff)
downloadgcc-f8c264049036ace8b02a73fe76b4470b8e0df0c0.zip
gcc-f8c264049036ace8b02a73fe76b4470b8e0df0c0.tar.gz
gcc-f8c264049036ace8b02a73fe76b4470b8e0df0c0.tar.bz2
Merge from trunk revision 269372.
From-SVN: r269382
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog187
-rw-r--r--libcpp/Makefile.in2
-rw-r--r--libcpp/aclocal.m49
-rw-r--r--libcpp/charset.c34
-rw-r--r--libcpp/config.in5
-rwxr-xr-xlibcpp/configure1050
-rw-r--r--libcpp/configure.ac3
-rw-r--r--libcpp/directives-only.c4
-rw-r--r--libcpp/directives.c119
-rw-r--r--libcpp/errors.c76
-rw-r--r--libcpp/expr.c18
-rw-r--r--libcpp/files.c66
-rw-r--r--libcpp/identifiers.c2
-rw-r--r--libcpp/include/cpplib.h216
-rw-r--r--libcpp/include/line-map.h255
-rw-r--r--libcpp/include/mkdeps.h2
-rw-r--r--libcpp/include/symtab.h2
-rw-r--r--libcpp/init.c11
-rw-r--r--libcpp/internal.h46
-rw-r--r--libcpp/lex.c20
-rw-r--r--libcpp/line-map.c317
-rw-r--r--libcpp/location-example.txt347
-rw-r--r--libcpp/macro.c168
-rw-r--r--libcpp/makeucnid.c4
-rw-r--r--libcpp/mkdeps.c2
-rw-r--r--libcpp/pch.c6
-rw-r--r--libcpp/po/ChangeLog22
-rw-r--r--libcpp/po/be.po329
-rw-r--r--libcpp/po/ca.po345
-rw-r--r--libcpp/po/cpplib.pot306
-rw-r--r--libcpp/po/da.po353
-rw-r--r--libcpp/po/de.po351
-rw-r--r--libcpp/po/el.po333
-rw-r--r--libcpp/po/eo.po355
-rw-r--r--libcpp/po/es.po347
-rw-r--r--libcpp/po/fi.po355
-rw-r--r--libcpp/po/fr.po351
-rw-r--r--libcpp/po/id.po347
-rw-r--r--libcpp/po/ja.po347
-rw-r--r--libcpp/po/nl.po347
-rw-r--r--libcpp/po/pt_BR.po353
-rw-r--r--libcpp/po/ru.po351
-rw-r--r--libcpp/po/sr.po347
-rw-r--r--libcpp/po/sv.po347
-rw-r--r--libcpp/po/tr.po347
-rw-r--r--libcpp/po/uk.po353
-rw-r--r--libcpp/po/vi.po349
-rw-r--r--libcpp/po/zh_CN.po347
-rw-r--r--libcpp/po/zh_TW.po347
-rw-r--r--libcpp/symtab.c37
-rw-r--r--libcpp/system.h2
-rw-r--r--libcpp/traditional.c6
-rw-r--r--libcpp/ucnid.h2
-rw-r--r--libcpp/ucnid.tab2
54 files changed, 5669 insertions, 4980 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index ef96824..261494b 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,188 @@
+2019-02-26 Martin Liska <mliska@suse.cz>
+
+ * symtab.c (ht_dump_statistics): Make
+ horizontal alignment for statistics.
+
+2019-02-20 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/89410
+ * include/line-map.h (linenum_arith_t): New typedef.
+ (compare): Use it.
+
+2019-02-18 Martin Liska <mliska@suse.cz>
+
+ PR c++/89383
+ * line-map.c (linemap_line_start): Use 1UL in order
+ to not overflow.
+
+2019-02-11 Martin Liska <mliska@suse.cz>
+
+ PR lto/88147
+ * line-map.c (linemap_line_start): Don't reuse the existing line
+ map if the line offset is sufficiently large to cause overflow
+ when computing location_t values.
+
+2019-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/88974
+ * directives.c (SEEN_EOL): Move macro to ...
+ * internal.h (SEEN_EOL): ... here.
+ * expr.c (parse_has_include): Don't cpp_get_token if SEEN_EOL ().
+
+2019-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2018-11-27 Mike Gulick <mgulick@mathworks.com>
+
+ PR preprocessor/83173
+ * location-example.txt: Update example -fdump-internal-locations
+ output.
+
+2018-11-27 Mike Gulick <mgulick@mathworks.com>
+
+ PR preprocessor/83173
+ * files.c (_cpp_stack_include): Check if
+ line_table->highest_location is past current line before
+ decrementing.
+
+2018-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * charset.c: Replace "source_location" with "location_t".
+ * directives-only.c: Likewise.
+ * directives.c: Likewise.
+ * errors.c: Likewise.
+ * expr.c: Likewise.
+ * files.c: Likewise.
+ * include/cpplib.h: Likewise. Rename MAX_SOURCE_LOCATION to
+ MAX_LOCATION_T.
+ * include/line-map.h: Likewise.
+ * init.c: Likewise.
+ * internal.h: Likewise.
+ * lex.c: Likewise.
+ * line-map.c: Likewise.
+ * location-example.txt: Likewise.
+ * macro.c: Likewise.
+ * pch.c: Likewise.
+ * traditional.c: Likewise.
+
+2018-11-07 Hafiz Abid Qadeer <abidh@codesourcery.com>
+
+ * configure: Regenerated.
+
+2018-11-05 Martin Liska <mliska@suse.cz>
+
+ * symtab.c (ht_dump_statistics): Replace %zu with %lu format.
+
+2018-11-05 Martin Liska <mliska@suse.cz>
+
+ * symtab.c (ht_dump_statistics): Fix format and
+ pass missing argument.
+
+2018-11-05 Martin Liska <mliska@suse.cz>
+
+ * symtab.c (ht_dump_statistics): Make dump conditional
+ based on alloc_subobject.
+
+2018-10-31 Joseph Myers <joseph@codesourcery.com>
+
+ PR bootstrap/82856
+ * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE.
+ * aclocal.m4, config.in, configure: Regenerate.
+
+2018-10-31 Nathan Sidwell <nathan@acm.org>
+
+ * internal.h (struct cpp_reader): Rename forced_token_location_p
+ to forced_token_location and drop its pointerness.
+ * include/cpplib.h (cpp_force_token_locations): Take location, not
+ pointer to one.
+ * init.c (cpp_create_reader): Adjust.
+ * lex.c (cpp_read_main_file):
+
+ * directives.c (do_include_common): Commonize cleanup path.
+ (_cpp_pop_buffer): Fix leak.
+
+ * include/line-map.h (IS_ORDINARY_LOC, IS_MACRO_LOC): New
+ predicates.
+ (IS_ADHOC_LOC): Move earlier.
+ (MAP_ORDINARY_P): Use IS_ORDINARY_LOC.
+ * line-map.c (linemap_location_from_macro_expansion_p): Use
+ IS_MACRO_LOC.
+
+ * include/cpplib.h (cpp_macro_definition_location): Make inline.
+ * macro.c (warn_of_redefinition): Fix comments, examine macro
+ type, use C++ for.
+ (cpp_macro_definition_location): Don't define here.
+
+ * include/cpplib.h (HT_NODE): Don't cast NODE.
+ (NODE_LEN, NODE_NAME): Use HT_NODE.
+
+ * directives.c (DIRECTIVE_TABLE): Drop historical frequency
+ comments.
+ * files.c (_cpp_stack_file): Fix indentation.
+
+2018-10-17 Joseph Myers <joseph@codesourcery.com>
+
+ * include/cpplib.h (enum c_lang): Add CLK_GNUC2X and CLK_STDC2X.
+ * init.c (lang_defaults): Add GNUC2X and STDC2X entries.
+ (cpp_init_builtins): Define __STDC_VERSION__ to 202000L for C2X.
+
+2018-10-11 David Malcolm <dmalcolm@redhat.com>
+
+ * macro.c (_cpp_arguments_ok): If the argument count is wrong, add
+ a note showing the definition of the macro.
+
+2018-10-11 Nathan Sidwell <nathan@acm.org>
+
+ * include/line-map.h (LINEMAPS_MACRO_LOWEST_LOCATION): Fix
+ off-by-one error.
+ * line-map.c (linemap_enter_macro): Use RAII. Clear all of the
+ macro_locations.
+
+2018-10-09 David Malcolm <dmalcolm@redhat.com>
+
+ * charset.c (noop_error_cb): Rename to...
+ (noop_diagnostic_cb): ...this, converting params to enums.
+ (cpp_interpret_string_ranges): Update for renaming and enums.
+ * directives.c (check_eol_1): Convert reason to enum.
+ (do_diagnostic): Convert code and reason to enum.
+ (do_error): Use CPP_W_NONE rather than 0.
+ (do_pragma_dependency): Likewise.
+ * errors.c (cpp_diagnostic_at): Convert level and reason to enums.
+ Update for renaming.
+ (cpp_diagnostic): Convert level and reason to enums.
+ (cpp_error): Convert level to enum.
+ (cpp_warning): Convert reason to enums.
+ (cpp_pedwarning): Likewise.
+ (cpp_warning_syshdr): Likewise.
+ (cpp_diagnostic_with_line): Convert level and reason to enums.
+ Update for renaming.
+ (cpp_error_with_line): Convert level to enum.
+ (cpp_warning_with_line): Convert reason to enums.
+ (cpp_pedwarning_with_line): Likewise.
+ (cpp_warning_with_line_syshdr): Likewise.
+ (cpp_error_at): Convert level to enum.
+ (cpp_errno): Likewise.
+ (cpp_errno_filename): Likewise.
+ * include/cpplib.h (enum cpp_diagnostic_level): Name this enum,
+ and move to before struct cpp_callbacks.
+ (enum cpp_warning_reason): Likewise.
+ (cpp_callbacks::diagnostic): Convert params from int to enums.
+ (cpp_error): Convert int param to enum cpp_diagnostic_level.
+ (cpp_warning): Convert int param to enum cpp_warning_reason.
+ (cpp_pedwarning): Likewise.
+ (cpp_warning_syshdr): Likewise.
+ (cpp_errno): Convert int param to enum cpp_diagnostic_level.
+ (cpp_errno_filename): Likewise.
+ (cpp_error_with_line): Likewise.
+ (cpp_warning_with_line): Convert int param to enum
+ cpp_warning_reason.
+ (cpp_pedwarning_with_line): Likewise.
+ (cpp_warning_with_line_syshdr): Likewise.
+ (cpp_error_at): Convert int param to enum cpp_diagnostic_level.
+ * macro.c (create_iso_definition): Convert int to enum.
+ (_cpp_create_definition): Likewise.
+
2018-09-17 David Malcolm <dmalcolm@redhat.com>
* include/line-map.h (range_label::get_text): Add param
@@ -5567,7 +5752,7 @@
* include/symtab.h: Moved from gcc/hashtable.h. Change header
guard name.
-Copyright (C) 2004-2018 Free Software Foundation, Inc.
+Copyright (C) 2004-2019 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
index 835c835..81be1fd 100644
--- a/libcpp/Makefile.in
+++ b/libcpp/Makefile.in
@@ -1,7 +1,7 @@
# @configure_input@
# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in
-# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+# Copyright (C) 2004-2019 Free Software Foundation, Inc.
#This file is part of libcpp.
diff --git a/libcpp/aclocal.m4 b/libcpp/aclocal.m4
index c6d3bf8..46bb65a 100644
--- a/libcpp/aclocal.m4
+++ b/libcpp/aclocal.m4
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -12,6 +11,7 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_include([../config/acx.m4])
m4_include([../config/codeset.m4])
m4_include([../config/depstand.m4])
@@ -21,5 +21,4 @@ m4_include([../config/lead-dot.m4])
m4_include([../config/lib-ld.m4])
m4_include([../config/lib-link.m4])
m4_include([../config/lib-prefix.m4])
-m4_include([../config/override.m4])
m4_include([../config/warnings.m4])
diff --git a/libcpp/charset.c b/libcpp/charset.c
index c6dce0d..8a0e5cb 100644
--- a/libcpp/charset.c
+++ b/libcpp/charset.c
@@ -1,5 +1,5 @@
/* CPP Library - charsets
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2019 Free Software Foundation, Inc.
Broken out of c-lex.c Apr 2003, adding valid C99 UCN ranges.
@@ -1693,13 +1693,14 @@ cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count,
return cpp_interpret_string_1 (pfile, from, count, to, type, NULL, NULL);
}
-/* A "do nothing" error-handling callback for use by
+/* A "do nothing" diagnostic-handling callback for use by
cpp_interpret_string_ranges, so that it can temporarily suppress
- error-handling. */
+ diagnostic-handling. */
static bool
-noop_error_cb (cpp_reader *, int, int, rich_location *,
- const char *, va_list *)
+noop_diagnostic_cb (cpp_reader *, enum cpp_diagnostic_level,
+ enum cpp_warning_reason, rich_location *,
+ const char *, va_list *)
{
/* no-op. */
return true;
@@ -1737,25 +1738,26 @@ cpp_interpret_string_ranges (cpp_reader *pfile, const cpp_string *from,
return "execution character set != source character set";
/* For on-demand strings we have already lexed the strings, so there
- should be no errors. However, if we have bogus source location
+ should be no diagnostics. However, if we have bogus source location
data (or stringified macro arguments), the attempt to lex the
- strings could fail with an error. Temporarily install an
- error-handler to catch the error, so that it can lead to this call
+ strings could fail with an diagnostic. Temporarily install an
+ diagnostic-handler to catch the diagnostic, so that it can lead to this call
failing, rather than being emitted as a user-visible diagnostic.
- If an error does occur, we should see it via the return value of
+ If an diagnostic does occur, we should see it via the return value of
cpp_interpret_string_1. */
- bool (*saved_error_handler) (cpp_reader *, int, int, rich_location *,
- const char *, va_list *)
+ bool (*saved_diagnostic_handler) (cpp_reader *, enum cpp_diagnostic_level,
+ enum cpp_warning_reason, rich_location *,
+ const char *, va_list *)
ATTRIBUTE_FPTR_PRINTF(5,0);
- saved_error_handler = pfile->cb.error;
- pfile->cb.error = noop_error_cb;
+ saved_diagnostic_handler = pfile->cb.diagnostic;
+ pfile->cb.diagnostic = noop_diagnostic_cb;
bool result = cpp_interpret_string_1 (pfile, from, count, NULL, type,
loc_readers, out);
- /* Restore the saved error-handler. */
- pfile->cb.error = saved_error_handler;
+ /* Restore the saved diagnostic-handler. */
+ pfile->cb.diagnostic = saved_diagnostic_handler;
if (!result)
return "cpp_interpret_string_1 failed";
@@ -2133,7 +2135,7 @@ _cpp_default_encoding (void)
/* Constructor for cpp_string_location_reader. */
cpp_string_location_reader::
-cpp_string_location_reader (source_location src_loc,
+cpp_string_location_reader (location_t src_loc,
line_maps *line_table)
: m_line_table (line_table)
{
diff --git a/libcpp/config.in b/libcpp/config.in
index dd489a5..89aa6a1 100644
--- a/libcpp/config.in
+++ b/libcpp/config.in
@@ -318,6 +318,11 @@
# endif
#endif
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
diff --git a/libcpp/configure b/libcpp/configure
index 12c1907..a7aa35c 100755
--- a/libcpp/configure
+++ b/libcpp/configure
@@ -1,12 +1,12 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for cpplib .
+# Generated by GNU Autoconf 2.69 for cpplib .
#
# Report bugs to <gcc-bugs@gcc.gnu.org>.
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
@@ -89,6 +89,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -133,6 +134,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -166,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -211,14 +238,25 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -317,10 +355,18 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -357,19 +403,19 @@ else
fi # as_fn_arith
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -442,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -476,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -497,28 +547,8 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -527,10 +557,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
@@ -779,8 +810,9 @@ do
fi
case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
@@ -825,7 +857,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -851,7 +883,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1055,7 +1087,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1071,7 +1103,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1101,8 +1133,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
@@ -1110,7 +1142,7 @@ Try \`$0 --help' for more information."
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
@@ -1120,7 +1152,7 @@ Try \`$0 --help' for more information."
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1128,13 +1160,13 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error "missing argument to $ac_option"
+ as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
@@ -1157,7 +1189,7 @@ do
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1171,8 +1203,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1187,9 +1217,9 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error "working directory cannot be determined"
+ as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error "pwd does not report name of working directory"
+ as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
@@ -1228,11 +1258,11 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1272,7 +1302,7 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
@@ -1360,7 +1390,7 @@ Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
@@ -1433,9 +1463,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cpplib configure
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.69
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1479,8 +1509,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1517,8 +1547,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile
@@ -1543,7 +1573,7 @@ $as_echo "$ac_try_echo"; } >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } >/dev/null && {
+ test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then :
@@ -1554,8 +1584,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -1567,10 +1597,10 @@ fi
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1606,7 +1636,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
else
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
@@ -1629,17 +1659,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ----------------------------------- ##
+( $as_echo "## ----------------------------------- ##
## Report this to gcc-bugs@gcc.gnu.org ##
-## ----------------------------------- ##
-_ASBOX
+## ----------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1648,7 +1676,7 @@ eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
@@ -1689,8 +1717,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_run
@@ -1703,7 +1731,7 @@ ac_fn_c_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1721,7 +1749,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
@@ -1752,7 +1780,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -1766,8 +1794,8 @@ fi
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -1780,7 +1808,7 @@ ac_fn_c_check_type ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
@@ -1821,7 +1849,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
@@ -1834,10 +1862,12 @@ ac_fn_c_find_uintX_t ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
$as_echo_n "checking for uint$2_t... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
+ # Order is important - never check a type that is potentially smaller
+ # than half of the expected target width.
for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
'unsigned long long int' 'unsigned short int' 'unsigned char'; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1846,8 +1876,9 @@ $ac_includes_default
int
main ()
{
-static int test_array [1 - 2 * !(($ac_type) -1 >> ($2 - 1) == 1)];
-test_array [0] = 0
+static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -1862,8 +1893,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
esac
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- eval as_val=\$$3
- if test "x$as_val" = x""no; then :
+ if eval test \"x\$"$3"\" = x"no"; then :
else
break
@@ -1873,7 +1903,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_find_uintX_t
@@ -1894,7 +1924,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -1910,7 +1941,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -1936,7 +1968,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -1952,7 +1985,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -1986,7 +2020,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2050,8 +2085,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
rm -f conftest.val
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_c_compute_int
@@ -2063,7 +2098,7 @@ ac_fn_c_check_func ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2118,13 +2153,14 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
ac_fn_c_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -2132,7 +2168,7 @@ ac_fn_c_check_decl ()
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2163,7 +2199,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_decl
@@ -2194,7 +2230,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2208,8 +2244,8 @@ fi
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
cat >config.log <<_ACEOF
@@ -2217,7 +2253,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by cpplib $as_me , which was
-generated by GNU Autoconf 2.64. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2327,11 +2363,9 @@ trap 'exit_status=$?
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
@@ -2365,11 +2399,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ $as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
@@ -2382,11 +2414,9 @@ _ASBOX
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
+ $as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
@@ -2400,11 +2430,9 @@ _ASBOX
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ $as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
cat confdefs.h
echo
@@ -2459,7 +2487,12 @@ _ACEOF
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- ac_site_file1=$CONFIG_SITE
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
@@ -2470,18 +2503,22 @@ fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
- if test -r "$ac_site_file"; then
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
@@ -2550,7 +2587,7 @@ if $ac_cache_corrupted; then
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
@@ -2565,21 +2602,24 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- for ac_t in install-sh install.sh shtool; do
- if test -f "$ac_dir/$ac_t"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/$ac_t -c"
- break 2
- fi
- done
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -2593,27 +2633,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -2631,14 +2671,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
@@ -2646,7 +2686,7 @@ fi
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -2664,14 +2704,14 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
@@ -2679,7 +2719,7 @@ fi
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -2708,7 +2748,7 @@ test -n "$target_alias" &&
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -2716,7 +2756,7 @@ SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2752,7 +2792,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2772,7 +2812,7 @@ case $as_dir/ in #((
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -2838,7 +2878,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2850,7 +2890,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2878,7 +2918,7 @@ if test -z "$ac_cv_prog_CC"; then
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -2890,7 +2930,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2931,7 +2971,7 @@ if test -z "$CC"; then
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2943,7 +2983,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2971,7 +3011,7 @@ if test -z "$CC"; then
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2984,7 +3024,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -3030,7 +3070,7 @@ if test -z "$CC"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3042,7 +3082,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3074,7 +3114,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3086,7 +3126,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3128,8 +3168,8 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3150,8 +3190,8 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
- rm -f conftest.er1 conftest.err
fi
+ rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
@@ -3168,12 +3208,12 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
@@ -3235,62 +3275,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
else
ac_file=''
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then :
- $as_echo "$as_me: failed program was:" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
@@ -3320,19 +3326,78 @@ done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3372,8 +3437,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3383,7 +3448,7 @@ OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3420,7 +3485,7 @@ ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3498,7 +3563,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -3507,8 +3572,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3609,7 +3673,7 @@ if test -z "$CXX"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
@@ -3621,7 +3685,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3653,7 +3717,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
@@ -3665,7 +3729,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3723,15 +3787,15 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
- rm -f conftest.er1 conftest.err
fi
+ rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3768,7 +3832,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -3855,7 +3919,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
@@ -3867,7 +3931,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3895,7 +3959,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
@@ -3907,7 +3971,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3956,7 +4020,7 @@ if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -3986,7 +4050,7 @@ else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
@@ -4002,11 +4066,11 @@ else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
@@ -4045,7 +4109,7 @@ else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
@@ -4061,18 +4125,18 @@ else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -4084,7 +4148,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -4098,7 +4162,7 @@ do
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -4133,7 +4197,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
@@ -4147,7 +4211,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4164,7 +4228,7 @@ do
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -4199,7 +4263,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
@@ -4214,7 +4278,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4331,8 +4395,7 @@ do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4344,7 +4407,7 @@ done
ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
MINIX=yes
else
MINIX=
@@ -4366,14 +4429,14 @@ $as_echo "#define _MINIX 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-# define __EXTENSIONS__ 1
- $ac_includes_default
+# define __EXTENSIONS__ 1
+ $ac_includes_default
int
main ()
{
@@ -4412,7 +4475,7 @@ if test "$enable_largefile" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_sys_largefile_CC=no
@@ -4463,7 +4526,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
$as_echo_n "(cached) " >&6
else
while :; do
@@ -4532,7 +4595,7 @@ rm -rf conftest*
if test $ac_cv_sys_file_offset_bits = unknown; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
$as_echo_n "(cached) " >&6
else
while :; do
@@ -4599,6 +4662,8 @@ _ACEOF
esac
rm -rf conftest*
fi
+
+
fi
@@ -4609,7 +4674,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ACLOCAL+set}" = set; then :
+if ${ac_cv_prog_ACLOCAL+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ACLOCAL"; then
@@ -4621,7 +4686,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ACLOCAL="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4652,7 +4717,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOCONF+set}" = set; then :
+if ${ac_cv_prog_AUTOCONF+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AUTOCONF"; then
@@ -4664,7 +4729,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AUTOCONF="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4695,7 +4760,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AUTOHEADER+set}" = set; then :
+if ${ac_cv_prog_AUTOHEADER+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AUTOHEADER"; then
@@ -4707,7 +4772,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AUTOHEADER="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4756,7 +4821,7 @@ for real_option in -W -Wall -Wno-narrowing -Wwrite-strings \
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
$as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
$as_echo_n "(cached) " >&6
else
CFLAGS="$option"
@@ -4814,7 +4879,7 @@ for real_option in -Wstrict-prototypes -Wmissing-prototypes \
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
$as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
$as_echo_n "(cached) " >&6
else
CFLAGS="$option"
@@ -4864,7 +4929,7 @@ WARN_PEDANTIC=
if test "$GCC" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5
$as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; }
-if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then :
+if ${acx_cv_prog_cc_pedantic__Wlong_long+:} false; then :
$as_echo_n "(cached) " >&6
else
save_CFLAGS="$CFLAGS"
@@ -4923,7 +4988,7 @@ for real_option in -fno-exceptions -fno-rtti; do
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
$as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_acx_Woption+:} false; then :
$as_echo_n "(cached) " >&6
else
CFLAGS="$option"
@@ -5019,7 +5084,7 @@ _ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
else
- as_fn_error "C++ compiler missing or inoperational" "$LINENO" 5
+ as_fn_error $? "C++ compiler missing or inoperational" "$LINENO" 5
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
@@ -5033,7 +5098,7 @@ depcc="$CXX" am_compiler_list=
am_depcomp=$ac_aux_dir/depcomp
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -f "$am_depcomp"; then
@@ -5119,7 +5184,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
if test x${am_cv_CXX_dependencies_compiler_type-none} = xnone
-then as_fn_error "no usable dependency style found" "$LINENO" 5
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
fi
@@ -5128,7 +5193,7 @@ fi
# Checks for header files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5163,7 +5228,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
$as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
-if test "${gcc_cv_header_string+set}" = set; then :
+if ${gcc_cv_header_string+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5199,8 +5264,7 @@ for ac_header in locale.h fcntl.h limits.h stddef.h \
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -5213,7 +5277,7 @@ done
# Checks for typedefs, structures, and compiler characteristics.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -5431,13 +5495,13 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
- as_fn_error "unknown endianness
+ as_fn_error $? "unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5446,11 +5510,11 @@ else
int
main ()
{
-/* FIXME: Include the comments suggested by Paul. */
+
#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
+ /* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2];
- const charset cs;
+ const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
@@ -5467,8 +5531,9 @@ main ()
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
@@ -5484,10 +5549,10 @@ main ()
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this saying
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
@@ -5517,7 +5582,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_inline=no
@@ -5559,7 +5624,7 @@ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5
$as_echo_n "checking for obstacks... " >&6; }
-if test "${ac_cv_func_obstack+set}" = set; then :
+if ${ac_cv_func_obstack+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5602,7 +5667,7 @@ esac
fi
ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = x""yes; then :
+if test "x$ac_cv_type_off_t" = xyes; then :
else
@@ -5613,7 +5678,7 @@ _ACEOF
fi
ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = x""yes; then :
+if test "x$ac_cv_type_size_t" = xyes; then :
else
@@ -5624,7 +5689,7 @@ _ACEOF
fi
ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = x""yes; then :
+if test "x$ac_cv_type_ssize_t" = xyes; then :
else
@@ -5636,7 +5701,7 @@ fi
ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
@@ -5650,7 +5715,8 @@ int
main ()
{
static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -5671,7 +5737,7 @@ fi
ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then :
+if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
else
@@ -5696,11 +5762,11 @@ _ACEOF
esac
if test x"$ac_cv_c_uint64_t" = x"no"; then
- as_fn_error "uint64_t not found" "$LINENO" 5
+ as_fn_error $? "uint64_t not found" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
-if test "${ac_cv_struct_tm+set}" = set; then :
+if ${ac_cv_struct_tm+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5739,7 +5805,7 @@ fi
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
@@ -5748,9 +5814,8 @@ else
if test "$ac_cv_type_int" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
@@ -5773,7 +5838,7 @@ _ACEOF
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -5782,9 +5847,8 @@ else
if test "$ac_cv_type_long" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -5806,8 +5870,7 @@ for ac_func in clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -5816,7 +5879,7 @@ fi
done
ac_fn_c_check_decl "$LINENO" "abort" "ac_cv_have_decl_abort" "$ac_includes_default"
-if test "x$ac_cv_have_decl_abort" = x""yes; then :
+if test "x$ac_cv_have_decl_abort" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5826,7 +5889,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_ABORT $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5835,8 +5898,9 @@ fi
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_ASPRINTF $ac_have_decl
_ACEOF
-ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"
-if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :
+as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5846,7 +5910,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_BASENAME $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "errno" "ac_cv_have_decl_errno" "$ac_includes_default"
-if test "x$ac_cv_have_decl_errno" = x""yes; then :
+if test "x$ac_cv_have_decl_errno" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5856,7 +5920,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_ERRNO $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getopt" = x""yes; then :
+if test "x$ac_cv_have_decl_getopt" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5866,7 +5930,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_GETOPT $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5877,7 +5941,7 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_clearerr_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5887,7 +5951,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_feof_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5897,7 +5961,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_ferror_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5907,7 +5971,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fflush_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5917,7 +5981,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fgetc_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fgetc_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5927,7 +5991,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fgets_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5937,7 +6001,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fileno_unlocked" "ac_cv_have_decl_fileno_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fileno_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fileno_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5947,7 +6011,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FILENO_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fprintf_unlocked" "ac_cv_have_decl_fprintf_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fprintf_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fprintf_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5957,7 +6021,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FPRINTF_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputc_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5967,7 +6031,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputs_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5977,7 +6041,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fread_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5987,7 +6051,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fwrite_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -5997,7 +6061,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getchar_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6007,7 +6071,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6017,7 +6081,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_putchar_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6027,7 +6091,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_putc_unlocked" = x""yes; then :
+if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -6043,7 +6107,7 @@ _ACEOF
# for constant arguments. Useless!
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6076,7 +6140,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
$as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6095,7 +6159,7 @@ else
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
# endif
# endif
# endif
@@ -6139,7 +6203,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6166,8 +6230,7 @@ if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define CRAY_STACKSEG_END $ac_func
@@ -6181,7 +6244,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
$as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -6191,23 +6254,20 @@ else
/* end confdefs.h. */
$ac_includes_default
int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
}
int
-main ()
+main (int argc, char **argv)
{
- return find_stack_direction () < 0;
+ return find_stack_direction (0, argc + !argv + 20) < 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -6231,7 +6291,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6344,7 +6404,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+if ${am_cv_langinfo_codeset+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6448,7 +6508,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uchar" >&5
$as_echo_n "checking for uchar... " >&6; }
-if test "${gcc_cv_type_uchar+set}" = set; then :
+if ${gcc_cv_type_uchar+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6564,7 +6624,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
$as_echo_n "checking for non-GNU ld... " >&6; }
fi
-if test "${acl_cv_path_LD+set}" = set; then :
+if ${acl_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
@@ -6597,10 +6657,10 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+if ${acl_cv_prog_gnu_ld+:} false; then :
$as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
@@ -6618,7 +6678,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
+if ${acl_cv_rpath+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7036,7 +7096,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then :
+if ${am_cv_func_iconv+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7105,7 +7165,7 @@ rm -f core conftest.err conftest.$ac_objext \
if test "$am_cv_func_iconv" != yes; then
am_save_CPPFLAGS="$CPPFLAGS"
am_save_LIBS="$LIBS"
- CPPFLAGS="$LIBS $INCICONV"
+ CPPFLAGS="$CPPFLAGS $INCICONV"
LIBS="$LIBS $LIBICONV"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7177,7 +7237,7 @@ $as_echo "$LIBICONV" >&6; }
if test "$am_cv_func_iconv" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
$as_echo_n "checking for iconv declaration... " >&6; }
- if test "${am_cv_proto_iconv+set}" = set; then :
+ if ${am_cv_proto_iconv+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -7378,7 +7438,7 @@ if test x$enable_valgrind_annotations != xno \
if (test $have_valgrind_h = no \
&& test $gcc_cv_header_memcheck_h = no \
&& test $gcc_cv_header_valgrind_memcheck_h = no); then
- as_fn_error "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 5
+ as_fn_error $? "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 5
fi
$as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h
@@ -7455,10 +7515,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -7474,6 +7545,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -7490,7 +7562,7 @@ LTLIBOBJS=$ac_ltlibobjs
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -7591,6 +7663,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7636,19 +7709,19 @@ export LANGUAGE
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -7786,16 +7859,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -7844,7 +7917,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
@@ -7855,28 +7928,16 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -7898,7 +7959,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by cpplib $as_me , which was
-generated by GNU Autoconf 2.64. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -7938,6 +7999,7 @@ Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
@@ -7960,12 +8022,13 @@ Report bugs to <gcc-bugs@gcc.gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
cpplib config.status
-configured by $0, generated by GNU Autoconf 2.64,
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -7981,11 +8044,16 @@ ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=*)
+ --*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
*)
ac_option=$1
ac_optarg=$2
@@ -7999,12 +8067,15 @@ do
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
@@ -8017,7 +8088,7 @@ do
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- as_fn_error "ambiguous option: \`$1'
+ as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
@@ -8026,7 +8097,7 @@ Try \`$0 --help' for more information.";;
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error "unrecognized option: \`$1'
+ -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
@@ -8046,7 +8117,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
@@ -8084,7 +8155,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -8107,9 +8178,10 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -8117,12 +8189,13 @@ $debug ||
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -8139,12 +8212,12 @@ if test "x$ac_cr" = x; then
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\r'
+ ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -8153,18 +8226,18 @@ _ACEOF
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -8172,7 +8245,7 @@ done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -8186,7 +8259,7 @@ s/'"$ac_delim"'$//
t delim
:nl
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
@@ -8200,7 +8273,7 @@ s/.\{148\}//
t nl
:delim
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
@@ -8220,7 +8293,7 @@ t delim
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -8252,21 +8325,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
s/^[^=]*=[ ]*$//
}'
fi
@@ -8278,7 +8359,7 @@ fi # test -n "$CONFIG_FILES"
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -8290,11 +8371,11 @@ _ACEOF
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -8379,7 +8460,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
@@ -8392,7 +8473,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -8411,7 +8492,7 @@ do
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
@@ -8420,7 +8501,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -8446,8 +8527,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -8577,23 +8658,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
+which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
+which seems to be undefined. Please make sure it is defined" >&2;}
- rm -f "$tmp/stdin"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
@@ -8602,21 +8684,21 @@ which seems to be undefined. Please make sure it is defined." >&2;}
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error "could not create -" "$LINENO" 5
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
@@ -8639,7 +8721,7 @@ _ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
@@ -8660,7 +8742,7 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit $?
+ $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff --git a/libcpp/configure.ac b/libcpp/configure.ac
index d0a59dc..1779562 100644
--- a/libcpp/configure.ac
+++ b/libcpp/configure.ac
@@ -1,7 +1,6 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)
AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib)
AC_CONFIG_SRCDIR(ucnid.h)
AC_CONFIG_MACRO_DIR(../config)
@@ -42,7 +41,7 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
# Dependency checking.
ZW_CREATE_DEPDIR
AC_LANG_PUSH([C++])
-AC_COMPILE_IFELSE([[int i;]], [],
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [],
[AC_MSG_ERROR([C++ compiler missing or inoperational])])
AC_LANG_POP([C++])
ZW_PROG_COMPILER_DEPENDENCIES([CXX])
diff --git a/libcpp/directives-only.c b/libcpp/directives-only.c
index de67308..ea9aa1d 100644
--- a/libcpp/directives-only.c
+++ b/libcpp/directives-only.c
@@ -1,5 +1,5 @@
/* CPP Library - directive only preprocessing for distributed compilation.
- Copyright (C) 2007-2018 Free Software Foundation, Inc.
+ Copyright (C) 2007-2019 Free Software Foundation, Inc.
Contributed by Ollie Wild <aaw@google.com>.
This program is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@ _cpp_preprocess_dir_only (cpp_reader *pfile,
unsigned flags;
linenum_type lines;
int col;
- source_location loc;
+ location_t loc;
restart:
/* Buffer initialization ala _cpp_clean_line(). */
diff --git a/libcpp/directives.c b/libcpp/directives.c
index f7c460d..1ada834 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -1,5 +1,5 @@
/* CPP Library. (Directive handling.)
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -30,7 +30,7 @@ along with this program; see the file COPYING3. If not see
struct if_stack
{
struct if_stack *next;
- source_location line; /* Line where condition started. */
+ location_t line; /* Line where condition started. */
const cpp_hashnode *mi_cmacro;/* macro name for #ifndef around entire file */
bool skip_elses; /* Can future #else / #elif be skipped? */
bool was_skipping; /* If were skipping on entry. */
@@ -98,11 +98,12 @@ static void directive_diagnostics (cpp_reader *, const directive *, int);
static void run_directive (cpp_reader *, int, const char *, size_t);
static char *glue_header_name (cpp_reader *);
static const char *parse_include (cpp_reader *, int *, const cpp_token ***,
- source_location *);
+ location_t *);
static void push_conditional (cpp_reader *, int, int, const cpp_hashnode *);
static unsigned int read_flag (cpp_reader *, unsigned int);
static bool strtolinenum (const uchar *, size_t, linenum_type *, bool *);
-static void do_diagnostic (cpp_reader *, int, int, int);
+static void do_diagnostic (cpp_reader *, enum cpp_diagnostic_level code,
+ enum cpp_warning_reason reason, int);
static cpp_hashnode *lex_macro_node (cpp_reader *, bool);
static int undefine_macros (cpp_reader *, cpp_hashnode *, void *);
static void do_include_common (cpp_reader *, enum include_type);
@@ -123,8 +124,8 @@ static void do_linemarker (cpp_reader *);
static const cpp_token *get_token_no_padding (cpp_reader *);
static const cpp_token *get__Pragma_string (cpp_reader *);
static void destringize_and_run (cpp_reader *, const cpp_string *,
- source_location);
-static bool parse_answer (cpp_reader *, int, source_location, cpp_macro **);
+ location_t);
+static bool parse_answer (cpp_reader *, int, location_t, cpp_macro **);
static cpp_hashnode *parse_assertion (cpp_reader *, int, cpp_macro **);
static cpp_macro **find_answer (cpp_hashnode *, const cpp_macro *);
static void handle_assertion (cpp_reader *, const char *, int);
@@ -132,35 +133,30 @@ static void do_pragma_push_macro (cpp_reader *);
static void do_pragma_pop_macro (cpp_reader *);
static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *);
-/* This is the table of directive handlers. It is ordered by
- frequency of occurrence; the numbers at the end are directive
- counts from all the source code I have lying around (egcs and libc
- CVS as of 1999-05-18, plus grub-0.5.91, linux-2.2.9, and
- pcmcia-cs-3.0.9). This is no longer important as directive lookup
- is now O(1). All extensions other than #warning, #include_next,
- and #import are deprecated. The name is where the extension
- appears to have come from. */
+/* This is the table of directive handlers. All extensions other than
+ #warning, #include_next, and #import are deprecated. The name is
+ where the extension appears to have come from. */
#define DIRECTIVE_TABLE \
-D(define, T_DEFINE = 0, KANDR, IN_I) /* 270554 */ \
-D(include, T_INCLUDE, KANDR, INCL | EXPAND) /* 52262 */ \
-D(endif, T_ENDIF, KANDR, COND) /* 45855 */ \
-D(ifdef, T_IFDEF, KANDR, COND | IF_COND) /* 22000 */ \
-D(if, T_IF, KANDR, COND | IF_COND | EXPAND) /* 18162 */ \
-D(else, T_ELSE, KANDR, COND) /* 9863 */ \
-D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) /* 9675 */ \
-D(undef, T_UNDEF, KANDR, IN_I) /* 4837 */ \
-D(line, T_LINE, KANDR, EXPAND) /* 2465 */ \
-D(elif, T_ELIF, STDC89, COND | EXPAND) /* 610 */ \
-D(error, T_ERROR, STDC89, 0) /* 475 */ \
-D(pragma, T_PRAGMA, STDC89, IN_I) /* 195 */ \
-D(warning, T_WARNING, EXTENSION, 0) /* 22 */ \
-D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) /* 19 */ \
-D(ident, T_IDENT, EXTENSION, IN_I) /* 11 */ \
-D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* 0 ObjC */ \
-D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \
-D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \
-D(sccs, T_SCCS, EXTENSION, IN_I) /* 0 SVR4? */
+ D(define, T_DEFINE = 0, KANDR, IN_I) \
+ D(include, T_INCLUDE, KANDR, INCL | EXPAND) \
+ D(endif, T_ENDIF, KANDR, COND) \
+ D(ifdef, T_IFDEF, KANDR, COND | IF_COND) \
+ D(if, T_IF, KANDR, COND | IF_COND | EXPAND) \
+ D(else, T_ELSE, KANDR, COND) \
+ D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) \
+ D(undef, T_UNDEF, KANDR, IN_I) \
+ D(line, T_LINE, KANDR, EXPAND) \
+ D(elif, T_ELIF, STDC89, COND | EXPAND) \
+ D(error, T_ERROR, STDC89, 0) \
+ D(pragma, T_PRAGMA, STDC89, IN_I) \
+ D(warning, T_WARNING, EXTENSION, 0) \
+ D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) \
+ D(ident, T_IDENT, EXTENSION, IN_I) \
+ D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* ObjC */ \
+ D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \
+ D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \
+ D(sccs, T_SCCS, EXTENSION, IN_I) /* SVR4? */
/* #sccs is synonymous with #ident. */
#define do_sccs do_ident
@@ -208,8 +204,6 @@ static const directive linemarker_dir =
do_linemarker, UC"#", 1, KANDR, IN_I
};
-#define SEEN_EOL() (pfile->cur_token[-1].type == CPP_EOF)
-
/* Skip any remaining tokens in a directive. */
static void
skip_rest_of_line (cpp_reader *pfile)
@@ -227,7 +221,7 @@ skip_rest_of_line (cpp_reader *pfile)
/* Helper function for check_oel. */
static void
-check_eol_1 (cpp_reader *pfile, bool expand, int reason)
+check_eol_1 (cpp_reader *pfile, bool expand, enum cpp_warning_reason reason)
{
if (! SEEN_EOL () && (expand
? cpp_get_token (pfile)
@@ -760,7 +754,7 @@ glue_header_name (cpp_reader *pfile)
static const char *
parse_include (cpp_reader *pfile, int *pangle_brackets,
- const cpp_token ***buf, source_location *location)
+ const cpp_token ***buf, location_t *location)
{
char *fname;
const cpp_token *header;
@@ -818,7 +812,7 @@ do_include_common (cpp_reader *pfile, enum include_type type)
const char *fname;
int angle_brackets;
const cpp_token **buf = NULL;
- source_location location;
+ location_t location;
/* Re-enable saving of comments if requested, so that the include
callback can dump comments which follow #include. */
@@ -826,22 +820,15 @@ do_include_common (cpp_reader *pfile, enum include_type type)
fname = parse_include (pfile, &angle_brackets, &buf, &location);
if (!fname)
- {
- if (buf)
- XDELETEVEC (buf);
- return;
- }
+ goto done;
if (!*fname)
- {
- cpp_error_with_line (pfile, CPP_DL_ERROR, location, 0,
- "empty filename in #%s",
- pfile->directive->name);
- XDELETEVEC (fname);
- if (buf)
- XDELETEVEC (buf);
- return;
- }
+ {
+ cpp_error_with_line (pfile, CPP_DL_ERROR, location, 0,
+ "empty filename in #%s",
+ pfile->directive->name);
+ goto done;
+ }
/* Prevent #include recursion. */
if (pfile->line_table->depth >= CPP_STACK_MAX)
@@ -859,6 +846,7 @@ do_include_common (cpp_reader *pfile, enum include_type type)
_cpp_stack_include (pfile, fname, angle_brackets, type, location);
}
+ done:
XDELETEVEC (fname);
if (buf)
XDELETEVEC (buf);
@@ -1103,7 +1091,7 @@ do_linemarker (cpp_reader *pfile)
}
/* Compensate for the increment in linemap_add that occurs in
_cpp_do_file_change. We're currently at the start of the line
- *following* the #line directive. A separate source_location for this
+ *following* the #line directive. A separate location_t for this
location makes no sense (until we do the LC_LEAVE), and
complicates LAST_SOURCE_LINE_LOCATION. */
pfile->line_table->highest_location--;
@@ -1140,11 +1128,12 @@ _cpp_do_file_change (cpp_reader *pfile, enum lc_reason reason,
/* Report a warning or error detected by the program we are
processing. Use the directive's tokens in the error message. */
static void
-do_diagnostic (cpp_reader *pfile, int code, int reason, int print_dir)
+do_diagnostic (cpp_reader *pfile, enum cpp_diagnostic_level code,
+ enum cpp_warning_reason reason, int print_dir)
{
const unsigned char *dir_name;
unsigned char *line;
- source_location src_loc = pfile->cur_token[-1].src_loc;
+ location_t src_loc = pfile->cur_token[-1].src_loc;
if (print_dir)
dir_name = pfile->directive->name;
@@ -1166,7 +1155,7 @@ do_diagnostic (cpp_reader *pfile, int code, int reason, int print_dir)
static void
do_error (cpp_reader *pfile)
{
- do_diagnostic (pfile, CPP_DL_ERROR, 0, 1);
+ do_diagnostic (pfile, CPP_DL_ERROR, CPP_W_NONE, 1);
}
static void
@@ -1441,7 +1430,7 @@ do_pragma (cpp_reader *pfile)
{
const struct pragma_entry *p = NULL;
const cpp_token *token, *pragma_token;
- source_location pragma_token_virt_loc = 0;
+ location_t pragma_token_virt_loc = 0;
cpp_token ns_token;
unsigned int count = 1;
@@ -1547,7 +1536,7 @@ do_pragma_push_macro (cpp_reader *pfile)
txt = get__Pragma_string (pfile);
if (!txt)
{
- source_location src_loc = pfile->cur_token[-1].src_loc;
+ location_t src_loc = pfile->cur_token[-1].src_loc;
cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,
"invalid #pragma push_macro directive");
check_eol (pfile, false);
@@ -1602,7 +1591,7 @@ do_pragma_pop_macro (cpp_reader *pfile)
txt = get__Pragma_string (pfile);
if (!txt)
{
- source_location src_loc = pfile->cur_token[-1].src_loc;
+ location_t src_loc = pfile->cur_token[-1].src_loc;
cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,
"invalid #pragma pop_macro directive");
check_eol (pfile, false);
@@ -1704,7 +1693,7 @@ do_pragma_dependency (cpp_reader *pfile)
{
const char *fname;
int angle_brackets, ordering;
- source_location location;
+ location_t location;
fname = parse_include (pfile, &angle_brackets, NULL, &location);
if (!fname)
@@ -1720,7 +1709,7 @@ do_pragma_dependency (cpp_reader *pfile)
if (cpp_get_token (pfile)->type != CPP_EOF)
{
_cpp_backup_tokens (pfile, 1);
- do_diagnostic (pfile, CPP_DL_WARNING, 0, 0);
+ do_diagnostic (pfile, CPP_DL_WARNING, CPP_W_NONE, 0);
}
}
@@ -1810,7 +1799,7 @@ get__Pragma_string (cpp_reader *pfile)
\" and \\ sequences, and process the result as a #pragma directive. */
static void
destringize_and_run (cpp_reader *pfile, const cpp_string *in,
- source_location expansion_loc)
+ location_t expansion_loc)
{
const unsigned char *src, *limit;
char *dest, *result;
@@ -1930,7 +1919,7 @@ destringize_and_run (cpp_reader *pfile, const cpp_string *in,
/* Handle the _Pragma operator. Return 0 on error, 1 if ok. */
int
-_cpp_do__Pragma (cpp_reader *pfile, source_location expansion_loc)
+_cpp_do__Pragma (cpp_reader *pfile, location_t expansion_loc)
{
const cpp_token *string = get__Pragma_string (pfile);
pfile->directive_result.type = CPP_PADDING;
@@ -2151,7 +2140,7 @@ push_conditional (cpp_reader *pfile, int skip, int type,
ANSWERP to point to the answer. PRED_LOC is the location of the
predicate. */
static bool
-parse_answer (cpp_reader *pfile, int type, source_location pred_loc,
+parse_answer (cpp_reader *pfile, int type, location_t pred_loc,
cpp_macro **answer_ptr)
{
/* In a conditional, it is legal to not have an open paren. We
@@ -2616,6 +2605,8 @@ _cpp_pop_buffer (cpp_reader *pfile)
_cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
}
+ else if (to_free)
+ free ((void *)to_free);
}
/* Enter all recognized directives in the hash table. */
diff --git a/libcpp/errors.c b/libcpp/errors.c
index a68ae98..ff5e1c2 100644
--- a/libcpp/errors.c
+++ b/libcpp/errors.c
@@ -1,5 +1,5 @@
/* Default error handlers for CPP Library.
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -31,15 +31,15 @@ along with this program; see the file COPYING3. If not see
ATTRIBUTE_FPTR_PRINTF(5,0)
static bool
-cpp_diagnostic_at (cpp_reader * pfile, int level, int reason,
- rich_location *richloc,
+cpp_diagnostic_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ enum cpp_warning_reason reason, rich_location *richloc,
const char *msgid, va_list *ap)
{
bool ret;
- if (!pfile->cb.error)
+ if (!pfile->cb.diagnostic)
abort ();
- ret = pfile->cb.error (pfile, level, reason, richloc, _(msgid), ap);
+ ret = pfile->cb.diagnostic (pfile, level, reason, richloc, _(msgid), ap);
return ret;
}
@@ -48,10 +48,11 @@ cpp_diagnostic_at (cpp_reader * pfile, int level, int reason,
ATTRIBUTE_FPTR_PRINTF(4,0)
static bool
-cpp_diagnostic (cpp_reader * pfile, int level, int reason,
- const char *msgid, va_list *ap)
+cpp_diagnostic (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ enum cpp_warning_reason reason,
+ const char *msgid, va_list *ap)
{
- source_location src_loc;
+ location_t src_loc;
if (CPP_OPTION (pfile, traditional))
{
@@ -77,7 +78,8 @@ cpp_diagnostic (cpp_reader * pfile, int level, int reason,
/* Print a warning or error, depending on the value of LEVEL. */
bool
-cpp_error (cpp_reader * pfile, int level, const char *msgid, ...)
+cpp_error (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -93,7 +95,8 @@ cpp_error (cpp_reader * pfile, int level, const char *msgid, ...)
/* Print a warning. The warning reason may be given in REASON. */
bool
-cpp_warning (cpp_reader * pfile, int reason, const char *msgid, ...)
+cpp_warning (cpp_reader * pfile, enum cpp_warning_reason reason,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -109,7 +112,8 @@ cpp_warning (cpp_reader * pfile, int reason, const char *msgid, ...)
/* Print a pedantic warning. The warning reason may be given in REASON. */
bool
-cpp_pedwarning (cpp_reader * pfile, int reason, const char *msgid, ...)
+cpp_pedwarning (cpp_reader * pfile, enum cpp_warning_reason reason,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -126,7 +130,8 @@ cpp_pedwarning (cpp_reader * pfile, int reason, const char *msgid, ...)
given in REASON. */
bool
-cpp_warning_syshdr (cpp_reader * pfile, int reason, const char *msgid, ...)
+cpp_warning_syshdr (cpp_reader * pfile, enum cpp_warning_reason reason,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -143,18 +148,19 @@ cpp_warning_syshdr (cpp_reader * pfile, int reason, const char *msgid, ...)
ATTRIBUTE_FPTR_PRINTF(6,0)
static bool
-cpp_diagnostic_with_line (cpp_reader * pfile, int level, int reason,
- source_location src_loc, unsigned int column,
- const char *msgid, va_list *ap)
+cpp_diagnostic_with_line (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ enum cpp_warning_reason reason,
+ location_t src_loc, unsigned int column,
+ const char *msgid, va_list *ap)
{
bool ret;
- if (!pfile->cb.error)
+ if (!pfile->cb.diagnostic)
abort ();
rich_location richloc (pfile->line_table, src_loc);
if (column)
richloc.override_column (column);
- ret = pfile->cb.error (pfile, level, reason, &richloc, _(msgid), ap);
+ ret = pfile->cb.diagnostic (pfile, level, reason, &richloc, _(msgid), ap);
return ret;
}
@@ -162,8 +168,8 @@ cpp_diagnostic_with_line (cpp_reader * pfile, int level, int reason,
/* Print a warning or error, depending on the value of LEVEL. */
bool
-cpp_error_with_line (cpp_reader *pfile, int level,
- source_location src_loc, unsigned int column,
+cpp_error_with_line (cpp_reader *pfile, enum cpp_diagnostic_level level,
+ location_t src_loc, unsigned int column,
const char *msgid, ...)
{
va_list ap;
@@ -181,8 +187,8 @@ cpp_error_with_line (cpp_reader *pfile, int level,
/* Print a warning. The warning reason may be given in REASON. */
bool
-cpp_warning_with_line (cpp_reader *pfile, int reason,
- source_location src_loc, unsigned int column,
+cpp_warning_with_line (cpp_reader *pfile, enum cpp_warning_reason reason,
+ location_t src_loc, unsigned int column,
const char *msgid, ...)
{
va_list ap;
@@ -200,9 +206,9 @@ cpp_warning_with_line (cpp_reader *pfile, int reason,
/* Print a pedantic warning. The warning reason may be given in REASON. */
bool
-cpp_pedwarning_with_line (cpp_reader *pfile, int reason,
- source_location src_loc, unsigned int column,
- const char *msgid, ...)
+cpp_pedwarning_with_line (cpp_reader *pfile, enum cpp_warning_reason reason,
+ location_t src_loc, unsigned int column,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -220,9 +226,9 @@ cpp_pedwarning_with_line (cpp_reader *pfile, int reason,
given in REASON. */
bool
-cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason,
- source_location src_loc, unsigned int column,
- const char *msgid, ...)
+cpp_warning_with_line_syshdr (cpp_reader *pfile, enum cpp_warning_reason reason,
+ location_t src_loc, unsigned int column,
+ const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -240,8 +246,8 @@ cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason,
a column override. */
bool
-cpp_error_at (cpp_reader * pfile, int level, source_location src_loc,
- const char *msgid, ...)
+cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ location_t src_loc, const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -260,8 +266,8 @@ cpp_error_at (cpp_reader * pfile, int level, source_location src_loc,
a column override. */
bool
-cpp_error_at (cpp_reader * pfile, int level, rich_location *richloc,
- const char *msgid, ...)
+cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
+ rich_location *richloc, const char *msgid, ...)
{
va_list ap;
bool ret;
@@ -279,7 +285,8 @@ cpp_error_at (cpp_reader * pfile, int level, rich_location *richloc,
information from errno. */
bool
-cpp_errno (cpp_reader *pfile, int level, const char *msgid)
+cpp_errno (cpp_reader *pfile, enum cpp_diagnostic_level level,
+ const char *msgid)
{
return cpp_error (pfile, level, "%s: %s", _(msgid), xstrerror (errno));
}
@@ -289,8 +296,9 @@ cpp_errno (cpp_reader *pfile, int level, const char *msgid)
that is not localized, but "" is replaced with localized "stdout". */
bool
-cpp_errno_filename (cpp_reader *pfile, int level, const char *filename,
- source_location loc)
+cpp_errno_filename (cpp_reader *pfile, enum cpp_diagnostic_level level,
+ const char *filename,
+ location_t loc)
{
if (filename[0] == '\0')
filename = _("stdout");
diff --git a/libcpp/expr.c b/libcpp/expr.c
index 201a619..d8438a5 100644
--- a/libcpp/expr.c
+++ b/libcpp/expr.c
@@ -1,5 +1,5 @@
/* Parse C expressions for cpplib.
- Copyright (C) 1987-2018 Free Software Foundation, Inc.
+ Copyright (C) 1987-2019 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994.
This program is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@ struct op
{
const cpp_token *token; /* The token forming op (for diagnostics). */
cpp_num value; /* The value logically "right" of op. */
- source_location loc; /* The location of this value. */
+ location_t loc; /* The location of this value. */
enum cpp_ttype op;
};
@@ -52,13 +52,13 @@ static cpp_num num_equality_op (cpp_reader *, cpp_num, cpp_num,
enum cpp_ttype);
static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num);
static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype,
- source_location);
+ location_t);
static cpp_num num_lshift (cpp_num, size_t, size_t);
static cpp_num num_rshift (cpp_num, size_t, size_t);
static cpp_num append_digit (cpp_num, int, int, size_t);
static cpp_num parse_defined (cpp_reader *);
-static cpp_num eval_token (cpp_reader *, const cpp_token *, source_location);
+static cpp_num eval_token (cpp_reader *, const cpp_token *, location_t);
static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype);
static unsigned int interpret_float_suffix (cpp_reader *, const uchar *, size_t);
static unsigned int interpret_int_suffix (cpp_reader *, const uchar *, size_t);
@@ -505,7 +505,7 @@ cpp_get_userdef_suffix (const cpp_token *tok)
VIRTUAL_LOCATION is the virtual location for TOKEN. */
unsigned int
cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
- const char **ud_suffix, source_location virtual_location)
+ const char **ud_suffix, location_t virtual_location)
{
const uchar *str = token->val.str.text;
const uchar *limit;
@@ -1091,7 +1091,7 @@ parse_defined (cpp_reader *pfile)
operators). */
static cpp_num
eval_token (cpp_reader *pfile, const cpp_token *token,
- source_location virtual_location)
+ location_t virtual_location)
{
cpp_num result;
unsigned int temp;
@@ -1288,7 +1288,7 @@ _cpp_parse_expr (cpp_reader *pfile, bool is_if)
struct op *top = pfile->op_stack;
unsigned int lex_count;
bool saw_leading_not, want_value = true;
- source_location virtual_location = 0;
+ location_t virtual_location = 0;
pfile->state.skip_eval = 0;
@@ -2086,7 +2086,7 @@ num_mul (cpp_reader *pfile, cpp_num lhs, cpp_num rhs)
static cpp_num
num_div_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op,
- source_location location)
+ location_t location)
{
cpp_num result, sub;
cpp_num_part mask;
@@ -2238,7 +2238,7 @@ parse_has_include (cpp_reader *pfile, enum include_type type)
XDELETEVEC (fname);
}
- if (paren && cpp_get_token (pfile)->type != CPP_CLOSE_PAREN)
+ if (paren && !SEEN_EOL () && cpp_get_token (pfile)->type != CPP_CLOSE_PAREN)
cpp_error (pfile, CPP_DL_ERROR,
"missing ')' after \"__has_include__\"");
diff --git a/libcpp/files.c b/libcpp/files.c
index 08b7c64..77dc188 100644
--- a/libcpp/files.c
+++ b/libcpp/files.c
@@ -1,5 +1,5 @@
/* Part of CPP library. File handling.
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -144,7 +144,7 @@ struct cpp_file_hash_entry
{
struct cpp_file_hash_entry *next;
cpp_dir *start_dir;
- source_location location;
+ location_t location;
union
{
_cpp_file *file;
@@ -171,18 +171,18 @@ static bool open_file (_cpp_file *file);
static bool pch_open_file (cpp_reader *pfile, _cpp_file *file,
bool *invalid_pch);
static bool find_file_in_dir (cpp_reader *pfile, _cpp_file *file,
- bool *invalid_pch, source_location loc);
+ bool *invalid_pch, location_t loc);
static bool read_file_guts (cpp_reader *pfile, _cpp_file *file,
- source_location loc);
+ location_t loc);
static bool read_file (cpp_reader *pfile, _cpp_file *file,
- source_location loc);
+ location_t loc);
static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import,
- source_location loc);
+ location_t loc);
static struct cpp_dir *search_path_head (cpp_reader *, const char *fname,
int angle_brackets, enum include_type);
static const char *dir_name_of_file (_cpp_file *file);
static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int,
- source_location);
+ location_t);
static struct cpp_file_hash_entry *search_cache (struct cpp_file_hash_entry *head,
const cpp_dir *start_dir);
static _cpp_file *make_cpp_file (cpp_reader *, cpp_dir *, const char *fname);
@@ -377,7 +377,7 @@ maybe_shorter_path (const char * file)
static bool
find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch,
- source_location loc)
+ location_t loc)
{
char *path;
@@ -507,7 +507,7 @@ _cpp_find_failed (_cpp_file *file)
_cpp_file *
_cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
bool fake, int angle_brackets, bool implicit_preinclude,
- source_location loc)
+ location_t loc)
{
struct cpp_file_hash_entry *entry;
void **hash_slot;
@@ -671,7 +671,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
FIXME: Flush file cache and try again if we run out of memory. */
static bool
-read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc)
+read_file_guts (cpp_reader *pfile, _cpp_file *file, location_t loc)
{
ssize_t size, total, count;
uchar *buf;
@@ -755,7 +755,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc)
have been passed through find_file() at some stage. Use LOC for
any diagnostics. */
static bool
-read_file (cpp_reader *pfile, _cpp_file *file, source_location loc)
+read_file (cpp_reader *pfile, _cpp_file *file, location_t loc)
{
/* If we already have its contents in memory, succeed immediately. */
if (file->buffer_valid)
@@ -783,7 +783,7 @@ read_file (cpp_reader *pfile, _cpp_file *file, source_location loc)
Use LOC for any diagnostics. */
static bool
should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
- source_location loc)
+ location_t loc)
{
_cpp_file *f;
@@ -892,13 +892,13 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
stacked. Use LOC for any diagnostics. */
bool
_cpp_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
- source_location loc)
+ location_t loc)
{
cpp_buffer *buffer;
int sysp;
if (!should_stack_file (pfile, file, import, loc))
- return false;
+ return false;
if (pfile->buffer == NULL || file->dir == NULL)
sysp = 0;
@@ -1007,11 +1007,12 @@ dir_name_of_file (_cpp_file *file)
Returns true if a buffer was stacked. */
bool
_cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
- enum include_type type, source_location loc)
+ enum include_type type, location_t loc)
{
struct cpp_dir *dir;
_cpp_file *file;
bool stacked;
+ bool decremented = false;
/* For -include command-line flags we have type == IT_CMDLINE.
When the first -include file is processed we have the case, where
@@ -1035,20 +1036,33 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
return false;
/* Compensate for the increment in linemap_add that occurs if
- _cpp_stack_file actually stacks the file. In the case of a
- normal #include, we're currently at the start of the line
- *following* the #include. A separate source_location for this
- location makes no sense (until we do the LC_LEAVE), and
- complicates LAST_SOURCE_LINE_LOCATION. This does not apply if we
- found a PCH file (in which case linemap_add is not called) or we
- were included from the command-line. */
+ _cpp_stack_file actually stacks the file. In the case of a normal
+ #include, we're currently at the start of the line *following* the
+ #include. A separate location_t for this location makes no
+ sense (until we do the LC_LEAVE), and complicates
+ LAST_SOURCE_LINE_LOCATION. This does not apply if we found a PCH
+ file (in which case linemap_add is not called) or we were included
+ from the command-line. In the case that the #include is the last
+ line in the file, highest_location still points to the current
+ line, not the start of the next line, so we do not decrement in
+ this case. See plugin/location-overflow-test-pr83173.h for an
+ example. */
if (file->pchname == NULL && file->err_no == 0
&& type != IT_CMDLINE && type != IT_DEFAULT)
- pfile->line_table->highest_location--;
+ {
+ int highest_line = linemap_get_expansion_line (pfile->line_table,
+ pfile->line_table->highest_location);
+ int source_line = linemap_get_expansion_line (pfile->line_table, loc);
+ if (highest_line > source_line)
+ {
+ pfile->line_table->highest_location--;
+ decremented = true;
+ }
+ }
stacked = _cpp_stack_file (pfile, file, type == IT_IMPORT, loc);
- if (!stacked)
+ if (decremented && !stacked)
/* _cpp_stack_file didn't stack the file, so let's rollback the
compensation dance we performed above. */
pfile->line_table->highest_location++;
@@ -1059,7 +1073,7 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
/* Could not open FILE. The complication is dependency output. */
static void
open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets,
- source_location loc)
+ location_t loc)
{
int sysp = pfile->line_table->highest_line > 1 && pfile->buffer ? pfile->buffer->sysp : 0;
bool print_dep = CPP_OPTION (pfile, deps.style) > (angle_brackets || !!sysp);
@@ -1247,7 +1261,7 @@ cpp_included (cpp_reader *pfile, const char *fname)
filenames aliased by links or redundant . or .. traversals etc. */
bool
cpp_included_before (cpp_reader *pfile, const char *fname,
- source_location location)
+ location_t location)
{
struct cpp_file_hash_entry *entry
= (struct cpp_file_hash_entry *)
diff --git a/libcpp/identifiers.c b/libcpp/identifiers.c
index 3d42d1a..59b2dd8 100644
--- a/libcpp/identifiers.c
+++ b/libcpp/identifiers.c
@@ -1,5 +1,5 @@
/* Hash tables for the CPP library.
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 85aa09f..87cc6a3 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -1,5 +1,5 @@
/* Definitions for CPP library.
- Copyright (C) 1995-2018 Free Software Foundation, Inc.
+ Copyright (C) 1995-2019 Free Software Foundation, Inc.
Written by Per Bothner, 1994-95.
This program is free software; you can redistribute it and/or modify it
@@ -167,8 +167,9 @@ enum cpp_ttype
#undef TK
/* C language kind, used when calling cpp_create_reader. */
-enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17,
+enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X,
CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_STDC17,
+ CLK_STDC2X,
CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,
CLK_GNUCXX2A, CLK_CXX2A, CLK_ASM};
@@ -239,8 +240,10 @@ struct GTY(()) cpp_identifier {
/* A preprocessing token. This has been carefully packed and should
occupy 16 bytes on 32-bit hosts and 24 bytes on 64-bit hosts. */
struct GTY(()) cpp_token {
- source_location src_loc; /* Location of first char of token,
- together with range of full token. */
+
+ /* Location of first char of token, together with range of full token. */
+ location_t src_loc;
+
ENUM_BITFIELD(cpp_ttype) type : CHAR_BIT; /* token type */
unsigned short flags; /* flags - see above */
@@ -549,6 +552,59 @@ struct cpp_options
bool canonical_system_headers;
};
+/* Diagnostic levels. To get a diagnostic without associating a
+ position in the translation unit with it, use cpp_error_with_line
+ with a line number of zero. */
+
+enum cpp_diagnostic_level {
+ /* Warning, an error with -Werror. */
+ CPP_DL_WARNING = 0,
+ /* Same as CPP_DL_WARNING, except it is not suppressed in system headers. */
+ CPP_DL_WARNING_SYSHDR,
+ /* Warning, an error with -pedantic-errors or -Werror. */
+ CPP_DL_PEDWARN,
+ /* An error. */
+ CPP_DL_ERROR,
+ /* An internal consistency check failed. Prints "internal error: ",
+ otherwise the same as CPP_DL_ERROR. */
+ CPP_DL_ICE,
+ /* An informative note following a warning. */
+ CPP_DL_NOTE,
+ /* A fatal error. */
+ CPP_DL_FATAL
+};
+
+/* Warning reason codes. Use a reason code of CPP_W_NONE for unclassified
+ warnings and diagnostics that are not warnings. */
+
+enum cpp_warning_reason {
+ CPP_W_NONE = 0,
+ CPP_W_DEPRECATED,
+ CPP_W_COMMENTS,
+ CPP_W_MISSING_INCLUDE_DIRS,
+ CPP_W_TRIGRAPHS,
+ CPP_W_MULTICHAR,
+ CPP_W_TRADITIONAL,
+ CPP_W_LONG_LONG,
+ CPP_W_ENDIF_LABELS,
+ CPP_W_NUM_SIGN_CHANGE,
+ CPP_W_VARIADIC_MACROS,
+ CPP_W_BUILTIN_MACRO_REDEFINED,
+ CPP_W_DOLLARS,
+ CPP_W_UNDEF,
+ CPP_W_UNUSED_MACROS,
+ CPP_W_CXX_OPERATOR_NAMES,
+ CPP_W_NORMALIZE,
+ CPP_W_INVALID_PCH,
+ CPP_W_WARNING_DIRECTIVE,
+ CPP_W_LITERAL_SUFFIX,
+ CPP_W_DATE_TIME,
+ CPP_W_PEDANTIC,
+ CPP_W_C90_C99_COMPAT,
+ CPP_W_CXX11_COMPAT,
+ CPP_W_EXPANSION_TO_DEFINED
+};
+
/* Callback for header lookup for HEADER, which is the name of a
source file. It is used as a method of last resort to find headers
that are not otherwise found during the normal include processing.
@@ -570,12 +626,12 @@ struct cpp_callbacks
void (*file_change) (cpp_reader *, const line_map_ordinary *);
void (*dir_change) (cpp_reader *, const char *);
- void (*include) (cpp_reader *, source_location, const unsigned char *,
+ void (*include) (cpp_reader *, location_t, const unsigned char *,
const char *, int, const cpp_token **);
- void (*define) (cpp_reader *, source_location, cpp_hashnode *);
- void (*undef) (cpp_reader *, source_location, cpp_hashnode *);
- void (*ident) (cpp_reader *, source_location, const cpp_string *);
- void (*def_pragma) (cpp_reader *, source_location);
+ void (*define) (cpp_reader *, location_t, cpp_hashnode *);
+ void (*undef) (cpp_reader *, location_t, cpp_hashnode *);
+ void (*ident) (cpp_reader *, location_t, const cpp_string *);
+ void (*def_pragma) (cpp_reader *, location_t);
int (*valid_pch) (cpp_reader *, const char *, int);
void (*read_pch) (cpp_reader *, const char *, int, const char *);
missing_header_cb missing_header;
@@ -586,20 +642,23 @@ struct cpp_callbacks
/* Called to emit a diagnostic. This callback receives the
translated message. */
- bool (*error) (cpp_reader *, int, int, rich_location *,
- const char *, va_list *)
+ bool (*diagnostic) (cpp_reader *,
+ enum cpp_diagnostic_level,
+ enum cpp_warning_reason,
+ rich_location *,
+ const char *, va_list *)
ATTRIBUTE_FPTR_PRINTF(5,0);
/* Callbacks for when a macro is expanded, or tested (whether
defined or not at the time) in #ifdef, #ifndef or "defined". */
- void (*used_define) (cpp_reader *, source_location, cpp_hashnode *);
- void (*used_undef) (cpp_reader *, source_location, cpp_hashnode *);
+ void (*used_define) (cpp_reader *, location_t, cpp_hashnode *);
+ void (*used_undef) (cpp_reader *, location_t, cpp_hashnode *);
/* Called before #define and #undef or other macro definition
changes are processed. */
void (*before_define) (cpp_reader *);
/* Called whenever a macro is expanded or tested.
Second argument is the location of the start of the current expansion. */
- void (*used) (cpp_reader *, source_location, cpp_hashnode *);
+ void (*used) (cpp_reader *, location_t, cpp_hashnode *);
/* Callback to identify whether an attribute exists. */
int (*has_attribute) (cpp_reader *);
@@ -619,7 +678,7 @@ struct cpp_callbacks
The content contains the opening slash-star (or slash-slash),
and for C-style comments contains the closing star-slash. For
C++-style comments it does not include the terminating newline. */
- void (*comment) (cpp_reader *, source_location, const unsigned char *,
+ void (*comment) (cpp_reader *, location_t, const unsigned char *,
size_t);
/* Callback for filename remapping in __FILE__ and __BASE_FILE__ macro
@@ -696,7 +755,7 @@ struct GTY(()) cpp_macro {
} GTY ((desc ("%1.kind == cmk_assert"))) parm;
/* Definition line number. */
- source_location line;
+ location_t line;
/* Number of tokens in body, or bytes for traditional macros. */
/* Do we really need 2^32-1 range here? */
@@ -787,9 +846,9 @@ enum cpp_builtin_type
};
#define CPP_HASHNODE(HNODE) ((cpp_hashnode *) (HNODE))
-#define HT_NODE(NODE) ((ht_identifier *) (NODE))
-#define NODE_LEN(NODE) HT_LEN (&(NODE)->ident)
-#define NODE_NAME(NODE) HT_STR (&(NODE)->ident)
+#define HT_NODE(NODE) (&(NODE)->ident)
+#define NODE_LEN(NODE) HT_LEN (HT_NODE (NODE))
+#define NODE_NAME(NODE) HT_STR (HT_NODE (NODE))
/* The common part of an identifier node shared amongst all 3 C front
ends. Also used to store CPP identifiers, which are a superset of
@@ -827,13 +886,13 @@ struct GTY(()) cpp_hashnode {
class cpp_string_location_reader {
public:
- cpp_string_location_reader (source_location src_loc,
+ cpp_string_location_reader (location_t src_loc,
line_maps *line_table);
source_range get_next ();
private:
- source_location m_loc;
+ location_t m_loc;
int m_offset_per_column;
line_maps *m_line_table;
};
@@ -938,7 +997,7 @@ extern int cpp_avoid_paste (cpp_reader *, const cpp_token *,
const cpp_token *);
extern const cpp_token *cpp_get_token (cpp_reader *);
extern const cpp_token *cpp_get_token_with_location (cpp_reader *,
- source_location *);
+ location_t *);
inline bool cpp_user_macro_p (const cpp_hashnode *node)
{
return node->type == NT_USER_MACRO;
@@ -960,7 +1019,10 @@ inline bool cpp_fun_like_macro_p (cpp_hashnode *node)
extern const unsigned char *cpp_macro_definition (cpp_reader *,
cpp_hashnode *);
-extern source_location cpp_macro_definition_location (cpp_hashnode *);
+inline location_t cpp_macro_definition_location (cpp_hashnode *node)
+{
+ return node->value.macro->line;
+}
extern void _cpp_backup_tokens (cpp_reader *, unsigned int);
extern const cpp_token *cpp_peek_token (cpp_reader *, int);
@@ -1066,7 +1128,7 @@ struct cpp_num
/* Classify a CPP_NUMBER token. The return value is a combination of
the flags from the above sets. */
extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *,
- const char **, source_location);
+ const char **, location_t);
/* Return the classification flags for a float suffix. */
extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *,
@@ -1084,99 +1146,55 @@ extern cpp_num cpp_interpret_integer (cpp_reader *, const cpp_token *,
others assumed clear, to fill out a cpp_num structure. */
cpp_num cpp_num_sign_extend (cpp_num, size_t);
-/* Diagnostic levels. To get a diagnostic without associating a
- position in the translation unit with it, use cpp_error_with_line
- with a line number of zero. */
-
-enum {
- /* Warning, an error with -Werror. */
- CPP_DL_WARNING = 0,
- /* Same as CPP_DL_WARNING, except it is not suppressed in system headers. */
- CPP_DL_WARNING_SYSHDR,
- /* Warning, an error with -pedantic-errors or -Werror. */
- CPP_DL_PEDWARN,
- /* An error. */
- CPP_DL_ERROR,
- /* An internal consistency check failed. Prints "internal error: ",
- otherwise the same as CPP_DL_ERROR. */
- CPP_DL_ICE,
- /* An informative note following a warning. */
- CPP_DL_NOTE,
- /* A fatal error. */
- CPP_DL_FATAL
-};
-
-/* Warning reason codes. Use a reason code of zero for unclassified warnings
- and errors that are not warnings. */
-enum {
- CPP_W_NONE = 0,
- CPP_W_DEPRECATED,
- CPP_W_COMMENTS,
- CPP_W_MISSING_INCLUDE_DIRS,
- CPP_W_TRIGRAPHS,
- CPP_W_MULTICHAR,
- CPP_W_TRADITIONAL,
- CPP_W_LONG_LONG,
- CPP_W_ENDIF_LABELS,
- CPP_W_NUM_SIGN_CHANGE,
- CPP_W_VARIADIC_MACROS,
- CPP_W_BUILTIN_MACRO_REDEFINED,
- CPP_W_DOLLARS,
- CPP_W_UNDEF,
- CPP_W_UNUSED_MACROS,
- CPP_W_CXX_OPERATOR_NAMES,
- CPP_W_NORMALIZE,
- CPP_W_INVALID_PCH,
- CPP_W_WARNING_DIRECTIVE,
- CPP_W_LITERAL_SUFFIX,
- CPP_W_DATE_TIME,
- CPP_W_PEDANTIC,
- CPP_W_C90_C99_COMPAT,
- CPP_W_CXX11_COMPAT,
- CPP_W_EXPANSION_TO_DEFINED
-};
-
/* Output a diagnostic of some kind. */
-extern bool cpp_error (cpp_reader *, int, const char *msgid, ...)
+extern bool cpp_error (cpp_reader *, enum cpp_diagnostic_level,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_3;
-extern bool cpp_warning (cpp_reader *, int, const char *msgid, ...)
+extern bool cpp_warning (cpp_reader *, enum cpp_warning_reason,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_3;
-extern bool cpp_pedwarning (cpp_reader *, int, const char *msgid, ...)
+extern bool cpp_pedwarning (cpp_reader *, enum cpp_warning_reason,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_3;
-extern bool cpp_warning_syshdr (cpp_reader *, int, const char *msgid, ...)
+extern bool cpp_warning_syshdr (cpp_reader *, enum cpp_warning_reason reason,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_3;
/* Output a diagnostic with "MSGID: " preceding the
error string of errno. No location is printed. */
-extern bool cpp_errno (cpp_reader *, int, const char *msgid);
+extern bool cpp_errno (cpp_reader *, enum cpp_diagnostic_level,
+ const char *msgid);
/* Similarly, but with "FILENAME: " instead of "MSGID: ", where
the filename is not localized. */
-extern bool cpp_errno_filename (cpp_reader *, int, const char *filename,
- source_location loc);
+extern bool cpp_errno_filename (cpp_reader *, enum cpp_diagnostic_level,
+ const char *filename, location_t loc);
/* Same as cpp_error, except additionally specifies a position as a
(translation unit) physical line and physical column. If the line is
zero, then no location is printed. */
-extern bool cpp_error_with_line (cpp_reader *, int, source_location,
- unsigned, const char *msgid, ...)
+extern bool cpp_error_with_line (cpp_reader *, enum cpp_diagnostic_level,
+ location_t, unsigned,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_5;
-extern bool cpp_warning_with_line (cpp_reader *, int, source_location,
- unsigned, const char *msgid, ...)
+extern bool cpp_warning_with_line (cpp_reader *, enum cpp_warning_reason,
+ location_t, unsigned,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_5;
-extern bool cpp_pedwarning_with_line (cpp_reader *, int, source_location,
- unsigned, const char *msgid, ...)
+extern bool cpp_pedwarning_with_line (cpp_reader *, enum cpp_warning_reason,
+ location_t, unsigned,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_5;
-extern bool cpp_warning_with_line_syshdr (cpp_reader *, int, source_location,
- unsigned, const char *msgid, ...)
+extern bool cpp_warning_with_line_syshdr (cpp_reader *, enum cpp_warning_reason,
+ location_t, unsigned,
+ const char *msgid, ...)
ATTRIBUTE_PRINTF_5;
-extern bool cpp_error_at (cpp_reader * pfile, int level,
- source_location src_loc, const char *msgid, ...)
+extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level,
+ location_t src_loc, const char *msgid, ...)
ATTRIBUTE_PRINTF_4;
-extern bool cpp_error_at (cpp_reader * pfile, int level,
- rich_location *richloc, const char *msgid,
- ...)
+extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level,
+ rich_location *richloc, const char *msgid, ...)
ATTRIBUTE_PRINTF_4;
/* In lex.c */
@@ -1203,7 +1221,7 @@ typedef struct
char *comment;
/* source location for the given comment. */
- source_location sloc;
+ location_t sloc;
} cpp_comment;
/* Structure holding all comments for a given cpp_reader. */
@@ -1242,7 +1260,7 @@ extern unsigned char *cpp_quote_string (unsigned char *, const unsigned char *,
/* In files.c */
extern bool cpp_included (cpp_reader *, const char *);
-extern bool cpp_included_before (cpp_reader *, const char *, source_location);
+extern bool cpp_included_before (cpp_reader *, const char *, location_t);
extern void cpp_make_system_header (cpp_reader *, int, int);
extern bool cpp_push_include (cpp_reader *, const char *);
extern bool cpp_push_default_include (cpp_reader *, const char *);
@@ -1265,7 +1283,7 @@ extern int cpp_read_state (cpp_reader *, const char *, FILE *,
struct save_macro_data *);
/* In lex.c */
-extern void cpp_force_token_locations (cpp_reader *, source_location *);
+extern void cpp_force_token_locations (cpp_reader *, location_t);
extern void cpp_stop_forcing_token_locations (cpp_reader *);
/* In expr.c */
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index c479dfa..6c77c28 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -1,5 +1,5 @@
/* Map (unsigned int) keys to (source file, line, column) triples.
- Copyright (C) 2001-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2019 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 the
@@ -49,13 +49,16 @@ along with this program; see the file COPYING3. If not see
/* The type of line numbers. */
typedef unsigned int linenum_type;
+/* A type for doing arithmetic on line numbers. */
+typedef long long linenum_arith_t;
+
/* A function for for use by qsort for comparing line numbers. */
inline int compare (linenum_type lhs, linenum_type rhs)
{
- /* Avoid truncation issues by using long long for the comparison,
+ /* Avoid truncation issues by using linenum_arith_t for the comparison,
and only consider the sign of the result. */
- long long diff = (long long)lhs - (long long)rhs;
+ linenum_arith_t diff = (linenum_arith_t)lhs - (linenum_arith_t)rhs;
if (diff)
return diff > 0 ? 1 : -1;
return 0;
@@ -73,7 +76,7 @@ enum lc_reason
LC_HWM /* High Water Mark. */
};
-/* The typedef "source_location" is a key within the location database,
+/* The typedef "location_t" is a key within the location database,
identifying a source location or macro expansion, along with range
information, and (optionally) a pointer for use by gcc.
@@ -182,7 +185,7 @@ enum lc_reason
| macromap[1]->start_location | Start of macro map 1
-----------+-------------------------------+-------------------------------
| macromap[0]->start_location | Start of macro map 0
- 0x7fffffff | MAX_SOURCE_LOCATION | Also used as a mask for
+ 0x7fffffff | MAX_LOCATION_T | Also used as a mask for
| | accessing the ad-hoc data table
-----------+-------------------------------+-------------------------------
0x80000000 | Start of ad-hoc values; the lower 31 bits are used as an index
@@ -283,9 +286,9 @@ enum lc_reason
finish == ordmap->start + (23 << 12) + (19 << 5)
== ordmap->start + 0x17260
- To further see how source_location works in practice, see the
+ To further see how location_t works in practice, see the
worked example in libcpp/location-example.txt. */
-typedef unsigned int source_location;
+typedef unsigned int location_t;
/* Do not track column numbers higher than this one. As a result, the
range of column_bits is [12, 18] (or 0 if column numbers are
@@ -295,15 +298,15 @@ const unsigned int LINE_MAP_MAX_COLUMN_NUMBER = (1U << 12);
/* Do not pack ranges if locations get higher than this.
If you change this, update:
gcc.dg/plugin/location-overflow-test-*.c. */
-const source_location LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000;
+const location_t LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000;
/* Do not track column numbers if locations get higher than this.
If you change this, update:
gcc.dg/plugin/location-overflow-test-*.c. */
-const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;
+const location_t LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;
/* Highest possible source location encoded within an ordinary map. */
-const source_location LINE_MAP_MAX_LOCATION = 0x70000000;
+const location_t LINE_MAP_MAX_LOCATION = 0x70000000;
/* A range of source locations.
@@ -315,15 +318,15 @@ const source_location LINE_MAP_MAX_LOCATION = 0x70000000;
let's do it the simple way, as a pair. */
struct GTY(()) source_range
{
- source_location m_start;
- source_location m_finish;
+ location_t m_start;
+ location_t m_finish;
/* We avoid using constructors, since various structs that
don't yet have constructors will embed instances of
source_range. */
- /* Make a source_range from a source_location. */
- static source_range from_location (source_location loc)
+ /* Make a source_range from a location_t. */
+ static source_range from_location (location_t loc)
{
source_range result;
result.m_start = loc;
@@ -331,9 +334,9 @@ struct GTY(()) source_range
return result;
}
- /* Make a source_range from a pair of source_location. */
- static source_range from_locations (source_location start,
- source_location finish)
+ /* Make a source_range from a pair of location_t. */
+ static source_range from_locations (location_t start,
+ location_t finish)
{
source_range result;
result.m_start = start;
@@ -379,7 +382,7 @@ typedef size_t (*line_map_round_alloc_size_func) (size_t);
/* This contains GTY mark-up to support precompiled headers.
line_map is an abstract class, only derived objects exist. */
struct GTY((tag ("0"), desc ("MAP_ORDINARY_P (&%h) ? 1 : 2"))) line_map {
- source_location start_location;
+ location_t start_location;
/* Size and alignment is (usually) 4 bytes. */
};
@@ -395,7 +398,7 @@ struct GTY((tag ("0"), desc ("MAP_ORDINARY_P (&%h) ? 1 : 2"))) line_map {
(The top line is line 1 and the leftmost column is column 1; line/column 0
means "entire file/line" or "unknown line/column" or "not applicable".)
- The highest possible source location is MAX_SOURCE_LOCATION. */
+ The highest possible source location is MAX_LOCATION_T. */
struct GTY((tag ("1"))) line_map_ordinary : public line_map {
/* Base class is 4 bytes. */
@@ -410,7 +413,7 @@ struct GTY((tag ("1"))) line_map_ordinary : public line_map {
cpp_buffer. */
unsigned char sysp;
- /* Number of the low-order source_location bits used for column numbers
+ /* Number of the low-order location_t bits used for column numbers
and ranges. */
unsigned int m_column_and_range_bits : 8;
@@ -437,14 +440,14 @@ struct GTY((tag ("1"))) line_map_ordinary : public line_map {
/* Location from whence this line map was included. For regular
#includes, this location will be the last location of a map. For
outermost file, this is 0. */
- source_location included_from;
+ location_t included_from;
/* Size is 20 or 24 bytes, no padding */
};
/* This is the highest possible source location encoded within an
ordinary or macro map. */
-const source_location MAX_SOURCE_LOCATION = 0x7FFFFFFF;
+const location_t MAX_LOCATION_T = 0x7FFFFFFF;
struct cpp_hashnode;
@@ -521,14 +524,14 @@ struct GTY((tag ("2"))) line_map_macro : public line_map {
In the example above x1 (for token "+") is going to be the same
as y1. x0 is the spelling location for the argument token "1",
and x2 is the spelling location for the argument token "2". */
- source_location * GTY((atomic)) macro_locations;
+ location_t * GTY((atomic)) macro_locations;
/* This is the location of the expansion point of the current macro
map. It's the location of the macro name. That location is held
by the map that was current right before the current one. It
could have been either a macro or an ordinary map, depending on
if we are in a nested expansion context not. */
- source_location expansion;
+ location_t expansion;
/* Size is 20 or 32 (4 bytes padding on 64-bit). */
};
@@ -558,12 +561,32 @@ struct GTY((tag ("2"))) line_map_macro : public line_map {
#define linemap_assert_fails(EXPR) (! (EXPR))
#endif
+/* Get whether location LOC is an ad-hoc, ordinary or macro location. */
+
+inline bool
+IS_ORDINARY_LOC (location_t loc)
+{
+ return loc < LINE_MAP_MAX_LOCATION;
+}
+
+inline bool
+IS_ADHOC_LOC (location_t loc)
+{
+ return loc > MAX_LOCATION_T;
+}
+
+inline bool
+IS_MACRO_LOC (location_t loc)
+{
+ return !IS_ORDINARY_LOC (loc) && !IS_ADHOC_LOC (loc);
+}
+
/* Categorize line map kinds. */
inline bool
MAP_ORDINARY_P (const line_map *map)
{
- return map->start_location < LINE_MAP_MAX_LOCATION;
+ return IS_ORDINARY_LOC (map->start_location);
}
/* Return TRUE if MAP encodes locations coming from a macro
@@ -614,7 +637,7 @@ linemap_check_macro (const line_map *map)
/* Read the start location of MAP. */
-inline source_location
+inline location_t
MAP_START_LOCATION (const line_map *map)
{
return map->start_location;
@@ -667,7 +690,7 @@ MACRO_MAP_NUM_MACRO_TOKENS (const line_map_macro *macro_map)
/* Get the array of pairs of locations within macro map MAP.
See the declaration of line_map_macro for more information. */
-inline source_location *
+inline location_t *
MACRO_MAP_LOCATIONS (const line_map_macro *macro_map)
{
return macro_map->macro_locations;
@@ -675,7 +698,7 @@ MACRO_MAP_LOCATIONS (const line_map_macro *macro_map)
/* Get the location of the expansion point of the macro map MAP. */
-inline source_location
+inline location_t
MACRO_MAP_EXPANSION_POINT_LOCATION (const line_map_macro *macro_map)
{
return macro_map->expansion;
@@ -722,7 +745,7 @@ struct GTY(()) maps_info_macro {
/* Data structure to associate a source_range together with an arbitrary
data pointer with a source location. */
struct GTY(()) location_adhoc_data {
- source_location locus;
+ location_t locus;
source_range src_range;
void * GTY((skip)) data;
};
@@ -741,7 +764,7 @@ struct htab;
struct GTY(()) location_adhoc_data_map {
struct htab * GTY((skip)) htab;
- source_location curr_loc;
+ location_t curr_loc;
unsigned int allocated;
struct location_adhoc_data GTY((length ("%h.allocated"))) *data;
};
@@ -761,11 +784,11 @@ struct GTY(()) line_maps {
/* If true, prints an include trace a la -H. */
bool trace_includes;
- /* Highest source_location "given out". */
- source_location highest_location;
+ /* Highest location_t "given out". */
+ location_t highest_location;
- /* Start of line of highest source_location "given out". */
- source_location highest_line;
+ /* Start of line of highest location_t "given out". */
+ location_t highest_line;
/* The maximum column number we can quickly allocate. Higher numbers
may require allocating a new line_map. */
@@ -782,7 +805,7 @@ struct GTY(()) line_maps {
/* The special location value that is used as spelling location for
built-in tokens. */
- source_location builtin_location;
+ location_t builtin_location;
/* True if we've seen a #line or # 44 "file" directive. */
bool seen_line_directive;
@@ -1012,12 +1035,12 @@ LINEMAPS_LAST_MACRO_MAP (const line_maps *set)
/* Returns the lowest location [of a token resulting from macro
expansion] encoded in this line table. */
-inline source_location
+inline location_t
LINEMAPS_MACRO_LOWEST_LOCATION (const line_maps *set)
{
return LINEMAPS_MACRO_USED (set)
? MAP_START_LOCATION (LINEMAPS_LAST_MACRO_MAP (set))
- : MAX_SOURCE_LOCATION;
+ : MAX_LOCATION_T + 1;
}
/* Returns the last macro map allocated in the line table SET. */
@@ -1027,41 +1050,33 @@ LINEMAPS_LAST_ALLOCATED_MACRO_MAP (const line_maps *set)
return (line_map_macro *)LINEMAPS_LAST_ALLOCATED_MAP (set, true);
}
-extern source_location get_combined_adhoc_loc (struct line_maps *,
- source_location,
+extern location_t get_combined_adhoc_loc (struct line_maps *,
+ location_t,
source_range,
void *);
-extern void *get_data_from_adhoc_loc (struct line_maps *, source_location);
-extern source_location get_location_from_adhoc_loc (struct line_maps *,
- source_location);
-
-extern source_range get_range_from_loc (line_maps *set, source_location loc);
+extern void *get_data_from_adhoc_loc (struct line_maps *, location_t);
+extern location_t get_location_from_adhoc_loc (struct line_maps *,
+ location_t);
-/* Get whether location LOC is an ad-hoc location. */
-
-inline bool
-IS_ADHOC_LOC (source_location loc)
-{
- return (loc & MAX_SOURCE_LOCATION) != loc;
-}
+extern source_range get_range_from_loc (line_maps *set, location_t loc);
/* Get whether location LOC is a "pure" location, or
whether it is an ad-hoc location, or embeds range information. */
bool
-pure_location_p (line_maps *set, source_location loc);
+pure_location_p (line_maps *set, location_t loc);
/* Given location LOC within SET, strip away any packed range information
or ad-hoc information. */
-extern source_location get_pure_location (line_maps *set,
- source_location loc);
+extern location_t get_pure_location (line_maps *set,
+ location_t loc);
/* Combine LOC and BLOCK, giving a combined adhoc location. */
-inline source_location
+inline location_t
COMBINE_LOCATION_DATA (struct line_maps *set,
- source_location loc,
+ location_t loc,
source_range src_range,
void *block)
{
@@ -1075,19 +1090,19 @@ extern void rebuild_location_adhoc_htab (struct line_maps *);
spelling location for built-in tokens. This BUILTIN_LOCATION has
to be strictly less than RESERVED_LOCATION_COUNT. */
extern void linemap_init (struct line_maps *set,
- source_location builtin_location);
+ location_t builtin_location);
/* Check for and warn about line_maps entered but not exited. */
extern void linemap_check_files_exited (struct line_maps *);
-/* Return a source_location for the start (i.e. column==0) of
+/* Return a location_t for the start (i.e. column==0) of
(physical) line TO_LINE in the current source file (as in the
most recent linemap_add). MAX_COLUMN_HINT is the highest column
number we expect to use in this line (but it does not change
the highest_location). */
-extern source_location linemap_line_start
+extern location_t linemap_line_start
(struct line_maps *set, linenum_type to_line, unsigned int max_column_hint);
/* Add a mapping of logical source line to physical source file and
@@ -1114,7 +1129,7 @@ extern const struct line_map *linemap_add
binary search. If no line map have been allocated yet, this
function returns NULL. */
extern const struct line_map *linemap_lookup
- (struct line_maps *, source_location);
+ (struct line_maps *, location_t);
/* Returns TRUE if the line table set tracks token locations across
macro expansion, FALSE otherwise. */
@@ -1133,49 +1148,49 @@ const char* linemap_map_get_macro_name (const line_map_macro *);
that is part of a macro replacement-list defined in a system
header, but expanded in a non-system file. */
int linemap_location_in_system_header_p (struct line_maps *,
- source_location);
+ location_t);
/* Return TRUE if LOCATION is a source code location of a token that is part of
a macro expansion, FALSE otherwise. */
bool linemap_location_from_macro_expansion_p (const struct line_maps *,
- source_location);
+ location_t);
/* TRUE if LOCATION is a source code location of a token that is part of the
definition of a macro, FALSE otherwise. */
bool linemap_location_from_macro_definition_p (struct line_maps *,
- source_location);
+ location_t);
/* With the precondition that LOCATION is the locus of a token that is
an argument of a function-like macro MACRO_MAP and appears in the
expansion of MACRO_MAP, return the locus of that argument in the
context of the caller of MACRO_MAP. */
-extern source_location linemap_macro_map_loc_unwind_toward_spelling
- (line_maps *set, const line_map_macro *macro_map, source_location location);
+extern location_t linemap_macro_map_loc_unwind_toward_spelling
+ (line_maps *set, const line_map_macro *macro_map, location_t location);
-/* source_location values from 0 to RESERVED_LOCATION_COUNT-1 will
+/* location_t values from 0 to RESERVED_LOCATION_COUNT-1 will
be reserved for libcpp user as special values, no token from libcpp
will contain any of those locations. */
-const source_location RESERVED_LOCATION_COUNT = 2;
+const location_t RESERVED_LOCATION_COUNT = 2;
-/* Converts a map and a source_location to source line. */
+/* Converts a map and a location_t to source line. */
inline linenum_type
-SOURCE_LINE (const line_map_ordinary *ord_map, source_location loc)
+SOURCE_LINE (const line_map_ordinary *ord_map, location_t loc)
{
return ((loc - ord_map->start_location)
>> ord_map->m_column_and_range_bits) + ord_map->to_line;
}
-/* Convert a map and source_location to source column number. */
+/* Convert a map and location_t to source column number. */
inline linenum_type
-SOURCE_COLUMN (const line_map_ordinary *ord_map, source_location loc)
+SOURCE_COLUMN (const line_map_ordinary *ord_map, location_t loc)
{
return ((loc - ord_map->start_location)
& ((1 << ord_map->m_column_and_range_bits) - 1)) >> ord_map->m_range_bits;
}
-inline source_location
+inline location_t
linemap_included_from (const line_map_ordinary *ord_map)
{
return ord_map->included_from;
@@ -1193,26 +1208,26 @@ MAIN_FILE_P (const line_map_ordinary *ord_map)
return ord_map->included_from == 0;
}
-/* Encode and return a source_location from a column number. The
+/* Encode and return a location_t from a column number. The
source line considered is the last source line used to call
linemap_line_start, i.e, the last source line which a location was
encoded from. */
-extern source_location
+extern location_t
linemap_position_for_column (struct line_maps *, unsigned int);
/* Encode and return a source location from a given line and
column. */
-source_location
+location_t
linemap_position_for_line_and_column (line_maps *set,
const line_map_ordinary *,
linenum_type, unsigned int);
-/* Encode and return a source_location starting from location LOC and
+/* Encode and return a location_t starting from location LOC and
shifting it by OFFSET columns. This function does not support
virtual locations. */
-source_location
+location_t
linemap_position_for_loc_and_offset (struct line_maps *set,
- source_location loc,
+ location_t loc,
unsigned int offset);
/* Return the file this map is for. */
@@ -1244,16 +1259,16 @@ LINEMAP_SYSP (const line_map_ordinary *ord_map)
the same token as the token for POST, and a negative value
otherwise. */
int linemap_compare_locations (struct line_maps *set,
- source_location pre,
- source_location post);
+ location_t pre,
+ location_t post);
/* Return TRUE if LOC_A denotes the location a token that comes
topogically before the token denoted by location LOC_B, or if they
are equal. */
inline bool
linemap_location_before_p (struct line_maps *set,
- source_location loc_a,
- source_location loc_b)
+ location_t loc_a,
+ location_t loc_b)
{
return linemap_compare_locations (set, loc_a, loc_b) >= 0;
}
@@ -1312,7 +1327,7 @@ enum range_display_kind
struct location_range
{
- source_location m_loc;
+ location_t m_loc;
enum range_display_kind m_range_display_kind;
@@ -1595,7 +1610,7 @@ class fixit_hint;
Adding a fix-it hint can fail: for example, attempts to insert content
at the transition between two line maps may fail due to there being no
- source_location (aka location_t) value to express the new location.
+ location_t value to express the new location.
Attempts to add a fix-it hint within a macro expansion will fail.
@@ -1625,24 +1640,24 @@ class rich_location
/* Constructors. */
/* Constructing from a location. */
- rich_location (line_maps *set, source_location loc,
+ rich_location (line_maps *set, location_t loc,
const range_label *label = NULL);
/* Destructor. */
~rich_location ();
/* Accessors. */
- source_location get_loc () const { return get_loc (0); }
- source_location get_loc (unsigned int idx) const;
+ location_t get_loc () const { return get_loc (0); }
+ location_t get_loc (unsigned int idx) const;
void
- add_range (source_location loc,
+ add_range (location_t loc,
enum range_display_kind range_display_kind
= SHOW_RANGE_WITHOUT_CARET,
const range_label *label = NULL);
void
- set_range (unsigned int idx, source_location loc,
+ set_range (unsigned int idx, location_t loc,
enum range_display_kind range_display_kind);
unsigned int get_num_locations () const { return m_ranges.count (); }
@@ -1666,7 +1681,7 @@ class rich_location
/* Suggest inserting NEW_CONTENT immediately before the start of WHERE. */
void
- add_fixit_insert_before (source_location where,
+ add_fixit_insert_before (location_t where,
const char *new_content);
/* Suggest inserting NEW_CONTENT immediately after the end of the primary
@@ -1676,7 +1691,7 @@ class rich_location
/* Suggest inserting NEW_CONTENT immediately after the end of WHERE. */
void
- add_fixit_insert_after (source_location where,
+ add_fixit_insert_after (location_t where,
const char *new_content);
/* Methods for adding removal fix-it hints. */
@@ -1688,7 +1703,7 @@ class rich_location
/* Suggest removing the content covered between the start and finish
of WHERE. */
void
- add_fixit_remove (source_location where);
+ add_fixit_remove (location_t where);
/* Suggest removing the content covered by SRC_RANGE. */
void
@@ -1703,7 +1718,7 @@ class rich_location
/* Suggest replacing the content between the start and finish of
WHERE with NEW_CONTENT. */
void
- add_fixit_replace (source_location where,
+ add_fixit_replace (location_t where,
const char *new_content);
/* Suggest replacing the content covered by SRC_RANGE with
@@ -1739,10 +1754,10 @@ class rich_location
}
private:
- bool reject_impossible_fixit (source_location where);
+ bool reject_impossible_fixit (location_t where);
void stop_supporting_fixits ();
- void maybe_add_fixit (source_location start,
- source_location next_loc,
+ void maybe_add_fixit (location_t start,
+ location_t next_loc,
const char *new_content);
public:
@@ -1831,16 +1846,16 @@ class range_label
class fixit_hint
{
public:
- fixit_hint (source_location start,
- source_location next_loc,
+ fixit_hint (location_t start,
+ location_t next_loc,
const char *new_content);
~fixit_hint () { free (m_bytes); }
bool affects_line_p (const char *file, int line) const;
- source_location get_start_loc () const { return m_start; }
- source_location get_next_loc () const { return m_next_loc; }
- bool maybe_append (source_location start,
- source_location next_loc,
+ location_t get_start_loc () const { return m_start; }
+ location_t get_next_loc () const { return m_next_loc; }
+ bool maybe_append (location_t start,
+ location_t next_loc,
const char *new_content);
const char *get_string () const { return m_bytes; }
@@ -1855,8 +1870,8 @@ class fixit_hint
this is a half-open/half-closed range:
[start, next_loc)
so that we can support insertion via start == next_loc. */
- source_location m_start;
- source_location m_next_loc;
+ location_t m_start;
+ location_t m_next_loc;
char *m_bytes;
size_t m_len;
};
@@ -1920,10 +1935,10 @@ enum location_resolution_kind
resolves to a location reserved for the client code, like
UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */
-source_location linemap_resolve_location (struct line_maps *,
- source_location loc,
- enum location_resolution_kind lrk,
- const line_map_ordinary **loc_map);
+location_t linemap_resolve_location (struct line_maps *,
+ location_t loc,
+ enum location_resolution_kind lrk,
+ const line_map_ordinary **loc_map);
/* Suppose that LOC is the virtual location of a token coming from the
expansion of a macro M. This function then steps up to get the
@@ -1932,9 +1947,9 @@ source_location linemap_resolve_location (struct line_maps *,
the point where M' was expanded. LOC_MAP is an output parameter.
When non-NULL, *LOC_MAP is set to the map of the returned
location. */
-source_location linemap_unwind_toward_expansion (struct line_maps *,
- source_location loc,
- const struct line_map **loc_map);
+location_t linemap_unwind_toward_expansion (struct line_maps *,
+ location_t loc,
+ const struct line_map **loc_map);
/* If LOC is the virtual location of a token coming from the expansion
of a macro M and if its spelling location is reserved (e.g, a
@@ -1950,9 +1965,9 @@ source_location linemap_unwind_toward_expansion (struct line_maps *,
*MAP is set to the map of the returned location if the later is
different from LOC. */
-source_location linemap_unwind_to_first_non_reserved_loc (struct line_maps *,
- source_location loc,
- const struct line_map **map);
+location_t linemap_unwind_to_first_non_reserved_loc (struct line_maps *,
+ location_t loc,
+ const struct line_map **map);
/* Expand source code location LOC and return a user readable source
code location. LOC must be a spelling (non-virtual) location. If
@@ -1960,7 +1975,7 @@ source_location linemap_unwind_to_first_non_reserved_loc (struct line_maps *,
location is returned. */
expanded_location linemap_expand_location (struct line_maps *,
const struct line_map *,
- source_location loc);
+ location_t loc);
/* Statistics about maps allocation and usage as returned by
linemap_get_statistics. */
@@ -1987,7 +2002,7 @@ struct linemap_stats
location emitted for that file. */
bool linemap_get_file_highest_location (struct line_maps * set,
const char *file_name,
- source_location *loc);
+ location_t *loc);
/* Compute and return statistics about the memory consumption of some
parts of the line table SET. */
@@ -1995,7 +2010,7 @@ void linemap_get_statistics (struct line_maps *, struct linemap_stats *);
/* Dump debugging information about source location LOC into the file
stream STREAM. SET is the line map set LOC comes from. */
-void linemap_dump_location (struct line_maps *, source_location, FILE *);
+void linemap_dump_location (struct line_maps *, location_t, FILE *);
/* Dump line map at index IX in line table SET to STREAM. If STREAM
is NULL, use stderr. IS_MACRO is true if the caller wants to
@@ -2007,7 +2022,7 @@ void linemap_dump (FILE *, struct line_maps *, unsigned, bool);
specifies how many macro maps to dump. */
void line_table_dump (FILE *, struct line_maps *, unsigned int, unsigned int);
-/* An enum for distinguishing the various parts within a source_location. */
+/* An enum for distinguishing the various parts within a location_t. */
enum location_aspect
{
@@ -2016,14 +2031,14 @@ enum location_aspect
LOCATION_ASPECT_FINISH
};
-/* The rich_location class requires a way to expand source_location instances.
+/* The rich_location class requires a way to expand location_t instances.
We would directly use expand_location_to_spelling_point, which is
implemented in gcc/input.c, but we also need to use it for rich_location
within genmatch.c.
Hence we require client code of libcpp to implement the following
symbol. */
extern expanded_location
-linemap_client_expand_location_to_spelling_point (source_location,
+linemap_client_expand_location_to_spelling_point (location_t,
enum location_aspect);
#endif /* !LIBCPP_LINE_MAP_H */
diff --git a/libcpp/include/mkdeps.h b/libcpp/include/mkdeps.h
index aefb69d..161291a 100644
--- a/libcpp/include/mkdeps.h
+++ b/libcpp/include/mkdeps.h
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
Contributed by Zack Weinberg, Mar 2000
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/include/symtab.h b/libcpp/include/symtab.h
index c08a4f29..34d6bdc 100644
--- a/libcpp/include/symtab.h
+++ b/libcpp/include/symtab.h
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 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 the
diff --git a/libcpp/init.c b/libcpp/init.c
index 32a5956..60d2588 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -1,5 +1,5 @@
/* CPP Library.
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -100,11 +100,13 @@ static const struct lang_flags lang_defaults[] =
/* GNUC99 */ { 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
/* GNUC11 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
/* GNUC17 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
+ /* GNUC2X */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
/* STDC89 */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
/* STDC94 */ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
/* STDC99 */ { 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
/* STDC11 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
/* STDC17 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
+ /* STDC2X */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
/* GNUCXX */ { 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
/* CXX98 */ { 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
/* GNUCXX11 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1 },
@@ -262,7 +264,7 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
pfile->pushed_macros = 0;
/* Do not force token locations by default. */
- pfile->forced_token_location_p = NULL;
+ pfile->forced_token_location = 0;
/* Initialize source_date_epoch to -2 (not yet set). */
pfile->source_date_epoch = (time_t) -2;
@@ -521,6 +523,9 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
_cpp_define_builtin (pfile, "__ASSEMBLER__ 1");
else if (CPP_OPTION (pfile, lang) == CLK_STDC94)
_cpp_define_builtin (pfile, "__STDC_VERSION__ 199409L");
+ else if (CPP_OPTION (pfile, lang) == CLK_STDC2X
+ || CPP_OPTION (pfile, lang) == CLK_GNUC2X)
+ _cpp_define_builtin (pfile, "__STDC_VERSION__ 202000L");
else if (CPP_OPTION (pfile, lang) == CLK_STDC17
|| CPP_OPTION (pfile, lang) == CLK_GNUC17)
_cpp_define_builtin (pfile, "__STDC_VERSION__ 201710L");
@@ -628,7 +633,7 @@ cpp_post_options (cpp_reader *pfile)
const char *
cpp_read_main_file (cpp_reader *pfile, const char *fname)
{
- const source_location loc = 0;
+ const location_t loc = 0;
if (CPP_OPTION (pfile, deps.style) != DEPS_NONE)
{
diff --git a/libcpp/internal.h b/libcpp/internal.h
index 59f830c..77a2a3b 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -1,5 +1,5 @@
/* Part of CPP library.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2019 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 the
@@ -150,11 +150,11 @@ typedef struct
location at index 0 is the virtual location of the token at index
0 in the current instance of cpp_context; similarly for all the
other virtual locations. */
- source_location *virt_locs;
+ location_t *virt_locs;
/* This is a pointer to the current virtual location. This is used
to iterate over the virtual locations while we iterate over the
tokens they belong to. */
- source_location *cur_virt_loc;
+ location_t *cur_virt_loc;
} macro_context;
/* The kind of tokens carried by a cpp_context. */
@@ -372,7 +372,7 @@ struct def_pragma_macro {
unsigned char *definition;
/* Definition line number. */
- source_location line;
+ location_t line;
/* If macro defined in system header. */
unsigned int syshdr : 1;
/* Nonzero if it has been expanded or had its existence tested. */
@@ -400,7 +400,7 @@ struct cpp_reader
struct line_maps *line_table;
/* The line of the '#' of the current directive. */
- source_location directive_line;
+ location_t directive_line;
/* Memory buffers. */
_cpp_buff *a_buff; /* Aligned permanent storage. */
@@ -419,7 +419,7 @@ struct cpp_reader
/* When expanding a macro at top-level, this is the location of the
macro invocation. */
- source_location invocation_location;
+ location_t invocation_location;
/* This is the node representing the macro being expanded at
top-level. The value of this data member is valid iff
@@ -551,7 +551,7 @@ struct cpp_reader
unsigned char *base;
unsigned char *limit;
unsigned char *cur;
- source_location first_line;
+ location_t first_line;
} out;
/* Used for buffer overlays by traditional.c. */
@@ -570,9 +570,9 @@ struct cpp_reader
/* List of saved macros by push_macro. */
struct def_pragma_macro *pushed_macros;
- /* If non-null, the lexer will use this location for the next token
+ /* If non-zero, the lexer will use this location for the next token
instead of getting a location from the linemap. */
- source_location *forced_token_location_p;
+ location_t forced_token_location;
};
/* Character classes. Based on the more primitive macros in safe-ctype.h.
@@ -593,6 +593,8 @@ struct cpp_reader
#define is_nvspace(x) IS_NVSPACE(x)
#define is_space(x) IS_SPACE_OR_NUL(x)
+#define SEEN_EOL() (pfile->cur_token[-1].type == CPP_EOF)
+
/* This table is constant if it can be initialized at compile time,
which is the case if cpp was compiled with GCC >=2.7, or another
compiler that supports C99. */
@@ -646,7 +648,7 @@ extern bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *,
unsigned int);
extern const unsigned char *_cpp_builtin_macro_text (cpp_reader *,
cpp_hashnode *,
- source_location = 0);
+ location_t = 0);
extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *);
extern void _cpp_push_token_context (cpp_reader *, cpp_hashnode *,
const cpp_token *, unsigned int);
@@ -659,14 +661,14 @@ extern void _cpp_destroy_hashtable (cpp_reader *);
/* In files.c */
typedef struct _cpp_file _cpp_file;
extern _cpp_file *_cpp_find_file (cpp_reader *, const char *, cpp_dir *,
- bool, int, bool, source_location);
+ bool, int, bool, location_t);
extern bool _cpp_find_failed (_cpp_file *);
extern void _cpp_mark_file_once_only (cpp_reader *, struct _cpp_file *);
extern void _cpp_fake_include (cpp_reader *, const char *);
extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool,
- source_location);
+ location_t);
extern bool _cpp_stack_include (cpp_reader *, const char *, int,
- enum include_type, source_location);
+ enum include_type, location_t);
extern int _cpp_compare_file_date (cpp_reader *, const char *, int);
extern void _cpp_report_missing_guards (cpp_reader *);
extern void _cpp_init_files (cpp_reader *);
@@ -717,7 +719,7 @@ extern int _cpp_handle_directive (cpp_reader *, int);
extern void _cpp_define_builtin (cpp_reader *, const char *);
extern char ** _cpp_save_pragma_names (cpp_reader *);
extern void _cpp_restore_pragma_names (cpp_reader *, char **);
-extern int _cpp_do__Pragma (cpp_reader *, source_location);
+extern int _cpp_do__Pragma (cpp_reader *, location_t);
extern void _cpp_init_directives (cpp_reader *);
extern void _cpp_init_internal_pragmas (cpp_reader *);
extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *,
@@ -730,7 +732,7 @@ struct _cpp_dir_only_callbacks
{
/* Called to print a block of lines. */
void (*print_lines) (int, const void *, size_t);
- bool (*maybe_print_line) (source_location);
+ bool (*maybe_print_line) (location_t);
};
extern void _cpp_preprocess_dir_only (cpp_reader *,
@@ -867,7 +869,7 @@ ufputs (const unsigned char *s, FILE *f)
the replacement-list of MACRO. */
const line_map_macro *linemap_enter_macro (struct line_maps *,
struct cpp_hashnode*,
- source_location,
+ location_t,
unsigned int);
/* Create and return a virtual location for a token that is part of a
@@ -892,10 +894,10 @@ const line_map_macro *linemap_enter_macro (struct line_maps *,
MACRO_DEFINITION_LOC is the location in the macro definition,
either of the token itself or of a macro parameter that it
replaces. */
-source_location linemap_add_macro_token (const line_map_macro *,
- unsigned int,
- source_location,
- source_location);
+location_t linemap_add_macro_token (const line_map_macro *,
+ unsigned int,
+ location_t,
+ location_t);
/* Return the source line number corresponding to source location
LOCATION. SET is the line map set LOCATION comes from. If
@@ -903,7 +905,7 @@ source_location linemap_add_macro_token (const line_map_macro *,
expansion-list of a macro expansion return the line number of the
macro expansion point. */
int linemap_get_expansion_line (struct line_maps *,
- source_location);
+ location_t);
/* Return the path of the file corresponding to source code location
LOCATION.
@@ -914,7 +916,7 @@ int linemap_get_expansion_line (struct line_maps *,
SET is the line map set LOCATION comes from. */
const char* linemap_get_expansion_filename (struct line_maps *,
- source_location);
+ location_t);
#ifdef __cplusplus
}
diff --git a/libcpp/lex.c b/libcpp/lex.c
index 892cfc4..eedfcbb 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1,5 +1,5 @@
/* CPP Library - lexical analysis.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -1232,7 +1232,7 @@ static int
skip_line_comment (cpp_reader *pfile)
{
cpp_buffer *buffer = pfile->buffer;
- source_location orig_line = pfile->line_table->highest_line;
+ location_t orig_line = pfile->line_table->highest_line;
while (*buffer->cur != '\n')
buffer->cur++;
@@ -1894,7 +1894,7 @@ lex_raw_string (cpp_reader *pfile, cpp_token *token, const uchar *base,
_cpp_process_line_notes (pfile, false);
if (!_cpp_get_fresh_line (pfile))
{
- source_location src_loc = token->src_loc;
+ location_t src_loc = token->src_loc;
token->type = CPP_EOF;
/* Tell the compiler the line number of the EOF token. */
token->src_loc = pfile->line_table->highest_line;
@@ -2757,8 +2757,8 @@ _cpp_lex_direct (cpp_reader *pfile)
}
c = *buffer->cur++;
- if (pfile->forced_token_location_p)
- result->src_loc = *pfile->forced_token_location_p;
+ if (pfile->forced_token_location)
+ result->src_loc = pfile->forced_token_location;
else
result->src_loc = linemap_position_for_column (pfile->line_table,
CPP_BUF_COLUMN (buffer, buffer->cur));
@@ -3773,14 +3773,14 @@ cpp_token_val_index (const cpp_token *tok)
}
}
-/* All tokens lexed in R after calling this function will be forced to have
- their source_location the same as the location referenced by P, until
+/* All tokens lexed in R after calling this function will be forced to
+ have their location_t to be P, until
cpp_stop_forcing_token_locations is called for R. */
void
-cpp_force_token_locations (cpp_reader *r, source_location *p)
+cpp_force_token_locations (cpp_reader *r, location_t loc)
{
- r->forced_token_location_p = p;
+ r->forced_token_location = loc;
}
/* Go back to assigning locations naturally for lexed tokens. */
@@ -3788,5 +3788,5 @@ cpp_force_token_locations (cpp_reader *r, source_location *p)
void
cpp_stop_forcing_token_locations (cpp_reader *r)
{
- r->forced_token_location_p = NULL;
+ r->forced_token_location = 0;
}
diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 73d9444..b73f506 100644
--- a/libcpp/line-map.c
+++ b/libcpp/line-map.c
@@ -1,5 +1,5 @@
/* Map (unsigned int) keys to (source file, line, column) triples.
- Copyright (C) 2001-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2019 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 the
@@ -28,21 +28,21 @@ along with this program; see the file COPYING3. If not see
static void trace_include (const struct line_maps *, const line_map_ordinary *);
static const line_map_ordinary * linemap_ordinary_map_lookup (struct line_maps *,
- source_location);
+ location_t);
static const line_map_macro* linemap_macro_map_lookup (struct line_maps *,
- source_location);
-static source_location linemap_macro_map_loc_to_def_point
-(const line_map_macro *, source_location);
-static source_location linemap_macro_map_loc_to_exp_point
-(const line_map_macro *, source_location);
-static source_location linemap_macro_loc_to_spelling_point
-(struct line_maps *, source_location, const line_map_ordinary **);
-static source_location linemap_macro_loc_to_def_point (struct line_maps *,
- source_location,
- const line_map_ordinary **);
-static source_location linemap_macro_loc_to_exp_point (struct line_maps *,
- source_location,
- const line_map_ordinary **);
+ location_t);
+static location_t linemap_macro_map_loc_to_def_point
+(const line_map_macro *, location_t);
+static location_t linemap_macro_map_loc_to_exp_point
+(const line_map_macro *, location_t);
+static location_t linemap_macro_loc_to_spelling_point
+(struct line_maps *, location_t, const line_map_ordinary **);
+static location_t linemap_macro_loc_to_def_point (line_maps *,
+ location_t,
+ const line_map_ordinary **);
+static location_t linemap_macro_loc_to_exp_point (line_maps *,
+ location_t,
+ const line_map_ordinary **);
/* Counters defined in macro.c. */
extern unsigned num_expanded_macros_counter;
@@ -110,16 +110,16 @@ rebuild_location_adhoc_htab (struct line_maps *set)
/* Helper function for get_combined_adhoc_loc.
Can the given LOCUS + SRC_RANGE and DATA pointer be stored compactly
- within a source_location, without needing to use an ad-hoc location. */
+ within a location_t, without needing to use an ad-hoc location. */
static bool
can_be_stored_compactly_p (struct line_maps *set,
- source_location locus,
+ location_t locus,
source_range src_range,
void *data)
{
/* If there's an ad-hoc pointer, we can't store it directly in the
- source_location, we need the lookaside. */
+ location_t, we need the lookaside. */
if (data)
return false;
@@ -139,7 +139,7 @@ can_be_stored_compactly_p (struct line_maps *set,
/* All 3 locations must be within ordinary maps, typically, the same
ordinary map. */
- source_location lowest_macro_loc = LINEMAPS_MACRO_LOWEST_LOCATION (set);
+ location_t lowest_macro_loc = LINEMAPS_MACRO_LOWEST_LOCATION (set);
if (locus >= lowest_macro_loc)
return false;
if (src_range.m_start >= lowest_macro_loc)
@@ -153,9 +153,9 @@ can_be_stored_compactly_p (struct line_maps *set,
/* Combine LOCUS and DATA to a combined adhoc loc. */
-source_location
+location_t
get_combined_adhoc_loc (struct line_maps *set,
- source_location locus,
+ location_t locus,
source_range src_range,
void *data)
{
@@ -164,7 +164,7 @@ get_combined_adhoc_loc (struct line_maps *set,
if (IS_ADHOC_LOC (locus))
locus
- = set->location_adhoc_data_map.data[locus & MAX_SOURCE_LOCATION].locus;
+ = set->location_adhoc_data_map.data[locus & MAX_LOCATION_T].locus;
if (locus == 0 && data == NULL)
return 0;
@@ -186,7 +186,7 @@ get_combined_adhoc_loc (struct line_maps *set,
unsigned int col_diff = (int_diff >> ordmap->m_range_bits);
if (col_diff < (1U << ordmap->m_range_bits))
{
- source_location packed = locus | col_diff;
+ location_t packed = locus | col_diff;
set->num_optimized_ranges++;
return packed;
}
@@ -243,28 +243,28 @@ get_combined_adhoc_loc (struct line_maps *set,
/* Return the data for the adhoc loc. */
void *
-get_data_from_adhoc_loc (struct line_maps *set, source_location loc)
+get_data_from_adhoc_loc (struct line_maps *set, location_t loc)
{
linemap_assert (IS_ADHOC_LOC (loc));
- return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].data;
+ return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
}
/* Return the location for the adhoc loc. */
-source_location
-get_location_from_adhoc_loc (struct line_maps *set, source_location loc)
+location_t
+get_location_from_adhoc_loc (struct line_maps *set, location_t loc)
{
linemap_assert (IS_ADHOC_LOC (loc));
- return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
}
/* Return the source_range for adhoc location LOC. */
static source_range
-get_range_from_adhoc_loc (struct line_maps *set, source_location loc)
+get_range_from_adhoc_loc (struct line_maps *set, location_t loc)
{
linemap_assert (IS_ADHOC_LOC (loc));
- return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].src_range;
+ return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].src_range;
}
/* Get the source_range of location LOC, either from the ad-hoc
@@ -272,7 +272,7 @@ get_range_from_adhoc_loc (struct line_maps *set, source_location loc)
source_range
get_range_from_loc (struct line_maps *set,
- source_location loc)
+ location_t loc)
{
if (IS_ADHOC_LOC (loc))
return get_range_from_adhoc_loc (set, loc);
@@ -298,7 +298,7 @@ get_range_from_loc (struct line_maps *set,
whether it is an ad-hoc location, or embeds range information. */
bool
-pure_location_p (line_maps *set, source_location loc)
+pure_location_p (line_maps *set, location_t loc)
{
if (IS_ADHOC_LOC (loc))
return false;
@@ -317,12 +317,12 @@ pure_location_p (line_maps *set, source_location loc)
/* Given location LOC within SET, strip away any packed range information
or ad-hoc information. */
-source_location
-get_pure_location (line_maps *set, source_location loc)
+location_t
+get_pure_location (line_maps *set, location_t loc)
{
if (IS_ADHOC_LOC (loc))
loc
- = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
if (loc >= LINEMAPS_MACRO_LOWEST_LOCATION (set))
return loc;
@@ -340,7 +340,7 @@ get_pure_location (line_maps *set, source_location loc)
void
linemap_init (struct line_maps *set,
- source_location builtin_location)
+ location_t builtin_location)
{
#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && !defined (__clang__)
/* PR33916, needed to fix PR82939. */
@@ -386,7 +386,7 @@ linemap_check_files_exited (struct line_maps *set)
macro maps are allocated in different memory location. */
static struct line_map *
-new_linemap (struct line_maps *set, source_location start_location)
+new_linemap (struct line_maps *set, location_t start_location)
{
bool macro_p = start_location >= LINE_MAP_MAX_LOCATION;
unsigned num_maps_allocated = LINEMAPS_ALLOCATED (set, macro_p);
@@ -464,7 +464,7 @@ linemap_add (struct line_maps *set, enum lc_reason reason,
{
/* Generate a start_location above the current highest_location.
If possible, make the low range bits be zero. */
- source_location start_location;
+ location_t start_location;
if (set->highest_location < LINE_MAP_MAX_LOCATION_WITH_COLS)
{
start_location = set->highest_location + (1 << set->default_range_bits);
@@ -610,32 +610,26 @@ linemap_tracks_macro_expansion_locs_p (struct line_maps *set)
const line_map_macro *
linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node,
- source_location expansion, unsigned int num_tokens)
+ location_t expansion, unsigned int num_tokens)
{
- line_map_macro *map;
- source_location start_location;
- /* Cast away extern "C" from the type of xrealloc. */
- line_map_realloc reallocator = (set->reallocator
- ? set->reallocator
- : (line_map_realloc) xrealloc);
-
- start_location = LINEMAPS_MACRO_LOWEST_LOCATION (set) - num_tokens;
+ location_t start_location
+ = LINEMAPS_MACRO_LOWEST_LOCATION (set) - num_tokens;
if (start_location < LINE_MAP_MAX_LOCATION)
/* We ran out of macro map space. */
return NULL;
- map = linemap_check_macro (new_linemap (set, start_location));
+ line_map_macro *map = linemap_check_macro (new_linemap (set, start_location));
map->macro = macro_node;
map->n_tokens = num_tokens;
map->macro_locations
- = (source_location*) reallocator (NULL,
- 2 * num_tokens
- * sizeof (source_location));
+ = (location_t*) set->reallocator (NULL,
+ 2 * num_tokens
+ * sizeof (location_t));
map->expansion = expansion;
memset (MACRO_MAP_LOCATIONS (map), 0,
- num_tokens * sizeof (source_location));
+ 2 * num_tokens * sizeof (location_t));
LINEMAPS_MACRO_CACHE (set) = LINEMAPS_MACRO_USED (set) - 1;
@@ -665,13 +659,13 @@ linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node,
either of the token itself or of a macro parameter that it
replaces. */
-source_location
+location_t
linemap_add_macro_token (const line_map_macro *map,
unsigned int token_no,
- source_location orig_loc,
- source_location orig_parm_replacement_loc)
+ location_t orig_loc,
+ location_t orig_parm_replacement_loc)
{
- source_location result;
+ location_t result;
linemap_assert (linemap_macro_expansion_map_p (map));
linemap_assert (token_no < MACRO_MAP_NUM_MACRO_TOKENS (map));
@@ -683,19 +677,19 @@ linemap_add_macro_token (const line_map_macro *map,
return result;
}
-/* Return a source_location for the start (i.e. column==0) of
+/* Return a location_t for the start (i.e. column==0) of
(physical) line TO_LINE in the current source file (as in the
most recent linemap_add). MAX_COLUMN_HINT is the highest column
number we expect to use in this line (but it does not change
the highest_location). */
-source_location
+location_t
linemap_line_start (struct line_maps *set, linenum_type to_line,
unsigned int max_column_hint)
{
line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);
- source_location highest = set->highest_location;
- source_location r;
+ location_t highest = set->highest_location;
+ location_t r;
linenum_type last_line =
SOURCE_LINE (map, set->highest_line);
int line_delta = to_line - last_line;
@@ -723,7 +717,7 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
|| highest > LINE_MAP_MAX_LOCATION_WITH_COLS)
{
/* If the column number is ridiculous or we've allocated a huge
- number of source_locations, give up on column numbers
+ number of location_ts, give up on column numbers
(and on packed ranges). */
max_column_hint = 0;
column_bits = 0;
@@ -748,6 +742,11 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
if (line_delta < 0
|| last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
|| SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
+ || ( /* We can't reuse the map if the line offset is sufficiently
+ large to cause overflow when computing location_t values. */
+ (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
+ >= (((uint64_t) 1)
+ << (CHAR_BIT * sizeof (linenum_type) - column_bits)))
|| range_bits < map->m_range_bits)
map = linemap_check_ordinary
(const_cast <line_map *>
@@ -788,15 +787,15 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
return r;
}
-/* Encode and return a source_location from a column number. The
+/* Encode and return a location_t from a column number. The
source line considered is the last source line used to call
linemap_line_start, i.e, the last source line which a location was
encoded from. */
-source_location
+location_t
linemap_position_for_column (struct line_maps *set, unsigned int to_column)
{
- source_location r = set->highest_line;
+ location_t r = set->highest_line;
linemap_assert
(!linemap_macro_expansion_map_p (LINEMAPS_LAST_ORDINARY_MAP (set)));
@@ -806,7 +805,7 @@ linemap_position_for_column (struct line_maps *set, unsigned int to_column)
if (r > LINE_MAP_MAX_LOCATION_WITH_COLS
|| to_column > LINE_MAP_MAX_COLUMN_NUMBER)
{
- /* Running low on source_locations - disable column numbers. */
+ /* Running low on location_ts - disable column numbers. */
return r;
}
else
@@ -839,7 +838,7 @@ linemap_position_for_column (struct line_maps *set, unsigned int to_column)
/* Encode and return a source location from a given line and
column. */
-source_location
+location_t
linemap_position_for_line_and_column (line_maps *set,
const line_map_ordinary *ord_map,
linenum_type line,
@@ -847,13 +846,13 @@ linemap_position_for_line_and_column (line_maps *set,
{
linemap_assert (ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map) <= line);
- source_location r = MAP_START_LOCATION (ord_map);
+ location_t r = MAP_START_LOCATION (ord_map);
r += ((line - ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map))
<< ord_map->m_column_and_range_bits);
if (r <= LINE_MAP_MAX_LOCATION_WITH_COLS)
r += ((column & ((1 << ord_map->m_column_and_range_bits) - 1))
<< ord_map->m_range_bits);
- source_location upper_limit = LINEMAPS_MACRO_LOWEST_LOCATION (set);
+ location_t upper_limit = LINEMAPS_MACRO_LOWEST_LOCATION (set);
if (r >= upper_limit)
r = upper_limit - 1;
if (r > set->highest_location)
@@ -861,19 +860,19 @@ linemap_position_for_line_and_column (line_maps *set,
return r;
}
-/* Encode and return a source_location starting from location LOC and
+/* Encode and return a location_t starting from location LOC and
shifting it by COLUMN_OFFSET columns. This function does not support
virtual locations. */
-source_location
+location_t
linemap_position_for_loc_and_offset (struct line_maps *set,
- source_location loc,
+ location_t loc,
unsigned int column_offset)
{
const line_map_ordinary * map = NULL;
if (IS_ADHOC_LOC (loc))
- loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
/* This function does not support virtual locations yet. */
if (linemap_location_from_macro_expansion_p (set, loc))
@@ -919,7 +918,7 @@ linemap_position_for_loc_and_offset (struct line_maps *set,
if (column >= (1u << (map->m_column_and_range_bits - map->m_range_bits)))
return loc;
- source_location r =
+ location_t r =
linemap_position_for_line_and_column (set, map, line, column);
if (linemap_assert_fails (r <= set->highest_location)
|| linemap_assert_fails (map == linemap_lookup (set, r)))
@@ -932,10 +931,10 @@ linemap_position_for_loc_and_offset (struct line_maps *set,
ordinary or a macro map), returns that map. */
const struct line_map*
-linemap_lookup (struct line_maps *set, source_location line)
+linemap_lookup (struct line_maps *set, location_t line)
{
if (IS_ADHOC_LOC (line))
- line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;
+ line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
if (linemap_location_from_macro_expansion_p (set, line))
return linemap_macro_map_lookup (set, line);
return linemap_ordinary_map_lookup (set, line);
@@ -947,13 +946,13 @@ linemap_lookup (struct line_maps *set, source_location line)
binary search. */
static const line_map_ordinary *
-linemap_ordinary_map_lookup (struct line_maps *set, source_location line)
+linemap_ordinary_map_lookup (struct line_maps *set, location_t line)
{
unsigned int md, mn, mx;
const line_map_ordinary *cached, *result;
if (IS_ADHOC_LOC (line))
- line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;
+ line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
if (set == NULL || line < RESERVED_LOCATION_COUNT)
return NULL;
@@ -995,13 +994,13 @@ linemap_ordinary_map_lookup (struct line_maps *set, source_location line)
binary search. */
static const line_map_macro *
-linemap_macro_map_lookup (struct line_maps *set, source_location line)
+linemap_macro_map_lookup (struct line_maps *set, location_t line)
{
unsigned int md, mn, mx;
const struct line_map_macro *cached, *result;
if (IS_ADHOC_LOC (line))
- line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;
+ line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
linemap_assert (line >= LINEMAPS_MACRO_LOWEST_LOCATION (set));
@@ -1051,9 +1050,9 @@ linemap_macro_expansion_map_p (const struct line_map *map)
Read the comments of struct line_map and struct line_map_macro in
line-map.h to understand what a macro expansion point is. */
-static source_location
+static location_t
linemap_macro_map_loc_to_exp_point (const line_map_macro *map,
- source_location location ATTRIBUTE_UNUSED)
+ location_t location ATTRIBUTE_UNUSED)
{
linemap_assert (linemap_macro_expansion_map_p (map)
&& location >= MAP_START_LOCATION (map));
@@ -1071,9 +1070,9 @@ linemap_macro_map_loc_to_exp_point (const line_map_macro *map,
Return the location of the token at the definition point of the
macro. */
-static source_location
+static location_t
linemap_macro_map_loc_to_def_point (const line_map_macro *map,
- source_location location)
+ location_t location)
{
unsigned token_no;
@@ -1095,10 +1094,10 @@ linemap_macro_map_loc_to_def_point (const line_map_macro *map,
In other words, this returns the xI location presented in the
comments of line_map_macro above. */
-source_location
+location_t
linemap_macro_map_loc_unwind_toward_spelling (line_maps *set,
const line_map_macro* map,
- source_location location)
+ location_t location)
{
unsigned token_no;
@@ -1126,13 +1125,13 @@ linemap_macro_map_loc_unwind_toward_spelling (line_maps *set,
int
linemap_get_expansion_line (struct line_maps *set,
- source_location location)
+ location_t location)
{
const line_map_ordinary *map = NULL;
if (IS_ADHOC_LOC (location))
location = set->location_adhoc_data_map.data[location
- & MAX_SOURCE_LOCATION].locus;
+ & MAX_LOCATION_T].locus;
if (location < RESERVED_LOCATION_COUNT)
return 0;
@@ -1154,13 +1153,13 @@ linemap_get_expansion_line (struct line_maps *set,
const char*
linemap_get_expansion_filename (struct line_maps *set,
- source_location location)
+ location_t location)
{
const struct line_map_ordinary *map = NULL;
if (IS_ADHOC_LOC (location))
location = set->location_adhoc_data_map.data[location
- & MAX_SOURCE_LOCATION].locus;
+ & MAX_LOCATION_T].locus;
if (location < RESERVED_LOCATION_COUNT)
return NULL;
@@ -1192,13 +1191,13 @@ linemap_map_get_macro_name (const line_map_macro *macro_map)
int
linemap_location_in_system_header_p (struct line_maps *set,
- source_location location)
+ location_t location)
{
const struct line_map *map = NULL;
if (IS_ADHOC_LOC (location))
location = set->location_adhoc_data_map.data[location
- & MAX_SOURCE_LOCATION].locus;
+ & MAX_LOCATION_T].locus;
if (location < RESERVED_LOCATION_COUNT)
return false;
@@ -1217,7 +1216,7 @@ linemap_location_in_system_header_p (struct line_maps *set,
const line_map_macro *macro_map = linemap_check_macro (map);
/* It's a token resulting from a macro expansion. */
- source_location loc =
+ location_t loc =
linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, location);
if (loc < RESERVED_LOCATION_COUNT)
/* This token might come from a built-in macro. Let's
@@ -1238,13 +1237,13 @@ linemap_location_in_system_header_p (struct line_maps *set,
bool
linemap_location_from_macro_expansion_p (const struct line_maps *set,
- source_location location)
+ location_t location)
{
if (IS_ADHOC_LOC (location))
location = set->location_adhoc_data_map.data[location
- & MAX_SOURCE_LOCATION].locus;
+ & MAX_LOCATION_T].locus;
- return location >= LINE_MAP_MAX_LOCATION;
+ return IS_MACRO_LOC (location);
}
/* Given two virtual locations *LOC0 and *LOC1, return the first
@@ -1254,10 +1253,10 @@ linemap_location_from_macro_expansion_p (const struct line_maps *set,
static const struct line_map*
first_map_in_common_1 (struct line_maps *set,
- source_location *loc0,
- source_location *loc1)
+ location_t *loc0,
+ location_t *loc1)
{
- source_location l0 = *loc0, l1 = *loc1;
+ location_t l0 = *loc0, l1 = *loc1;
const struct line_map *map0 = linemap_lookup (set, l0),
*map1 = linemap_lookup (set, l1);
@@ -1296,10 +1295,10 @@ first_map_in_common_1 (struct line_maps *set,
static const struct line_map*
first_map_in_common (struct line_maps *set,
- source_location loc0,
- source_location loc1,
- source_location *res_loc0,
- source_location *res_loc1)
+ location_t loc0,
+ location_t loc1,
+ location_t *res_loc0,
+ location_t *res_loc1)
{
*res_loc0 = loc0;
*res_loc1 = loc1;
@@ -1314,11 +1313,11 @@ first_map_in_common (struct line_maps *set,
int
linemap_compare_locations (struct line_maps *set,
- source_location pre,
- source_location post)
+ location_t pre,
+ location_t post)
{
bool pre_virtual_p, post_virtual_p;
- source_location l0 = pre, l1 = post;
+ location_t l0 = pre, l1 = post;
if (IS_ADHOC_LOC (l0))
l0 = get_location_from_adhoc_loc (set, l0);
@@ -1384,9 +1383,9 @@ trace_include (const struct line_maps *set, const line_map_ordinary *map)
This is a subroutine for linemap_resolve_location. */
-static source_location
+static location_t
linemap_macro_loc_to_spelling_point (struct line_maps *set,
- source_location location,
+ location_t location,
const line_map_ordinary **original_map)
{
linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
@@ -1418,16 +1417,16 @@ linemap_macro_loc_to_spelling_point (struct line_maps *set,
This is a subroutine of linemap_resolve_location. */
-static source_location
+static location_t
linemap_macro_loc_to_def_point (struct line_maps *set,
- source_location location,
+ location_t location,
const line_map_ordinary **original_map)
{
linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
for (;;)
{
- source_location caret_loc = location;
+ location_t caret_loc = location;
if (IS_ADHOC_LOC (caret_loc))
caret_loc = get_location_from_adhoc_loc (set, caret_loc);
@@ -1460,16 +1459,16 @@ linemap_macro_loc_to_def_point (struct line_maps *set,
This is a subroutine of linemap_resolve_location. */
-static source_location
+static location_t
linemap_macro_loc_to_exp_point (struct line_maps *set,
- source_location location,
+ location_t location,
const line_map_ordinary **original_map)
{
struct line_map *map;
if (IS_ADHOC_LOC (location))
location = set->location_adhoc_data_map.data[location
- & MAX_SOURCE_LOCATION].locus;
+ & MAX_LOCATION_T].locus;
linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
@@ -1535,15 +1534,15 @@ linemap_macro_loc_to_exp_point (struct line_maps *set,
resolves to a location reserved for the client code, like
UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */
-source_location
+location_t
linemap_resolve_location (struct line_maps *set,
- source_location loc,
+ location_t loc,
enum location_resolution_kind lrk,
const line_map_ordinary **map)
{
- source_location locus = loc;
+ location_t locus = loc;
if (IS_ADHOC_LOC (loc))
- locus = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ locus = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
if (locus < RESERVED_LOCATION_COUNT)
{
@@ -1577,7 +1576,7 @@ linemap_resolve_location (struct line_maps *set,
bool
linemap_location_from_macro_definition_p (struct line_maps *set,
- source_location loc)
+ location_t loc)
{
if (IS_ADHOC_LOC (loc))
loc = get_location_from_adhoc_loc (set, loc);
@@ -1590,13 +1589,13 @@ linemap_location_from_macro_definition_p (struct line_maps *set,
const struct line_map_macro *map
= linemap_check_macro (linemap_lookup (set, loc));
- source_location s_loc
+ location_t s_loc
= linemap_macro_map_loc_unwind_toward_spelling (set, map, loc);
if (linemap_location_from_macro_expansion_p (set, s_loc))
loc = s_loc;
else
{
- source_location def_loc
+ location_t def_loc
= linemap_macro_map_loc_to_def_point (map, loc);
return s_loc == def_loc;
}
@@ -1615,17 +1614,17 @@ linemap_location_from_macro_definition_p (struct line_maps *set,
*LOC_MAP must be set to the map of LOC. This function then sets it
to the map of the returned location. */
-source_location
+location_t
linemap_unwind_toward_expansion (struct line_maps *set,
- source_location loc,
+ location_t loc,
const struct line_map **map)
{
- source_location resolved_location;
+ location_t resolved_location;
const line_map_macro *macro_map = linemap_check_macro (*map);
const struct line_map *resolved_map;
if (IS_ADHOC_LOC (loc))
- loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
resolved_location =
linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, loc);
@@ -1655,17 +1654,17 @@ linemap_unwind_toward_expansion (struct line_maps *set,
*MAP is set to the map of the returned location if the later is
different from LOC. */
-source_location
+location_t
linemap_unwind_to_first_non_reserved_loc (struct line_maps *set,
- source_location loc,
+ location_t loc,
const struct line_map **map)
{
- source_location resolved_loc;
+ location_t resolved_loc;
const struct line_map *map0 = NULL;
const line_map_ordinary *map1 = NULL;
if (IS_ADHOC_LOC (loc))
- loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
map0 = linemap_lookup (set, loc);
if (!linemap_macro_expansion_map_p (map0))
@@ -1702,7 +1701,7 @@ linemap_unwind_to_first_non_reserved_loc (struct line_maps *set,
expanded_location
linemap_expand_location (struct line_maps *set,
const struct line_map *map,
- source_location loc)
+ location_t loc)
{
expanded_location xloc;
@@ -1711,8 +1710,8 @@ linemap_expand_location (struct line_maps *set,
if (IS_ADHOC_LOC (loc))
{
xloc.data
- = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].data;
- loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
+ loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
}
if (loc < RESERVED_LOCATION_COUNT)
@@ -1807,16 +1806,16 @@ linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro)
void
linemap_dump_location (struct line_maps *set,
- source_location loc,
+ location_t loc,
FILE *stream)
{
const line_map_ordinary *map;
- source_location location;
+ location_t location;
const char *path = "", *from = "";
int l = -1, c = -1, s = -1, e = -1;
if (IS_ADHOC_LOC (loc))
- loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+ loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
if (loc == 0)
return;
@@ -1858,7 +1857,7 @@ linemap_dump_location (struct line_maps *set,
bool
linemap_get_file_highest_location (struct line_maps *set,
const char *file_name,
- source_location *loc)
+ location_t *loc)
{
/* If the set is empty or no ordinary map has been created then
there is no file to look for ... */
@@ -1880,7 +1879,7 @@ linemap_get_file_highest_location (struct line_maps *set,
/* The highest location for a given map is either the starting
location of the next map minus one, or -- if the map is the
latest one -- the highest location of the set. */
- source_location result;
+ location_t result;
if (i == (int) set->info_ordinary.used - 1)
result = set->highest_location;
else
@@ -1921,14 +1920,14 @@ linemap_get_statistics (struct line_maps *set,
linemap_assert (linemap_macro_expansion_map_p (cur_map));
macro_maps_locations_size +=
- 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map) * sizeof (source_location);
+ 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map) * sizeof (location_t);
for (i = 0; i < 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map); i += 2)
{
if (MACRO_MAP_LOCATIONS (cur_map)[i] ==
MACRO_MAP_LOCATIONS (cur_map)[i + 1])
duplicated_macro_maps_locations_size +=
- sizeof (source_location);
+ sizeof (location_t);
}
}
@@ -1995,7 +1994,7 @@ line_table_dump (FILE *stream, struct line_maps *set, unsigned int num_ordinary,
/* Construct a rich_location with location LOC as its initial range. */
-rich_location::rich_location (line_maps *set, source_location loc,
+rich_location::rich_location (line_maps *set, location_t loc,
const range_label *label) :
m_line_table (set),
m_ranges (),
@@ -2018,7 +2017,7 @@ rich_location::~rich_location ()
/* Get location IDX within this rich_location. */
-source_location
+location_t
rich_location::get_loc (unsigned int idx) const
{
const location_range *locrange = get_range (idx);
@@ -2081,7 +2080,7 @@ rich_location::override_column (int column)
/* Add the given range. */
void
-rich_location::add_range (source_location loc,
+rich_location::add_range (location_t loc,
enum range_display_kind range_display_kind,
const range_label *label)
{
@@ -2106,7 +2105,7 @@ rich_location::add_range (source_location loc,
- the "%C" and "%L" format codes in the Fortran frontend. */
void
-rich_location::set_range (unsigned int idx, source_location loc,
+rich_location::set_range (unsigned int idx, location_t loc,
enum range_display_kind range_display_kind)
{
/* We can either overwrite an existing range, or add one exactly
@@ -2142,10 +2141,10 @@ rich_location::add_fixit_insert_before (const char *new_content)
immediately before the start of WHERE. */
void
-rich_location::add_fixit_insert_before (source_location where,
+rich_location::add_fixit_insert_before (location_t where,
const char *new_content)
{
- source_location start = get_range_from_loc (m_line_table, where).m_start;
+ location_t start = get_range_from_loc (m_line_table, where).m_start;
maybe_add_fixit (start, start, new_content);
}
@@ -2162,11 +2161,11 @@ rich_location::add_fixit_insert_after (const char *new_content)
immediately after the end-point of WHERE. */
void
-rich_location::add_fixit_insert_after (source_location where,
+rich_location::add_fixit_insert_after (location_t where,
const char *new_content)
{
- source_location finish = get_range_from_loc (m_line_table, where).m_finish;
- source_location next_loc
+ location_t finish = get_range_from_loc (m_line_table, where).m_finish;
+ location_t next_loc
= linemap_position_for_loc_and_offset (m_line_table, finish, 1);
/* linemap_position_for_loc_and_offset can fail, if so, it returns
@@ -2195,7 +2194,7 @@ rich_location::add_fixit_remove ()
the start and finish of WHERE. */
void
-rich_location::add_fixit_remove (source_location where)
+rich_location::add_fixit_remove (location_t where)
{
source_range range = get_range_from_loc (m_line_table, where);
add_fixit_remove (range);
@@ -2225,7 +2224,7 @@ rich_location::add_fixit_replace (const char *new_content)
the start and finish of WHERE with NEW_CONTENT. */
void
-rich_location::add_fixit_replace (source_location where,
+rich_location::add_fixit_replace (location_t where,
const char *new_content)
{
source_range range = get_range_from_loc (m_line_table, where);
@@ -2239,11 +2238,11 @@ void
rich_location::add_fixit_replace (source_range src_range,
const char *new_content)
{
- source_location start = get_pure_location (m_line_table, src_range.m_start);
- source_location finish = get_pure_location (m_line_table, src_range.m_finish);
+ location_t start = get_pure_location (m_line_table, src_range.m_start);
+ location_t finish = get_pure_location (m_line_table, src_range.m_finish);
/* Fix-it hints use half-closed ranges, so attempt to offset the endpoint. */
- source_location next_loc
+ location_t next_loc
= linemap_position_for_loc_and_offset (m_line_table, finish, 1);
/* linemap_position_for_loc_and_offset can fail, if so, it returns
its input value. */
@@ -2274,7 +2273,7 @@ rich_location::get_last_fixit_hint () const
Otherwise (the common case), return false. */
bool
-rich_location::reject_impossible_fixit (source_location where)
+rich_location::reject_impossible_fixit (location_t where)
{
/* Fix-its within a rich_location should either all be suggested, or
none of them should be suggested.
@@ -2312,8 +2311,8 @@ rich_location::stop_supporting_fixits ()
consolidating into the prior fixit if possible. */
void
-rich_location::maybe_add_fixit (source_location start,
- source_location next_loc,
+rich_location::maybe_add_fixit (location_t start,
+ location_t next_loc,
const char *new_content)
{
if (reject_impossible_fixit (start))
@@ -2394,8 +2393,8 @@ rich_location::maybe_add_fixit (source_location start,
/* class fixit_hint. */
-fixit_hint::fixit_hint (source_location start,
- source_location next_loc,
+fixit_hint::fixit_hint (location_t start,
+ location_t next_loc,
const char *new_content)
: m_start (start),
m_next_loc (next_loc),
@@ -2433,8 +2432,8 @@ fixit_hint::affects_line_p (const char *file, int line) const
Otherwise return false. */
bool
-fixit_hint::maybe_append (source_location start,
- source_location next_loc,
+fixit_hint::maybe_append (location_t start,
+ location_t next_loc,
const char *new_content)
{
/* For consolidation to be possible, START must be at this hint's
diff --git a/libcpp/location-example.txt b/libcpp/location-example.txt
index 14b5c2e..f6d98e2 100644
--- a/libcpp/location-example.txt
+++ b/libcpp/location-example.txt
@@ -20,213 +20,258 @@ extern int foo ();
The undocumented -fdump-internal-locations option outputs this information
-to stderr, showing what each source_location value means. Source code
-lines are quoted, showing both per-line source_location values and
-per-line&column source_location values (written vertically under the
+to stderr, showing what each location_t value means. Source code
+lines are quoted, showing both per-line location_t values and
+per-line&column location_t values (written vertically under the
corresponding character of source code).
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
RESERVED LOCATIONS
- source_location interval: 0 <= loc < 2
+ location_t interval: 0 <= loc < 2
ORDINARY MAP: 0
- source_location interval: 32 <= loc < 64
+ location_t interval: 32 <= loc < 64
file: test.c
starting at line: 1
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
+ reason: 0 (LC_ENTER)
+ included from location: 0
test.c: 1|loc: 32|#include "test.h"
|69269258258148147
|46802468024680246
ORDINARY MAP: 1
- source_location interval: 64 <= loc < 96
+ location_t interval: 64 <= loc < 96
file: <built-in>
starting at line: 0
+ column and range bits: 0
column bits: 0
range bits: 0
+ reason: 2 (LC_RENAME)
+ included from location: 0
ORDINARY MAP: 2
- source_location interval: 96 <= loc < 128
+ location_t interval: 96 <= loc < 128
file: <command-line>
starting at line: 0
+ column and range bits: 0
column bits: 0
range bits: 0
+ reason: 2 (LC_RENAME)
+ included from location: 0
ORDINARY MAP: 3
- source_location interval: 128 <= loc < 160128
+ location_t interval: 128 <= loc < 250240
file: /usr/include/stdc-predef.h
starting at line: 1
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
+ reason: 0 (LC_ENTER)
+ included from location: 127 (in ordinary map 2)
(contents of /usr/include/stdc-predef.h snipped for brevity)
ORDINARY MAP: 4
- source_location interval: 160128 <= loc < 160160
+ location_t interval: 250240 <= loc < 250272
file: <command-line>
starting at line: 32
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
+ reason: 1 (LC_LEAVE)
+ included from location: 0
ORDINARY MAP: 5
- source_location interval: 160160 <= loc < 164256
+ location_t interval: 250272 <= loc < 254368
file: test.c
starting at line: 1
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
-test.c: 1|loc:160160|#include "test.h"
- |00000000000000000
- |12223334445556667
- |92582581481470470
- |24680246802468024
+ reason: 2 (LC_RENAME)
+ included from location: 0
+test.c: 1|loc:250272|#include "test.h"
+ |00000000000000000
+ |33344445556667778
+ |03603692692582581
+ |46802468024680246
ORDINARY MAP: 6
- source_location interval: 164256 <= loc < 173280
+ location_t interval: 254368 <= loc < 266720
file: test.h
starting at line: 1
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
-test.h: 1|loc:164256|extern int foo ();
- |444444444444444444
- |233344455566677788
- |825814814704703603
- |802468024680246802
-test.h: 2|loc:168352|
- |
- |
- |
- |
-test.h: 3|loc:172448|#define PLUS(A, B) A + B
- |222222222222222223333333
- |455566677788889990001112
- |814704703603692692582581
- |024680246802468024680246
+ reason: 0 (LC_ENTER)
+ included from location: 250272 (in ordinary map 5)
+test.h: 1|loc:254368|extern int foo ();
+ |444444444444444444
+ |444455566677788899
+ |036926925825814814
+ |024680246802468024
+test.h: 2|loc:258464|
+ |
+ |
+ |
+ |
+test.h: 3|loc:262560|#define PLUS(A, B) A + B
+ |222222222222233333333333
+ |566677788899900011122223
+ |925825814814704703603692
+ |246802468024680246802468
+test.h: 4|loc:266656|
+ |
+ |
+ |
+ |
ORDINARY MAP: 7
- source_location interval: 173280 <= loc < 202016
+ location_t interval: 266720 <= loc < 299520
file: test.c
starting at line: 2
- column bits: 12
+ column and range bits: 12
+ column bits: 7
range bits: 5
-test.c: 2|loc:173280|
- |
- |
- |
- |
-test.c: 3|loc:177376|int
- |777
- |444
- |047
- |802
-test.c: 4|loc:181472|main (int argc, char **argv)
- |1111111111111111222222222222
- |5556666777888999000111222333
- |0360369269258258148147047036
- |4680246802468024680246802468
-test.c: 5|loc:185568|{
- |5
- |6
- |0
- |0
-test.c: 6|loc:189664| int a = PLUS (1,2);
- |999999999900000000000
- |677788899900011122233
- |926925825814814704703
- |680246802468024680246
-test.c: 7|loc:193760| int b = PLUS (3,4);
- |333333344444444444444
- |788899900011122233344
- |925825814814704703603
- |246802468024680246802
-test.c: 8|loc:197856| return 0;
- |77778888888
- |89990001112
- |82581481470
- |80246802468
-test.c: 9|loc:201952|}
- |1
- |9
- |8
- |4
+ reason: 1 (LC_LEAVE)
+ included from location: 0
+test.c: 2|loc:266720|
+ |
+ |
+ |
+ |
+test.c: 3|loc:270816|int
+ |000
+ |889
+ |481
+ |802
+test.c: 4|loc:274912|main (int argc, char **argv)
+ |4455555555555555555555555555
+ |9900011122223334445556667778
+ |4704703603692692582581481470
+ |4680246802468024680246802468
+test.c: 5|loc:279008|{
+ |9
+ |0
+ |4
+ |0
+test.c: 6|loc:283104| int a = PLUS (1,2);
+ |333333333333333333333
+ |112222333444555666777
+ |360369269258258148147
+ |680246802468024680246
+test.c: 7|loc:287200| int b = PLUS (3,4);
+ |777777777777777777777
+ |222333444555666777888
+ |369269258258148147047
+ |246802468024680246802
+test.c: 8|loc:291296| return 0;
+ |11111111111
+ |33344455566
+ |26925825814
+ |80246802468
+test.c: 9|loc:295392|}
+ |5
+ |4
+ |2
+ |4
+test.c: 10|loc:299488|
+ |
+ |
+ |
+ |
UNALLOCATED LOCATIONS
- source_location interval: 202016 <= loc < 2147483633
+ location_t interval: 299520 <= loc < 2147483632
-MACRO 1: PLUS (7 tokens)
- source_location interval: 2147483633 <= loc < 2147483640
-test.c:7:11: note: expansion point is location 194115
- int b = PLUS (3,4);
- ^~~~
+MACRO 3: PLUS (7 tokens)
+ location_t interval: 2147483632 <= loc < 2147483639
+test.c:7:11: note: expansion point is location 287555
+ 7 | int b = PLUS (3,4);
+ | ^~~~
+ map->start_location: 2147483632
+ macro_locations:
+ 0: 287744, 263200
+test.c:7:17: note: token 0 has x-location == 287744
+ 7 | int b = PLUS (3,4);
+ | ^
+test.c:7:17: note: token 0 has y-location == 263200
+ 1: 263264, 263264
+In file included from test.c:1:
+test.h:3:22: note: token 1 has x-location == y-location == 263264
+ 3 | #define PLUS(A, B) A + B
+ | ^
+ 2: 287808, 263328
+test.c:7:19: note: token 2 has x-location == 287808
+ 7 | int b = PLUS (3,4);
+ | ^
+test.c:7:19: note: token 2 has y-location == 263328
+ 3: 0, 0
+cc1: note: token 3 has x-location == y-location == 0
+ 4: 0, 0
+cc1: note: token 4 has x-location == y-location == 0
+ 5: 0, 0
+cc1: note: token 5 has x-location == y-location == 0
+ 6: 0, 0
+cc1: note: token 6 has x-location == y-location == 0
- map->start_location: 2147483633
+MACRO 2: PLUS (7 tokens)
+ location_t interval: 2147483639 <= loc < 2147483646
+test.c:6:11: note: expansion point is location 283459
+ 6 | int a = PLUS (1,2);
+ | ^~~~
+ map->start_location: 2147483639
macro_locations:
- 0: 194304, 173088
-test.c:7:17: note: token 0 has x-location == 194304
- int b = PLUS (3,4);
- ^
-
-test.c:7:17: note: token 0 has y-location == 173088
- 1: 173152, 173152
-In file included from test.c:1:0:
-test.h:3:22: note: token 1 has x-location == y-location == 173152
- #define PLUS(A, B) A + B
- ^
-
- 2: 194368, 173216
-test.c:7:19: note: token 2 has x-location == 194368
- int b = PLUS (3,4);
- ^
-
-test.c:7:19: note: token 2 has y-location == 173216
- 3: 0, 2947526575
-cc1: note: token 3 has x-location == 0
-cc1: note: token 3 has y-location == 2947526575
- 4: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042942
- 5: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042942
- 6: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042942
-
-MACRO 0: PLUS (7 tokens)
- source_location interval: 2147483640 <= loc < 2147483647
-test.c:6:11: note: expansion point is location 190019
- int a = PLUS (1,2);
- ^~~~
-
- map->start_location: 2147483640
+ 0: 283648, 263200
+test.c:6:17: note: token 0 has x-location == 283648
+ 6 | int a = PLUS (1,2);
+ | ^
+test.c:6:17: note: token 0 has y-location == 263200
+ 1: 263264, 263264
+In file included from test.c:1:
+test.h:3:22: note: token 1 has x-location == y-location == 263264
+ 3 | #define PLUS(A, B) A + B
+ | ^
+ 2: 283712, 263328
+test.c:6:19: note: token 2 has x-location == 283712
+ 6 | int a = PLUS (1,2);
+ | ^
+test.c:6:19: note: token 2 has y-location == 263328
+ 3: 0, 0
+cc1: note: token 3 has x-location == y-location == 0
+ 4: 0, 0
+cc1: note: token 4 has x-location == y-location == 0
+ 5: 0, 0
+cc1: note: token 5 has x-location == y-location == 0
+ 6: 0, 0
+cc1: note: token 6 has x-location == y-location == 0
+
+MACRO 1: __GCC_IEC_559_COMPLEX (1 tokens)
+ location_t interval: 2147483646 <= loc < 2147483647
+In file included from <command-line>:31:
+/usr/include/stdc-predef.h:45:6: note: expansion point is location 180564
+ 45 | # if __GCC_IEC_559_COMPLEX > 0
+ | ^~~~~~~~~~~~~~~~~~~~~
+ map->start_location: 2147483646
macro_locations:
- 0: 190208, 173088
-test.c:6:17: note: token 0 has x-location == 190208
- int a = PLUS (1,2);
- ^
-
-test.c:6:17: note: token 0 has y-location == 173088
- 1: 173152, 173152
-In file included from test.c:1:0:
-test.h:3:22: note: token 1 has x-location == y-location == 173152
- #define PLUS(A, B) A + B
- ^
-
- 2: 190272, 173216
-test.c:6:19: note: token 2 has x-location == 190272
- int a = PLUS (1,2);
- ^
-
-test.c:6:19: note: token 2 has y-location == 173216
- 3: 0, 2947526575
-cc1: note: token 3 has x-location == 0
-cc1: note: token 3 has y-location == 2947526575
- 4: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042935
- 5: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042935
- 6: 2947526575, 2947526575
-x-location == y-location == 2947526575 encodes token # 800042935
-
-MAX_SOURCE_LOCATION
- source_location interval: 2147483647 <= loc < 2147483648
+ 0: 1, 1
+<built-in>: note: token 0 has x-location == y-location == 1
+
+MACRO 0: __GCC_IEC_559 (1 tokens)
+ location_t interval: 2147483647 <= loc < 2147483648
+/usr/include/stdc-predef.h:37:6: note: expansion point is location 147788
+ 37 | # if __GCC_IEC_559 > 0
+ | ^~~~~~~~~~~~~
+ map->start_location: 2147483647
+ macro_locations:
+ 0: 1, 1
+<built-in>: note: token 0 has x-location == y-location == 1
+
+MAX_LOCATION_T
+ location_t interval: 2147483647 <= loc < 2147483648
AD-HOC LOCATIONS
- source_location interval: 2147483648 <= loc < 4294967295
+ location_t interval: 2147483648 <= loc < 4294967295
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/libcpp/macro.c b/libcpp/macro.c
index 3629e83..30d3686 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Macro and #define handling.)
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -39,9 +39,9 @@ struct macro_arg
const cpp_token *stringified; /* Stringified argument. */
unsigned int count; /* # of tokens in argument. */
unsigned int expanded_count; /* # of tokens in expanded argument. */
- source_location *virt_locs; /* Where virtual locations for
+ location_t *virt_locs; /* Where virtual locations for
unexpanded tokens are stored. */
- source_location *expanded_virt_locs; /* Where virtual locations for
+ location_t *expanded_virt_locs; /* Where virtual locations for
expanded tokens are
stored. */
};
@@ -72,7 +72,7 @@ struct macro_arg_token_iter
/* A pointer to the "full" location of the current token. If
-ftrack-macro-expansion is used this location tracks loci across
macro expansion. */
- const source_location *location_ptr;
+ const location_t *location_ptr;
#if CHECKING_P
/* The number of times the iterator went forward. This useful only
when checking is enabled. */
@@ -235,22 +235,22 @@ class vaopt_state {
int m_state;
/* The location of the paste token. */
- source_location m_paste_location;
+ location_t m_paste_location;
/* Location of the __VA_OPT__ token. */
- source_location m_location;
+ location_t m_location;
};
/* Macro expansion. */
static int enter_macro_context (cpp_reader *, cpp_hashnode *,
- const cpp_token *, source_location);
+ const cpp_token *, location_t);
static int builtin_macro (cpp_reader *, cpp_hashnode *,
- source_location, source_location);
+ location_t, location_t);
static void push_ptoken_context (cpp_reader *, cpp_hashnode *, _cpp_buff *,
const cpp_token **, unsigned int);
static void push_extended_tokens_context (cpp_reader *, cpp_hashnode *,
- _cpp_buff *, source_location *,
+ _cpp_buff *, location_t *,
const cpp_token **, unsigned int);
static _cpp_buff *collect_args (cpp_reader *, const cpp_hashnode *,
_cpp_buff **, unsigned *);
@@ -260,21 +260,21 @@ static void expand_arg (cpp_reader *, macro_arg *);
static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int);
static const cpp_token *stringify_arg (cpp_reader *, macro_arg *);
static void paste_all_tokens (cpp_reader *, const cpp_token *);
-static bool paste_tokens (cpp_reader *, source_location,
+static bool paste_tokens (cpp_reader *, location_t,
const cpp_token **, const cpp_token *);
static void alloc_expanded_arg_mem (cpp_reader *, macro_arg *, size_t);
static void ensure_expanded_arg_room (cpp_reader *, macro_arg *, size_t, size_t *);
static void delete_macro_args (_cpp_buff*, unsigned num_args);
static void set_arg_token (macro_arg *, const cpp_token *,
- source_location, size_t,
+ location_t, size_t,
enum macro_arg_token_kind,
bool);
-static const source_location *get_arg_token_location (const macro_arg *,
+static const location_t *get_arg_token_location (const macro_arg *,
enum macro_arg_token_kind);
static const cpp_token **arg_token_ptr_at (const macro_arg *,
size_t,
enum macro_arg_token_kind,
- source_location **virt_location);
+ location_t **virt_location);
static void macro_arg_token_iter_init (macro_arg_token_iter *, bool,
enum macro_arg_token_kind,
@@ -282,31 +282,31 @@ static void macro_arg_token_iter_init (macro_arg_token_iter *, bool,
const cpp_token **);
static const cpp_token *macro_arg_token_iter_get_token
(const macro_arg_token_iter *it);
-static source_location macro_arg_token_iter_get_location
+static location_t macro_arg_token_iter_get_location
(const macro_arg_token_iter *);
static void macro_arg_token_iter_forward (macro_arg_token_iter *);
static _cpp_buff *tokens_buff_new (cpp_reader *, size_t,
- source_location **);
+ location_t **);
static size_t tokens_buff_count (_cpp_buff *);
static const cpp_token **tokens_buff_last_token_ptr (_cpp_buff *);
static inline const cpp_token **tokens_buff_put_token_to (const cpp_token **,
- source_location *,
+ location_t *,
const cpp_token *,
- source_location,
- source_location,
+ location_t,
+ location_t,
const line_map_macro *,
unsigned int);
static const cpp_token **tokens_buff_add_token (_cpp_buff *,
- source_location *,
+ location_t *,
const cpp_token *,
- source_location,
- source_location,
+ location_t,
+ location_t,
const line_map_macro *,
unsigned int);
static inline void tokens_buff_remove_last_token (_cpp_buff *);
static void replace_args (cpp_reader *, cpp_hashnode *, cpp_macro *,
- macro_arg *, source_location);
+ macro_arg *, location_t);
static _cpp_buff *funlike_invocation_p (cpp_reader *, cpp_hashnode *,
_cpp_buff **, unsigned *);
static cpp_macro *create_iso_definition (cpp_reader *);
@@ -322,8 +322,8 @@ static void check_trad_stringification (cpp_reader *, const cpp_macro *,
static bool reached_end_of_context (cpp_context *);
static void consume_next_token_from_context (cpp_reader *pfile,
const cpp_token **,
- source_location *);
-static const cpp_token* cpp_get_token_1 (cpp_reader *, source_location *);
+ location_t *);
+static const cpp_token* cpp_get_token_1 (cpp_reader *, location_t *);
static cpp_hashnode* macro_of_context (cpp_context *context);
@@ -382,7 +382,7 @@ static const char * const monthnames[] =
a builtin macro. */
const uchar *
_cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
- source_location loc)
+ location_t loc)
{
const uchar *result = NULL;
linenum_type number = 1;
@@ -587,7 +587,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
point of the macro. */
static int
builtin_macro (cpp_reader *pfile, cpp_hashnode *node,
- source_location loc, source_location expand_loc)
+ location_t loc, location_t expand_loc)
{
const uchar *buf;
size_t len;
@@ -623,7 +623,7 @@ builtin_macro (cpp_reader *pfile, cpp_hashnode *node,
Create a macro line map and generate a virtual location for
the token resulting from the expansion of the built-in
macro. */
- source_location *virt_locs = NULL;
+ location_t *virt_locs = NULL;
_cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);
const line_map_macro * map =
linemap_enter_macro (pfile->line_table, node, loc, 1);
@@ -773,7 +773,7 @@ stringify_arg (cpp_reader *pfile, macro_arg *arg)
guaranteed to not have the PASTE_LEFT flag set. LOCATION is
the virtual location used for error reporting. */
static bool
-paste_tokens (cpp_reader *pfile, source_location location,
+paste_tokens (cpp_reader *pfile, location_t location,
const cpp_token **plhs, const cpp_token *rhs)
{
unsigned char *buf, *end, *lhsend;
@@ -803,7 +803,7 @@ paste_tokens (cpp_reader *pfile, source_location location,
lhs = _cpp_lex_direct (pfile);
if (pfile->buffer->cur != pfile->buffer->rlimit)
{
- source_location saved_loc = lhs->src_loc;
+ location_t saved_loc = lhs->src_loc;
_cpp_pop_buffer (pfile);
_cpp_backup_tokens (pfile, 1);
@@ -841,7 +841,7 @@ paste_all_tokens (cpp_reader *pfile, const cpp_token *lhs)
{
const cpp_token *rhs = NULL;
cpp_context *context = pfile->context;
- source_location virt_loc = 0;
+ location_t virt_loc = 0;
/* We are expanding a macro and we must have been called on a token
that appears at the left hand side of a ## operator. */
@@ -903,7 +903,7 @@ paste_all_tokens (cpp_reader *pfile, const cpp_token *lhs)
/* Put the resulting token in its own context. */
if (context->tokens_kind == TOKENS_KIND_EXTENDED)
{
- source_location *virt_locs = NULL;
+ location_t *virt_locs = NULL;
_cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);
tokens_buff_add_token (token_buf, virt_locs, lhs,
virt_loc, 0, NULL, 0);
@@ -964,6 +964,10 @@ _cpp_arguments_ok (cpp_reader *pfile, cpp_macro *macro, const cpp_hashnode *node
"macro \"%s\" passed %u arguments, but takes just %u",
NODE_NAME (node), argc, macro->paramc);
+ if (macro->line > RESERVED_LOCATION_COUNT)
+ cpp_error_at (pfile, CPP_DL_NOTE, macro->line, "macro \"%s\" defined here",
+ NODE_NAME (node));
+
return false;
}
@@ -989,7 +993,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node,
macro_arg *args, *arg;
const cpp_token *token;
unsigned int argc;
- source_location virt_loc;
+ location_t virt_loc;
bool track_macro_expansion_p = CPP_OPTION (pfile, track_macro_expansion);
unsigned num_args_alloced = 0;
@@ -1026,7 +1030,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node,
if (track_macro_expansion_p)
{
virt_locs_capacity = DEFAULT_NUM_TOKENS_PER_MACRO_ARG;
- arg->virt_locs = XNEWVEC (source_location,
+ arg->virt_locs = XNEWVEC (location_t,
virt_locs_capacity);
}
@@ -1044,7 +1048,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node,
&& (ntokens + 2 > virt_locs_capacity))
{
virt_locs_capacity += ARG_TOKENS_EXTENT;
- arg->virt_locs = XRESIZEVEC (source_location,
+ arg->virt_locs = XRESIZEVEC (location_t,
arg->virt_locs,
virt_locs_capacity);
}
@@ -1256,7 +1260,7 @@ macro_real_token_count (const cpp_macro *macro)
macro. */
static int
enter_macro_context (cpp_reader *pfile, cpp_hashnode *node,
- const cpp_token *result, source_location location)
+ const cpp_token *result, location_t location)
{
/* The presence of a macro invalidates a file's controlling macro. */
pfile->mi_valid = false;
@@ -1336,7 +1340,7 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node,
unsigned int i;
const cpp_token *src = macro->exp.tokens;
const line_map_macro *map;
- source_location *virt_locs = NULL;
+ location_t *virt_locs = NULL;
_cpp_buff *macro_tokens
= tokens_buff_new (pfile, tokens_count, &virt_locs);
@@ -1397,7 +1401,7 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node,
pfile->about_to_expand_macro_p = false;
/* Handle built-in macros and the _Pragma operator. */
{
- source_location expand_loc;
+ location_t expand_loc;
if (/* The top-level macro invocation that triggered the expansion
we are looking at is with a function-like user macro ... */
@@ -1463,12 +1467,12 @@ delete_macro_args (_cpp_buff *buff, unsigned num_args)
tokens, at least. */
static void
set_arg_token (macro_arg *arg, const cpp_token *token,
- source_location location, size_t index,
+ location_t location, size_t index,
enum macro_arg_token_kind kind,
bool track_macro_exp_p)
{
const cpp_token **token_ptr;
- source_location *loc = NULL;
+ location_t *loc = NULL;
token_ptr =
arg_token_ptr_at (arg, index, kind,
@@ -1489,13 +1493,13 @@ set_arg_token (macro_arg *arg, const cpp_token *token,
/* Get the pointer to the location of the argument token of the
function-like macro argument ARG. This function must be called
only when we -ftrack-macro-expansion is on. */
-static const source_location *
+static const location_t *
get_arg_token_location (const macro_arg *arg,
enum macro_arg_token_kind kind)
{
- const source_location *loc = NULL;
+ const location_t *loc = NULL;
const cpp_token **token_ptr =
- arg_token_ptr_at (arg, 0, kind, (source_location **) &loc);
+ arg_token_ptr_at (arg, 0, kind, (location_t **) &loc);
if (token_ptr == NULL)
return NULL;
@@ -1512,7 +1516,7 @@ get_arg_token_location (const macro_arg *arg,
static const cpp_token **
arg_token_ptr_at (const macro_arg *arg, size_t index,
enum macro_arg_token_kind kind,
- source_location **virt_location)
+ location_t **virt_location)
{
const cpp_token **tokens_ptr = NULL;
@@ -1542,7 +1546,7 @@ arg_token_ptr_at (const macro_arg *arg, size_t index,
*virt_location = &arg->expanded_virt_locs[index];
else if (kind == MACRO_ARG_TOKEN_STRINGIFIED)
*virt_location =
- (source_location *) &tokens_ptr[index]->src_loc;
+ (location_t *) &tokens_ptr[index]->src_loc;
}
return &tokens_ptr[index];
}
@@ -1619,7 +1623,7 @@ macro_arg_token_iter_get_token (const macro_arg_token_iter *it)
}
/* Return the location of the token pointed to by the iterator.*/
-static source_location
+static location_t
macro_arg_token_iter_get_location (const macro_arg_token_iter *it)
{
#if CHECKING_P
@@ -1716,14 +1720,14 @@ last_token_is (_cpp_buff *buff, const cpp_token **ptr)
function-like macro invocation. */
static void
replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro,
- macro_arg *args, source_location expansion_point_loc)
+ macro_arg *args, location_t expansion_point_loc)
{
unsigned int i, total;
const cpp_token *src, *limit;
const cpp_token **first = NULL;
macro_arg *arg;
_cpp_buff *buff = NULL;
- source_location *virt_locs = NULL;
+ location_t *virt_locs = NULL;
unsigned int exp_count;
const line_map_macro *map = NULL;
int track_macro_exp;
@@ -1793,7 +1797,7 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro,
As far as tokens are concerned, the memory overhead of
-ftrack-macro-expansion is proportional to the number of
- macros that get expanded multiplied by sizeof (source_location).
+ macros that get expanded multiplied by sizeof (location_t).
The good news is that extra memory gets freed when the macro
context is freed, i.e shortly after the macro got expanded. */
@@ -2212,7 +2216,7 @@ static void
push_extended_tokens_context (cpp_reader *pfile,
cpp_hashnode *macro,
_cpp_buff *token_buff,
- source_location *virt_locs,
+ location_t *virt_locs,
const cpp_token **first,
unsigned int count)
{
@@ -2258,13 +2262,13 @@ _cpp_push_text_context (cpp_reader *pfile, cpp_hashnode *macro,
expansion. */
static _cpp_buff*
tokens_buff_new (cpp_reader *pfile, size_t len,
- source_location **virt_locs)
+ location_t **virt_locs)
{
size_t tokens_size = len * sizeof (cpp_token *);
- size_t locs_size = len * sizeof (source_location);
+ size_t locs_size = len * sizeof (location_t);
if (virt_locs != NULL)
- *virt_locs = XNEWVEC (source_location, locs_size);
+ *virt_locs = XNEWVEC (location_t, locs_size);
return _cpp_get_buff (pfile, tokens_size);
}
@@ -2321,14 +2325,14 @@ tokens_buff_remove_last_token (_cpp_buff *tokens_buff)
point. */
static inline const cpp_token **
tokens_buff_put_token_to (const cpp_token **dest,
- source_location *virt_loc_dest,
+ location_t *virt_loc_dest,
const cpp_token *token,
- source_location virt_loc,
- source_location parm_def_loc,
+ location_t virt_loc,
+ location_t parm_def_loc,
const line_map_macro *map,
unsigned int macro_token_index)
{
- source_location macro_loc = virt_loc;
+ location_t macro_loc = virt_loc;
const cpp_token **result;
if (virt_loc_dest)
@@ -2366,15 +2370,15 @@ tokens_buff_put_token_to (const cpp_token **dest,
position of the token coming right after the insertion point. */
static const cpp_token **
tokens_buff_add_token (_cpp_buff *buffer,
- source_location *virt_locs,
+ location_t *virt_locs,
const cpp_token *token,
- source_location virt_loc,
- source_location parm_def_loc,
+ location_t virt_loc,
+ location_t parm_def_loc,
const line_map_macro *map,
unsigned int macro_token_index)
{
const cpp_token **result;
- source_location *virt_loc_dest = NULL;
+ location_t *virt_loc_dest = NULL;
unsigned token_index =
(BUFF_FRONT (buffer) - buffer->base) / sizeof (cpp_token *);
@@ -2406,7 +2410,7 @@ alloc_expanded_arg_mem (cpp_reader *pfile, macro_arg *arg, size_t capacity)
arg->expanded = XNEWVEC (const cpp_token *, capacity);
if (CPP_OPTION (pfile, track_macro_expansion))
- arg->expanded_virt_locs = XNEWVEC (source_location, capacity);
+ arg->expanded_virt_locs = XNEWVEC (location_t, capacity);
}
@@ -2428,9 +2432,9 @@ ensure_expanded_arg_room (cpp_reader *pfile, macro_arg *arg,
if (CPP_OPTION (pfile, track_macro_expansion))
{
if (arg->expanded_virt_locs == NULL)
- arg->expanded_virt_locs = XNEWVEC (source_location, size);
+ arg->expanded_virt_locs = XNEWVEC (location_t, size);
else
- arg->expanded_virt_locs = XRESIZEVEC (source_location,
+ arg->expanded_virt_locs = XRESIZEVEC (location_t,
arg->expanded_virt_locs,
size);
}
@@ -2473,7 +2477,7 @@ expand_arg (cpp_reader *pfile, macro_arg *arg)
for (;;)
{
const cpp_token *token;
- source_location location;
+ location_t location;
ensure_expanded_arg_room (pfile, arg, arg->expanded_count + 1,
&capacity);
@@ -2612,7 +2616,7 @@ reached_end_of_context (cpp_context *context)
static inline void
consume_next_token_from_context (cpp_reader *pfile,
const cpp_token ** token,
- source_location *location)
+ location_t *location)
{
cpp_context *c = pfile->context;
@@ -2651,8 +2655,8 @@ consume_next_token_from_context (cpp_reader *pfile,
location if we are in the traditional mode, and just returns
LOCATION otherwise. */
-static inline source_location
-maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, source_location location)
+static inline location_t
+maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, location_t location)
{
if (CPP_OPTION (pfile, traditional))
{
@@ -2677,12 +2681,12 @@ maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, source_location location)
cpp_get_token_with_location to learn more about the meaning of this
location. */
static const cpp_token*
-cpp_get_token_1 (cpp_reader *pfile, source_location *location)
+cpp_get_token_1 (cpp_reader *pfile, location_t *location)
{
const cpp_token *result;
/* This token is a virtual token that either encodes a location
related to macro expansion or a spelling location. */
- source_location virt_loc = 0;
+ location_t virt_loc = 0;
/* pfile->about_to_expand_macro_p can be overriden by indirect calls
to functions that push macro contexts. So let's save it so that
we can restore it when we are about to leave this routine. */
@@ -2880,7 +2884,7 @@ cpp_get_token (cpp_reader *pfile)
location is just the same thing as its spelling location. */
const cpp_token *
-cpp_get_token_with_location (cpp_reader *pfile, source_location *loc)
+cpp_get_token_with_location (cpp_reader *pfile, location_t *loc)
{
return cpp_get_token_1 (pfile, loc);
}
@@ -2976,13 +2980,11 @@ _cpp_backup_tokens (cpp_reader *pfile, unsigned int count)
/* #define directive parsing and handling. */
-/* Returns nonzero if a macro redefinition warning is required. */
+/* Returns true if a macro redefinition warning is required. */
static bool
warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node,
const cpp_macro *macro2)
{
- unsigned int i;
-
/* Some redefinitions need to be warned about regardless. */
if (node->flags & NODE_WARN)
return true;
@@ -3017,18 +3019,18 @@ warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node,
return true;
/* Check parameter spellings. */
- for (i = 0; i < macro1->paramc; i++)
+ for (unsigned i = macro1->paramc; i--; )
if (macro1->parm.params[i] != macro2->parm.params[i])
return true;
/* Check the replacement text or tokens. */
- if (CPP_OPTION (pfile, traditional))
+ if (macro1->kind == cmk_traditional)
return _cpp_expansions_different_trad (macro1, macro2);
if (macro1->count != macro2->count)
return true;
- for (i = 0; i < macro1->count; i++)
+ for (unsigned i= macro1->count; i--; )
if (!_cpp_equiv_tokens (&macro1->exp.tokens[i], &macro2->exp.tokens[i]))
return true;
@@ -3297,7 +3299,7 @@ create_iso_definition (cpp_reader *pfile)
: N_("ISO C99 requires whitespace after the macro name"));
else
{
- int warntype = CPP_DL_WARNING;
+ enum cpp_diagnostic_level warntype = CPP_DL_WARNING;
switch (token->type)
{
case CPP_ATSIGN:
@@ -3435,7 +3437,7 @@ create_iso_definition (cpp_reader *pfile)
(pfile, sizeof (cpp_macro) - sizeof (cpp_token)
+ sizeof (cpp_token) * macro->count);
- /* Clear whitespace on first token for warn_of_redefinition(). */
+ /* Clear whitespace on first token. */
if (macro->count)
macro->exp.tokens[0].flags &= ~PREV_WHITE;
@@ -3512,7 +3514,7 @@ _cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node)
if (warn_of_redefinition (pfile, node, macro))
{
- const int reason
+ const enum cpp_warning_reason reason
= (cpp_builtin_macro_p (node) && !(node->flags & NODE_WARN))
? CPP_W_BUILTIN_MACRO_REDEFINED : CPP_W_NONE;
@@ -3763,11 +3765,3 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node)
*buffer = '\0';
return pfile->macro_buffer;
}
-
-/* Get the line at which the macro was defined. */
-
-source_location
-cpp_macro_definition_location (cpp_hashnode *node)
-{
- return node->value.macro->line;
-}
diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c
index 5f85462..89aeb8a 100644
--- a/libcpp/makeucnid.c
+++ b/libcpp/makeucnid.c
@@ -1,5 +1,5 @@
/* Make ucnid.h from various sources.
- Copyright (C) 2005-2018 Free Software Foundation, Inc.
+ Copyright (C) 2005-2019 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 the
@@ -378,7 +378,7 @@ write_copyright (void)
{
static const char copyright[] = "\
/* Unicode characters and various properties.\n\
- Copyright (C) 2003-2018 Free Software Foundation, Inc.\n\
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.\n\
\n\
This program is free software; you can redistribute it and/or modify it\n\
under the terms of the GNU General Public License as published by the\n\
diff --git a/libcpp/mkdeps.c b/libcpp/mkdeps.c
index 38fd9d8..e506200 100644
--- a/libcpp/mkdeps.c
+++ b/libcpp/mkdeps.c
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
Contributed by Zack Weinberg, Mar 2000
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/pch.c b/libcpp/pch.c
index 04d7094..fab34ae 100644
--- a/libcpp/pch.c
+++ b/libcpp/pch.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Precompiled header reading/writing.)
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 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 the
@@ -437,7 +437,7 @@ _cpp_restore_pushed_macros (cpp_reader *r, FILE *f)
return 0;
p->definition = defn;
- if (fread (&(p->line), sizeof (source_location), 1, f) != 1)
+ if (fread (&(p->line), sizeof (location_t), 1, f) != 1)
return 0;
defnlen = 0;
if (fread (&defnlen, sizeof (defnlen), 1, f) != 1)
@@ -501,7 +501,7 @@ _cpp_save_pushed_macros (cpp_reader *r, FILE *f)
if (fwrite (&defnlen, sizeof (size_t), 1, f) != 1
|| fwrite (pp[i]->definition, defnlen, 1, f) != 1)
return 0;
- if (fwrite (&(pp[i]->line), sizeof (source_location), 1, f) != 1)
+ if (fwrite (&(pp[i]->line), sizeof (location_t), 1, f) != 1)
return 0;
defnlen = 0;
defnlen |= (pp[i]->syshdr != 0 ? 1 : 0);
diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog
index 74c0300..496f8ee7 100644
--- a/libcpp/po/ChangeLog
+++ b/libcpp/po/ChangeLog
@@ -1,3 +1,25 @@
+2019-02-14 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2019-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * eo.po: Update.
+
+2019-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2019-02-05 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
+ id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
+ vi.po, zh_CN.po, zh_TW.po: Update.
+
+2019-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * cpplib.pot: Regenerate.
+
2018-07-25 Joseph Myers <joseph@codesourcery.com>
* cpplib.pot: Regenerate.
diff --git a/libcpp/po/be.po b/libcpp/po/be.po
index 49d43e1..15db305 100644
--- a/libcpp/po/be.po
+++ b/libcpp/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gcc 3.1\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2002-05-17 15:54+0200\n"
"Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
"Language-Team: Belarusian <i18n@tut.by>\n"
@@ -85,7 +85,7 @@ msgstr ""
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr ""
@@ -140,299 +140,299 @@ msgstr ""
msgid "missing open quote"
msgstr "Прапушчан ідэнтыфікатар"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
#, fuzzy
#| msgid "character constant too long"
msgid "character constant too long for its type"
msgstr "сімвальная канстанта вельмі доўгая"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "мнагасімвальная сімвальная канстанта"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "пустая сімвальная канстанта"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr ""
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr ""
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr ""
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr ""
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr ""
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr ""
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1185
+#: directives.c:1175
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1278
+#: directives.c:1268
#, fuzzy, c-format
msgid "#pragma %s %s is already registered"
msgstr "Клас \"%s\" ужо існуе"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1551
+#: directives.c:1541
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1606
+#: directives.c:1596
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1714
+#: directives.c:1704
#, fuzzy, c-format
#| msgid "cannot find source %s"
msgid "cannot find source file %s"
msgstr "не магу знайсці крыніцу %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1742
+#: directives.c:1732
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr ""
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr ""
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr ""
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr ""
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr ""
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr ""
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr ""
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr ""
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr ""
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "незавершаныя каментарыі"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr ""
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr ""
@@ -529,86 +529,86 @@ msgstr ""
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1451
+#: expr.c:1435
#, fuzzy, c-format
#| msgid "unbalanced #endif"
msgid "unbalanced stack in %s"
msgstr "незбалансаваны #endif"
-#: expr.c:1471
+#: expr.c:1455
#, fuzzy, c-format
#| msgid "impossible operator '%s'"
msgid "impossible operator '%u'"
msgstr "немагчымы апэратар '%s'"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr ""
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr ""
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr ""
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr ""
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr ""
@@ -625,40 +625,40 @@ msgstr ""
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
@@ -731,264 +731,265 @@ msgstr ""
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1819
+#: lex.c:1834
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "сімвальная канстанта вельмі доўгая"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
#, fuzzy
#| msgid "unterminated comment"
msgid "unterminated raw string"
msgstr "незавершаныя каментарыі"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "прапушчан завяршаючы сімвал %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr ""
-#: lex.c:3287
+#: lex.c:3299
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "немагу адчыніць файл \"%s\""
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr ""
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr ""
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr ""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
#, fuzzy
msgid "could not determine file timestamp"
msgstr "не магу знайсці крыніцу %s\n"
-#: macro.c:546
+#: macro.c:548
#, fuzzy
#| msgid "Could not open data file %s.\n"
msgid "could not determine date and time"
msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr ""
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr ""
-#: macro.c:3033
+#: macro.c:3141
+#, fuzzy, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
+msgid "expected ',' or ')', found \"%s\""
msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
+#: macro.c:3143
+#, fuzzy
+msgid "expected parameter name before end of line"
+msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
+
+#: macro.c:3144
+msgid "expected ')' before end of line"
msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
+#: macro.c:3145
+msgid "expected ')' after \"...\""
msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C89 не падтрымлівае \"long long\""
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr ""
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3226
+#: macro.c:3323
#, fuzzy
#| msgid "missing white space after number '%.*s'"
msgid "missing whitespace after the macro name"
msgstr "прапушчан прабел пасля нумара \"%.*s\""
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr ""
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr ""
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:643
+#: pch.c:638
#, fuzzy, c-format
#| msgid "label `%s' used but not defined"
msgid "%s: not used because `%.*s' not defined"
msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr ""
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr ""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr ""
@@ -2541,10 +2542,6 @@ msgstr ""
#~ msgid "can't define friend function `%s' in a local class definition"
#~ msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
-#, fuzzy
-#~ msgid "template parameters cannot be friends"
-#~ msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
-
#~ msgid "invalid use of `::'"
#~ msgstr "нерэчаіснае выкарыстаньне `::'"
diff --git a/libcpp/po/ca.po b/libcpp/po/ca.po
index fc41ec4..f4fa03a 100644
--- a/libcpp/po/ca.po
+++ b/libcpp/po/ca.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib-4.0.1\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2005-11-25 22:56+0100\n"
"Last-Translator: Mateu Gilles <gilles@mateu.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -92,7 +92,7 @@ msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "el nom de carcter universal %.*s no s vlid a l'inici d'un identificador"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "convertint UCN al joc font de carcters"
@@ -145,304 +145,304 @@ msgstr "convertint una seqncia d'escapa al joc de carcters d'execuci"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "constant de carcter massa gran pel seu tipus"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "constant de carcter amb mltiples carcters"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "constant de carter buida"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "fallada convertint %s a %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "elements superflus al final de la directiva #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: directives.c:390
+#: directives.c:384
#, fuzzy, c-format
#| msgid "#%s is a GCC extension"
msgid "#%s is a deprecated GCC extension"
msgstr "#%s s una extenci del GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "es suggereix no usar #elif en C tradicional"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s amb el # indentat"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "l'incrustaci d'una directiva entre arguments de macro no s portable"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "la directiva d'estil de lnia s una extenci del GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocessament #%s invlida"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" no es pot usar com un nom de macro"
-#: directives.c:611
+#: directives.c:605
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" no es pot usar com un nom de macro"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "no es pot usar \"%s\" com un nom de macro perqu s un operador en C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "no es va donar un nom de macro en la directiva #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "els noms de macro han de ser identificadors"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "esborrant la definici de \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "falta el carcter de terminaci >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fitxer buit en #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include niat amb massa profunditat"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next en el fitxer font primari"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador \"%s\" invlid en la directiva de lnia"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" desprs de #line no s un enter positiu"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "nombre de lnia fora de rang"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" no s un nom de fitxer vlid"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" desprs de # no s un enter positiu"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1185
+#: directives.c:1175
#, fuzzy, c-format
#| msgid "invalid #ident directive"
msgid "invalid #%s directive"
msgstr "directiva #ident invlida"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1257
+#: directives.c:1247
#, fuzzy, c-format
#| msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "ja s'ha desat #pragma %s %s"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "ja s'ha desat #pragma %s"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma una vegada en el fitxer principal"
-#: directives.c:1551
+#: directives.c:1541
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1606
+#: directives.c:1596
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "enverinant la macro existent \"%s\""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorat fora del fitxer d'inclusi"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "no es pot trobar la font %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "el fitxer actual s ms vell que %s"
-#: directives.c:1742
+#: directives.c:1732
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma pren una cadena literal entre parntesis"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else sense #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else desprs de #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "el condicional va comenar aqu"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif sense #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif desprs de #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif sense #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "falta \"(\" abans del predicat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "falta \")\" per a completar la resposta"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "el predicat de la resposta est buit"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "afirmaci sense predicat"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "el predicat ha de ser un identificador"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" reafirmat"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "#%s sense acabar"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "comentari sense acabar"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -552,92 +552,92 @@ msgstr "(\"%s\" s un element alternatiu per a \"%s\" en C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "aquest s de \"defined\" podria no ser portable"
-#: expr.c:1125
+#: expr.c:1109
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "desbordament d'enter en l'expressi del preprocessador"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "constant de coma flotant en l'expressi del preprocessador"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "nombre imaginari en l'expressi del preprocessador"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" no s definit"
-#: expr.c:1202
+#: expr.c:1186
#, fuzzy
#| msgid "#%s is a GCC extension"
msgid "assertions are a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1451
+#: expr.c:1435
#, fuzzy, c-format
#| msgid "unbalanced stack in #if"
msgid "unbalanced stack in %s"
msgstr "pila desequilibrada en #if"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operador \"%u\" impossible"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "\")\" faltant en l'expressi"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr " \"?\" sense el \":\" segent"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "desbordament d'enter en l'expressi del preprocessador"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "\"(\" faltant en l'expressi"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "l'operant esquera de \"%s\" canvia el signe quan s promogut"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "l'operant dreta de \"%s\" canvia el signe quan s promogut"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rebutja l'operador unari ms"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "operador coma en operant de #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "divisi per zero en #if"
-#: expr.c:2243
+#: expr.c:2227
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "l'operador \"defined\" requereix un identificador"
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
@@ -656,40 +656,40 @@ msgstr "usi -Winvalid-pch per a ms informaci"
msgid "no include path in which to search for %s"
msgstr "no hi ha ruta d'inclusi en la qual cercar %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Mltiples gurdies d'inclusi poden ser tils per a:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t ha de ser d'un tipus unsigned"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "l'aritmtica del preprocesador t una precisi mxima de %lu bits; l'objectiu requereix %lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "l'aritmtica de CPP ha de ser almenys tan precisa com un int de l'objectiu"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "el char de l'objectiu t menys de 8 bits d'ampliaria"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "el wchar_t de l'objectiu s ms estret qu'el char de l'objectiu"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "el int de l'objectiu s ms estret qu'el char de l'objectiu"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "el half-integer de CPP s ms estret que el carcter de CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP no pot manejar constants de carcter amples ms enll de %lu bits en aquest ordinador, per l'objectiu requereix %lu bits"
@@ -767,275 +767,275 @@ msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C9
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1819
+#: lex.c:1834
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "invalid character '%c' in raw string delimiter"
msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated raw string"
msgstr "#%s sense acabar"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "carcter(es) nul(s) preservats en la literal"
-#: lex.c:2027
+#: lex.c:2040
#, fuzzy, c-format
#| msgid "missing terminating > character"
msgid "missing terminating %c character"
msgstr "falta el carcter de terminaci >"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "els comentaris d'estil C++ no sn permesos en ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(aix es reportar solament una vegada per cada fitxer d'entrada)"
-#: lex.c:2876
+#: lex.c:2887
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "els comentaris d'estil C++ no sn permesos en ISO C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "comentari en mltiples lnies"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "Element %s impronunciable"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "\"##\" no pot apareixer en o al final d'una expansi de macro"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "no s'usa la macro \"%s\""
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna \"%s\" invlida"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
#, fuzzy
#| msgid "could not determine date and time"
msgid "could not determine file timestamp"
msgstr "no es pot determinar la data i l'hora"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "no es pot determinar la data i l'hora"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "cadena literal invlida, s'ignora el \"\\\" final"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "enganxar \"%s\" i \"%s\" no dna un element de preprocessament vlid"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
#| msgid "ISO C99 requires rest arguments to be used"
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 requereix que la resta dels arguments sigui usat"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "la macro \"%s\" requereix %u arguments, per noms %u passats"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "la macro \"%s\" va rebre %u arguments, per en va prendre solament %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "la funci de macro \"%s\" s'ha d'usar amb arguments en C tradicional"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parmetre de macro \"%s\" duplicat"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" podria faltar en la llista de parmetre de macro"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
+
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "els parmetres de macro han de ser separats per comes"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
+
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "falta el nom del parmetre"
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "els macros variadic annims es van introduir en C99"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "els macros variadic annims es van introduir en C99"
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C no permet macros variadic nomenats"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C no permet macros variadic nomenats"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "\")\" faltant en la llista de parmetres de macro"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "\"##\" no pot apareixer en o al final d'una expansi de macro"
-#: macro.c:3198
+#: macro.c:3298
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 requereix espais en blanc desprs del nom de macro"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requereix espais en blanc desprs del nom de macro"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "espais en blanc faltant desprs del nom de macro"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "\"#\" no s seguit per un parmetre de macro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" re-definit"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "aquesta s la ubicaci de la definici prvia"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "tipus de hash %d invlid en cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "mentre escrivint capalera precompilada"
-#: pch.c:621
+#: pch.c:616
#, fuzzy, c-format
#| msgid "%s: not used because `%s' is defined"
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: no utilitzat perqu \"%s\" s definit"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: no utilitzat perqu \"%.*s\" no est definit"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: no utilitzat perqu \"%.*s\" est definit com a \"%s\" i no com a \"%.*s\""
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: no utilitzat perqu \"%s\" s definit"
-#: pch.c:716
+#: pch.c:711
#, fuzzy, c-format
#| msgid "%s: not used because `%s' is defined"
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: no utilitzat perqu \"%s\" s definit"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "mentre llegint capalera precompilada"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "whilst recursiu detectat en expandint la macro \"%s\""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "error sintctic en la llista de parmetre de macro"
@@ -1108,3 +1108,18 @@ msgstr "error sintctic en la llista de parmetre de macro"
#~ msgstr ""
#~ ",\n"
#~ " ds de %s:%u"
+
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" podria faltar en la llista de parmetre de macro"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "els parmetres de macro han de ser separats per comes"
+
+#~ msgid "parameter name missing"
+#~ msgstr "falta el nom del parmetre"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "\")\" faltant en la llista de parmetres de macro"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "tipus de hash %d invlid en cpp_macro_definition"
diff --git a/libcpp/po/cpplib.pot b/libcpp/po/cpplib.pot
index 100dbd9..d692b84 100644
--- a/libcpp/po/cpplib.pot
+++ b/libcpp/po/cpplib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-07-25 14:29+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -89,7 +89,7 @@ msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
#: charset.c:1181
-#: charset.c:2000
+#: charset.c:2002
msgid "converting UCN to source character set"
msgstr ""
@@ -140,289 +140,289 @@ msgstr ""
msgid "missing open quote"
msgstr ""
-#: charset.c:1827
-#: charset.c:1891
+#: charset.c:1829
+#: charset.c:1893
msgid "character constant too long for its type"
msgstr ""
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr ""
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr ""
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr ""
-#: directives.c:235
-#: directives.c:278
+#: directives.c:229
+#: directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr ""
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr ""
-#: directives.c:672
-#: directives.c:677
+#: directives.c:666
+#: directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr ""
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr ""
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: directives.c:983
-#: directives.c:985
+#: directives.c:972
+#: directives.c:974
msgid "line number out of range"
msgstr ""
-#: directives.c:998
-#: directives.c:1079
+#: directives.c:987
+#: directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157
-#: directives.c:1159
-#: directives.c:1161
-#: directives.c:1747
+#: directives.c:1147
+#: directives.c:1149
+#: directives.c:1151
+#: directives.c:1737
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr ""
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr ""
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr ""
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr ""
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr ""
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr ""
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr ""
-#: directives.c:2071
-#: directives.c:2104
+#: directives.c:2028
+#: directives.c:2061
msgid "the conditional began here"
msgstr ""
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr ""
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr ""
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr ""
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr ""
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr ""
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr ""
@@ -433,12 +433,12 @@ msgstr ""
msgid "unterminated comment"
msgstr ""
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr ""
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr ""
@@ -533,84 +533,84 @@ msgstr ""
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr ""
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr ""
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr ""
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr ""
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr ""
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr ""
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr ""
@@ -627,42 +627,42 @@ msgstr ""
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.c:569
+#: init.c:573
#, c-format
msgid ""
"preprocessor arithmetic has maximum precision of %lu bits; target requires "
"%lu bits"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:596
+#: init.c:600
#, c-format
msgid ""
"CPP on this host cannot handle wide character constants over %lu bits, but "
@@ -802,7 +802,7 @@ msgstr ""
msgid "unspellable token %s"
msgstr ""
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr ""
@@ -864,154 +864,154 @@ msgstr ""
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:1158
+#: macro.c:1162
#: traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1309
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:2094
+#: macro.c:2083
#, c-format
msgid ""
"invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"
"+98"
msgstr ""
-#: macro.c:2102
-#: macro.c:2111
+#: macro.c:2091
+#: macro.c:2100
#, c-format
msgid ""
"invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:3069
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr ""
-#: macro.c:3118
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr ""
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
+msgid "expected ',' or ')', found \"%s\""
msgstr ""
-#: macro.c:3126
-msgid "macro parameters must be comma-separated"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
+
+#: macro.c:3144
+msgid "expected ')' before end of line"
msgstr ""
#: macro.c:3145
-msgid "parameter name missing"
+msgid "expected ')' after \"...\""
msgstr ""
-#: macro.c:3166
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:3170
-#: macro.c:3175
+#: macro.c:3203
+#: macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:3182
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr ""
-#: macro.c:3185
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:3195
-msgid "missing ')' in macro parameter list"
-msgstr ""
-
-#: macro.c:3246
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3283
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3286
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3311
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr ""
-#: macro.c:3348
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3515
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3520
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr ""
-#: macro.c:3581
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3617
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr ""
-
-#: pch.c:89
-#: pch.c:347
-#: pch.c:361
-#: pch.c:379
-#: pch.c:385
-#: pch.c:394
-#: pch.c:401
+#: pch.c:90
+#: pch.c:342
+#: pch.c:356
+#: pch.c:374
+#: pch.c:380
+#: pch.c:389
+#: pch.c:396
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr ""
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:725
-#: pch.c:903
+#: pch.c:720
+#: pch.c:878
msgid "while reading precompiled header"
msgstr ""
-#: traditional.c:897
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr ""
-#: traditional.c:1116
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr ""
diff --git a/libcpp/po/da.po b/libcpp/po/da.po
index 951dd8a..bc565b8 100644
--- a/libcpp/po/da.po
+++ b/libcpp/po/da.po
@@ -1,8 +1,8 @@
# Danish version of cpplib.
-# Copyright (C) 2018 Free Software Foundation, Inc.
+# Copyright (C) 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Ole Laursen <olau@hardworking.dk>, 2001, 02, 03.
-# Joe Hansen <joedalton2@yahoo.dk>, 2015, 2016, 2017, 2018.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015, 2016, 2017, 2018, 2019.
#
# Konventioner:
#
@@ -128,10 +128,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-03-03 18:00+0200\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-14 18:00+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@@ -209,7 +209,7 @@ msgstr "universelt tegn %.*s er ikke gyldigt i et kaldenavn"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "konverterer UCN til et kildetegnsæt"
@@ -260,294 +260,294 @@ msgstr "konverterer undvigesekvens til kørselstegnsæt"
msgid "missing open quote"
msgstr "manglende indledende citationstegn"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "tegnkonstanten er for lang for dens type"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "flerbyte-tegnkonstant"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "tom tegnkonstant"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "kunne ikke konvertere %s til %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ekstra symboler i slutningen af #%s-direktiv"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s er en GCC-udvidelse"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s er en forældet GCC-udvidelse"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "foreslår undladelse af brug af #elif i traditionel C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionel C ignorerer #%s når # er indrykket"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "linjestilsdirektiv er en GCC-udvidelse"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ugyldigt præprocessordirektiv #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "»defined« kan ikke bruges som makronavn"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "»__has_include__« kan ikke bruges som et makronavn"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "intet makronavn angivet i direktivet #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "makronavne skal være kaldenavne"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "fjerner definitionen af »%s«"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "manglende afsluttende >-tegn"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s forventer »FILNAVN« eller <FILNAVN>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnavn i #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include indlejret for dybt"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next i den primære kildekodefil"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ugyldigt flag »%s« i linjedirektiv"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "uventet filafslutning efter #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« efter #line er ikke et positivt heltal"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "linjenummer er uden for det gyldige interval"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« er ikke et gyldigt filnavn"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« efter # er ikke et positivt heltal"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "ugyldig #%s-direktiv"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrerer »%s« som både et pragma og et pragmanavnerum"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s er allerede registreret"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s er allerede registreret"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "registrerer pragma med NULL-håndtering"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once i hovedfil"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "ugyldigt #pragma push_macro-direktiv"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "ugyldigt #pragma pop_macro-direktiv"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "ugyldigt #pragma GCC poison-direktiv"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "forgifter eksisterende makro »%s«"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoreret uden for inkluderingsfil"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "kan ikke finde kildefilen %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "aktuel fil er ældre end %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ugyldigt »#pragma GCC %s«-direktiv"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tager en strengkonstant med paranteser omkring"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else uden #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "betingelsen begyndte her"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif uden #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif efter #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif uden #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "manglende »(« efter udsagn"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "manglende »)« til at fuldføre svar"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "udsagnets svar er tomt"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "postulat uden udsagn"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "udsagn skal være et kaldenavn"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« genpostuleret"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "uafsluttet #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "uafsluttet kommentar"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "standardud"
@@ -640,84 +640,84 @@ msgstr "(»%s« er et alternativt symbol for »%s« i C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "denne brug af »defined« er muligvis ikke portabel"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "brugerdefineret ordret i præprocessorudtrykket"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "kommatalskonstant i præprocessorudtryk"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginært tal i præprocessorudtryk"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "»%s« er ikke defineret, evaluerer til 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "påstande er en GCC-udvidelse"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "påstande er en forældet udvidelse"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "ubalanceret stak i %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "umulig operator »%u«"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "manglende »)« i udtryk"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "»?« uden efterfølgende »:«"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "heltallet løber over i præprocessorudtrykket"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "manglende »(« i udtryk"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "traditionel C tillader ikke operatoren unær plus"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "kommaoperator i en operand til #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "division med nul i #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "operatoren »__has_include__« kræver en teksthovedstreng"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "manglende »)« efter »__has_include__«"
@@ -734,40 +734,40 @@ msgstr "brug -Winvalid-pch for yderligere information"
msgid "no include path in which to search for %s"
msgstr "der er ingen inkluderingssti at søge efter %s i"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t skal være en usigneret type"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "målarkitekturs char er mindre end 8 bit bred"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "målarkitekturs int er mindre end målarkitekturs char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-halvheltal er mindre end CPP-tegn"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit"
@@ -839,258 +839,273 @@ msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårli
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "kaldenavn »%s« er et specielt operatornavn i C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "rå strengafgrænser længere end 16 tegn"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "ugyldig nylinje i rå strengafgrænser"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ugyldigt tegn »%c« i rå strengafgrænser"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "uafsluttet rå streng"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "nultegn bevaret i strengkonstant"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "manglende afsluttende %c-tegn"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil er ikke kompatible med C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "flerlinjekommentar"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "symbol %s kan ikke staves"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "»##« må ikke optræde ved nogen af enderne i __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroen »%s« bliver ikke brugt"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ugyldig indbygget makro »%s«"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makroen »%s« kan forhindre reproducerbare bygninger"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "kunne ikke bestemme filtidsstempel"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "kunne ikke bestemme dato og tid"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "indsættelse af »%s« og »%s« giver ikke et gyldigt præprocessorsymbol"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makroen »%s« kræver %u parametre, men modtager kun %u"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makroen »%s« viderebragte %u parametre, men tager kun mod %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "uafsluttet parameterliste ved kald af makroen »%s«"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktionsagtig makro »%s« skal bruges med parametre i traditionel C"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C+98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "makroparameternavnet »%s« optræder mere end en gang"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "forventede parameternavn, fandt »%s«"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "»%s« må ikke optræde i makroparameterliste"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "forventede »,« eller »)«, fandt »%s«"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "makroparametre skal være kommaadskilte"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "forventede parameternavn før linjeafslutning"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "parameternavn mangler"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "forventede »)« før linjeafslutning"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "forventede »)« efter »...«"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "manglende »)« i makroparameterliste"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 kræver mellemrum efter makronavnet"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 kræver mellemrum efter makronavnet"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "manglende mellemrum efter makronavnet"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "»#« efterfølges ikke af en makroparameter"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "»%s« omdefineret"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "den foregående definition er her"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makroparameteren »%s« ville blive gjort til en streng i traditionel C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "ugyldig hashtype %d i cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "under skrivning af prækompileret teksthoved"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ikke brugt da »%.*s« er forgiftet"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ikke brugt da »%.*s« ikke er defineret"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ikke brugt da »%.*s« er defineret som »%s« ikke »%.*s«"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s ikke brugt da »%s« er defineret"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "under læsning af prækompileret teksthoved"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "opdagede rekursion ved udfoldelse af makroen »%s«"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "syntaksfejl i makroparameterliste"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "»%s« må ikke optræde i makroparameterliste"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "makroparametre skal være kommaadskilte"
+
+#~ msgid "parameter name missing"
+#~ msgstr "parameternavn mangler"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "manglende »)« i makroparameterliste"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "ugyldig hashtype %d i cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "NULL-mappe i find_file"
diff --git a/libcpp/po/de.po b/libcpp/po/de.po
index c0df41e..58722d0 100644
--- a/libcpp/po/de.po
+++ b/libcpp/po/de.po
@@ -9,10 +9,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-01-30 01:58+0100\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-05 19:15+0100\n"
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.2.1\n"
#: charset.c:674
#, c-format
@@ -91,7 +91,7 @@ msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "UCN wird in Quellzeichensatz konvertiert"
@@ -144,294 +144,294 @@ msgstr "Escape-Sequenz wird in Zeichensatz der Ausführung konvertiert"
msgid "missing open quote"
msgstr "Fehlendes öffnendes Anführungszeichen"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "Zeichenkonstante zu lang für ihren Typ"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "Zeichenkonstante mit mehreren Zeichen"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "Leere Zeichenkonstante"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "Fehler beim Konvertieren von %s nach %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "mehrere Token am Ende der Direktive #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s ist eine GCC-Erweiterung"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s ist eine veraltete GCC-Erweiterung"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionelles C ignoriert #%s mit eingerücktem #"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ungültige Präprozessordirektive #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "»defined« kann nicht als Makroname verwendet werden"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "»__has_include__« kann nicht als Makroname verwendet werden"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "kein Makroname in Direktive #%s angegeben"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "Makronamen müssen Bezeichner sein"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "»%s« wird un-definiert"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "fehlendes abschließendes »>«-Zeichen"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "leerer Dateiname in #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include ist zu tief geschachtelt"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next in erster Quelldatei"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ungültiges Kennzeichen »%s« in line-Direktive"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "unerwartetes Dateiende nach #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« hinter #line ist keine positive Ganzzahl"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "Zeilennummer ist außerhalb des Wertebereiches"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« ist kein gültiger Dateiname"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« hinter # ist keine positive Ganzzahl"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "der Zeilenmarker in der Datei »%s« wird aufgrung falscher Schachtelung ignoriert"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "ungültige #%s-Direktive"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ist bereits registriert"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ist bereits registriert"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "Pragma mit NULL-Handler wird registriert"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once in Hauptdatei"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "ungültige #pragma push_macro Direktive"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "ungültige #pragma pop_macro Direktive"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "ungültige #pragma GCC Poison Direktive"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "schlechtes existierendes Makro »%s«"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header außerhalb include-Datei ignoriert"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "Quelldatei %s kann nicht gefunden werden"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "aktuelle Datei ist älter als %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ungültige »#pragma GCC %s« Direktive"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else ohne #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else hinter #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "die Bedingung begann hier"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif ohne #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif hinter #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif ohne #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "fehlende »(« hinter Prädikat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "fehlende »)«, um Antwort abzuschließen"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "Prädikatantwort ist leer"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "Behauptung ohne Prädikat"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "Prädikat muss ein Bezeichner sein"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« wieder behauptet"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "unbeendetes #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "nicht beendeter Kommentar"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "Standardausgabe"
@@ -524,84 +524,84 @@ msgstr "(»%s« ist ein alternatives Token for »%s« in C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "Gleitkommakonstante in Präprozessorausdruck"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginäre Zahl in Präprozessorausdruck"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "Assertions sind eine GCC-Erweiterung"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "Assertions sind eine veraltete Erweiterung"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "unausgeglichener Keller in %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "unmöglicher Operator »%u«"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "fehlende »)« in Ausdruck"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "»?« ohne folgenden »:«"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "Ganzzahlüberlauf in Präprozessorausdruck"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "fehlende »(« in Ausdruck"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "traditionelles C weist den unären Plus-Operator zurück"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "Kommaoperator in Operand von #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "Division durch Null in #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "fehlende »)« hinter »__has_include__«"
@@ -618,40 +618,40 @@ msgstr "-Winvalid-pch für mehr Informationen verwenden"
msgid "no include path in which to search for %s"
msgstr "kein Include-Pfad, um %s zu finden"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t muss ein vorzeichenloser Typ sein"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "Ziel-char ist weniger als 8 Bits breit"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "Ziel-wchar_t ist schmaler als Ziel-char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "Ziel-int ist schmaler als Ziel-char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits"
@@ -723,258 +723,273 @@ msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftre
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "unbeendete Roh-Zeichenkette"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "Null-Zeichen im Literal erhalten"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "fehlendes abschließendes Zeichen %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "mehrzeiliger Kommentar"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "nicht buchstabierbares Token %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "»##« kann an einem beliebigen Enden von __VA_OPT__ auftreten"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "Makro »%s« wird nicht benutzt"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ungültiges eingebautes Makro »%s«"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "Zeitstempel der Datei konnte nicht ermittelt werden"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "Datum und Zeit konnten nicht bestimmt werden"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO-C++11 erfordert mindestens ein Argument für »...« in einem variadischen Makro"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO-C99 erfordert mindestens ein Argument für »...« in einem variadischen Makro"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es akzeptiert nur %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C++98 unbestimmt"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C90 unbestimmt"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "doppelter Makroparameter »%s«"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "Parametername erwartet, aber »%s« gefunden"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "»%s« darf nicht in Makroparameterliste auftreten"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "»,« oder »)« erwartet, aber »%s« gefunden"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "Makroparameter müssen mit Komma getrennt sein"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "Parametername vor dem Zeilenende erwartet"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "Parametername fehlt"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "»)« vor dem Zeilenende erwartet"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "»)« nach »...« erwartet"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyme variadische Makros wurden in C++11 eingeführt"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyme variadische Makros wurden in C99 eingeführt"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO-C++ erlaubt keine benannten variadischen Makros"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO-C erlaubt keine benannten variadischen Makros"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "fehlendes »)« in Makroparameterliste"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "Leerzeichen hinter Makroname fehlt"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "»#« wird nicht von einem Makroparameter gefolgt"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "»%s« redefiniert"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "dies ist die Stelle der vorherigen Definition"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "Makroargument »%s« würde in traditionellem C zur Zeichenkette umgewandelt werden"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "beim Schreiben des vorkompilierten Headers"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: nicht verwendet, da »%.*s« nicht definiert"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: nicht verwendet, da »%s« definiert ist"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "beim Lesen des vorkompilierten Headers"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "Syntaxfehler in Makroparameterliste"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "»%s« darf nicht in Makroparameterliste auftreten"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "Makroparameter müssen mit Komma getrennt sein"
+
+#~ msgid "parameter name missing"
+#~ msgstr "Parametername fehlt"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "fehlendes »)« in Makroparameterliste"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "NULL-Verzeichnis in find_file"
diff --git a/libcpp/po/el.po b/libcpp/po/el.po
index 3971e75..98474e8 100644
--- a/libcpp/po/el.po
+++ b/libcpp/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gcc 3.2\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2002-08-18 15:46+0100\n"
"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -86,7 +86,7 @@ msgstr ""
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr ""
@@ -143,306 +143,306 @@ msgstr " "
msgid "missing open quote"
msgstr " "
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
#, fuzzy
msgid "character constant too long for its type"
msgstr " "
-#: charset.c:1830
+#: charset.c:1832
#, fuzzy
msgid "multi-character character constant"
msgstr " `%s'"
-#: charset.c:1931
+#: charset.c:1933
#, fuzzy
msgid "empty character constant"
msgstr " "
-#: charset.c:2047
+#: charset.c:2049
#, fuzzy, c-format
msgid "failure to convert %s to %s"
msgstr " %s `%s' `%s'"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:390
+#: directives.c:384
#, fuzzy, c-format
msgid "#%s is a deprecated GCC extension"
msgstr " `%s' "
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:623
+#: directives.c:617
#, fuzzy
msgid "macro names must be identifiers"
msgstr " "
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, fuzzy, c-format
msgid "undefining \"%s\""
msgstr " %s"
-#: directives.c:732
+#: directives.c:727
#, fuzzy
msgid "missing terminating > character"
msgstr " "
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:837
+#: directives.c:828
#, fuzzy, c-format
msgid "empty filename in #%s"
msgstr " %s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:977
+#: directives.c:966
#, fuzzy, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "%s' ."
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
#, fuzzy
msgid "line number out of range"
msgstr "%s: "
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, fuzzy, c-format
msgid "\"%s\" is not a valid filename"
msgstr "%s' ."
-#: directives.c:1039
+#: directives.c:1028
#, fuzzy, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "%s' ."
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "%%%c: ."
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: directives.c:1281
+#: directives.c:1271
#, fuzzy, c-format
msgid "#pragma %s is already registered"
msgstr " `%s' "
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1551
+#: directives.c:1541
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "%%%c: ."
-#: directives.c:1606
+#: directives.c:1596
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "%%%c: ."
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1714
+#: directives.c:1704
#, fuzzy, c-format
msgid "cannot find source file %s"
msgstr " : %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1742
+#: directives.c:1732
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr " `%s' ."
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr ""
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr ""
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr ""
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr ""
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2275
+#: directives.c:2226
#, fuzzy
msgid "assertion without predicate"
msgstr " "
-#: directives.c:2278
+#: directives.c:2229
#, fuzzy
msgid "predicate must be an identifier"
msgstr " "
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2656
+#: directives.c:2587
#, fuzzy, c-format
msgid "unterminated #%s"
msgstr " o "
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
#, fuzzy
msgid "unterminated comment"
msgstr " `s'"
# src/request.c:37
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr ""
@@ -542,30 +542,30 @@ msgstr ""
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1130
+#: expr.c:1114
#, fuzzy
msgid "floating constant in preprocessor expression"
msgstr " "
-#: expr.c:1136
+#: expr.c:1120
#, fuzzy
msgid "imaginary number in preprocessor expression"
msgstr " "
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr " `%s' "
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr ""
@@ -573,63 +573,63 @@ msgstr ""
# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
-#: expr.c:1451
+#: expr.c:1435
#, fuzzy, c-format
msgid "unbalanced stack in %s"
msgstr " ["
-#: expr.c:1471
+#: expr.c:1455
#, fuzzy, c-format
msgid "impossible operator '%u'"
msgstr "RPC: RPC"
-#: expr.c:1572
+#: expr.c:1556
#, fuzzy
msgid "missing ')' in expression"
msgstr " "
-#: expr.c:1601
+#: expr.c:1585
#, fuzzy
msgid "'?' without following ':'"
msgstr " : %s"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1616
+#: expr.c:1600
#, fuzzy
msgid "missing '(' in expression"
msgstr " "
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2146
+#: expr.c:2130
#, fuzzy
msgid "division by zero in #if"
msgstr " : %s"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
msgid "missing ')' after \"__has_include__\""
msgstr " "
@@ -647,41 +647,41 @@ msgstr ""
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:565
+#: init.c:569
#, fuzzy
msgid "cppchar_t must be an unsigned type"
msgstr " "
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
@@ -755,262 +755,263 @@ msgstr ""
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1819
+#: lex.c:1834
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr " `%c' `%s'"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
#, fuzzy
msgid "unterminated raw string"
msgstr " o "
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr " %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr ""
-#: lex.c:3287
+#: lex.c:3299
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "%s: %s: %m\n"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr ""
-#: macro.c:352
+#: macro.c:354
#, fuzzy, c-format
msgid "macro \"%s\" is not used"
msgstr " `%s' "
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, fuzzy, c-format
msgid "invalid built-in macro \"%s\""
msgstr " : %s"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
#, fuzzy
msgid "could not determine file timestamp"
msgstr " %s"
-#: macro.c:546
+#: macro.c:548
#, fuzzy
msgid "could not determine date and time"
msgstr " %s"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:758
+#: macro.c:760
#, fuzzy
msgid "invalid string literal, ignoring final '\\'"
msgstr " : `%s'"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr " "
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2984
+#: macro.c:3059
#, fuzzy, c-format
msgid "duplicate macro parameter \"%s\""
msgstr " `%s'"
-#: macro.c:3033
+#: macro.c:3141
+#, fuzzy, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr " `%s'"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
+msgid "expected ',' or ')', found \"%s\""
msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
+#: macro.c:3143
+#, fuzzy
+msgid "expected parameter name before end of line"
+msgstr "%s: ."
+
+#: macro.c:3144
+msgid "expected ')' before end of line"
msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
+#: macro.c:3145
+msgid "expected ')' after \"...\""
msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr ""
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr ""
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3201
+#: macro.c:3299
#, fuzzy
msgid "ISO C99 requires whitespace after the macro name"
msgstr " "
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr ""
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3430
+#: macro.c:3524
#, fuzzy, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3435
+#: macro.c:3529
#, fuzzy
msgid "this is the location of the previous definition"
msgstr " "
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr ""
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr ""
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr ""
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr ""
-#: traditional.c:1108
+#: traditional.c:1119
#, fuzzy
msgid "syntax error in macro parameter list"
msgstr " "
@@ -1281,10 +1282,6 @@ msgstr " "
#~ msgstr " `%s' "
#, fuzzy
-#~ msgid "multiple parameters named `%s'"
-#~ msgstr " `%s'"
-
-#, fuzzy
#~ msgid "no return statement in function returning non-void"
#~ msgstr "`return' , -"
@@ -5180,10 +5177,6 @@ msgstr " "
#~ msgstr " `%s' `%s'"
#, fuzzy
-#~ msgid "expected a name here"
-#~ msgstr "%s: ."
-
-#, fuzzy
#~ msgid "expected a name string here"
#~ msgstr "%s: ."
diff --git a/libcpp/po/eo.po b/libcpp/po/eo.po
index d1677ce..9325157 100644
--- a/libcpp/po/eo.po
+++ b/libcpp/po/eo.po
@@ -1,14 +1,14 @@
# Translation of cpplib to Esperanto
-# Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.
+# Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
-# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018.
+# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-06-06 16:53-0300\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-06 20:15+0100\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"Language: eo\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 2.0.7\n"
#: charset.c:674
#, c-format
@@ -87,7 +87,7 @@ msgstr "la universala signo %.*s ne estas valida en identiganto"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "la universala signo %.*s ne estas valida en komenco de identiganto"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "konverto de UCN al la fonta signaro"
@@ -138,294 +138,294 @@ msgstr "konverto de eskapa sekvo al plenumiga signaro"
msgid "missing open quote"
msgstr "mankas komenca citilo"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "signa konstanto tro longas por ties tipo"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "plursigna signa konstanto"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "malplena signa konstanto"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "problemo por konverti %s al %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s estas aldono de GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s estas evitinda aldono de GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "sugesti ne uzi #elif en tradicia C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "stilo de lini-instrukcioj estas aldono de GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "malvalida antaŭproceza instrukcio #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" ne povas estis uzata kiel makroa nomo"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "neniu makroa nomo estas indikita en la instrukcio #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "makroaj nomoj devas esti identigantoj"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "ni maldifinas \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "mankas finiganta signo >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "malplena dosiernomo en #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include estas ingita tro profunde"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next en ĉefa fonta dosiero"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "malvalida flago \"%s\" en lini-instrukcio"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "neatendita dosierfino post #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" post #line ne estas pozitiva entjero"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "lininumero estas for de intervalo"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" ne estas valida dosiernomo"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" post # ne estas pozitiva entjero"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "malvalida instrukcio #%s"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s jam estas registrita"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s jam estas registrita"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "registro de pragma kun traktilo de NULL"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma unufoje en ĉefdosiero"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "malvalida instrukcio #pragma push_macro"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "malvalida instrukcio #pragma pop_macro"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "malvalida instrukcio #pragma GCC poison"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "venenigo de ekzistanta makroo \"%s\""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "ne eblas trovi la fontan dosieron %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "nuna dosiero estas pli malnova ol %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "malvalida instrukcio \"#pragma GCC %s\""
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else sen #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else post #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "la kondiĉo komencis ĉi tie"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif sen #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif post #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif sen #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "mankas '(' post predikato"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "mankas ')' por kompletigi respondon"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "respondo de predikato estas malplena"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "aserto sen predikato"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predikato devas esti identiganto"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" estas re-asertita"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "nefinigita #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "nefinigita komento"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "ĉefeligujo"
@@ -518,84 +518,84 @@ msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "glitkoma konstanto en antaŭproceza esprimo"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginara numero en antaŭproceza esprimo"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" ne estas difinita, rezultas al 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "asertoj estas aldono de GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "asertoj estas evitinda aldono"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "neekvilibrita stako en %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "neebla operatoro '%u'"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "mankas ')' en esprimo"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' sen sekvanta ':'"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "entjera troigo en antaŭproceza esprimo"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "mankas '(' en esprimo"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "tradicia C rifuzas la unuloka plusan operatoron"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "koma operatoro en operaciado de #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "divido per nulo en #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "mankas ')' post \"__has_include__\""
@@ -612,40 +612,40 @@ msgstr "uzu -Winvalid-pch por pli da informo"
msgid "no include path in which to search for %s"
msgstr "estas neniu inkluziva vojo por serĉi %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t devas esti sensignuma tipo"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "la celata char estas pli eta ol 8 bitoj"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "la celata int estas pli mallarĝa ol la celata char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn"
@@ -717,258 +717,273 @@ msgstr "__VA_ARGS__ nur povas aperi en la disvolviĝo de variebl-argumenta makro
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "malvalida nov-linio en kruda ĉen-apartigilo"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "nefinigita kruda ĉeno"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "nul-signo(j) tenitaj en literaĵo"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "mankas finigantan signon %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "plurlinia komento"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "neliterumebla ĵetono %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' ne povas aperi ĉe iu ajn flanko de __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroo \"%s\" ne estas uzata"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "malvalida enkonstruita makroo \"%s\""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "ne eblis determini la dosieran tempomarkon"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "ne eblis determini la daton kaj horon"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "duobligata makro-parametro \"%s\""
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "atendinte parametran nomon, ni trovis \"%s\""
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" ne povas aperi en makroa parametro-listo"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "atendinte ',' aŭ ')', ni trovis \"%s\""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "makro-parametroj devas esti apartitaj per komoj"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "ni atendis parametran nomon antaŭ lini-fino"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "mankas parametra nomo"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "ni atendis ')' antaŭ lini-fino"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "ni atendis ')' post \"...\""
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "mankas ')' en makroa parametro-listo"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' ne povas aperi ĉe iu ajn flanko de makroa disvolviĝo"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 postulas blankspacon post la makroa nomo"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 postulas blankspacon post la makroa nomo"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "mankas blankspacon post la makroa nomo"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' ne estas sekvata de makroa parametro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" estas redifinita"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "tiu ĉi estas la loko de la antaŭa difino"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "malvalida haketa tipo %d en cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "dum skribo de antaŭkompilita kapo"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ne uzata ĉar '%.*s' estas venenita"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ne uzata ĉar '%s' estas difinita"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "dum lego de antaŭkompilita kapo"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "sintaksa eraro en makroa parametro-listo"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" ne povas aperi en makroa parametro-listo"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "makro-parametroj devas esti apartitaj per komoj"
+
+#~ msgid "parameter name missing"
+#~ msgstr "mankas parametra nomo"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "mankas ')' en makroa parametro-listo"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "malvalida haketa tipo %d en cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "NULL-dosierujo en find_file"
diff --git a/libcpp/po/es.po b/libcpp/po/es.po
index 7f88f0a..341e4c4 100644
--- a/libcpp/po/es.po
+++ b/libcpp/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 8.1-b20180128\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2018-03-23 19:16+0100\n"
"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
@@ -87,7 +87,7 @@ msgstr "el carácter universal %.*s no es válido en un identificador"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "el carácter universal %.*s no es válido al inicio de un identificador"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "convirtiendo un NUC al conjunto de caracteres fuente"
@@ -138,294 +138,294 @@ msgstr "convirtiendo una secuencia de escape al conjunto de caracteres de ejecuc
msgid "missing open quote"
msgstr "falta comilla abierta"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "constante de carácter demasiado grande para su tipo"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "constante de carácter con múltiples caracteres"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "constante de carácter vacía"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "no se puede convertir %s a %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "elementos extra al final de la directiva #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s es una extensión de GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s es una extensión de GCC obsoleta"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "se sugiere no usar #elif en C tradicional"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s con el # indentado"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "se sugiere ocultar #%s de C tradicional con un # indentado"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "la directiva de estilo de línea es una extensión de GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocesamiento #%s inválida"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "«defined» no se puede utilizarse como un nombre de macro"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" no puede ser usado como un nombre de macro"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "no se puede usar «%s» como un nombre de macro porque es un operador en C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "no se dio un nombre de macro en la directiva #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "los nombres de macro deben ser identificadores"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "borrando la definición de «%s»"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "falta el carácter de terminación >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "nombre de fichero vacío en #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include anidado con demasiada profundidad"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next en fichero primario de código fuente"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador «%s» inválido en la línea de la directiva"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "fin de fichero inesperado después de #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "«%s» después de #line no es un entero positivo"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "número de línea fuera de rango"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "«%s» no es un nombre de fichero válido"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "«%s» después de # no es un entero positivo"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "marca lineal de fichero «%s» ignorada debido a anidación incorrecta"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "directiva #%s inválida"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ya está registrado"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ya está registrado"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "se registra un pragma con manejador NULL"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma una vez en el fichero principal"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma push_macro inválida"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma pop_macro inválida"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC envenenada inválida"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "se envenena la macro existente «%s»"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fuera del fichero a incluir"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "no se puede encontrar el fichero fuente %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "el fichero actual es más antiguo que %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva \"#pragma GCC %s\" inválida"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma lleva una cadena literal entre paréntesis"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else sin #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else tras #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "el condicional empezó aquí"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif sin #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif después de #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif sin #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "falta '(' antes del predicado"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "falta ')' para completar la respuesta"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "la respuesta del predicado está vacía"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "afirmación sin predicado"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "el predicado debe ser un identificador"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "«%s» reafirmado"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "#%s sin terminar"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "comentario sin terminar"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "salida estándard"
@@ -518,84 +518,84 @@ msgstr "(«%s» es una marca alternativa para «%s» en C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "este uso de \"defined\" puede no ser transportable"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida por el usuario en una expresión del preprocesador"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "constante de coma flotante en una expresión del preprocesador"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "número imaginario en una expresión del preprocesador"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "«%s» no está definido, evalúa a 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "las aserciones son una extensión GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "las aserciones son una extensión obsoleta"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "pila desbalanceada en %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operador '%u' imposible"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "falta ')' en la expresión"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' sin ':' a continuación"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "desbordamiento entero en expresión del preprocesador"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "falta '(' en la expresión"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "el operando derecho de «%s» cambia de signo cuando es promovido"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rechaza el operador unario mas"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "operador coma en operando de #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "división por cero en #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "el operador \"__has_include__\" requiere una cadena cabecera"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "falta ')' tras \"__has_include__\""
@@ -612,40 +612,40 @@ msgstr "use -Winvalid-pch para más información"
msgid "no include path in which to search for %s"
msgstr "no hay ruta de inclusión en la cual se pueda buscar %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Guardias múltiples de include pueden ser útiles para:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t debe ser de un tipo unsigned"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "el char del objetivo tiene menos de 8 bits de ancho"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "el int del objetivo es más estrecho que el char del objetivo"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits"
@@ -717,258 +717,275 @@ msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro varia
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "el identificador «%s» es un nombre de operador especial en C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "el delimitador de cadena cruda es más largo que 16 caracteres"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "carácter inválido nueva línea en un delimitador de cadena cruda"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "carácter inválido '%c' en un delimitador de cadena cruda"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "cadena cruda sin terminar"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "caracter(es) nulo(s) preservados en la literal"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "falta el carácter de terminación %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requiere un espacio entre cadena literal y macro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "los comentarios de estilo C++ son incompatibles con C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "comentario en múltiples líneas"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "elemento %s impronunciable"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' no puede aparecer o en el final de una __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "la macro «%s» no se utiliza"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna «%s» inválida"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "macro «%s» quizá previene compilaciones reproducibles"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "no se puede determinar la marca de fecha del fichero"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "no se puede determinar la fecha y la hora"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "cadena literal inválida, se ignora el '\\' final"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "pegar «%s» y «%s» no da un elemento válido de preprocesamiento"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++ requiere al menos un argumento: para la \"...\" en una macro variadic"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 requiere al menos un argumento para la \"...\" en una macro variadic"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "la macro «%s» requiere %u argumentos, pero solo se proporcionan %u"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "la macro «%s» pasó %u argumentos, pero solamente toma %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "lista de argumentos sin terminar al invocar la macro «%s»"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "la función de macro «%s» se debe usar con argumentos en C tradicional"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parámetro de macro «%s» duplicado"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "«%s» podría faltar en la lista de parámetro de macro"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
+
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "los parámetros de macro deben ser separados por comas"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
+
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "fin de fichero inesperado después de #line"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "falta el nombre del parámetro"
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "las macros variadic anónimas se introdujeron en C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "los macros variadic anónimos se introdujeron en C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ no permite macros variadic nombrados"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C no permite macros variadic nombrados"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "falta ')' en la lista de parámetros de macro"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' no puede aparece en o al final de una expansión de macro"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 requiere espacios en blanco tras del nombre de macro"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "faltan espacios en blanco después del nombre de macro"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' no es seguido por un parámetro de macro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "«%s» redefinido"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "esta es la ubicación de la definición previa"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "el argumento de macro «%s» debería ser convertido a cadena en C tradicional"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "tipo de hash %d inválido en cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "al escribir el encabezado precompilado"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: no se usa porque `%.*s' está envenenado"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: no se usa porque `%.*s' no está definido"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: no se usa porque `%.*s' está definido como `%s' no como `%.*s'"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: no se usa porque `%s' está definido"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: no se usa porque `__COUNTER__' es inválido"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "al leer el encabezado precompilado"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "se detectó recursión al expandir la macro «%s»"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "error de sintaxis en la lista de parámetros de macro"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "«%s» podría faltar en la lista de parámetro de macro"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "los parámetros de macro deben ser separados por comas"
+
+#~ msgid "parameter name missing"
+#~ msgstr "falta el nombre del parámetro"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "falta ')' en la lista de parámetros de macro"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "tipo de hash %d inválido en cpp_macro_definition"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "El carácter %x puede no ser NFKC"
diff --git a/libcpp/po/fi.po b/libcpp/po/fi.po
index 47fe090..a5df82a 100644
--- a/libcpp/po/fi.po
+++ b/libcpp/po/fi.po
@@ -1,15 +1,15 @@
# Finnish messages for cpplib.
-# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018 Free Software Foundation, Inc.
+# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.
-# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018.
+# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018, 2019.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-01-31 01:28+0200\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-05 20:41+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.2.1\n"
#: charset.c:674
#, c-format
@@ -90,7 +90,7 @@ msgstr "universaali merkki %.*s ei ole kelvollinen tunniste"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkistöön"
@@ -141,295 +141,295 @@ msgstr "muunnetaan ohjaussarja suoritusmerkistöön"
msgid "missing open quote"
msgstr "avautuva sulje puuttuu"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tyypilleen"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "monimerkkinen merkkivakio"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "tyhjä merkkivakio"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "muunnos %s -> %s epäonnistui"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennos"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennos"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennos"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikääntäjän direktiivi #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "”defined” ei ole kelvollinen makron nimi"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "”__has_include__” ei ole kelvollinen makron nimi"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makron nimeä ei ole annettu #%s-direktiivissä"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "makrojen nimien on oltava tunnisteita"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "kumotaan määrittely ”%s”"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "päättävä >-merkki puuttuu"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi direktiivissä #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "liikaa sisäkkäisiä #include:ja"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "rivinumero sallitun välin ulkopuolella"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once päätiedostossa"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro -direktiivi"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "virheellinen #pragma pop_macro -direktiivi"
# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison -direktiivi"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "myrkytetään olemassa oleva makro ”%s”"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedostoa %s ei löydy"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s” -direktiivi"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else ilman #if:iä"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else #else:n jälkeen"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "ehtolause alkoi tästä"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif ilman #if:iä"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif #else:n jälkeen"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif ilman #if:iä"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "’(’ puuttuu predikaatin jäljestä"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "’)’ puuttuu vastauksen täydentämisestä"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "väite ilman predikaattia"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” väitetty uudelleen"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "päättämätön kommentti"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "vakiotuloste"
@@ -522,85 +522,85 @@ msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)"
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikääntäjän lausekkeessa"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginääriluku esikääntäjän lausekkeessa"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "väitteet ovat GCC-laajennos"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "väitteet ovat vanhentunut laajennos"
# %s on #if tai #elif
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino %s:ssä"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "’)’ puuttuu lausekkeesta"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "’(’ puuttuu lausekkeesta"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C ei salli unaarista plus-operaattoria"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if:in operandissa"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "jako nollalla #if-ehdossa"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"
@@ -617,40 +617,40 @@ msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi"
msgid "no include path in which to search for %s"
msgstr "ei include-polkua, josta etsiä tiedostoa %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t:n on oltava etumerkitön tyyppi"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"
@@ -729,260 +729,275 @@ msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa"
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "päättämätön raaka merkkijono"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaalissa"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "päättävä merkki %c puuttuu"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "monirivinen kommentti"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "kirjoitusasuton symboli %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroa ”%s” ei käytetä"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "virheellinen sisäinen makro ”%s”"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makro ”%s” saattaa estää toistettavat käännökset"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "ei voitu selvittää tiedoston aikaleimaa"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "ei voitu selvittää päivämäärää ja aikaa"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "kahdenkertainen makroparametri ”%s”"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "odotettiin parametrin nimeä, löytyi ”%s”"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "”%s” ei saa esiintyä makron parametriluettelossa"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "odotettiin ”,” tai ”)”, löytyi ”%s”"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "makron parametrien on oltava pilkuin eroteltuja"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "odotettiin parametrin nimeä ennen rivin loppua"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "parametrin nimi puuttuu"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "odotettiin tulevan ”)” ennen rivin loppua"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "odotettiin ”...”:n jälkeen tulevan ”)”"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ei salli nimettyjä variadisia makroja"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ei salli nimettyjä variadisia makroja"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "’)’ puuttuu makron parametriluettelosta"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "tyhjemerkki puuttuu makron nimen jäljestä"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "”#” ilman sitä seuraavaa makroparametria"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” määritelty uudelleen"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "tämä on edellisen määrittelyn sijainti"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "kirjoitettaessa esikäännettyä otsaketta"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ei käytetä, koska ”%s” on määritelty"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "luettaessa esikäännettyä otsaketta"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "syntaksivirhe makron parameteriluettelossa"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "”%s” ei saa esiintyä makron parametriluettelossa"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "makron parametrien on oltava pilkuin eroteltuja"
+
+#~ msgid "parameter name missing"
+#~ msgstr "parametrin nimi puuttuu"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "’)’ puuttuu makron parametriluettelosta"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "NULL-hakemisto funktiossa find_file"
diff --git a/libcpp/po/fr.po b/libcpp/po/fr.po
index 0ab99a7..9a8f7cb 100644
--- a/libcpp/po/fr.po
+++ b/libcpp/po/fr.po
@@ -4,7 +4,7 @@
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
# François-Xavier Coudert <fxcoudert@gcc.gnu.org>, 2008.
# Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.
-# Frédéric Marchal <fmarchal@perso.be>, 2018.
+# Frédéric Marchal <fmarchal@perso.be>, 2019.
#
# Vocabulaire utilisé
# lvalue = membre gauche
@@ -120,10 +120,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU cpplib 8.1-b20180128\n"
+"Project-Id-Version: GNU cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-06-10 14:01+0200\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-05 20:35+0100\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -203,7 +203,7 @@ msgstr "le caractère universel %.*s n’est pas valide dans un identificateur"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "conversion d'un UCN vers le jeu de caractères source"
@@ -254,294 +254,294 @@ msgstr "conversion d’une séquence d’échappement vers le jeu de caractères
msgid "missing open quote"
msgstr "guillemet ouvrant de chaîne de caractères manquant"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "constante caractère trop longue pour son type"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "constante caractère multi-caractères"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "constante caractère vide"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "échec de conversion de %s vers %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "éléments lexicaux superflus à la fin de la directive #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s est une extension GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s est une extension obsolète de GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "placer une directive dans les arguments d’une macro n’est pas portable"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "la directive de style de ligne est une extension GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "la directive de pré-traitement #%s invalide"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "« defined » ne peut être utilisé comme nom de macro"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "« __has_include__ » ne peut être utilisé comme nom de macro"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "aucun nom de macro donné dans la directive #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "les noms de macro doivent être des identificateurs"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "suppression de la définition de « %s »"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "caractère > de terminaison manquant"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fichier vide dans #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include imbriqué trop profondément"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next dans un fichier source primaire"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "drapeau « %s » invalide dans la ligne de directive"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "fin de fichier inattendue après #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "« %s » après #line n’est pas un nombre entier positif"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "numéro de ligne hors intervalle"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "« %s » n’est pas un nom de fichier valide"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "« %s » après # n’est pas un nombre entier positif"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "directive #%s invalide"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "le #pragma %s %s est déjà enregistré"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "le #pragma %s est déjà enregistré"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "enregistrement d’un pragma avec un handler NULL"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once utilisé une seule fois dans le fichier principal"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "directive #pragma push_macro invalide"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "directive #pragma pop_macro invalide"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "directive #pragma GCC poison invalide"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "empoisonnement de la macro existante « %s »"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "impossible de trouver le fichier source %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "le fichier courant est plus vieux que %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directive « #pragma GCC %s » invalide"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma attend une chaîne entourée de parenthèses"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else sans #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else après #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "la condition débute ici"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif sans #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif après #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif sans #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "« ( » manquante après le prédicat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "« ) » manquante pour compléter la réponse"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "la réponse du prédicat est vide"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "assertion sans prédicat"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "le prédicat doit être un identificateur"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "assertion « %s » redondante"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "#%s non terminé"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "commentaire non terminé"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "sortie standard"
@@ -634,84 +634,84 @@ msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "cette utilisation de « defined » peut ne pas être portable"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "constante flottante dans une expression pour le préprocesseur"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "constante complexe dans une expression pour le préprocesseur"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "« %s » n’est pas défini, évalué à 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "les assertions sont une extension GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "les assertions sont une extension obsolète"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "pile non balancée dans %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "opérateur « %u » impossible"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "« ) » manquante dans l'expression"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "« ? » n’est pas suivi de « : »"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "débordement d’entier dans l'expression pour le préprocesseur"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "« ( » manquante dans l'expression"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "le C traditionnel rejette l'opérateur d'addition unaire"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "opérateur virgule dans l'opérande de #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "division par zéro dans #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "« ) » manquante après « __has_include__ »"
@@ -728,40 +728,40 @@ msgstr "utilisez -Winvalid-pch pour plus d’informations"
msgid "no include path in which to search for %s"
msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t doit être d’un type non signé"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "sur la cible, char fait moins de 8 bits"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "sur la cible, wchar_t est plus petit que char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "sur la cible, int est plus petit que char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits"
@@ -834,254 +834,269 @@ msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion des macr
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "délimiteur de chaîne brute plus long que 16 caractères"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "chaîne brute non terminée"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "caractère(s) nul préservé(s) dans la chaîne"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "caractère %c de terminaison manquant"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requière un espace entre une chaîne et une macro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "commentaire multi-lignes"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "l'élément lexical %s ne peut être épelé"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "la macro « %s » n’est pas utilisée"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interne « %s » invalide"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "la macro « %s » pourrait empêcher les compilations reproductibles"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "date de modification du fichier indéterminable"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "date et heure indéterminable"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "chaîne invalide, le « \\ » final est ignoré"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "le collage de « %s » et de « %s » ne donne pas un élément lexical de pré-traitement valide"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "liste d'arguments non terminée en invoquant la macro « %s »"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "paramètre de macro « %s » dupliqués"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "nom de paramètre attendu, « %s » rencontré"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "« , » ou « ) » attendue, « %s » rencontré"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "les paramètres de macro doivent être séparés par des virgules"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "nom de paramètre attendu avant la fin de la ligne"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "nom de paramètre manquant"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "« ) » attendue avant la fin de la ligne"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "« ) » attendue après « ... »"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "« ) » manquante dans la liste des paramètres de macro"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 requiert un blanc après le nom de la macro"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requiert un blanc après le nom de la macro"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "espacement manquant après le nom de la macro"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "« # » n'est pas suivi d’un paramètre de macro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "« %s » redéfini"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "ceci est l'emplacement d’une précédente définition"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "type de hachage %d invalide dans cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "lors de l'écriture de l'en-tête pré-compilée"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: n'est pas utilisé parce que « %s » est défini"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "lors de la lecture d’un entête pré-compilée"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "récursion détectée lors de l'expansion de la macro « %s »"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "erreur de syntaxe dans la liste des paramètres de macro"
+
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "les paramètres de macro doivent être séparés par des virgules"
+
+#~ msgid "parameter name missing"
+#~ msgstr "nom de paramètre manquant"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "« ) » manquante dans la liste des paramètres de macro"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "type de hachage %d invalide dans cpp_macro_definition"
diff --git a/libcpp/po/id.po b/libcpp/po/id.po
index 21a6250..7eb5f0d 100644
--- a/libcpp/po/id.po
+++ b/libcpp/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.5-b20100204\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2010-02-05 19:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -88,7 +88,7 @@ msgstr "karakter universal %.*s tidak valid dalam sebuah pengidentifikasi"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "mengubah UCN ke set karakter asal"
@@ -139,297 +139,297 @@ msgstr "mengubah escape sequence ke set karakter eksekusi"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "konstanta karakter terlalu panjang untuk tipenya"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "konstanta karakter multi-karakter"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "konstanta karakter kosong"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "gagal untuk mengubah %s ke %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ekstra token di akhir dari #%s direktif"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "disarankan tidak menggunakan #elif dalam tradisional C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradisional C mengabaikan #%s dengan # terindentasi"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "preprosesing direktif #%s tidak valid"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
-#: directives.c:611
+#: directives.c:605
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "tidak ada nama makro yang diberikan dalam direktif #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "nama makro harus berupa pengidentifikasi"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "tidak terdefinisi \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "hilang karakter pengakhir >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "nama berkas kosong dalam #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include nested terlalu dalam"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next dalam berkas kode program utama"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "tanda \"%s\" tidak valid dalam baris direktif"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "tidak terduga akhir dari berkas setelah #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" setelah #line bukan sebuah integer positif"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "nomor baris diluar dari jangkauan"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" bukan sebuah nama berkas yang valid"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" setelah # bukan sebuah integer positif"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "direktif #%s tidak valid"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s telah terdaftar"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s telah terdaftar"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "mendaftarkan pragma dengan penanganan KOSONG"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma sekali dalam berkas utama"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "#pragma push_macro direktif tidak valid"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "#pragma pop_macro direktif tidak valid"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "merusak makro \"%s\" yang sudah ada"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header diabaikan diluar berkas include"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "tidak dapat menemukan berkas sumber %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "berkas ini lebih lama daripada %s"
-#: directives.c:1742
+#: directives.c:1732
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma mengambil sebuah string literal tanda kurung"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else tanpa #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else setelah #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "kondisional berawal disini"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif tanpa #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif setelah #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif tanpa #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "hilang '(' setelah predikat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "hilang ')' untuk melengkapi jawaban"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "jawaban predikat kosong"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "assertion tanpa predikat"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predikat harus berupa sebuah pengidentifikasi"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-asserted"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "tidak terakhiri #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "komentar tidak terakhiri"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -530,89 +530,89 @@ msgstr "(\"%s\" adalah sebuah tanda alternatif untuk \"%s\" dalam C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel"
-#: expr.c:1125
+#: expr.c:1109
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "konstanta pecahan dalam ekspresi preprosesor"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "angka imaginari dalam ekspresi preprosesor"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tidak didefinisikan"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "assertions adalah sebuah ekstensi GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "stack dalam %s tidak seimbang"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' tidak mungkin"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "hilang ')' dalam ekspresi"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' tanpa diikuti ':'"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "hilang '(' dalam ekspresi"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "tradisional C menolak operator unary plus"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "operator koma dalam operator dari #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "pembagian oleh nol dalam #if"
-#: expr.c:2243
+#: expr.c:2227
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
@@ -631,40 +631,40 @@ msgstr "gunakan -Winvalid-pch untuk informasi lebih lanjut"
msgid "no include path in which to search for %s"
msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Multiple include guards mungkin berguna untuk:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t harus berupa sebuah tipe unsigned"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "aritmetik preprosesor memiliki presisi maksimal dari %lu bits; target membutuhkan%lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "aritmetik CPP harus paling tidak sama tepatnya dengan sebuah target int"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "target char lebih kecil dari 8 bits wide"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "target wchar_t lebih kecil dari target char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "target int lebih kecil dari target char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP integer-setengah lebih kecil dari karakter CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP di host ini tidak dapat menangani konstanta karakter lebar diatas %lu bits, tetapi target membutuhkan %lu bits"
@@ -740,271 +740,273 @@ msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "pengidentifikasi \"%s\" adalah nama operator spesial dalam C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "pembatas mentah string lebih panjang dari 16 karakter"
-#: lex.c:1815
+#: lex.c:1830
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "karakter '%c' tidak valid dalam pembatas mentah string"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "karakter '%c' tidak valid dalam pembatas mentah string"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "tidak terselesaikan raw string"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "karakter kosong dijaga dalam literal"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "hilang karakter pengakhir %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "komentar gaya C++ tidak diijinkan dalam ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(ini hanya akan dilaporkan sekali setiap berkas masukan)"
-#: lex.c:2876
+#: lex.c:2887
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "komentar gaya C++ tidak diijinkan dalam ISO C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "komentar multi baris"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "tanda %s tidak dapat disebutkan"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' tidak dapat muncul baik diakhir dari sebuah ekspansi makro"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makro \"%s\" tidak digunakan"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "makro bawaan \"%s\" tidak valid"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "tidak dapat menentukan berkas timestamp"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "tidak dapat menentukan tanggal dan waktu"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ diekspans didalam direktif dengan -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "string literal tidak valid, mengabaikan final '\\'"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "pasting \"%s\" dan \"%s\" tidak memberikan sebuah tanda preprosesing valid"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
#| msgid "ISO C99 requires rest arguments to be used"
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 membutuhkan argumen rest untuk digunakan"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro \"%s\" membutuhkan %u argumen, tetapi hanya %u diberikan"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makro \"%s\" melewatkan %u argumen, tetapi hanya mengambil %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "daftar argumen tidak terselesaikan memanggil makro \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "makro \"%s\" seperti fungsi harus digunakan dengan argumen dalam tradisional C"
-#: macro.c:2003
+#: macro.c:2083
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "memanggil makro %s argumen %d: argumen makro kosong tidak didefinisikan dalam ISO C90 dan ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "memanggil makro %s argumen %d: argumen makro kosong tidak didefinisikan dalam ISO C90 dan ISO C++98"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "duplikasi parameter makro \"%s\""
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" mungkin tidak muncul dalam daftar parameter makro"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "parameter makro yang berupa koma dipisahkan"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "nama parameter hilang"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "tidak terduga akhir dari berkas setelah #line"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonymous variadik makro diperkenalkan dalam C99"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonymous variadik makro diperkenalkan dalam C99"
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C tidak mengijinkan makro variadik bernama"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tidak mengijinkan makro variadik bernama"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "hilang ')' dalam daftar parameter makro"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' tidak dapat muncul baik diakhir dari sebuah ekspansi makro"
-#: macro.c:3198
+#: macro.c:3298
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 membutuhkan whitespace setelah nama makro"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 membutuhkan whitespace setelah nama makro"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "kurang spasi setelah nama makro"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' tidak diikuti dengan sebuah parameter makro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" redefinisi"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "ini adalah lokasi dari definisi sebelumnya"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "argumen makro \"%s\" akan stringified dalam tradisional C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "tipe hash %d tidak valid dalam cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "ketika menulis precompiled header"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: tidak digunakan karena `%.*s' teracuni"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: tidak digunakan karena `%.*s' tidak didefinisikan"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: tidak digunakan karena `%.*s' didefinisikan sebagai `%s' bukan `%.*s'"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: tidak digunakan karena `%s' didefinisikan"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: tidak digunakan karena `__COUNTER__' tidak valid"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "ketika membaca precompiled header"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "terdeteksi rekursi ketika mengekspan makro \"%s\""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "sintaks erro dalam daftar parameter makro"
@@ -1062,6 +1064,21 @@ msgstr "sintaks erro dalam daftar parameter makro"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s lebih pendek dari yang diduga"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" mungkin tidak muncul dalam daftar parameter makro"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "parameter makro yang berupa koma dipisahkan"
+
+#~ msgid "parameter name missing"
+#~ msgstr "nama parameter hilang"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "hilang ')' dalam daftar parameter makro"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "tipe hash %d tidak valid dalam cpp_macro_definition"
+
#~ msgid "warning: "
#~ msgstr "peringatan: "
diff --git a/libcpp/po/ja.po b/libcpp/po/ja.po
index a8d75d9..13320bc 100644
--- a/libcpp/po/ja.po
+++ b/libcpp/po/ja.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.9-b20140202\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2014-11-07 08:19+0000\n"
"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -92,7 +92,7 @@ msgstr "ユニバーサル文字 %.*s は識別の中では有効ではありま
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "ユニバーサル文字 %.*s は識別子の最初の文字として有効ではありません"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "UCN をソースの文字集合に変換しています"
@@ -143,296 +143,296 @@ msgstr "エスケープシーケンスを実行時文字集合に変換してい
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "文字定数が型に対して長すぎます"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "複数文字からなる文字定数"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "空の文字定数"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "%s から %s への変換に失敗しました"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "余分なトークンが #%s 指示の後にあります"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s は GCC 拡張です"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s は廃止された GCC 拡張です"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "古い (traditional) C では #elif を使用しないことを推奨します"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "古い (traditional) C では # がインデントされていると #%s を無視します"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "インデントさた # がある古い (traditional) C では #%s を隠すことを推奨します"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "マクロの引数への指示の埋め込みは移植性がありません"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "行スタイル指示は GCC 拡張です"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無効な前処理指示 #%s です"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" はマクロ名として使用できません"
-#: directives.c:611
+#: directives.c:605
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" はマクロ名として使用できません"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" は C++ の演算子のためマクロ名として使用できません"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示の中でマクロ名が与えられていません"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "マクロ名は識別子でなくてはいけません"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "\"%s\" を未定義状態にしています"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "終端する > 文字がありません"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s は \"FILENAME\" または <FILENAME> が必要です"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 内のファイル名が空です"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include の入れ子が深すぎます"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next が主のソースファイルにあります"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "\"%s\" は line 指示では無効なフラグです"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "#line 後に予期しないファイル終端 (EOF) です"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line の後にある \"%s\" が正の整数ではありません"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "行番号が範囲外です"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" は有効なファイル名ではありません"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# の後にある \"%s\" が正の整数ではありません"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "無効な #%s 指示です"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "名前空間 \"%s\" 内に pragma を一致しない名前展開で登録しています"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma \"%s\" を名前展開有りおよび名前空間無しで登録しています"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" を pragma および pragma 名前空間の両方として登録しています"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s は既に登録されています"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s は既に登録されています"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "NULL ハンドラで pragma を登録しています"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once がメインファイルにあります"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "無効な #pragma push_macro 指示です"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "無効な #pragma pop_macro 指示です"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC 汚染ディレクティヴが無効です"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "既存のマクロ \"%s' を汚染します"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "include ファイル外の #pragma system_header は無視されました"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "ソースファイル %s が見つかりません"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "現在のファイルは %s より古いです"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC %s ディレクティヴが無効です"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pramga が括弧で囲まれた文字列リテラルを受け取りました"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else に #if がありません"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else が #else の後ろにあります"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "その条件はここから始まります"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif に #if がありません"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif が #else の後ろにあります"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif に #if がありません"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "述語の後ろの '(' を欠いています"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "解を補完する ')' を欠いています"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "述語の解が空です"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "述語のないアサーションです"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "述語は識別子でなければなりません"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" が再アサートされました"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "終端のない #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "終端されていないコメント"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "標準出力"
@@ -531,87 +531,87 @@ msgstr "(C++ では \"%s\" が \"%s\" の代替トークンです)"
msgid "this use of \"defined\" may not be portable"
msgstr "この \"defined\" の使用法は移植性がありません"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "前処理式内のユーザ定義リテラル"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "前処理式の中に浮動小数定数があります"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "前処理式の中に虚数があります"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" は定義されていません"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "アサーションは GCC 拡張です"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "アサーションは廃止された拡張です"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 内に釣り合いがとれていないスタックがあります"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能な演算子 '%u' です"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "式の中に ')' がありません"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "後に ':' が続いていない '?' です"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "整数が前処理式内で溢れました"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "式内に '(' がありません"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の左側の被演算子は実行時に符号を変更します"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の右側の演算子は実行時に符号を変更します"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "古い (traditional) C では単項プラス演算子は拒否されます"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "カンマ演算子が #if の被演算子内にあります"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "#if 内でゼロによる除算が行われました"
-#: expr.c:2243
+#: expr.c:2227
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "\"defined\" 演算子は識別子を要求します"
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
@@ -630,40 +630,40 @@ msgstr "詳細な情報に関しては -Winvalid-pch を使用してください
msgid "no include path in which to search for %s"
msgstr "%s を探索するためのインクルードパスがありません"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "多重 include からの保護が有益となるでしょう:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t は符号無し型でなければいけません"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "前処理の数値演算の最大精度は %lu ビットですが、ターゲットは %lu ビットを要求しています"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 数値演算はターゲットの int 以上の精度がなければいけません"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "ターゲットの char が 8 ビットより小さいです"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "ターゲットの wchar_t がターゲットの char より小さいです"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "ターゲットの int がターゲットの char より小さいです"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP ハーフ整数は CPP character より小さいです"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "このホストでの CPP は %lu ビット以上のワイド文字定数を扱えませんが、ターゲットは %lu ビットを要求しています"
@@ -739,271 +739,273 @@ msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できま
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別子 \"%s\" は C++ の特別な演算子名です"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "生の文字列区切りが 16 文字より大きいです"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "生の文字列区切り内に無効な改行があります"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "生の文字列区切り内に無効な文字 '%c' があります"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "終端されていない生の文字列です"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "リテラルの接尾辞が無効です。C++11 では、リテラルと文字列マクロの間にスペースを入れる必要があります。"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "リテラル中で null 文字が確保されました"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "%c 文字での終端を欠いています"
-#: lex.c:2061
+#: lex.c:2072
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgid "C++11 requires a space between string literal and macro"
msgstr "リテラルの接尾辞が無効です。C++11 では、リテラルと文字列マクロの間にスペースを入れる必要があります。"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ スタイルのコメントは ISO C90 では許可されていません"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(これは入力ファイルにつき一回だけ報告されます)"
-#: lex.c:2876
+#: lex.c:2887
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ スタイルのコメントは ISO C90 では許可されていません"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "複数行のコメント"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "綴ることができないトークン %s です"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' はマクロ展開の両端には出現できません"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "マクロ \"%s\" は使用されません"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "無効な組み込みマクロ \"%s\" です"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "マクロ \"%s\" は再生性可能なビルドを阻害するかもしれません"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "ファイルのタイムスタンプを決定できません"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "日付と時間を決定できません"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ が -fdirectives-only がある指示内で展開されました"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "文字列リテラルが無効です、最後の '\\' を無視します"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "\"%s\" と \"%s\" を貼付けましたが正常な前処理トークンとなりません"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
#| msgid "ISO C99 requires rest arguments to be used"
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 は使用されるべき残りのの引数を要求します"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "マクロ \"%s\" は引数を %u 要求しますが、%u 個しか与えられていません"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "マクロ \"%s\" に引数が %u 渡されましたが、%u しか受け取りません"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "終端されていない引数リストがマクロ \"%s\" を起動しようとしました"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "古い C では、関数型マクロ \"%s\" に引数が与えられねばなりません"
-#: macro.c:2003
+#: macro.c:2083
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "マクロ %s を引数 %d で起動しました。空のマクロ引数は ISO C90 および ISO C++98 内では定義されていません"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "マクロ %s を引数 %d で起動しました。空のマクロ引数は ISO C90 および ISO C++98 内では定義されていません"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "マクロ仮引数 \"%s\" が重複しています"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" はマクロ仮引数リストに現れてはなりません"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "マクロ仮引数はカンマ区切りされなければなりません"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "仮引数名を欠いています"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "#line 後に予期しないファイル終端 (EOF) です"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "無名可変引数マクロは C99 で導入されました"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "無名可変引数マクロは C99 で導入されました"
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C では名前つき可変引数マクロを許しません"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C では名前つき可変引数マクロを許しません"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "マクロ仮引数リストに ')' がありません"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' はマクロ展開の両端には出現できません"
-#: macro.c:3198
+#: macro.c:3298
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 ではマクロ名の後に空白が必要です"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 ではマクロ名の後に空白が必要です"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "マクロ名の後に空白がありません"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' にマクロ仮引数名が続いていません"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" が再定義されました"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "ここが以前の宣言がある位置です"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "マクロ引数 \"%s\" は古い (traditional) C では文字列化されます"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "cpp_macro_definition 内に無効なハッシュ型 %d があります"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "プリコンパイルヘッダ書き込み中"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: `%.*s' は汚染されているため使用できません"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: `%.*s' は定義されていないため使用できません"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: `%.*s' が `%s' として定義されていて、 `%.*s' ではないため使用できません"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: `%s' が定義されているため使用できません"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: `__COUNTER__' が無効なため使用できません"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "プリコンパイルヘッダを読み込み中"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "マクロ \"%s\" を展開中に再帰が検出されました"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "マクロ仮引数リストに構文エラーがあります"
@@ -1019,6 +1021,21 @@ msgstr "マクロ仮引数リストに構文エラーがあります"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s が本来よりも短いです"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" はマクロ仮引数リストに現れてはなりません"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "マクロ仮引数はカンマ区切りされなければなりません"
+
+#~ msgid "parameter name missing"
+#~ msgstr "仮引数名を欠いています"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "マクロ仮引数リストに ')' がありません"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "cpp_macro_definition 内に無効なハッシュ型 %d があります"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "文字 %x は NFKC では無いようです"
diff --git a/libcpp/po/nl.po b/libcpp/po/nl.po
index 04ab35d..4149abc 100644
--- a/libcpp/po/nl.po
+++ b/libcpp/po/nl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 6.1.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2016-05-03 12:27+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -92,7 +92,7 @@ msgstr "universeel teken %.*s is niet geldig in een naam"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "omzetting van UCN naar brontekenset"
@@ -143,307 +143,307 @@ msgstr "omzetting van escape sequence naar uitvoeringstekenset"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "tekenconstante is te lang voor zijn type"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "tekenconstante bevat meerdere tekens"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "lege tekenconstante"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "fout bij omzetten van %s naar %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "overbodige tokens aan einde van #%s commando"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s is een uitbreiding van GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s is een afgekeurde uitbreiding van GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "gebruik liefst geen #elif in traditioneel C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditioneel C negeert #%s wanneer het # geïndenteerd is"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "verberg #%s liefst van traditioneel C via een geïndenteerd #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "het plaatsen van een commando binnen macro-argumenten is niet overdraagbaar"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "dit soort #line commando is een uitbreiding van GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ongeldig preprocessing-commando #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" kan niet als macronaam gebruikt worden"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" kan niet als macronaam gebruikt worden"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" kan niet als macronaam gebruikt worden omdat het een operator is in C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "geen macronaam opgegeven in #%s commando"
# lap! hier heb ik het zitten... wat is verdorie een betere vertaling voor identifier?
# Dit is wel langer maar zegt denk ik wel waar het om gaat.
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "macronamen moeten voldoen aan de regels voor namen in C/C++"
# niet perfect, maar beter dan "wordt ongedefinieerd", "wordt geondefinieerd" of iets dergelijks...
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "definitie van \"%s\" wordt ongedaan gemaakt"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "afsluitend '>'-teken ontbreekt"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s verwacht \"BESTAND\" of <BESTAND>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "lege bestandsnaam in #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include is te diep genest"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next in primair bronbestand"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ongeldige vlag \"%s\" in #line commando"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "onverwacht einde van bestand na #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" (na #line) is geen positieve integer"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "regelnummer buiten bereik"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" is geen geldige bestandsnaam"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" (na #) is geen positieve integer"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "regelmarkering voor bestand \"%s\" is genegeerd wegens incorrecte nesting"
# FIXME: most likely shouldn't have been marked as translatable
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "ongeldig #%s commando"
# goede vertaling voor 'mismatched'?
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registratie van pragma's in naamsruimte \"%s\" met niet-overeenkomstige naamsexpansie"
# moet namespace hier ook vertaald worden?
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registratie van pragma \"%s\" met naamsexpansie maar geen naamsruimte"
# moet namespace hier ook vertaald worden?
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registratie van \"%s\" zowel als pragma en als pragma-naamsruimte"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s is reeds geregistreerd"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s is reeds geregistreerd"
# betere vertaling voor 'handler'?
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "registratie van pragma met NULL als afhandelingsroutine"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once in hoofdbestand"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "ongeldig #pragma push_macro commando"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "ongeldig #pragma pop_macro commando"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "ongeldig #pragma GCC poison commando"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "bestaande macro \"%s\" wordt 'vergiftigd'"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header wordt genegeerd buiten een invoegbestand"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "kan bronbestand %s niet vinden"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "huidig bestand is ouder dan %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ongeldig \"#pragma GCC %s\"-commando"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma verwacht als argument een stringconstante tussen haakjes"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else zonder #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else na #else"
# of gewoon "de conditie"?
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "het conditionele blok begon hier"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif zonder #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif na #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif zonder #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "'(' ontbreekt na predicaat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "')' ontbreekt als afronding van het antwoord"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "antwoord van het predicaat is leeg"
# dit moet beter kunnen...
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "assertie zonder predicaat"
# ... dit klinkt echt niet - maar wat is hier een beter vertaling voor identifier?
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predicaat moet een naam zijn"
# is "asserteren" wel een echt woord?
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" opnieuw geasserteerd"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "niet-beëindigde #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "niet-beëindigd commentaar"
# FIXME: hoort niet echt een vertaalbare string te zijn :-)
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "standaarduitvoer"
@@ -538,85 +538,85 @@ msgstr "(\"%s\" is een alternatieve schrijfwijze voor \"%s\" in C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "dit gebruik van \"define\" is mogelijk niet overdraagbaar"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "gebruikergedefinieerde constante in preprocessor-expressie"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "floating-point constante in preprocessor-expressie"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginair getal in preprocessor-expressie"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" is niet gedefinieerd"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "assertions zijn een uitbreiding van GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "assertions zijn een afgekeurde uitbreiding"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "niet-gebalanceerde stack in %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' is onmogelijk"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "')' ontbreekt in expressie"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' zonder daaropvolgende ':'"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "integer-overflow in preprocessor-expressie"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "'(' ontbreekt in expressie"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "de linker operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "de rechter operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "traditioneel C verwerpt de unaire plus-operator"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "komma-operator in operand van '#if'"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "deling door nul in '#if'"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "de \"__has_include__\" operator vereist een headerstring"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "')' ontbreekt na \"__has_include__\""
@@ -634,40 +634,40 @@ msgid "no include path in which to search for %s"
msgstr "geen invoegpad waarin naar %s gezocht kan worden"
# goede vertaling voor "include guard"?
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Meerdere invoegbeschermingen zouden nuttig kunnen zijn voor:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "'cppchar_t' moet een tekenloos type zijn"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "preprocessor-rekensommen hebben een maximale precisie van %lu bits; de doelomgeving vereist %lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-rekensommen moet minstens even precies zijn als een int in de doelomgeving"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "char is minder dan 8 bits breed in de doelomgeving"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "'wchar_t' is smaller dan char in de doelomgeving"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "int is smaller dan char in de doelomgeving"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer is smaller dan een CPP char"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kan op deze host geen brede tekenconstantes aan van meer dan %lu bits, maar de doelomgeving vereist %lu bits"
@@ -743,260 +743,262 @@ msgid "identifier \"%s\" is a special operator name in C++"
msgstr "de aanduiding \"%s\" is een speciale operatornaam in C++"
# betere vertaling voor "raw string delimiter"?
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "rauwe stringscheiding is langer dan 16 tekens"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "ongeldige newline in rauwe stringscheiding"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ongeldig teken '%c' in rauwe stringscheiding"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "niet-beëindigde rauwe string"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ongeldige suffix aan constante; C++11 vereist een spatie tussen constante en stringmacro"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "nulteken(s) in een constante worden behouden"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "afsluitend %c-teken ontbreekt"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vereist een spatie tussen stringconstante en macro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "commentaar in C++-stijl is niet toegestaan in ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(dit wordt per invoerbestand maar één keer gemeld)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "commentaar in C++-stijl is incompatibel met C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "commentaar gespreid over meerdere regels"
# lijkt een vreemde boodschap...
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "kan token %s niet spellen"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' mag niet voorkomen aan het begin of einde van een macro-expansie"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "macro \"%s\" wordt nergens gebruikt"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ongeldige ingebouwde macro \"%s\""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "macro \"%s\" kan reproduceerbare compilaties verhinderen"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "kan tijdsstempel van bestand niet achterhalen"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "kan datum en tijd niet achterhalen"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "expansie van __COUNTER__ binnenin commando terwijl -fdirectives-only opgegeven is"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "ongeldige stringconstante; laatste '\\' wordt genegeerd"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "het plakken van \"%s\" en \"%s\" levert geen geldig preprocessing token op"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vereist minstens één argument voor de \"...\" in een variadische macro"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vereist minstens één argument voor de \"...\" in een variadische macro"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "macro \"%s\" vereist %u argumenten, maar er werden er slechts %u opgegeven"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "macro \"%s\" kreeg %u argumenten, maar heeft er slechts %u nodig"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "niet-beëindigde argumentenlijst bij aanroep van macro \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "functie-achtige macro \"%s\" moet in traditioneel C altijd met argumenten gebruikt worden"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "aanroep van macro %s argument %d: lege macro-argumenten zijn ongedefinieerd in ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "aanroep van macro %s argument %d: lege macro-argumenten zijn ongedefinieerd in ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "herhaalde macro-parameter \"%s\""
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" mag niet voorkomen in lijst van macro-parameters"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "macro-parameters moet door komma's gescheiden worden"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "parameternaam ontbreekt"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "onverwacht einde van bestand na #line"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonieme variadische macro's werden geïntroduceerd in C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonieme variadische macro's werden geïntroduceerd in C99"
# variadic? " met variabele argumentenlijst" is nogal lang...
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ staat geen benoemde variadische macro's toe"
# variadic? " met variabele argumentenlijst" is nogal lang...
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C staat geen benoemde variadische macro's toe"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "')' ontbreekt in lijst van macro-parameters"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' mag niet voorkomen aan het begin of einde van een macro-expansie"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vereist witruimte na de macronaam"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vereist witruimte na de macronaam"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "witruimte ontbreekt na de macronaam"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' wordt niet gevolgd door de naam van een macro-parameter"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" opnieuw gedefinieerd"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "dit is de plaats van de eerdere definitie"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "macro-argument \"%s\" zou string gemaakt worden in traditioneel C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "ongeldig hash-type %d in 'cpp_macro_definition'"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "bij het schrijven van een voorgecompileerde header"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: niet gebruikt omdat \"%.*s\" vergiftigd is"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: niet gebruikt omdat \"%.*s\" niet gedefinieerd werd"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: niet gebruikt omdat \"%.*s\" als \"%s\" (en niet als \"%.*s\") gedefinieerd werd"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: niet gebruikt omdat \"%s\" gedefinieerd is"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: niet gebruikt omdat \"__COUNTER__\" ongeldig is"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "bij het lezen van een voorgecompileerde header"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "recursie gedetecteerd bij uitwerken van macro \"%s\""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "syntaxfout in lijst van macro-parameters"
@@ -1012,6 +1014,21 @@ msgstr "syntaxfout in lijst van macro-parameters"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s is korter dan verwacht"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" mag niet voorkomen in lijst van macro-parameters"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "macro-parameters moet door komma's gescheiden worden"
+
+#~ msgid "parameter name missing"
+#~ msgstr "parameternaam ontbreekt"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "')' ontbreekt in lijst van macro-parameters"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "ongeldig hash-type %d in 'cpp_macro_definition'"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Teken %x is misschien niet NFKC"
diff --git a/libcpp/po/pt_BR.po b/libcpp/po/pt_BR.po
index 51c9d61..fd8f9b3 100644
--- a/libcpp/po/pt_BR.po
+++ b/libcpp/po/pt_BR.po
@@ -1,13 +1,13 @@
# Brazilian Portuguese translation for cpplib
-# Copyright (C) 2018 Free Software Foundation, Inc.
+# Copyright (C) 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2014, 2016-2018.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2019.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-01-29 17:52-0200\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-05 20:29-0200\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
"Language: pt_BR\n"
@@ -87,7 +87,7 @@ msgstr "caractere universal %.*s não é válido em um identificador"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "caractere universal %.*s não é válido no começo de um identificador"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "convertendo UCN para conjunto de caracteres fonte"
@@ -138,294 +138,294 @@ msgstr "convertendo sequência de escape para conjunto de caracteres de execuç
msgid "missing open quote"
msgstr "faltando abrir aspas"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "constante caractere muito longa para seu tipo"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "constante de caractere multi-caractere"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "constante caractere vazia"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "falha ao converter %s para %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "tokens extras ao final da diretiva #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s é uma extensão GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s é uma extensão GCC obsoleta"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "sugere-se não usar #elif em C tradicional"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s com o # com recuo"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "sugere-se ocultar #%s do C tradicional com um # com recuo"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "embutir uma diretiva dentro de argumentos macro não é portátil"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "estilo de diretiva de linha é uma extensão GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "diretiva de preprocessamento inválida #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" não pode ser usado como um nome de macro"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" não pode ser usado como um nome de macro"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" não pode ser usado como um nome de macro, pois é um operador em C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "nenhum nome de macro fornecido na diretiva #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "nomes de macro devem ser identificadores"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "removendo definição de \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "faltando caractere terminador >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOME DE ARQUIVO\" OU <NOME DE ARQUIVO>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "nome de arquivo vazio em #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include aninhado profundo demais"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next no arquivo fonte primário"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "opção inválida \"%s\" na diretiva de linha"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "fim de arquivo inesperado após #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" após #line não é um inteiro positivo"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "número da linha fora de alcance"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" não é um nome de arquivo válido"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" após # não é um inteiro positivo"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "marcador de linha do arquivo \"%s\" ignorado em razão de aninhamento incorreto"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "diretiva inválida #%s"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrando pragmas em espaço de nomes \"%s\" com expansão de nome incompatível"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrando pragma \"%s\" com expansão de nome e nenhum espaço de nomes"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrando \"%s\" como tanto um pragma e um espaço de nomes de pragma"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s já está registrado"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s já está registrado"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "registrando pragma com manipulador NULO"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma ocorre uma vez no arquivo principal"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "diretiva inválida #pragma push_macro"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "diretiva inválida #pragma pop_macro"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "diretiva inválida #pragma GCC poison"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "envenenando macro existente \"%s\""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fora do arquivo include"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "não foi possível localizar o arquivo fonte %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "arquivo atual é mais velho do que %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "diretiva inválida \"#pragma GCC %s\""
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma leva uma literal de string entre parenteses"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else sem #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else após #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "a condicional começou aqui"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif sem #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif após #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif sem #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "faltando \"(\" após predicado"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "faltando \")\" para uma resposta completa"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "resposta do predicado está vazia"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "asserção sem predicado"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predicado deve ser um identificador"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-assertado"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "#%s não terminado"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "comentário não terminado"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "saída padrão"
@@ -518,84 +518,84 @@ msgstr "(\"%s\" é um token alternativo para \"%s\" em C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "esse uso de \"defined\" pode não ser portátil"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida pelo usuário em expressão do preprocessador"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "constante flutuante em expressão do preprocessador"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "número imaginário em expressão do preprocessador"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" não está definido, avalia para 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "asserções (assertions) são uma extensão GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "asserções (assertions) são uma extensão obsoleta"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "pilha não balanceada em %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operador impossível \"%u\""
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "faltando \")\" na expressão"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "\"?\" sem estar seguido por \":\""
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "estouro de inteiro em expressão do preprocessador"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "faltando \"(\" na expressão"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "o operador à esquerda de \"%s\" altera o sinal quando promovido"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "o operador à direita de \"%s\" altera o sinal quando promovido"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rejeita o operador unário mais"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "operador vírgula em operando de #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "divisão por zero em #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "operador \"__has_include__\" requer uma string de cabeçalho"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "faltando \")\" após \"__has_include__\""
@@ -612,40 +612,40 @@ msgstr "use -Winvalid-pch para mais informações"
msgid "no include path in which to search for %s"
msgstr "não foi incluído nenhum caminho no qual se possa procurar por %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Múltiplos include guards podem ser úteis para:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t deve ser um tipo não assinado"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "aritmética do preprocessador possui uma precisão máxima de %lu bits; o alvo requer %lu bits"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "aritmética do CPP deve ser pelo menos tão precisa quanto um int alvo"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "char alvo é menor do que 8 bits"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t alvo é mais estreito do que o char alvo"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "int alvo é mais estreito do que o char alvo"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "meio-inteiro do CPP é mais estreito do que o caractere do CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP nesta máquina não consegue manipular constantes de wide character acima de %lu bits, mas o alvo requer %lu bits"
@@ -717,260 +717,275 @@ msgstr "__VA_ARGS__ pode aparecer apenas na expansão de uma macro variádica C9
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identificador \"%s\" é o nome de um operador especial em C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "delimitador de string não tratada (raw) maior do que 16 caracteres"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "nova linha inválida em delimitador de string não tratada (raw)"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caractere inválido \"%c\" em delimitador de string não tratada (raw)"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "string não tratada (raw) não terminada"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "sufixo inválido em literal; C++11 requer um espaço entre literal e macro de string"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "um ou mais caracteres nulos preservados em literal"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "faltando o caractere de terminação %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 requer um espaço entre literal e macro de string"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "comentários no estilo C++ não são permitidos em ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(isso será relatado apenas uma vez por arquivo de entrada)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "comentários no estilo C++ são incompatíveis com C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "comentário multilinha"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "token %s impronunciável"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "\"##\" não pode aparecer no final de __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "macro \"%s\" não é usada"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna inválida \"%s\""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "macro \"%s\" pode evitar compilações reproduzíveis"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "não foi possível determinar o arquivo de marca de tempo"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "não foi possível determinar a data e a hora"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ expandido dentro diretiva com -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "literal de string inválida, ignorando final \"\\\""
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "colar \"%s\" em \"%s\" não resulta em nenhum token de preprocessamento válido"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 requer pelo menos um argumento para o \"...\" em uma macro variádica"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 requer pelo menos um argumento para o \"...\" em uma macro variádica"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "macro \"%s\" requer %u argumentos, mas apenas %u foram fornecidos"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "macro \"%s\" passou %u argumentos, mas usa apenas %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "lista de argumentos interminável chamando macro \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "macro \"%s\" do tipo função deve ser usada com argumento em C tradicional"
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33305
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "chamando macro %s argumento %d: argumentos de macro vazios estão indefinidos em ISO C++98"
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33305
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "chamando macro %s argumento %d: argumentos de macro vazios estão indefinidos em ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parâmetro de macro \"%s\" duplicado"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "esperava nome de parâmetro, encontrou \"%s\""
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" não pode aparecer na lista de parâmetros de macro"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "esperava \",\" ou \")\", encontrou \"%s\""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "parâmetros de macro devem ser separados por vírgula"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "esperava nome de parâmetro antes do fim de linha"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "faltando nome de parâmetro"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "esperava \")\" antes do fim de linha"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "esperava \")\" após \"...\""
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "macros variádicas anônimas foram introduzidas em C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "macros variádicas anônimas foram introduzidas em C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ não permite macros variádicas nomeadas"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C não permite macros variádicas nomeadas"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "faltando \")\" na lista de parâmetros de macro"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "\"##\" não pode aparecer no final da expansão de macro"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 requer espaço em branco após o nome de macro"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requer espaço em branco após o nome de macro"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "faltando espaço em branco após o nome de macro"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "\"#\" não está seguido por um parâmetro de macro"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" re-definido"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "essa é a localização da definição anterior"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "argumento de macro \"%s\" estaria em uma string no C tradicional"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "tipo de hash inválido %d em cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "enquanto realizava escrita de cabeçalho pré-compilado"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: não usado porque \"%.*s\" está envenenado"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: não usado porque \"%.*s\" não está definido"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: não usado porque \"%.*s\" está definido como \"%s\", e não \"%.*s\""
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: não usado porque \"%s\" está definido"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: não usado porque \"__COUNTER__\" é inválido"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "enquanto realizava leitura de cabeçalho pré-compilado"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "detectada recursão enquanto expandia macro \"%s\""
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "erro de sintaxe na lista de parâmetros de macro"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" não pode aparecer na lista de parâmetros de macro"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "parâmetros de macro devem ser separados por vírgula"
+
+#~ msgid "parameter name missing"
+#~ msgstr "faltando nome de parâmetro"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "faltando \")\" na lista de parâmetros de macro"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "tipo de hash inválido %d em cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "diretório NULO em find_file"
diff --git a/libcpp/po/ru.po b/libcpp/po/ru.po
index f99627f..2cfe2a4 100644
--- a/libcpp/po/ru.po
+++ b/libcpp/po/ru.po
@@ -2,13 +2,13 @@
# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
#
-# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-02-04 10:01+0300\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-06 18:46+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
"Language: ru\n"
@@ -88,7 +88,7 @@ msgstr "универсальный символ %.*s недопустим в и
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "универсальный символ %.*s недопустим в начале идентификатора"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "преобразование UCN в простой набор символов исходного кода"
@@ -139,294 +139,294 @@ msgstr "преобразование экранированной последо
msgid "missing open quote"
msgstr "отсутствует открывающая кавычка"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "символьная константа слишком длинна для своего типа"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "многознаковая символьная константа"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "пустая символьная константа"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "ошибка при преобразовании %s в %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "лишние токены в конце директивы #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s является расширением GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s является устаревшим расширением GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "предполагается не использование #elif в традиционном C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "в традиционном C игнорируется #%s с отступом у #"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "предполагается скрытие #%s из традиционного C с отступом у #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "встраивание директивы внутрь аргументов макроса не переносимо"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "стиль строковых директив является расширением GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильная препроцессорная директива #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "«defined» не может использоваться как имя макроса"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "«__has_include__» не может использоваться как имя макроса"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "«%s» не может использоваться как имя макроса в качестве оператора в C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не указано имя макроса в директиве #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "имена макросов должны быть идентификаторами"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "неопределённая «%s»"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "отсутствует завершающий символ >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "для #%s ожидается \"ИМЯ_ФАЙЛА\" или <ИМЯ_ФАЙЛА>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "пустое имя файла в #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "слишком много вложенных #include"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next в первичном исходном файле"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неверный флаг «%s» в строковой директиве"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "неожиданный конец файла после #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "«%s» после #line не является положительным целым числом"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "номер строки вне допустимых пределов"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "«%s» не является допустимым именем файла"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "«%s» после # не является положительным целым числом"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "маркер строки файла «%s» игнорируется из-за некорректной вложенности"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "неправильная директива #%s"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "регистрируется прагма в пространстве имён «%s» с несовпадающим именным расширением"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "регистрируется прагма «%s» с именным расширением, но без пространства имён"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "регистрируется «%s» как прагма и как пространство имён для прагм"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s уже зарегистрирована"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s уже зарегистрирована"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "регистрируется прагма со значением обработчика равным NULL"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once в главном файле"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "неверная директива #pragma push_macro"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "неверная директива #pragma pop_macro"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "неверная директива #pragma GCC poison"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "отравление существующего макроса «%s»"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header игнорируется вне включаемого файла"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "не удалось найти исходный файл %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "текущий файл старее чем %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неверная директива #pragma GCC %s"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "для _Pragma требуется указать строковый литерал в скобках"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else после #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "условие начинается здесь"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif без #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif после #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "отсутствует «(» после предиката"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "отсутствует «)» для завершения ответа"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "ответ предиката пуст"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "утверждение без предиката"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "предикат должен быть идентификатором"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "повторное утверждение «%s»"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "незавершённая #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "незавершённый комментарий"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -519,84 +519,84 @@ msgstr "(«%s» является альтернативой токену «%s»
msgid "this use of \"defined\" may not be portable"
msgstr "такое использование «defined» может оказаться непереносимым"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "определённый пользователем литерал в препроцессорном выражении"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "плавающая константа в препроцессорном выражении"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "мнимое число в препроцессорном выражении"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "«%s» не определена, оценивается как 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "утверждения являются расширением GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "утверждения являются устаревшим расширением"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "несбалансированный стек в %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "невозможный оператор «%u»"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "отсутствующая «)» в выражении"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "«?» без последующего «:»"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "целочисленное переполнение в препроцессорном выражении"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "отсутствующая «(» в выражении"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "левый операнд «%s» изменяет знак при появлении"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "операнд операнд «%s» изменяет знак при появлении"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "в традиционном C отвергается оператор унарного сложения"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "оператор запятая в операнде #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "деление на ноль в #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "для оператора «__has_include__» требуется строка заголовка"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "отсутствует «)» после «__has_include__»"
@@ -613,40 +613,40 @@ msgstr "используйте -Winvalid-pch для более подробно
msgid "no include path in which to search for %s"
msgstr "отсутствует путь для включаемых файлов, в котором ищется %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Несколько защит подключения может быть полезно для:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t должна быть беззнакового типа"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "препроцессорная арифметика имеет максимальную точность равную %lu бит; для цели требуется %lu бит"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "точность арифметики CPP должна быть не менее значения int цели"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "ширина char у цели менее 8 бит"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t цели уже чем char цели"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "int цели уже чем char цели"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "ширина половины integer CPP уже чем символ CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP на данной машине не может работать с широкими символьными константами более %lu бит, но для цели требуется %lu бит"
@@ -718,258 +718,273 @@ msgstr "__VA_ARGS__ может появляться только в расшир
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "идентификатор «%s» является именем специального оператора в C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "разделитель сырой строки больше 16 символов"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "неверный символ новой строки в разделителе сырой строки"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неверный символ «%c» в разделителе сырой строки"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "незавершённая сырая строка"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неверный суффикс в литерале; в C++11 требуется пробел между литералом и строкой макроса"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "символ(ы) null сохраняются в литерале"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "отсутствует завершающий символ %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "в C++11 требуется пробел между строковым литералом и макросом"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "комментарии в стиле C++ не разрешены в ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(об этом будет сообщено только один раз для каждого файла)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "комментарии в стиле C++ не совместимы с C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "многострочный комментарий"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "неразбираемый токен %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "«##» не может указываться в конце __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "макрос «%s» не используется"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "неверный встроенный макрос «%s»"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "макрос «%s» может помешать повторным сборкам"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "не удалось определить временную метку файла"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "не удалось определить дату и время"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ раскрывается внутри директивы при указании параметра -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "неверный строковый литерал, игнорируется завершающий «\\»"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "вставка «%s» и «%s» не даёт правильного препроцессорного токена"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "В ISO C++11 требуется не менее одного аргумента для «…» в вариативном макросе"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "В ISO C99 требуется не менее одного аргумента для «…» в вариативном макросе"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "для макроса «%s» требуется %u аргументов, но указано только %u"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "в макрос «%s» передано %u аргументов, но используется только %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "незавершённый список аргументов вызывает макрос «%s»"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "макрос «%s», похожий на функцию, должен использоваться с аргументами в традиционном C"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "вызывается макрос %s (количество аргументов %d): пустые аргументы макрос не определены в ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "вызывается макрос %s (количество аргументов %d): пустые аргументы макрос не определены в ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "повторяющийся параметр макроса «%s»"
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "ожидалось имя параметра, обнаружено «%s»"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "«%s» может не появиться в списке параметров макроса"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "ожидалась «,» или «)», обнаружено «%s»"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "параметры макроса должны указываться через запятую"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "ожидалось имя параметра до конца строки"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "отсутствует имя параметра"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "ожидалась «)» до конца строки"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "ожидалась «)» после «…»"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "анонимные вариативные макросы появились в C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "анонимные вариативные макросы появились в C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "В ISO C++ не разрешены вариативные именованные макросы"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "В ISO C не разрешены вариативные именованные макросы"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "отсутствует «)» в списке параметров макроса"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "«##» не может указываться в конце макрорасширения"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "В ISO C++11 требуется пробельный символ после имени макроса"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "в ISO C99 требуется пробельный символ после имени макроса"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "отсутствует пробельный символ после имени макроса"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "после «#» нет параметра макроса"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "«%s» переопределён"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "это расположение предыдущего определения"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "аргумент макроса «%s» был бы строкой, оформленной в традиционном стиле С"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "неверный тип хэша %d в cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "при записи прекомпилированного заголовка"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: не используется, так как «%.*s» отравлен"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: не используется, так как «%.*s» не определён"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: не используется, так как «%.*s», определённый как «%s», не «%.*s»"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: не используется, так как «%s» определён"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: не используется, так как значение «__COUNTER__» неправильно"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "при чтении прекомпилированного заголовка"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "обнаружена рекурсия во время раскрытия макроса «%s»"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "синтаксическая ошибка в списке параметров макроса"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "«%s» может не появиться в списке параметров макроса"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "параметры макроса должны указываться через запятую"
+
+#~ msgid "parameter name missing"
+#~ msgstr "отсутствует имя параметра"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "отсутствует «)» в списке параметров макроса"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "неверный тип хэша %d в cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "каталог NULL в find_file"
diff --git a/libcpp/po/sr.po b/libcpp/po/sr.po
index 2ca421b..55aa4ea 100644
--- a/libcpp/po/sr.po
+++ b/libcpp/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib-7.1-b20170101\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2017-01-27 07:31+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -86,7 +86,7 @@ msgstr "свеопшти знак %.*s није исправан у одредн
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "свеопшти знак %.*s није исправан на почетку одредника"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "претварам НСЗ у изворни знаковни скуп"
@@ -137,294 +137,294 @@ msgstr "претварам низ промене у знаковни скуп и
msgid "missing open quote"
msgstr "недостаје отворена заграда"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "константа знака је предуга за своју врсту"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "више-знаковна константа знака"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "празна константа знака"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "неуспех у претварању %s у %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "посебни симболи на крају #%s директиве"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s је ГЦЦ проширење"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s је превазиђено ГЦЦ проширење"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "саветује да се не користи „#elif“ у уобичајеном Ц-у"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "уобичајени Ц занемарује #%s са # увученим"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "саветује скривање #%s из уобичајеног Ц-а са увученим #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "угнежђивање директиве унутар аргумената макроа није преносиво"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "стил директиве реда је ГЦЦ проширење"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неисправна директива предобраде #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "„defined“ не може бити коришћено као назив макроа"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "„__has_include__“ не може бити коришћено као назив макроа"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "„%s“ не може бити коришћено као назив макроа јер је то оператор у Ц++-у"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "није дат назив макроа у #%s директиви"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "називи макроа морају бити одредници"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "неодређујем „%s“"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "недостаје завршни знак >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очекује „НАЗИВДАТОТЕКЕ“ или <НАЗИВДАТОТЕКЕ>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "празан назив датотеке у #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include је угнежђено превише дубоко"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next у примарној изворној датотеци"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неисправна опција „%s“ у директиви реда"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "неочекивани крај датотеке након „#line“"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "„%s“ након „#line“ није позитиван цео број"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "број реда је ван опсега"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "„%s“ није исправан назив датотеке"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "„%s“ након „#“ није позитиван цео број"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "датотека „%s“ означавач реда занемаренa због нетачног угњежђавања"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "неисправна #%s директива"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "бележим прагме у простору назива „%s“ са неодговарајућим ширењем назива"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "бележим прагму „%s“ са ширењем назива и без простора назива"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "бележим „%s“ и као прагму и као простор назива прагме"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s је већ забележено"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s је већ забележено"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "бележим прагму са НИШТАВНИМ руковаоцем"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma једном у главној датотеци"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "неисправна „#pragma push_macro“ директива"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "неисправна „#pragma pop_macro“ директива"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "неисправна „#pragma GCC poison“ директива"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "трујем постојећи макро „%s“"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "„#pragma system_header“ је занемарено изван датотеке укључивања"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "не могу да пронађем изворну датотеку „%s“"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "текућа датотека је старија од %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неисправна директива „#pragma GCC %s“"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Прагма узима словност ниске затворене заградом"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "„#else“ без „#if“"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "„#else“ након „#else“"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "условљеност почиње овде"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "„#elif“ без „#if“"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "„#elif“ након „#else“"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "„#endif“ без „#if“"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "недостаје ( након предиката"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "недостаје ) да доврши одговор"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "одговор предиката је празан"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "тврдња без предиката"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "предикат мора бити одредник"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "„%s“ је поново утврђен"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "неокончано #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "неокончана напомена"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "стдизлаз"
@@ -519,84 +519,84 @@ msgstr "(„%s“ је резервни симбол за „%s“ у Ц++-у)"
msgid "this use of \"defined\" may not be portable"
msgstr "ова употреба „defined“ не може бити преносива"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "словност коју је одредио корисник у изразу претпроцесора"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "покретна константа у изразу претптоцесора"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "имагинаран број у изразу претптоцесора"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "„%s“ није одређено, процењује се на 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "тврдње су ГЦЦ проширења"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "тврдње су застарела проширења"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "неуравнотежен стек у %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "немогућ оператор у „%u“"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "недостаје ) у изразу"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "„?“ без пратећег „:“"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "прекорачење целог броја у изразу претпроцесора"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "недостаје ( у изразу"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "леви операнд за „%s“ мења знак када је претворен"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "десни операнд за „%s“ мења знак када је претворен"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "уобичајени Ц одбацује унарни плус оператор"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "оператор зареза у операнду „#if“"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "дељење нулом у „#if“"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "оператор „__has_include__“ захтева ниску заглавља"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "недостаје ) након „__has_include__“"
@@ -613,40 +613,40 @@ msgstr "користите „-Winvalid-pch“ за више података"
msgid "no include path in which to search for %s"
msgstr "нема путање укључивања у којој потражити „%s“"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Више чувара укључивања може бити корисно за:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "„cppchar_t“ мора бити неозначена врста"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "аритметика претпроцесора има највећу тачност од %lu бита; мета затева %lu бита"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "ЦПП аритметика мора бити тачна барем колико и циљни цео број"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "циљни знак је дужи мање од 8 бита"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "циљни широки знак (wchar_t) је ужи од циљног знака"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "циљни цео број је ужи од циљног знака"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "ЦПП полуцео број је ужи од ЦПП знака"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "ЦПП на овом рачунару не може да рукује дуге константе знака преко %lu бита, али мета захтева %lu бита"
@@ -720,260 +720,277 @@ msgstr "„__VA_ARGS__“ може само да се појави у ширењ
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "одредник „%s“ је назив посебног оператора у Ц++-у"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "граничник сирове ниске је дужи од 16 знака"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "неисправан нови ред у граничнику сирове ниске"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неисправан знак „%c“ у граничнику сирове ниске"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "неокончана сирова ниска"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неисправан суфикс у словности; Ц++11 захтева размак између словности и макроа ниске"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "ништаван знак је причуван у словности"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "недостаје завршни знак %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "Ц++11 захтева размак између словности и макроа ниске"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Напомене Ц++ стила нису допуштене у ИСО Ц90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(ово ће бити извештено само једном по улазној датотеци)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "Напомене Ц++ стила нису сагласне са Ц90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "напомена више редова"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "неизговорљив симбол %s"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "„##“ не може да се појави у или на крају макро ширења"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "макро „%s“ није коришћен"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "неисправан макро уградње „%s“"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "макро „%s“ може да спречи поновљиве изградње"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "не могу да одредим временску ознаку датотеке"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "не могу да одредим датум и време"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "„__COUNTER__“ је проширен у директиви са „-fdirectives-only“"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "неисправна словност ниске, занемарујем завршну \\"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "налепљивање „%s“ и „%s“ не даје исправан симбол претпроцесора"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ИСО Ц++11 захтева барем један аргумент за „...“ у вариадик макроу"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ИСО Ц99 захтева барем један аргумент за „...“ у вариадик макроу"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "макро „%s“ захтева %u аргумента, али само %u су дата"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "макро „%s“ је проследио %u аргумента, али узима само %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "бесконачан списак аргумената призивајући макро „%s“"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "макро налик функцији „%s“ мора бити коришћен са аргументима у уобичајеном Ц-у"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "призивајући макро %s аргумент %d: празни аргументи макроа нису одређени у ИСО Ц++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "призивајући макро %s аргумент %d: празни аргументи макроа нису одређени у ИСО Ц90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "параметар двоструког макроа „%s“"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "„%s“ не може да се појави у списку параметара макроа"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "параметри макроа морају бити раздвојени зарезом"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "недостаје назив параметра"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "неочекивани крај датотеке након „#line“"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "безимени вариадик макрои су уведени у Ц++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "безимени вариадик макрои су уведени у Ц99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ИСО Ц++ не дозвољава именоване вариадик макрое"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ИСО Ц не дозвољава именоване вариадик макрое"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "недостаје ) у списку параметара макроа"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "„##“ не може да се појави у или на крају макро ширења"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ИСО Ц++11 захтева празнине након назива макроа"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ИСО Ц99 захтева празнине након назива макроа"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "недостаје празнина након назива макроа"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "за „#“ не следи параметар макроа"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "„%s“ је поново одређено"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "ово је место претходне одреднице"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "макро аргумент „%s“ ће бити нискован у уобичајеном Ц-у"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "неисправна врста хеша %d у цпп_макро_одредници"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "за време уписивања претходно преведеног заглавља"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: није употребљено зато што је „%.*s“ отровано"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: није употребљено зато што „%.*s“ није одређено"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: није употребљено зато што „%.*s“ одређено као „%s“ није „%.*s“"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: није употребљено зато што је „%s“ одређено"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: није употребљено зато што „__COUNTER__“ није исправно"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "за време читања претходно преведеног заглавља"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "откривено је дубачење за време ширења макроа „%s“"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "садржајна грешка у списку параметара макроа"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "„%s“ не може да се појави у списку параметара макроа"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "параметри макроа морају бити раздвојени зарезом"
+
+#~ msgid "parameter name missing"
+#~ msgstr "недостаје назив параметра"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "недостаје ) у списку параметара макроа"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "неисправна врста хеша %d у цпп_макро_одредници"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "НИШТАВАН директоријум у пронађи_датотеку"
diff --git a/libcpp/po/sv.po b/libcpp/po/sv.po
index 34ef5e6..f26eb5e 100644
--- a/libcpp/po/sv.po
+++ b/libcpp/po/sv.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 8.1-b20180128\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2018-01-30 09:39+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -89,7 +89,7 @@ msgstr "universellt tecken %.*s är inte giltigt i en identifierare"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universellt tecken %.*s är inte giltigt vid början av en identifierare"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "vid konvertering av UCN källteckenuppsättning"
@@ -140,294 +140,294 @@ msgstr "vid konvertering av specialsekvens till teckenuppsättning för körning
msgid "missing open quote"
msgstr "inledande citationstecken saknas"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "teckenkonstant för lång för sin typ"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "flerteckens teckenkonstant"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "tom teckenkonstant"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "misslyckades att konvertera %s till %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "extra symboler vid slutet av direktivet #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s är en GCC-utvidgning"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s är en GCC-utvidgning som avrådes ifrån"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "föreslår att inte använda #elif i traditionell C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionell C ignorerar #%s där tecknet # är indenterat"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "föreslår att dölja #%s från traditionell C med en indenterad #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "att bädda in ett direktiv i makroargument är inte portabelt"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "stil på raddirektiv är en GCC-utvidgning"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ogiltigt preprocessordirektiv #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "”defined” kan inte användas som ett makronamn"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "”__has_include__” kan inte användas som ett makronamn"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” kan inte användas som ett makronamn eftersom det är en operator i C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "inget makronamn angivet i direktivet #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "makronamn måste vara identifierare"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "avdefinierar ”%s”"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "saknar avslutande tecken >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s förväntar ”FILNAMN” eller <FILNAMN>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnamn i #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include nästlad för djupt"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next i primär källkodsfil"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ogiltig flagga ”%s” i line-direktiv"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "oväntat filslut efter #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "”%s” efter #line är inte ett positivt heltal"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "radnummer utanför möjligt intervall"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” är inte ett giltigt filnamn"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "”%s” efter # är inte ett positivt heltal"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "filen ”%s” linjemarkör ignoreras på grund av felaktig nästning"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "ogiltigt #%s-direktiv"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrerar pragman i namnrymden ”%s” med namnexpansion som inte passar ihop"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerar pragma ”%s” med namnexpansion och utan namnrymd"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registrerar ”%s” både som ett pragma och ett pragma namespace"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s är redan registrerat"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s är redan registrerat"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "registrerar pragma med NULL-hanterare"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once i huvudfil"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "ogiltigt direktiv #pragma push_macro"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "ogiltigt direktiv #pragma pop_macro"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "ogiltigt direktiv #pragma GCC poison"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "förgiftar existerande makro ”%s”"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorerat utanför huvudfil"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "kan inte hitta källfil %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "aktuell fil är äldre än %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ogiltigt direktiv ”#pragma GCC %s”"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tar en strängkonstant inom parenteser"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else utan #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "villkorssatsen började här"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif utan #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif efter #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif utan #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "saknas '(' efter predikat"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "saknas ')' för att avsluta svaret"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "predikatets svar är tomt"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "försäkran utan predikat"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "predikat måste vara en identifierare"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” omförsäkrat"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "oavslutad #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "ej avslutad kommentar"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "standard ut"
@@ -520,84 +520,84 @@ msgstr "(”%s” är en alternativ symbol för ”%s” i C++)"
msgid "this use of \"defined\" may not be portable"
msgstr "denna användning av ”defined” är kanske inte portabel"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "användardefinierad konstant i preprocessoruttryck"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "flyttalskonstant i preprocessoruttryck"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "imaginärt tal i preprocessoruttryck"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” är inte definierad, beräknas till 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "försäkringar är en GCC-utvidgning"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "försäkringar är en utvidgning som avrådes ifrån"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "obalanserad stack i %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "omöjlig operator ”%u”"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "saknad ”)” i uttryck"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "”?” utan följande ”:”"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "heltalsspill i preprocessoruttryck"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "saknad ”(” i uttryck"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "vänsteroperanden till ”%s” byter tecken vid befordran"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "högeroperanden till ”%s” byter tecken vid befordran"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "traditionell C hanterar inte operatorn unärt plus"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "kommaoperator i operand till #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "division med noll i #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "operatorn ”__has_include__” måste ha en huvudsträng"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "saknar ')' efter ”__has_include__”"
@@ -614,40 +614,40 @@ msgstr "använd -Winvalid-pch för mer information"
msgid "no include path in which to search for %s"
msgstr "ingen huvudfilssökväg att leta efter %s i"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Multipla inkluderingsvakter kan vara användbart för:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t måste vare en teckenlös typ"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "preprocessoraritmetik har en högsta precision på %lu bitar; målet kräver %lu bitar"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetik måste vara åtminstone så precis som målets int"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "målets char är mindre än 8 bitar bred"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "målets wchar_t är smalare än målets char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "målets int är smalare än målets char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP:s halva heltal är smalare än CPP:s tecken"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP på denna värd kan inte hantera breda teckenkonstanter över %lu bitar, men målet kräver %lu bitar"
@@ -719,254 +719,271 @@ msgstr "__VA_ARGS__ kan endast dyka upp i expansionen av ett C99-makro med varia
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identifieraren ”%s” är ett speciellt operatornamn i C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "avgränsare för rå sträng längre än 16 tecken"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "felaktig nyrad i rå sträng-avgränsare"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ogiltigt tecken ”%c” i avgränsare för rå sträng"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "oavslutad rå sträng"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ogiltigt suffix på konstant; C++11 kräver ett mellanrum mellan konstant och strängmakro"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "nolltecken bevarade i konstant"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "avslutande %c-tecken saknas"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 kräver ett mellanrum mellan en strängkonstant och ett makro"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ kommentarer tillåts inte i ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(detta rapporteras bara en gång per infil)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil är inkompatibla med C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "flerradskommentar"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "ostavbar symbol %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "”##” kan inte förekomma vid någon av ändarna av __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makrot ”%s” är inte använt"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ogiltigt inbyggt makro ”%s”"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makrot ”%s” kan förhindra reproducerbara byggen"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "det gick inte att avgöra fils tidsstämpel"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "det gick inte att avgöra datum och tid"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ expanderad inuti direktiv med -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "ogiltig strängkonstant, ignorerar avslutande ”\\”"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "att sätta ihop ”%s” och ”%s” ger inte en giltig preprocessorsymbol"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 kräver åtminstone ett argument för ”...” i ett makro med variabelt antal argument"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 kräver åtminstone ett argument för ”...” i ett makro med variabelt antal argument"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makrot ”%s” kräver %u argument, men endast %u anges"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makro ”%s” skickade %u argument, men det tar bara %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "oavslutad argumentlista vid anrop av makrot ”%s”"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktionsliknande makrot ”%s” måste användas med ett argument i traditionell C"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "vid anrop av makro %s argument %d: tomma makroargument är odefinierade i ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "vid anrop av makro %s argument %d: tomma makroargument är odefinierade i ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "dubblerad makroparameter ”%s”"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "”%s” får inte förekomma i en makroparameterlista"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
+
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "makroparametrar måste avdelas av komman"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
+
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "oväntat filslut efter #line"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "parameternamn saknas"
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyma variabla makron introducerades i C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyma variabla makron introducerades i C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ tillåter inte namngivna variabla makron"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tillåter inte namngivna variabla makron"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "saknad ”)” i makroparameterlista"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” kan inte förekomma vid någon av ändarna av makroexpansionen"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 kräver mellanrum efter makronamnet"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 kräver mellanrum efter makronamnet"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "mellanrum saknas efter makronamn"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "”#” följs inte av en makroparameter"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” omdefinierad"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "detta är platsen för den tidigare definitionen"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makroargumentet ”%s” skulle bli gjort till sträng i traditionell C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "ogiltig hash-typ %d i cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "vid skrivning av förkompilerat huvud"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: inte använd för att ”%.*s” är förgiftad"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: inte använd för att ”%.*s” inte är definierad"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: används inte för att ”%.*s” definieras som ”%s” inte ”%.*s”"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: inte använd för att ”%s” är definierad"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: inte använd för att ”__COUNTER__” är ogiltig"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "vid läsning av förkompilerat huvud"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "upptäckte rekursion vid under expansion av makrot ”%s”"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "syntaxfel i makroparameterlista"
+
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "”%s” får inte förekomma i en makroparameterlista"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "makroparametrar måste avdelas av komman"
+
+#~ msgid "parameter name missing"
+#~ msgstr "parameternamn saknas"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "saknad ”)” i makroparameterlista"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "ogiltig hash-typ %d i cpp_macro_definition"
diff --git a/libcpp/po/tr.po b/libcpp/po/tr.po
index b10e3e5..3828e1e 100644
--- a/libcpp/po/tr.po
+++ b/libcpp/po/tr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.8.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2013-11-01 22:29+0100\n"
"Last-Translator: Volkan Gezer <vlkngzr@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -91,7 +91,7 @@ msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "evrensel karakter %.*s bir belirtecin başında geçerli değil"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "UCN'den kaynak karakter kümesine dönüşüm"
@@ -142,296 +142,296 @@ msgstr "önceleme diziliminden icra karakter kümesine dönüşüm"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "karakter sabiti, türü için çok uzun"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "çoklu-karakter karakter sabiti"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "karakter sabit boş"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "`%s' ile `%s' arasında dönüşüm başarısız"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s yönergesinin sonunda fazladan dizgecikler"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s bir GCC uzantısıdır"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s eskimiş bir GCC uzantısıdır"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "geleneksel C'de #elif kullanılmıyor varsayılır"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "geleneksel C'de girintili # ile #%s yoksayılır"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "geleneksel C'den #%s in saklanması için bir girintili # kullanılmış farzedilir"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "bir yönergenin makro argümanlarla gömülmesi uyarlanabilir değil"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "satır yönergesinin tarzı bir GCC özelliğidir"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "önişlem yönergesi #%s geçersiz"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" makro ismi olarak kullanılamaz"
-#: directives.c:611
+#: directives.c:605
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" makro ismi olarak kullanılamaz"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" C++'da bir işleç olduğundan makro ismi olarak kullanılamaz"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s yönergesinde makro ismi verilmemiş"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "makro isimleri tanımlayıcılar olmalı"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "tanımsız yapılan \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "sonlandıran > karakteri eksik"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s \"DOSYA\" ya da <DOSYA> gerektirir"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "#%s ile belirtilen dosya boş"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include iç içeliği çok derin"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "birncil kaynak dosyasında #include_next"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "satır yönergesinde geçersiz \"%s\" seçeneği"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "#line satırından sonra beklenmeyen dosya sonu"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "satır numarası kapsam dışı"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" geçerli bir dosya ismi değil"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "#%s yönergesi geçersiz"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "\"%s\" isim-alanındaki pragmalar uyumsuz isim yorumlaması ile kaydediliyor"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma \"%s\" isim alansız olarak isim yorumlamasıyla kaydediliyor"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" hem pragma hem de pragma isim alanı olarak kaydediliyor"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s zaten kayıtlı"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s zaten kayıtlı"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "pragma NULL eylemci ile kaydediliyor"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "main dosyasında '#pragma once'"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "geçersiz #pragma GCC poison yönergesi"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "zehirlenen mevcut makro \"%s\""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "başlık dosyasının dışındaki '#pragma system_header' yoksayıldı"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "%s kaynak dosyası bulunamıyor"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "mevcut dosya %s den daha eski"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "geçersiz \"#pragma GCC %s\" yönergesi"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma bir parantezli dizge sabiti alır"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#if siz #else"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else den sonra #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "koşul başlangıcı burası"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#if siz #elif "
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#else den sonra #elif"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#if siz #endif"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "dayanaktan sonra '(' eksik"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "yanıtı tamamlayacak ')' eksik"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "dayanakların cevabı boş"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "dayanaksız olumlama"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "dayanak bir tanımlayıcı olmalı"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" tekrar olumlanmış"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "sonlandırılmamış #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "sonlandırılmamış açıklama"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdÇ"
@@ -530,87 +530,87 @@ msgstr "(C++'da \"%s\" \"%s\" için bir alternatif dizgeciktir)"
msgid "this use of \"defined\" may not be portable"
msgstr "\"defined\" bu kullanımıyla uyarlanabilir olmayabilir"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "önişleyici ifadesinde kullanıcı tanımlı bağımlı"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "önişlemci ifadesinde gerçel sayı taşması"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "önişlemci ifadesinde sanal sayı"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tanımlı değil"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "belirteçler bir GCC uzantısıdır"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "belirteçler artık kullanılmayan bir ifadedir"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s içinde dengelenmemiş yığın"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "işleç '%u' imkansız"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "ifadede ')' eksik"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' dan sonra ':' yok"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "önişlemci ifadesinde tamsayı taşması"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "ifadede '(' eksik"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "\"%s\"in soldaki terimi yükseltgenirken işaret değiştiriyor"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "\"%s\"in sağdaki terimi yükseltgenirken işaret değiştiriyor"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "geleneksel C tekil artı işlecini dışlar"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "#if'in teriminde virgül"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "#if içinde sıfırla bölme"
-#: expr.c:2243
+#: expr.c:2227
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "\"defined\" işleci bir tanımlayıcı gerektirir"
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
@@ -629,40 +629,40 @@ msgstr "daha fazla bilgi almak için -Winvalid-pch kullanın"
msgid "no include path in which to search for %s"
msgstr "%s için aranacaklar içinde başlık dosyaları yolu yok"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t bir usigned tür olmalı"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "önişlemci aritmetiği %lu bitlik maksimum genişliğe sahip; hedef için %lu bit gerekiyor"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP aritmetiği en azından bir hedef int kadar genişlikte olmalı "
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "hedef char 8bitlik genişlikten küçük"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "hedef wchar_t hedef char'dan daha dar"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "hedef int hedef char'dan daha dar"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer'ı CPP character'dan daha dar"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "Bu konaktaki CPP %lu bitten büyük karakter sabitleriyle çalışamaz, hedef ise %lu bit gerektiriyor"
@@ -738,275 +738,277 @@ msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 mak
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "\"%s\" belirteci, C++'da özel bir işleç adıdır"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "ham dizge ayracı 16 karakterden uzun"
-#: lex.c:1815
+#: lex.c:1830
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "ham dizge ayracında geçersiz karakter '%c'"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ham dizge ayracında geçersiz karakter '%c'"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "bitirilmemiş ham dizge"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and identifier"
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "geçersiz ifade soneki; C++11 ifade ve tanımlayıcı arasında bir boşluk gerektirir"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "null karakter(ler) sabit içinde saklanmış"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "sonlandıran %c karakteri eksik"
-#: lex.c:2061
+#: lex.c:2072
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and identifier"
msgid "C++11 requires a space between string literal and macro"
msgstr "geçersiz ifade soneki; C++11 ifade ve tanımlayıcı arasında bir boşluk gerektirir"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(her girdi dosyasında sadece bir kere raporlanacaktır)"
-#: lex.c:2876
+#: lex.c:2887
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "çok satırlı açıklama"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "dizgecik %s okunabilir değil"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' bir makronun her iki ucunda da görünemez"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "\"%s\" makrosu kullanılmadı"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "geçersiz yerleşik makro \"%s\""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "dosya tarih damgası saptanamadı"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "tarih ve saat saptanamadı"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ -fdirectives-only ile talimat içerisinde genişletildi"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "geçersiz dizge sabit, son '\\' yoksayılıyor"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "\"%s\" ve \"%s\" geçişi geçerli bir önişlem dizgeciği vermez"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
#| msgid "ISO C99 requires rest arguments to be used"
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C kalan argümanların kullanılmış olmasını gerektirir"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro \"%s\" %u argüman gerektiriyor ama sadece %u argüman verilmiş"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makro \"%s\" için %u argüman verilmiş ama tam %u argüman alıyor"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "sonlandırılmamış argüman listesi çağıran makro \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "işlev benzeri makro \"%s\" geleneksel C'de argümanlarla kullanılmalıdır"
-#: macro.c:2003
+#: macro.c:2083
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "%s makrosu %d argümanı uygulanıyor: ISO C90 ve ISO C++98 içerisinde boş makro argümanları tanımsızdır"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "%s makrosu %d argümanı uygulanıyor: ISO C90 ve ISO C++98 içerisinde boş makro argümanları tanımsızdır"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "yinelenmiş makro parametresi \"%s\""
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" makro parametre listesinde görünmeyebilir"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "makro parametreleri virgüllerle ayrılmış olmalı"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "parametre ismi eksik"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "#line satırından sonra beklenmeyen dosya sonu"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "argümanlarının sayısı değişebilen anonim makrolar C99 da tanıtıldı"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "argümanlarının sayısı değişebilen anonim makrolar C99 da tanıtıldı"
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C argümanlarının sayısı değişebilen isimli makrolara izin vermez"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C argümanlarının sayısı değişebilen isimli makrolara izin vermez"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "makro parametre listesinde ')' eksik"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' bir makronun her iki ucunda da görünemez"
-#: macro.c:3198
+#: macro.c:3298
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 makro isminden sonra boşluk gerektirir"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 makro isminden sonra boşluk gerektirir"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "makro isminden sonra boşluk gerekir"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' işaretinden sonra bir makro parametresi yok"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" yeniden tanımlanmış"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "burası evvelki tanımın yapıldığı yer"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makro argümanı \"%s\" geleneksel C'de dizgelenmiş olmalıydı"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "cpp_macro_definition içindeki isimli yapı türü %d geçersiz"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "önderlemeli başlık yazılırken"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: `%.*s' zehirli olduğu için kullanılmadı"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: `%.*s' tanımlı olmadığından kullanılmadı"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: `%.*s' kullanılmadı çünkü `%s' olarak tanımlı, `%.*s' değil"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: `%s' tanımlı olduğundan kullanılmadı"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: `__COUNTER__' geçersiz olduğundan kullanılmadı"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "önderlemeli başlık okunurken"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "makro \"%s\" genişletilirken iç içelik saptandı"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "makro parametre listesinde sözdizimi hatası"
@@ -1025,6 +1027,21 @@ msgstr "makro parametre listesinde sözdizimi hatası"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s beklenenden daha kısa"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" makro parametre listesinde görünmeyebilir"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "makro parametreleri virgüllerle ayrılmış olmalı"
+
+#~ msgid "parameter name missing"
+#~ msgstr "parametre ismi eksik"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "makro parametre listesinde ')' eksik"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "cpp_macro_definition içindeki isimli yapı türü %d geçersiz"
+
#~ msgid "warning: "
#~ msgstr "uyarı: "
diff --git a/libcpp/po/uk.po b/libcpp/po/uk.po
index e562a98..85872ef 100644
--- a/libcpp/po/uk.po
+++ b/libcpp/po/uk.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gcc package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 8.1-b20180128\n"
+"Project-Id-Version: cpplib 9.1-b20190203\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
-"PO-Revision-Date: 2018-01-29 23:16+0200\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
+"PO-Revision-Date: 2019-02-05 20:16+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 19.03.70\n"
#: charset.c:674
#, c-format
@@ -89,7 +89,7 @@ msgstr "універсальний символ %.*s не є допустими
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "універсальний символ %.*s не є допустимим на початку ідентифікатора"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "перетворення UCN на первинний набір символів"
@@ -140,294 +140,294 @@ msgstr "escape-послідовність перетворюється на ви
msgid "missing open quote"
msgstr "пропущено початкові лапки"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "символьна константа надто довга для вказаного типу"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "багатосимвольна символьна константа"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "порожня символьна константа"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "помилка при перетворені %s на %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "зайві лексеми наприкінці директиви #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s є розширенням GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s є застарілим розширенням GCC"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "рекомендується не використовувати #elif у традиційній мові C"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "у традиційній мові C ігноруються #%s, якщо # з відступом"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "рекомендується приховувати #%s у традиційній мові C використовуючи відступ перед #"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "вбудована директива з макроаргументами не є переносимою"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "стиль директиви line є розширенням GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильна директива препроцесора #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" не може використовуватись як назва макроса"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" не можна використовувати як назву макроса"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" не може використовуватись як назва макроса, оскільки це - оператор у C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не вказаний макрос у директиві #%s"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "назви макросів повинні бути ідентифікаторами"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "скасовується визначення \"%s\""
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "відсутній завершальний символ >"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очікує \"FILENAME\" або <FILENAME>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "порожня назва файлу у #%s"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "надто глибоке вкладання #include"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next у первинному файлі тексту програми"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "некоректна ознака \"%s\" у директиві line"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "неочікуване завершення файла після #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" після #line не є додатнім цілим числом"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "номер рядка за межами діапазону"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" не є коректною назвою файлу"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" після # не є додатнім цілим числом"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "засіб позначення рядків файла «%s» проігноровано через некоректну вкладеність"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "некоректна директива #%s"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "прагми реєструються у просторі назв \"%s\" за відсутності розширення назв"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "прагма \"%s\" реєструється з розширенням назви але без простору назви"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" реєструється як прагма та як простір назв прагм"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s вже зареєстровано"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s вже зареєстровано"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "реєструється pragma з NULL-обробником"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma один раз у головному файлі"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "некоректна директива #pragma push_macro"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "некоректна директива #pragma pop_macro"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "некоректна директива #pragma GCC poison"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "використання отруєння (poisoning) вже створеного макроса \"%s\""
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header проігноровано за межами включеного файлу"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "не вдається знайти первинний файл %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "поточний файл старіший ніж %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "некоректна директива «#pragma GCC %s»"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma охоплює дужками символьний літерал"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else після #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "умова починається тут"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif без #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif після #else"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "відсутня '(' після предикату"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "відсутня ')' для завершення відповіді"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "відповідь предиката порожня"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "твердження без предиката"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "предикат має бути ідентифікатором"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" повторне ствердження"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "незавершене #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "незавершений коментар"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -520,84 +520,84 @@ msgstr "(\"%s\" - альтернативна лексема для \"%s\" у C++
msgid "this use of \"defined\" may not be portable"
msgstr "використання \"defined\" може бути непереносимим"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "буквальне визначення користувача у виразі для препроцесора"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "константа з плаваючою комою у виразі препроцесора"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "уявне число у виразі препроцесора"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" не визначено, приймаємо значення 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "assertions є розширенням GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "розширення assertions вважається застарілим"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "незбалансований стек у %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "неможливий оператор '%u'"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "відсутня ')' у виразі"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' без наступного ':'"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "переповнення цілого числа у виразі препроцесора"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "відсутня '(' у виразі"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "лівий операнд \"%s\" змінює знак при підвищенні"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "правий оператор \"%s\" змінює знак при підвищенні"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "у традиційній мові C не допускається унарний оператор плюс"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "оператор кома у операнді #if"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "ділення на нуль у #if"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "для оператора \"__has_include__\" потрібен рядок заголовка"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "немає ')' після \"__has_include__\""
@@ -614,40 +614,40 @@ msgstr "докладніша інформація виводиться, якщо
msgid "no include path in which to search for %s"
msgstr "відсутні шлях включення у якому ведеться пошук для %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Декілька include guards можуть бути корисні для:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t має бути беззнакового типу"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "арифметика препроцесора має максимальну точність %lu біт; ціль вимагає %lu біт"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "арифметика CPP повинна мати принаймні таку ж точність я у цільового цілого числа"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "ширина цільового типу char менша за 8 біт"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "цільовий wchar_t є вужчим за цільовий char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "цільовий тип int є вужчим ніж цільовий char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer є вужчим за CPP character"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP на цьому вузлі не може обробляти константи з символів шириною понад %lu біт, але для цілі вимагається %lu біт"
@@ -719,258 +719,273 @@ msgstr "__VA_ARGS__ може з'являтися лише у розширенн
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "ідентифікатор \"%s\" є особливою назвою оператора у C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "роздільник необроблених рядків довжиною, що перевищує 16 символів"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "некоректний символ нового рядка у роздільнику простого рядка"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "некоректний символ, «%c», у роздільнику простого рядка"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "незавершений простий рядок"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "некоректний суфікс у літералі; стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "null-символи збережені буквально"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "відсутній завершальний символ %c"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Коментарі у стилі C++ неприпустимі згідно ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(повідомлення про це з'явиться лише один для вхідного файлу)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "Коментарі у стилі C++ неприпустимі у C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "багаторядковий коментар"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "неможливо розібрати лексему %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' не може з'являтися з обох кінців __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "макрос \"%s\" не використовується"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "некоректний вбудований макрос \"%s\""
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "макрос \"%s\" може завадити відтворюваному збиранню"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "не вдається визначити часову мітку файлу"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "не вдається визначити дату та час"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ розгорнуто всередині директиви з -fdirectives-only"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "некоректний символьний літерал, ігнорується завершальний символ '\\'"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "вставка \"%s\" та \"%s\" не призводить до коректної лексеми препроцесора"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 потребує принаймні одного аргументу для використання \"...\" у варіативному макросі"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 потребує принаймні одного аргументу для використання \"...\" у варіативному макросі"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "для макроса \"%s\" потрібно вказати %u аргументів, але вказано лише %u"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "макроса \"%s\" передано %u аргументів, але з них використано лише %u"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "незавершений список аргументів у виклику макроса \"%s\""
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "подібний до функції макрос \"%s\" має використовуватися з аргументами у традиційній мові C"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "виклик макроса %s, аргумент %d: порожні аргументи макросів вважаються невизначеними у ISO C++98"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "виклик макроса %s, аргумент %d: порожні аргументи макросів вважаються невизначеними у ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "дублікат параметра макроса \"%s\""
-#: macro.c:3033
+#: macro.c:3141
+#, c-format
+msgid "expected parameter name, found \"%s\""
+msgstr "мала бути назва параметра, а маємо «%s»"
+
+#: macro.c:3142
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "\"%s\" не може з'являтися у списку параметрів макроса"
+msgid "expected ',' or ')', found \"%s\""
+msgstr "мало бути «,» або «)», втім, виявлено «%s»"
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "параметри макроса мають бути розділені комами"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr "мала бути назва параметра до кінця рядка"
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "відсутня назва параметра"
+#: macro.c:3144
+msgid "expected ')' before end of line"
+msgstr "мала бути «)» до кінця рядка"
-#: macro.c:3081
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr "мала бути «)» після «...»"
+
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "анонімні варіативні макроси започатковані у C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "анонімні варіативні макроси впроваджено з версії C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ не припускає іменовані варіативні макроси"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C не припускає іменовані варіативні макроси"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "відсутня ')' у списку параметрів макроса"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' не може з'являтися з обох кінців макророзширення"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "у ISO C++11 після назви макроса має бути пробіл"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "у ISO C99 має бути пробіл після назви макроса"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "відсутні пробіл після назви макроса"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "'#' не супроводжується параметром макроса"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "повторне визначення \"%s\""
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "...це місце першого визначення"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "аргумент макроса \"%s\" був би перетворений на рядок у традиційній мові C"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "некоректний типу хешу %d у cpp_macro_definition"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "при записі попередньо скомпільованих заголовків"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: не використовується, оскільки отруєно (poisoned) `%.*s'"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: не використовується оскільки `%.*s' не визначено"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: не використовується, оскільки `%.*s' визначено як `%s' не `%.*s'"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: не використовується, оскільки визначено `%s'"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: не використовується через некоректність `__COUNTER__'"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "при читанні попередньо скомпільованого заголовка"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "при розширенні макроса \"%s\" виявлено рекурсію"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "синтаксична помилка у списку параметрів макроса"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "\"%s\" не може з'являтися у списку параметрів макроса"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "параметри макроса мають бути розділені комами"
+
+#~ msgid "parameter name missing"
+#~ msgstr "відсутня назва параметра"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "відсутня ')' у списку параметрів макроса"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "некоректний типу хешу %d у cpp_macro_definition"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "значення каталогу NULL у find_file"
diff --git a/libcpp/po/vi.po b/libcpp/po/vi.po
index 42fa7ad..862f50a 100644
--- a/libcpp/po/vi.po
+++ b/libcpp/po/vi.po
@@ -9,15 +9,15 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 8.1-b20180128\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2018-01-30 15:12+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Gtranslator 2.91.7\n"
@@ -92,7 +92,7 @@ msgstr "ký tự toàn cầu %.*s không hợp lệ trong một định danh"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "ký tự toàn cầu %.*s không hợp lệ tại đầu của một định danh"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "đang chuyển đổi UCN sang bộ ký tự nguồn"
@@ -143,294 +143,294 @@ msgstr "đang chuyển đổi dãy thoát sang bộ ký tự thi hành"
msgid "missing open quote"
msgstr "thiếu dấu trích dẫn mở"
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "hằng ký tự quá dài cho kiểu nó"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "hằng ký tự đa ký tự"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "hằng ký tự trống"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "gặp lỗi nghiêm trong khi chuyển đổi %s sang %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "gặp thẻ bài thừa tại kết thúc của chỉ thị #%s"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s là phần mở rộng kiểu GCC"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s là một phần mở rộng GCC đã lạc hậu"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "khuyên bạn không dùng #elif trong ngôn ngữ C truyền thống"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "ngôn ngữ C truyền thống bỏ qua #%s với # được thụt lề"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "khuyên bạn ẩn #%s ra ngôn ngữ C truyền thống bằng # được thụt lề"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "khả năng nhúng chỉ thị vào đối số vĩ lệnh không thể mạng theo"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "kiểu chỉ thị dòng là phần mở rộng GCC"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "chỉ thị tiền xử lý không hợp lệ #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "không thể dùng “defined” (đã định nghĩa) như là tên vĩ lệnh"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "không thể dùng “__has_include__” (đã bao gồm) như là tên vĩ lệnh"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "không thể dùng “%s” như là tên vĩ lệnh vì nó là toán tử trong ngôn ngữ C++"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "chỉ thị #%s không chứa tên vĩ lệnh"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "mọi tên vĩ lệnh phải là một định danh"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "đang hủy định nghĩa “%s”"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "thiếu ký tự “>” chấm dứt"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s cần \"TÊN_TẬP_TIN\" hoặc <TÊN_TẬP_TIN>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "#%s chứa tên tập tin trống"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "“#include” (bao gồm) lồng nhau quá sâu"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "gặp “#include_next” (bao gồm kế tiếp) nằm trong tập tin nguồn chính"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "gặp cờ không hợp lệ “%s” nằm trong chỉ thị dòng"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "gặp kết thúc tập tin bất thường đằng sau #line"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "“%s” nằm sau “#line” (dòng) không phải là số nguyên dương"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "số dòng nằm ngoài phạm vi"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "“%s” không phải là tên tập tin hợp lệ"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "“%s” nằm sau “#” không phải là số nguyên dương"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tập tin linemarker \"%s\" bị bỏ qua bởi vì lồng nhau không đúng"
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "chỉ thị #%s không hợp lệ"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "việc đăng ký các lệnh mã nguồn điều khiển trình biên dịch (pragma) trong miền tên “%s” sai mở rộng tên "
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "việc đăng ký lệnh mã nguồn điều khiển trình biên dịch (pragma) “%s” có mở rộng tên nhưng không có miền tên"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "đang đăng ký “%s” là cả lệnh nguồn điều khiển trình biện dịch (pragma), lẫn miền tên của lệnh nguồn điều khiển trình biên dịch."
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "“#pragma %s %s” đã được đăng ký"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "“#pragma %s” đã được đăng ký"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "việc đăng ký lệnh mã nguồn điều khiển trình biên dịch (pragma) có bộ quản lý vô giá trị (NULL)"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "Có “#pragma” một lần trong tập tin chính"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "gặp chỉ thị #pragma push_macro sai"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "gặp chỉ thị #pragma pop_macro sai"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "gặp chỉ thị vô hiệu hóa (poison) GCC “#pragma” không hợp lệ"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "đang vô hiệu hóa vĩ lệnh tồn tại “%s”"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "“#pragma system_header” (đầu trang hệ thống) bị bỏ qua ở ngoài tập tin bao gồm"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "không tìm thấy tập tin nguồn %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "tập tin hiện thời là cũ hơn %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "gặp chỉ thị \"#pragma GCC %s\" không hợp lệ"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "“_Pragma” nhận một hằng chuỗi được đặt trong ngoặc đơn"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else (nếu không) mà không có #if (nếu)"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else (nếu không) nằm sau #else"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "điều kiện đã bắt đầu ở đây"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif (nếu không thì nếu) không có #if (nếu)"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif (nếu không thì nếu) nằm sau #else (nếu không)"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif (nếu không đúng) không có #if (nếu)"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "thiếu “(” nằm sau vị ngữ"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "thiếu “)” để hoàn tất câu trả lời"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "vị ngữ chứa trả lời trống"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "sự khẳng định không có vị ngữ"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "vị ngữ phải là định danh"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "“%s” được khẳng định lại"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "#%s chưa chấm dứt"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "gặp chú thích chưa được chấm dứt"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "thiết bị xuất chuẩn"
@@ -523,84 +523,84 @@ msgstr "(“%s” là một thẻ bài thay thế cho “%s” trong ngôn ngữ
msgid "this use of \"defined\" may not be portable"
msgstr "khả năng dùng “defined” (đã định nghĩa) có lẽ không khả chuyển"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "kiểu do người dùng định nghĩa trong biểu thức tiền xử lý"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "gặp hằng dấu chấm động nằm trong biểu thức tiền xử lý"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "gặp số ảo nằm trong biểu thức tiền xử lý"
-#: expr.c:1189
+#: expr.c:1173
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "chưa định nghĩa “%s”, định giá thành 0"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "khẳng định là một phần mở rộng GCC"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "khẳng định là một phần mở rộng GCC bị phản đối"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "có ngăn xếp không cân bằng trong %s"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "toán tử không thể “%u”"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "thiếu “)” trong biểu thức"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "dấu hỏi “?” mà không có dấu hai chấm “:” đi sau"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "tràn số nguyên trong biểu thức tiền xử lý"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "thiếu “(” trong biểu thức"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "toán hạng bên trái của “%s” thay đổi dấu (dương/âm) khi được tăng cấp"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "toán hạng bên phải của “%s” thay đổi dấu (dương/âm) khi đươc tăng cấp"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "ngôn ngữ C truyền thống từ chối toán tử cộng chỉ có một toán hạng"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "toán tử dấu phẩy nằm trong toán hạng của #if (nếu)"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "chia cho số không trong #if (nếu)"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "toán tử “__has_include__” (đã bao gồm) cần một chuỗi đầu"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "thiếu “)” sau “__has_include__” (đã bao gồm)"
@@ -617,40 +617,40 @@ msgstr "dùng “-Winvalid-pch” để biết thêm thông tin cần thiết"
msgid "no include path in which to search for %s"
msgstr "không có đường dẫn bao gồm trong đó có thể tìm kiếm %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "Nhiều bộ bảo vệ bao gồm có lẽ hữu ích cho :\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "“cppchar_t” phải là kiểu không dấu"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "thuật toán của trình tiền xử lý có độ chính xác tối đa là %lu bit còn đích cần đến %lu bit"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "thuật toán CPP phải là ít nhất cùng chính xác với “int” đích"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "“char” đích có độ rộng ít hơn 8 bit"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "“wchar_t” đích có độ rộng ít hơn “char” đích"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "“int” đích có độ rộng ít hơn “char” đích"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "nửa-số-nguyên CPP có độ rộng ít hơn ký tự CPP"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "Trên máy này, CPP không thể xử lý hằng ký tự rộng hơn %lu bit, còn đích lại yêu cầu %lu bit"
@@ -722,258 +722,275 @@ msgstr "“__VA_ARGS__” chỉ có thể xuất hiện trong sự mở rộng c
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "định danh “%s” là một tên toán tử đặc biệt trong C++"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "gặp dấu giới hạn chuỗi thô dài hơn 16 ký tự"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "ký tự dòng-mới không hợp lệ trong dấu giới hạn chuỗi thô"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "gặp ký tự sai “%c” trong dấu giới hạn chuỗi thô"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "chuỗi thô chưa được chấm dứt"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "hậu tố ở chuỗi văn bản không hợp lệ; C++11 yêu cầu cần có khoảng trắng giữ chuỗi văn bản và chuỗi vĩ lệnh"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "(các) ký tự rỗng được giữ lại trong chuỗi văn học"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "thiếu ký tự “%c” chấm dứt"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 yêu cầu cần có khoảng trắng giữ chuỗi văn bản và vĩ lệnh"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "không cho phép chú thích kiểu C++ nằm trong ISO C90"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(điều này sẽ được thông báo chỉ một lần cho mỗi tập tin đầu vào)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "không cho phép chú thích kiểu C++ nằm trong C90"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "gặp chú thích đa dòng"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "gặp thẻ bài không thể chính tả %s"
-#: macro.c:93
+#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "không cho phép “##” nằm hoặc trước __VA_OPT__"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "vĩ lệnh “%s” không được dùng"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "vĩ lệnh dựng-sẵn không hợp lệ “%s”"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "vĩ lệnh \"%s\" có thể ngăn cản việc dịch tái sinh"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "không thể xác định nhãn giờ của tập tin"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "không thể phân giải ngày và giờ"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ đã mở rộng bên trong chỉ thị với “-fdirectives-only”"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "chuỗi văn học không hợp lệ nên bỏ qua “\\” cuối cùng"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "việc dán “%s” và “%s” không đưa ra thẻ bài tiền xử lý hợp lệ"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 cần ít nhất một đối số cho \"…\" còn lại trong vĩ lệnh biến thiên"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 cần ít nhất một đối số cho \"…\" còn lại trong vĩ lệnh biến thiên"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "vĩ lệnh “%s” cần đến %u đối số, nhưng chỉ đưa ra %u thôi"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "vĩ lệnh “%s” đã chuyển %u đối số, nhưng chỉ nhận được %u thôi"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "danh sách đối số không được chấm dứt có gọi vĩ lệnh “%s”"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "vĩ lệnh giống hàm số “%s” phải được dùng với đối số trong ngôn ngữ C truyền thống"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "đang gọi vĩ lệnh %s đối số %d: đối số vĩ lệnh trống rỗng là không hợp lệ trong ISO C++98 "
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "đang gọi vĩ lệnh %s đối số %d: đối số vĩ lệnh trống rỗng là không hợp lệ trong ISO C90"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "tham số vĩ lệnh trùng lặp “%s”"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "không cho phép “%s” xuất hiện trong danh sách tham số vĩ lệnh"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "các tham số bộ đối số phải được ngăn cách bởi dấu phẩy"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "thiếu tên tham số"
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
+
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "gặp kết thúc tập tin bất thường đằng sau #line"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "vĩ lệnh biến thiên vô danh đã được giới thiệu trong C++11"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "vĩ lệnh biến thiên vô danh đã được giới thiệu trong C99"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ không cho phép vĩ lệnh biến thiên có tên"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C không cho phép vĩ lệnh biến thiên có tên"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "thiếu “)” trong danh sách tham số bộ đối số"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "không cho phép “##” nằm hoặc trước hoặc sau sự mở rộng vĩ lệnh"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 cần đến khoảng trắng nằm sau tên vĩ lệnh"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 cần đến khoảng trắng nằm sau tên vĩ lệnh"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "thiếu khoảng trắng nằm sau tên vĩ lệnh"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "“#” không cho phép đi theo sau một tham số vĩ lệnh"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "“%s” bị định nghĩa lại"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "đây là vị trí của lời định nghĩa trước"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "đối số vĩ lệnh “%s” nên được chuyển đổi thành chuỗi trong ngôn ngữ C truyền thống"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "gặp kiểu băm không hợp lệ %d trong “cpp_macro_definition” (lời định nghĩa vĩ lệnh)"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "trong khi ghi đầu trang biên dịch sẵn"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: không được dùng vì “%.*s” không còn tin cậy lại (bị dữ liệu sai thay thế)"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: không được dùng vì chưa định nghĩa “%.*s”"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: không được dùng vì “%.*s” đã được định nghĩa là “%s” không phải “%.*s”"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: không được dùng vì “%s” đã được định nghĩa"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: không được dùng vì “__COUNTER__” không hợp lệ"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "trong khi đọc đầu trang biên dịch sẵn"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "đã phát hiện sự đệ qui trong khi mở rộng vĩ lệnh “%s”"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "gặp lỗi cú pháp trong danh sách tham số vĩ lệnh"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "không cho phép “%s” xuất hiện trong danh sách tham số vĩ lệnh"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "các tham số bộ đối số phải được ngăn cách bởi dấu phẩy"
+
+#~ msgid "parameter name missing"
+#~ msgstr "thiếu tên tham số"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "thiếu “)” trong danh sách tham số bộ đối số"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "gặp kiểu băm không hợp lệ %d trong “cpp_macro_definition” (lời định nghĩa vĩ lệnh)"
+
#~ msgid "NULL directory in find_file"
#~ msgstr "thư mục RỖNG trong “find_file” (tìm tập tin)"
diff --git a/libcpp/po/zh_CN.po b/libcpp/po/zh_CN.po
index 274de32..c0581b7 100644
--- a/libcpp/po/zh_CN.po
+++ b/libcpp/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.6.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2011-05-12 17:23+0800\n"
"Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -90,7 +90,7 @@ msgstr "Unicode 字符 %.*s 在标识符中无效"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "Unicode 字符 %.*s 在标识符开头无效"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "将 UCN 转换到源字符集"
@@ -141,297 +141,297 @@ msgstr "将转义序列转换到执行字符集"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "字符常量大小超出其类型"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "多字节字符常量"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "空的字符常量"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "无法从 %s 转换到 %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s 指示的末尾有多余的标识符"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s 是一个 GCC 扩展"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是一个已过时的 GCC 扩展"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "建议在传统 C 中不使用 #elif"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "当 # 有缩进时传统 C 忽略 #%s"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建议使用缩进的 # 以让 #%s 对传统 C 不可见"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "将一个指示嵌入宏参数中是不可移植的"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "line 指示的风格是一个 GCC 扩展"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "无效的预处理指示 #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "“defined”不能被用作宏名"
-#: directives.c:611
+#: directives.c:605
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "“defined”不能被用作宏名"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "“%s”不能被用作宏名,因为它是 C++ 中的一个操作符"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示中未给出宏名"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "宏名必须是标识符"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "取消对“%s”的定义"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "缺少结尾的 > 字符"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中文件名为空"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include 嵌套过深"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next 出现在主源文件中"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指示中有无效的标记“%s”"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "#line 后未预期的文件结束"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 后的“%s”不是一个正整数"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "行号超出范围"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "“%s”不是一个有效的文件名"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 后的“%s”不是一个正整数"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "无效的 #%s 指示"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "在命名空间“%s”中注册 pragma 时名称扩展不匹配"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma “%s”被注册为一个命名扩展,而没有命名空间"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "“%s”既被注册为一个pragma 又被注册为一个 pragma 命名空间"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已经被注册"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已经被注册"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "pragma 注册为被 NULL 处理"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma once 出现在主文件中"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "无效的 #pragma push_macro 指示"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "无效的 #pragma pop_macro 指示"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "对已存在的宏“%s”投毒"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_heade 在包含文件外被忽略"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "找不到源文件 %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "当前文件早于 %s"
-#: directives.c:1742
+#: directives.c:1732
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一个括起的字符串字面常量"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else 没有匹配的 #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else 出现在 #else 后"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "条件自此开始"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif 没有匹配的 #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif 出现在 #else 后"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif 没有匹配的 #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "谓词后缺少‘(’"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少‘)’"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "谓词的答案为空"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "断言后没有谓词"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "谓词必须是一个标识符"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "重断言“%s”"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "未终止的 #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "未结束的注释"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s:%s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -530,89 +530,89 @@ msgstr "(在 C++ 中“%s”会是“%s”的替代标识符)"
msgid "this use of \"defined\" may not be portable"
msgstr "使用“defined”可能不利于移植"
-#: expr.c:1125
+#: expr.c:1109
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "浮点常量出现在预处理表达式中"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "预处理表达式中出现虚数"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "“%s”未定义"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "断言是一个 GCC 扩展"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "断言是一个已过时的 GCC 扩展"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中堆栈不平衡"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的操作‘%u’"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "表达式中缺少‘)’"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "‘?’后没有‘:’"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "表达式中缺少‘(’"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "“%s”的左操作数在提升时变换了符号"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "“%s”的右操作数在提升时变换了符号"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "传统 C 不接受单目 + 运算符"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "#if 操作数中出现逗号"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "#if 中用零做除数"
-#: expr.c:2243
+#: expr.c:2227
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "操作符“defined”需要一个标识符"
-#: expr.c:2259
+#: expr.c:2243
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
@@ -631,40 +631,40 @@ msgstr "使用 -Winvalid-pch 以获得更多信息"
msgid "no include path in which to search for %s"
msgstr "没有包含路径可供搜索 %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "多个防止重包含可能对其有用:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必须是无符号型"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "预处理算术的最高精度为 %lu 位;目标需要 %lu 位"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算术必须至少具有目标 int 的精度"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "目标 char 短于 8 位"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "目录 wchar_t 短于目标 char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "目标 int 短于目标 char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整数短于 CPP 字符"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "在此宿主机上,CPP 不能处理长于 %lu 位的宽字符常量,但目标需要 %lu 位"
@@ -740,271 +740,273 @@ msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "标识符“%s”是 C++ 中的一个特殊操作符"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字符串分隔符长过 16 个字符"
-#: lex.c:1815
+#: lex.c:1830
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "未终止的原始字符串"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "空字符将保留在字面字符串中"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "缺少结尾的 %c 字符"
-#: lex.c:2061
+#: lex.c:2072
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 风格的注释在 ISO C90 中不被允许"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(此警告为每个输入文件只报告一次)"
-#: lex.c:2876
+#: lex.c:2887
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "C++ 风格的注释在 ISO C90 中不被允许"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "多行注释"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "无法拼出的标识符 %s"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "‘##’不能出现在宏展开的两端"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "宏“%s”未被使用"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "无效的内建宏“%s”"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr ""
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "无法决定文件的时间戳"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "无法决定日期与时间"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "带 -fdirectives-only 时 __COUNTER__ 在指示中扩展"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "无效的字面字符串,忽略最后的‘\\’"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "毗连“%s”和“%s”不能给出一个有效的预处理标识符"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:950
+#: macro.c:952
#, fuzzy
#| msgid "ISO C99 requires rest arguments to be used"
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 需要使用剩余的参数"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "宏“%s”需要 %u 个参数,但只给出了 %u 个"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "宏“%s”传递了 %u 个参数,但只需要 %u 个"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "调用宏“%s”时参数列表未终止"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "类似函数的宏“%s”在传统 C 中必须与参数一起使用"
-#: macro.c:2003
+#: macro.c:2083
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "调用宏 %s 的参数 %d:空的宏参数未被 ISO C90 和 ISO C++98 定义"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, fuzzy, c-format
#| msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "调用宏 %s 的参数 %d:空的宏参数未被 ISO C90 和 ISO C++98 定义"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "重复的宏参数“%s”"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "“%s”不能出现在宏参数列表中"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "宏参数必须由逗号隔开"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "缺少形参名"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "#line 后未预期的文件结束"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "匿名可变参数宏在 C99 中被引入"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "匿名可变参数宏在 C99 中被引入"
-#: macro.c:3097
+#: macro.c:3213
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C 不允许有名的可变参数宏"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C 不允许有名的可变参数宏"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "在宏参数表中缺少‘)’"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "‘##’不能出现在宏展开的两端"
-#: macro.c:3198
+#: macro.c:3298
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 要求宏名后必须有空白"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 要求宏名后必须有空白"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "宏名后缺少空白"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "‘#’后没有宏参数"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "“%s”重定义"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "这是先前定义的位置"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "宏参数“%s”将在传统 C 中被字符串化"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "cpp_macro_definition 中有无效的散列类型 %d"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "在写入预编译头时"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s:未使用因为‘%.*s’已被投毒"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s:未使用因为‘%.*s’未定义"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s:未使用因为‘%.*s’被定义为‘%s’而非‘%*.s’"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s:未使用因为‘%s’已定义"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s:未使用因为‘__COUNTER__’无效"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "在读取预编译头时"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "展开宏“%s”时检测到递归"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "宏参数列表语法错误"
@@ -1062,6 +1064,21 @@ msgstr "宏参数列表语法错误"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s 短于预期"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "“%s”不能出现在宏参数列表中"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "宏参数必须由逗号隔开"
+
+#~ msgid "parameter name missing"
+#~ msgstr "缺少形参名"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "在宏参数表中缺少‘)’"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "cpp_macro_definition 中有无效的散列类型 %d"
+
#~ msgid "warning: "
#~ msgstr "警告:"
diff --git a/libcpp/po/zh_TW.po b/libcpp/po/zh_TW.po
index f4b5024..e6dc626 100644
--- a/libcpp/po/zh_TW.po
+++ b/libcpp/po/zh_TW.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 5.2.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2018-01-26 22:47+0000\n"
+"POT-Creation-Date: 2019-02-01 23:01+0000\n"
"PO-Revision-Date: 2015-10-08 13:27+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -88,7 +88,7 @@ msgstr "萬國碼字元 %.*s 在識別字中無效"
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "萬國碼字元 %.*s 在識別字開頭無效"
-#: charset.c:1181 charset.c:2000
+#: charset.c:1181 charset.c:2002
msgid "converting UCN to source character set"
msgstr "將 UCN 轉換到來源字元集"
@@ -139,294 +139,294 @@ msgstr "將逸出序列轉換到執行字元集"
msgid "missing open quote"
msgstr ""
-#: charset.c:1827 charset.c:1891
+#: charset.c:1829 charset.c:1893
msgid "character constant too long for its type"
msgstr "字元常數大小超出其類型"
-#: charset.c:1830
+#: charset.c:1832
msgid "multi-character character constant"
msgstr "多位元組字元常數"
-#: charset.c:1931
+#: charset.c:1933
msgid "empty character constant"
msgstr "空的字元常數"
-#: charset.c:2047
+#: charset.c:2049
#, c-format
msgid "failure to convert %s to %s"
msgstr "無法從 %s 轉換到 %s"
-#: directives.c:235 directives.c:278
+#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s 指令的末尾有多餘的符記"
-#: directives.c:385
+#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s 是 GCC 擴充功能"
-#: directives.c:390
+#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是不宜再用的 GCC 擴充功能"
-#: directives.c:403
+#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "建議在傳統 C 中不要使用 #elif"
-#: directives.c:406
+#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "當 # 有縮排時傳統 C 忽略 #%s"
-#: directives.c:410
+#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建議使用縮排的 # 以讓 #%s 對傳統 C 不可見"
-#: directives.c:436
+#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "將一個指令內嵌於巨集參數中是不可移植的"
-#: directives.c:456
+#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "line 指令的風格是 GCC 擴充功能"
-#: directives.c:537
+#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無效的預先處理指令 #%s"
-#: directives.c:606
+#: directives.c:600
msgid "\"defined\" cannot be used as a macro name"
msgstr "「defined」不能做為巨集名"
-#: directives.c:611
+#: directives.c:605
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "「__has_include__」不能做為巨集名"
-#: directives.c:617
+#: directives.c:611
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "「%s」不能做為巨集名,因為它是 C++ 中的一個運算子"
-#: directives.c:620
+#: directives.c:614
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指令中未給出巨集名"
-#: directives.c:623
+#: directives.c:617
msgid "macro names must be identifiers"
msgstr "巨集名必須是識別字"
-#: directives.c:672 directives.c:677
+#: directives.c:666 directives.c:671
#, c-format
msgid "undefining \"%s\""
msgstr "取消對「%s」的定義"
-#: directives.c:732
+#: directives.c:727
msgid "missing terminating > character"
msgstr "缺少結尾的 > 字元"
-#: directives.c:791
+#: directives.c:786
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.c:837
+#: directives.c:828
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中檔案名稱為空"
-#: directives.c:847
+#: directives.c:835
msgid "#include nested too deeply"
msgstr "#include 巢狀過深"
-#: directives.c:888
+#: directives.c:877
msgid "#include_next in primary source file"
msgstr "#include_next 出現在主來源檔案中"
-#: directives.c:914
+#: directives.c:903
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指令中有無效的標記「%s」"
-#: directives.c:974
+#: directives.c:963
msgid "unexpected end of file after #line"
msgstr "#line 之後未預期的檔案結束"
-#: directives.c:977
+#: directives.c:966
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 後的「%s」不是一個正整數"
-#: directives.c:983 directives.c:985
+#: directives.c:972 directives.c:974
msgid "line number out of range"
msgstr "列號超出範圍"
-#: directives.c:998 directives.c:1079
+#: directives.c:987 directives.c:1068
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "「%s」不是一個有效的檔案名稱"
-#: directives.c:1039
+#: directives.c:1028
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 後的「%s」不是一個正整數"
-#: directives.c:1098
+#: directives.c:1087
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
+#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1185
+#: directives.c:1175
#, c-format
msgid "invalid #%s directive"
msgstr "無效的 #%s 指令"
-#: directives.c:1248
+#: directives.c:1238
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "以不匹配的名稱擴展去註冊命名空間「%s」中的編譯指示"
-#: directives.c:1257
+#: directives.c:1247
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "以名稱擴展以及無命名空間去註冊編譯指示「%s」"
-#: directives.c:1275
+#: directives.c:1265
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "「%s」既被註冊為一個編譯指示又被註冊為一個編譯指示命名空間"
-#: directives.c:1278
+#: directives.c:1268
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已經被註冊"
-#: directives.c:1281
+#: directives.c:1271
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已經被註冊"
-#: directives.c:1311
+#: directives.c:1301
msgid "registering pragma with NULL handler"
msgstr "以空值處理常式去註冊編譯指示"
-#: directives.c:1528
+#: directives.c:1518
msgid "#pragma once in main file"
msgstr "#pragma 出現在主檔案中一次"
-#: directives.c:1551
+#: directives.c:1541
msgid "invalid #pragma push_macro directive"
msgstr "無效的 #pragma push_macro 指令"
-#: directives.c:1606
+#: directives.c:1596
msgid "invalid #pragma pop_macro directive"
msgstr "無效的 #pragma pop_macro 指令"
-#: directives.c:1661
+#: directives.c:1651
msgid "invalid #pragma GCC poison directive"
msgstr "無效的 #pragma GCC poison 指令"
-#: directives.c:1670
+#: directives.c:1660
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "對已存在的巨集「%s」加料"
-#: directives.c:1689
+#: directives.c:1679
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header 在包含檔案外被忽略"
-#: directives.c:1714
+#: directives.c:1704
#, c-format
msgid "cannot find source file %s"
msgstr "找不到來源檔案 %s"
-#: directives.c:1718
+#: directives.c:1708
#, c-format
msgid "current file is older than %s"
msgstr "目前檔案早於 %s"
-#: directives.c:1742
+#: directives.c:1732
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "無效的 #pragma GCC %s 指令"
-#: directives.c:1943
+#: directives.c:1933
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一個括起的字串原文"
-#: directives.c:2064
+#: directives.c:2021
msgid "#else without #if"
msgstr "#else 沒有匹配的 #if"
-#: directives.c:2069
+#: directives.c:2026
msgid "#else after #else"
msgstr "#else 出現在 #else 後"
-#: directives.c:2071 directives.c:2104
+#: directives.c:2028 directives.c:2061
msgid "the conditional began here"
msgstr "條件自此開始"
-#: directives.c:2097
+#: directives.c:2054
msgid "#elif without #if"
msgstr "#elif 沒有匹配的 #if"
-#: directives.c:2102
+#: directives.c:2059
msgid "#elif after #else"
msgstr "#elif 出現在 #else 後"
-#: directives.c:2133
+#: directives.c:2090
msgid "#endif without #if"
msgstr "#endif 沒有匹配的 #if"
-#: directives.c:2213
+#: directives.c:2166
msgid "missing '(' after predicate"
msgstr "述語後缺少「(」"
-#: directives.c:2228
+#: directives.c:2184
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少「)」"
-#: directives.c:2248
+#: directives.c:2196
msgid "predicate's answer is empty"
msgstr "述語的答案為空"
-#: directives.c:2275
+#: directives.c:2226
msgid "assertion without predicate"
msgstr "判定語後沒有述語"
-#: directives.c:2278
+#: directives.c:2229
msgid "predicate must be an identifier"
msgstr "述語必須是一個識別字"
-#: directives.c:2364
+#: directives.c:2311
#, c-format
msgid "\"%s\" re-asserted"
msgstr "已再判定「%s」"
-#: directives.c:2656
+#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "未終止的 #%s"
-#: directives-only.c:221 lex.c:2851 traditional.c:167
+#: directives-only.c:221 lex.c:2862 traditional.c:175
msgid "unterminated comment"
msgstr "未終結的註釋"
-#: errors.c:284
+#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s:%s"
-#: errors.c:296
+#: errors.c:304
msgid "stdout"
msgstr "stdout"
@@ -521,85 +521,85 @@ msgstr "(在 C++ 中「%s」會是「%s」的替代識別字)"
msgid "this use of \"defined\" may not be portable"
msgstr "使用「defined」可能不利於移植"
-#: expr.c:1125
+#: expr.c:1109
msgid "user-defined literal in preprocessor expression"
msgstr "在前置處理器運算式中有使用者定義的實字"
-#: expr.c:1130
+#: expr.c:1114
msgid "floating constant in preprocessor expression"
msgstr "浮點常數出現在預先處理運算式中"
-#: expr.c:1136
+#: expr.c:1120
msgid "imaginary number in preprocessor expression"
msgstr "預先處理運算式中出現虛數"
-#: expr.c:1189
+#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "「%s」未定義"
-#: expr.c:1202
+#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "assertions 是 GCC 的擴充功能"
-#: expr.c:1205
+#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "assertions 是不宜再用的擴充功能"
-#: expr.c:1451
+#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中的堆疊不平衡"
-#: expr.c:1471
+#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的運算子「%u」"
-#: expr.c:1572
+#: expr.c:1556
msgid "missing ')' in expression"
msgstr "運算式中缺少「)」"
-#: expr.c:1601
+#: expr.c:1585
msgid "'?' without following ':'"
msgstr "「?」後沒有「:」"
-#: expr.c:1611
+#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "預先處理運算式中整數溢出"
-#: expr.c:1616
+#: expr.c:1600
msgid "missing '(' in expression"
msgstr "運算式中缺少「(」"
-#: expr.c:1648
+#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "「%s」的左運算元在提升時變換了符號"
-#: expr.c:1653
+#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "「%s」的右運算元在提升時變換了符號"
-#: expr.c:1912
+#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "傳統 C 不接受單元 + 運算子"
-#: expr.c:2010
+#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "#if 運算元中出現逗號"
-#: expr.c:2146
+#: expr.c:2130
msgid "division by zero in #if"
msgstr "#if 中用零做除數"
-#: expr.c:2243
+#: expr.c:2227
msgid "operator \"__has_include__\" requires a header string"
msgstr "運算子「__has_include__」需要一個標頭字串"
-#: expr.c:2259
+#: expr.c:2243
msgid "missing ')' after \"__has_include__\""
msgstr "「__has_include__」 後缺少「)」"
@@ -616,40 +616,40 @@ msgstr "使用 -Winvalid-pch 以獲得更多資訊"
msgid "no include path in which to search for %s"
msgstr "沒有包含路徑可供搜尋 %s"
-#: files.c:1441
+#: files.c:1455
msgid "Multiple include guards may be useful for:\n"
msgstr "多個防止重包含可能對其有用:\n"
-#: init.c:565
+#: init.c:569
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必須是無號類型"
-#: init.c:569
+#: init.c:573
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "預先處理算術的最高精度為 %lu 位;目標需要 %lu 位"
-#: init.c:576
+#: init.c:580
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算術必須至少具有目標 int 的精度"
-#: init.c:579
+#: init.c:583
msgid "target char is less than 8 bits wide"
msgstr "目標 char 短於 8 位"
-#: init.c:583
+#: init.c:587
msgid "target wchar_t is narrower than target char"
msgstr "目標 wchar_t 短於目標 char"
-#: init.c:587
+#: init.c:591
msgid "target int is narrower than target char"
msgstr "目標 int 短於目標 char"
-#: init.c:592
+#: init.c:596
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整數短於 CPP 字元"
-#: init.c:596
+#: init.c:600
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "在此宿主機上,CPP 不能處理長於 %lu 位的寬字元常數,但目標需要 %lu 位"
@@ -723,259 +723,261 @@ msgstr "__VA_ARGS__ 只能出現在 C99 可變參數巨集的展開中"
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別碼「%s」在 C++ 中是特殊運算子名稱"
-#: lex.c:1811
+#: lex.c:1826
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字串分隔符號長度超過 16 字元"
-#: lex.c:1815
+#: lex.c:1830
msgid "invalid new-line in raw string delimiter"
msgstr "無效的新列字元出現於原始字串分隔符號"
-#: lex.c:1819
+#: lex.c:1834
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "無效字元『%c』出現於原始字串分隔符號"
-#: lex.c:1868 lex.c:1890
+#: lex.c:1883 lex.c:1905
msgid "unterminated raw string"
msgstr "未終結的原始字串"
-#: lex.c:1912 lex.c:2043
+#: lex.c:1925 lex.c:2054
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "無效的實字後綴;C++11 要求一個空白位於實字和字串巨集之間"
-#: lex.c:2024
+#: lex.c:2037
msgid "null character(s) preserved in literal"
msgstr "空字元將保留在原文中"
-#: lex.c:2027
+#: lex.c:2040
#, c-format
msgid "missing terminating %c character"
msgstr "缺少終止 %c 字元"
-#: lex.c:2061
+#: lex.c:2072
#, fuzzy
#| msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgid "C++11 requires a space between string literal and macro"
msgstr "無效的實字後綴;C++11 要求一個空白位於實字和字串巨集之間"
-#: lex.c:2865 lex.c:2899
+#: lex.c:2876 lex.c:2910
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 風格的註釋在 ISO C90 中不被允許"
-#: lex.c:2867 lex.c:2878 lex.c:2901
+#: lex.c:2878 lex.c:2889 lex.c:2913
msgid "(this will be reported only once per input file)"
msgstr "(此警告為每個輸入檔案只報告一次)"
-#: lex.c:2876
+#: lex.c:2887
msgid "C++ style comments are incompatible with C90"
msgstr "C++ 風格的註釋與 C90 不相容"
-#: lex.c:2907
+#: lex.c:2919
msgid "multi-line comment"
msgstr "多列註釋"
-#: lex.c:3287
+#: lex.c:3299
#, c-format
msgid "unspellable token %s"
msgstr "無法拼出的識別字 %s"
-#: macro.c:93
+#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "「##」不能出現在巨集展開的兩端"
-#: macro.c:352
+#: macro.c:354
#, c-format
msgid "macro \"%s\" is not used"
msgstr "巨集「%s」未被使用"
-#: macro.c:391 macro.c:639
+#: macro.c:393 macro.c:641
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "無效的內建巨集「%s」"
-#: macro.c:398 macro.c:500
+#: macro.c:400 macro.c:502
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "巨集「%s」也許會阻止可重製的組建"
-#: macro.c:429
+#: macro.c:431
msgid "could not determine file timestamp"
msgstr "無法決定檔案時間戳記"
-#: macro.c:546
+#: macro.c:548
msgid "could not determine date and time"
msgstr "無法決定日期與時間"
-#: macro.c:562
+#: macro.c:564
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ 以 -fdirectives-only 在指令內部展開"
-#: macro.c:758
+#: macro.c:760
msgid "invalid string literal, ignoring final '\\'"
msgstr "無效的原文字串,忽略最後的「\\」"
-#: macro.c:820
+#: macro.c:822
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "粘貼「%s」和「%s」不能給出一個有效的預先處理識別字"
-#: macro.c:946
+#: macro.c:948
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 需要至少一個引數做為可變巨集中的「...」"
-#: macro.c:950
+#: macro.c:952
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 需要至少一個引數做為可變巨集中的「...」"
-#: macro.c:957
+#: macro.c:959
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "巨集「%s」需要 %u 個引數,但只給出了 %u 個"
-#: macro.c:962
+#: macro.c:964
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "巨集「%s」傳遞了 %u 個引數,但只需要 %u 個"
-#: macro.c:1156 traditional.c:819
+#: macro.c:1162 traditional.c:827
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "呼叫巨集「%s」時引數清單未終止"
-#: macro.c:1307
+#: macro.c:1304
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "類似函式的巨集「%s」在傳統 C 中必須與引數一起使用"
-#: macro.c:2003
+#: macro.c:2083
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "調用巨集 %s 引數 %d:空的巨集引數在 ISO C++98 中未定義"
-#: macro.c:2011 macro.c:2020
+#: macro.c:2091 macro.c:2100
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "調用巨集 %s 引數 %d:空的巨集引數在 ISO C90 中未定義"
-#: macro.c:2984
+#: macro.c:3059
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "重複的巨集參數「%s」"
-#: macro.c:3033
+#: macro.c:3141
#, c-format
-msgid "\"%s\" may not appear in macro parameter list"
-msgstr "「%s」不能出現在巨集參數清單中"
+msgid "expected parameter name, found \"%s\""
+msgstr ""
-#: macro.c:3041
-msgid "macro parameters must be comma-separated"
-msgstr "巨集參數必須由逗號隔開"
+#: macro.c:3142
+#, c-format
+msgid "expected ',' or ')', found \"%s\""
+msgstr ""
+
+#: macro.c:3143
+msgid "expected parameter name before end of line"
+msgstr ""
-#: macro.c:3060
-msgid "parameter name missing"
-msgstr "缺少參數名"
+#: macro.c:3144
+#, fuzzy
+#| msgid "unexpected end of file after #line"
+msgid "expected ')' before end of line"
+msgstr "#line 之後未預期的檔案結束"
+
+#: macro.c:3145
+msgid "expected ')' after \"...\""
+msgstr ""
-#: macro.c:3081
+#: macro.c:3202
msgid "anonymous variadic macros were introduced in C++11"
msgstr "匿名可變參數巨集在 C++11 中被引入"
-#: macro.c:3085 macro.c:3090
+#: macro.c:3203 macro.c:3207
msgid "anonymous variadic macros were introduced in C99"
msgstr "匿名可變參數巨集在 C99 中被引入"
-#: macro.c:3097
+#: macro.c:3213
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ 不允許具名的可變參數巨集"
-#: macro.c:3100
+#: macro.c:3214
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C 不允許具名的可變參數巨集"
-#: macro.c:3110
-msgid "missing ')' in macro parameter list"
-msgstr "在巨集參數表中缺少「)」"
-
-#: macro.c:3161
+#: macro.c:3260
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "「##」不能出現在巨集展開的兩端"
-#: macro.c:3198
+#: macro.c:3298
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 要求巨集名後必須有空白"
-#: macro.c:3201
+#: macro.c:3299
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 要求巨集名後必須有空白"
-#: macro.c:3226
+#: macro.c:3323
msgid "missing whitespace after the macro name"
msgstr "巨集名後缺少空白"
-#: macro.c:3263
+#: macro.c:3373
msgid "'#' is not followed by a macro parameter"
msgstr "「#」後沒有巨集參數"
-#: macro.c:3430
+#: macro.c:3524
#, c-format
msgid "\"%s\" redefined"
msgstr "「%s」重定義"
-#: macro.c:3435
+#: macro.c:3529
msgid "this is the location of the previous definition"
msgstr "這是先前定義的位置"
-#: macro.c:3496
+#: macro.c:3633
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "巨集引數「%s」將在傳統 C 中被字串化"
-#: macro.c:3532
-#, c-format
-msgid "invalid hash type %d in cpp_macro_definition"
-msgstr "cpp_macro_definition 中有無效的雜湊類型 %d"
-
-#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
+#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "在寫入預先編譯標頭時"
-#: pch.c:621
+#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s:未使用因為『%.*s』是有害的"
-#: pch.c:643
+#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s:未使用,因為「%.*s」未定義"
-#: pch.c:655
+#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s:未使用,因為「%.*s」被定義為「%s」而非「%*.s」"
-#: pch.c:696
+#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s:未使用,因為「%s」已定義"
-#: pch.c:716
+#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s:未使用因為『__COUNTER__』無效"
-#: pch.c:725 pch.c:903
+#: pch.c:720 pch.c:878
msgid "while reading precompiled header"
msgstr "在讀取預先編譯標頭時"
-#: traditional.c:889
+#: traditional.c:896
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "展開巨集「%s」時偵測到遞迴"
-#: traditional.c:1108
+#: traditional.c:1119
msgid "syntax error in macro parameter list"
msgstr "巨集參數清單語法錯誤"
@@ -991,5 +993,20 @@ msgstr "巨集參數清單語法錯誤"
#~ msgid "%s is shorter than expected"
#~ msgstr "%s 短於預期"
+#~ msgid "\"%s\" may not appear in macro parameter list"
+#~ msgstr "「%s」不能出現在巨集參數清單中"
+
+#~ msgid "macro parameters must be comma-separated"
+#~ msgstr "巨集參數必須由逗號隔開"
+
+#~ msgid "parameter name missing"
+#~ msgstr "缺少參數名"
+
+#~ msgid "missing ')' in macro parameter list"
+#~ msgstr "在巨集參數表中缺少「)」"
+
+#~ msgid "invalid hash type %d in cpp_macro_definition"
+#~ msgstr "cpp_macro_definition 中有無效的雜湊類型 %d"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "字元 %x 可能不是 NFKC"
diff --git a/libcpp/symtab.c b/libcpp/symtab.c
index fd86c84..5048b47 100644
--- a/libcpp/symtab.c
+++ b/libcpp/symtab.c
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 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 the
@@ -304,34 +304,43 @@ ht_dump_statistics (cpp_hash_table *table)
while (++p < limit);
nelts = table->nelements;
- overhead = obstack_memory_used (&table->stack) - total_bytes;
headers = table->nslots * sizeof (hashnode);
- fprintf (stderr, "\nString pool\nentries\t\t%lu\n",
+ fprintf (stderr, "\nString pool\n%-32s%lu\n", "entries:",
(unsigned long) nelts);
- fprintf (stderr, "identifiers\t%lu (%.2f%%)\n",
+ fprintf (stderr, "%-32s%lu (%.2f%%)\n", "identifiers:",
(unsigned long) nids, nids * 100.0 / nelts);
- fprintf (stderr, "slots\t\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "slots:",
(unsigned long) table->nslots);
- fprintf (stderr, "deleted\t\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "deleted:",
(unsigned long) deleted);
- fprintf (stderr, "bytes\t\t%lu%c (%lu%c overhead)\n",
- SCALE (total_bytes), LABEL (total_bytes),
- SCALE (overhead), LABEL (overhead));
- fprintf (stderr, "table size\t%lu%c\n",
+
+ if (table->alloc_subobject)
+ fprintf (stderr, "%-32s%lu%c\n", "GGC bytes:",
+ SCALE (total_bytes), LABEL (total_bytes));
+ else
+ {
+ overhead = obstack_memory_used (&table->stack) - total_bytes;
+ fprintf (stderr, "%-32s%lu%c (%lu%c overhead)\n",
+ "obstack bytes:",
+ SCALE (total_bytes), LABEL (total_bytes),
+ SCALE (overhead), LABEL (overhead));
+ }
+ fprintf (stderr, "%-32s%lu%c\n", "table size:",
SCALE (headers), LABEL (headers));
exp_len = (double)total_bytes / (double)nelts;
exp2_len = exp_len * exp_len;
exp_len2 = (double) sum_of_squares / (double) nelts;
- fprintf (stderr, "coll/search\t%.4f\n",
+ fprintf (stderr, "%-32s%.4f\n", "coll/search:",
(double) table->collisions / (double) table->searches);
- fprintf (stderr, "ins/search\t%.4f\n",
+ fprintf (stderr, "%-32s%.4f\n", "ins/search:",
(double) nelts / (double) table->searches);
- fprintf (stderr, "avg. entry\t%.2f bytes (+/- %.2f)\n",
+ fprintf (stderr, "%-32s%.2f bytes (+/- %.2f)\n",
+ "avg. entry:",
exp_len, approx_sqrt (exp_len2 - exp2_len));
- fprintf (stderr, "longest entry\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "longest entry:",
(unsigned long) longest);
#undef SCALE
#undef LABEL
diff --git a/libcpp/system.h b/libcpp/system.h
index 3fde817..12016f5 100644
--- a/libcpp/system.h
+++ b/libcpp/system.h
@@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
- Copyright (C) 1998-2018 Free Software Foundation, Inc.
+ Copyright (C) 1998-2019 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libcpp/traditional.c b/libcpp/traditional.c
index 51c3e35..f1e7279 100644
--- a/libcpp/traditional.c
+++ b/libcpp/traditional.c
@@ -1,5 +1,5 @@
/* CPP Library - traditional lexical analysis and macro expansion.
- Copyright (C) 2002-2018 Free Software Foundation, Inc.
+ Copyright (C) 2002-2019 Free Software Foundation, Inc.
Contributed by Neil Booth, May 2002
This program is free software; you can redistribute it and/or modify it
@@ -60,7 +60,7 @@ struct fun_macro
size_t offset;
/* The line the macro name appeared on. */
- source_location line;
+ location_t line;
/* Number of parameters. */
unsigned int paramc;
@@ -161,7 +161,7 @@ static const uchar *
copy_comment (cpp_reader *pfile, const uchar *cur, int in_define)
{
bool unterminated, copy = false;
- source_location src_loc = pfile->line_table->highest_line;
+ location_t src_loc = pfile->line_table->highest_line;
cpp_buffer *buffer = pfile->buffer;
buffer->cur = cur;
diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h
index 9d2c0ae..6b9137f 100644
--- a/libcpp/ucnid.h
+++ b/libcpp/ucnid.h
@@ -1,5 +1,5 @@
/* Unicode characters and various properties.
- Copyright (C) 2003-2018 Free Software Foundation, Inc.
+ Copyright (C) 2003-2019 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 the
diff --git a/libcpp/ucnid.tab b/libcpp/ucnid.tab
index dca0ed2..8c0371b 100644
--- a/libcpp/ucnid.tab
+++ b/libcpp/ucnid.tab
@@ -1,5 +1,5 @@
; Table of UCNs which are valid in identifiers.
-; Copyright (C) 2003-2018 Free Software Foundation, Inc.
+; Copyright (C) 2003-2019 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 the