summaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-05-02 14:43:35 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-05-02 14:43:35 +0000
commit34efdaf078b01a7387007c4e6bde6db86384c4b7 (patch)
treed503eaf41d085669d1481bb46ec038bc866fece6 /libcpp
parentf733cf303bcdc952c92b81dd62199a40a1f555ec (diff)
downloadgcc-tarball-master.tar.gz
gcc-7.1.0gcc-7.1.0
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog502
-rw-r--r--libcpp/Makefile.in4
-rw-r--r--libcpp/charset.c453
-rw-r--r--libcpp/config.in6
-rwxr-xr-xlibcpp/configure34
-rw-r--r--libcpp/configure.ac26
-rw-r--r--libcpp/directives-only.c2
-rw-r--r--libcpp/directives.c45
-rw-r--r--libcpp/errors.c90
-rw-r--r--libcpp/expr.c130
-rw-r--r--libcpp/files.c120
-rw-r--r--libcpp/identifiers.c2
-rw-r--r--libcpp/include/cpp-id-data.h2
-rw-r--r--libcpp/include/cpplib.h94
-rw-r--r--libcpp/include/line-map.h377
-rw-r--r--libcpp/include/mkdeps.h2
-rw-r--r--libcpp/include/symtab.h2
-rw-r--r--libcpp/init.c17
-rw-r--r--libcpp/internal.h18
-rw-r--r--libcpp/lex.c411
-rw-r--r--libcpp/line-map.c441
-rw-r--r--libcpp/macro.c28
-rw-r--r--libcpp/makeucnid.c4
-rw-r--r--libcpp/mkdeps.c2
-rw-r--r--libcpp/pch.c10
-rw-r--r--libcpp/po/ChangeLog66
-rw-r--r--libcpp/po/be.gmobin1003 -> 907 bytes
-rw-r--r--libcpp/po/be.po443
-rw-r--r--libcpp/po/ca.gmobin17098 -> 16802 bytes
-rw-r--r--libcpp/po/ca.po447
-rw-r--r--libcpp/po/cpplib.pot496
-rw-r--r--libcpp/po/da.gmobin23063 -> 22996 bytes
-rw-r--r--libcpp/po/da.po454
-rw-r--r--libcpp/po/de.gmobin23841 -> 23768 bytes
-rw-r--r--libcpp/po/de.po455
-rw-r--r--libcpp/po/el.gmobin703 -> 767 bytes
-rw-r--r--libcpp/po/el.po451
-rw-r--r--libcpp/po/eo.gmobin22782 -> 22922 bytes
-rw-r--r--libcpp/po/eo.po462
-rw-r--r--libcpp/po/es.gmobin21078 -> 20786 bytes
-rw-r--r--libcpp/po/es.po447
-rw-r--r--libcpp/po/fi.gmobin24024 -> 23936 bytes
-rw-r--r--libcpp/po/fi.po452
-rw-r--r--libcpp/po/fr.gmobin25416 -> 25337 bytes
-rw-r--r--libcpp/po/fr.po441
-rw-r--r--libcpp/po/id.gmobin20227 -> 19934 bytes
-rw-r--r--libcpp/po/id.po447
-rw-r--r--libcpp/po/ja.gmobin23596 -> 23255 bytes
-rw-r--r--libcpp/po/ja.po447
-rw-r--r--libcpp/po/nl.gmobin23743 -> 23450 bytes
-rw-r--r--libcpp/po/nl.po447
-rw-r--r--libcpp/po/pt_BR.gmobin24013 -> 23909 bytes
-rw-r--r--libcpp/po/pt_BR.po456
-rw-r--r--libcpp/po/ru.gmobin31477 -> 31371 bytes
-rw-r--r--libcpp/po/ru.po452
-rw-r--r--libcpp/po/sr.gmobin29564 -> 29434 bytes
-rw-r--r--libcpp/po/sr.po454
-rw-r--r--libcpp/po/sv.gmobin23324 -> 23247 bytes
-rw-r--r--libcpp/po/sv.po442
-rw-r--r--libcpp/po/tr.gmobin20599 -> 20328 bytes
-rw-r--r--libcpp/po/tr.po447
-rw-r--r--libcpp/po/uk.gmobin30892 -> 30775 bytes
-rw-r--r--libcpp/po/uk.po452
-rw-r--r--libcpp/po/vi.gmobin27472 -> 27351 bytes
-rw-r--r--libcpp/po/vi.po456
-rw-r--r--libcpp/po/zh_CN.gmobin18889 -> 18641 bytes
-rw-r--r--libcpp/po/zh_CN.po447
-rw-r--r--libcpp/po/zh_TW.gmobin21711 -> 21436 bytes
-rw-r--r--libcpp/po/zh_TW.po447
-rw-r--r--libcpp/symtab.c2
-rw-r--r--libcpp/system.h9
-rw-r--r--libcpp/traditional.c2
-rw-r--r--libcpp/ucnid.h2
-rw-r--r--libcpp/ucnid.tab2
74 files changed, 7503 insertions, 5344 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index c921c90c67..6bac327d8b 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,10 +1,502 @@
-2016-08-22 Release Manager
+2017-05-02 Release Manager
- * GCC 6.2.0 released.
+ * GCC 7.1.0 released.
-2016-04-27 Release Manager
+2017-04-03 Jonathan Wakely <jwakely@redhat.com>
- * GCC 6.1.0 released.
+ * include/line-map.h (LINEMAPS_MACRO_MAPS): Fix typo in comment.
+ * lex.c (search_line_fast): Likewise.
+ * pch.h (cpp_valid_state): Likewise.
+
+2017-03-21 Andreas Schwab <schwab@suse.de>
+
+ * lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
+ Convert 64-bit value to boolean before passing to
+ __builtin_expect.
+
+2017-03-16 Jason Merrill <jason@redhat.com>
+
+ * init.c (cpp_init_builtins): Update __cplusplus for C++17.
+
+2017-02-09 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * Makefile.in (po/$(PACKAGE).pot): Adjust bug reporting URL.
+
+2017-01-10 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/77949
+ * line-map.c (linemap_position_for_column): When calling
+ linemap_start_line, detect if a new linemap was created with
+ 0 column bits, and bail out early if this is the case.
+ (linemap_position_for_loc_and_offset): Replace overzealous
+ linemap_assert_fails with a simple conditional; use correct
+ bit count.
+
+2017-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/72803
+ * line-map.c (linemap_line_start): When determining if the highest
+ column given out so far will fit into a proposed change to the
+ current map, use the effective number of column bits, rather than
+ the total number of column + range bits.
+
+2017-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2016-12-15 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/78680
+ PR preprocessor/78811
+ * lex.c (_cpp_lex_direct): Only determine the end-location of
+ the token and build a range for non-reserved start locations.
+ Do not do it for EOF tokens.
+
+2016-12-12 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/78680
+ * lex.c (_cpp_lex_direct): Ensure line notes are processed before
+ computing the end-point of the token.
+
+2016-11-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * include/cpplib.h (struct cpp_options): Add new member
+ warn_expansion_to_defined.
+ (CPP_W_EXPANSION_TO_DEFINED): New enum member.
+ * expr.c (parse_defined): Warn for all uses of "defined"
+ in macros, and tie warning to CPP_W_EXPANSION_TO_DEFINED.
+ Make it a pedwarning instead of a warning.
+ * system.h (HAVE_DESIGNATED_INITIALIZERS): Do not use
+ "defined" in macros.
+
+2016-11-17 David Malcolm <dmalcolm@redhat.com>
+
+ * charset.c (cpp_interpret_string_1): Skip locations from
+ loc_reader when advancing 'p' when handling raw strings.
+
+2016-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/72823
+ * configure.ac (ENABLE_ASSERT_CHECKING): Define if gcc configure
+ would define that macro.
+ * configure: Regenerated.
+ * config.in: Regenerated.
+
+2016-11-08 Richard Earnshaw <rearnsha@arm.com>
+
+ * lex.c (search_line_fast): New implementation for AArch64.
+
+2016-10-25 David Malcolm <dmalcolm@redhat.com>
+
+ * files.c (destroy_cpp_file): Free file->path.
+
+2016-10-25 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (line_maps::~line_maps): New dtor.
+ (location_adhoc_data_fini): Delete decl.
+ * line-map.c (line_maps::~line_maps): New dtor.
+ (location_adhoc_data_fini): Delete.
+
+2016-10-21 Andris Pavenis <andris.pavenis@iki.fi>
+
+ PR preprocessor/71681
+ * files.c (remap_filename): Fix handling -remap in subdirectories.
+
+2016-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * include/cpplib.h (struct cpp_options): Add
+ cpp_warn_implicit_fallthrough.
+ * init.c (cpp_create_reader): Initialize it to 0.
+ * lex.c (fallthrough_comment_p): Handle different
+ cpp_warn_implicit_fallthrough levels. Whitespace fixes.
+
+2016-10-08 Jakub Jelinek <jakub@redhat.com>
+
+ * lex.c (fallthrough_comment_p): Accept Else, fallthrough.
+
+ * lex.c (fallthrough_comment_p): Extend to handle more common FALLTHRU
+ comment styles.
+
+ * lex.c (fallthrough_comment_p): Fix off-by-one size comparison
+ errors, cleanup.
+ (_cpp_lex_direct): Allow arbitrary comments in between
+ fallthrough_comment_p comment and following token.
+
+2016-10-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ PR target/77847
+ * lex.c (search_line_fast): Add a FALLTHROUGH comment to correct
+ compiler error in the version of this function that is
+ conditionally compiled when GCC_VERSION >= 4005 and both
+ __ALTIVEC__ and __BIG_ENDIAN__ symbols are defined.
+
+2016-09-26 Marek Polacek <polacek@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c/7652
+ * include/cpplib.h (PREV_FALLTHROUGH): Define.
+ * internal.h (CPP_FALLTHRU): Define.
+ * lex.c (fallthrough_comment_p): New function.
+ (_cpp_lex_direct): Set PREV_FALLTHROUGH on tokens succeeding a falls
+ through comment.
+
+2016-09-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/77672
+ * charset.c (cpp_interpret_string_1): Add a source_range for the
+ NUL-terminator, using the location of the trailing quote of the
+ final string.
+
+2016-09-21 Jason Merrill <jason@redhat.com>
+
+ * line-map.c (linemap_location_from_macro_definition_p): New.
+ * line-map.h: Declare it.
+
+2016-09-15 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (class rich_location): Note that newlines
+ aren't supported in fix-it text.
+ * line-map.c (rich_location::add_fixit_insert_before): Reject
+ attempts to add fix-its containing newlines.
+ (rich_location::add_fixit_replace): Likewise.
+
+2016-09-13 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (class rich_location): Add description of
+ fix-it hints to leading comment.
+ (rich_location::add_fixit_insert): Rename both overloaded methods
+ to..
+ (rich_location::add_fixit_insert_before): ...this, updating their
+ comments.
+ (rich_location::add_fixit_insert_after): Two new overloaded
+ methods.
+ (rich_location::stop_supporting_fixits): New method.
+ * line-map.c (rich_location::add_fixit_insert): Rename both
+ overloaded methods to..
+ (rich_location::add_fixit_insert_before): ...this, updating their
+ comments.
+ (rich_location::add_fixit_insert_after): Two new methods.
+ (rich_location::reject_impossible_fixit): Split out
+ failure-handling into...
+ (rich_location::stop_supporting_fixits): New method.
+
+2016-09-02 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (rich_location::seen_impossible_fixit_p): New
+ accessor.
+
+2016-08-31 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (class fixit_remove): Remove stray decl.
+ (fixit_hint::affects_line_p): Make const.
+ (fixit_insert::affects_line_p): Likewise.
+ (fixit_replace::affects_line_p): Likewise.
+ * line-map.c (fixit_insert::affects_line_p): Likewise.
+ (fixit_replace::affects_line_p): Likewise.
+
+2016-08-30 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (class semi_embedded_vec): New class.
+ (semi_embedded_vec<T, NUM_EMBEDDED>::semi_embedded_vec): New ctor.
+ (semi_embedded_vec<T, NUM_EMBEDDED>::~semi_embedded_vec): New
+ dtor.
+ (semi_embedded_vec<T, NUM_EMBEDDED>::operator[]): New methods.
+ (semi_embedded_vec<T, NUM_EMBEDDED>::push): New method.
+ (semi_embedded_vec<T, NUM_EMBEDDED>::truncate): New method.
+ (rich_location::get_num_locations): Reimplement in terms of
+ m_ranges.
+ (rich_location::get_range): Make non-inline.
+ (rich_location::get_num_fixit_hints): Reimplement in terms of
+ m_fixit_hints.
+ (rich_location::add_fixit): New function.
+ (rich_location::MAX_RANGES): Rename to...
+ (rich_location::STATICALLY_ALLOCATED_RANGES): ...this.
+ (rich_location::MAX_FIXIT_HINTS): Rename to...
+ (rich_location::STATICALLY_ALLOCATED_RANGES): ...this, and make
+ private.
+ (rich_location::m_num_ranges): Eliminate in favor of...
+ (rich_location::m_ranges): ...this, converting from a fixed-size
+ array to a semi_embedded_vec.
+ (rich_location::m_num_fixit_hints): Eliminate in favor of...
+ (rich_location::m_fixit_hints): ...this, converting from a
+ fixed-size array to a semi_embedded_vec.
+ * line-map.c (rich_location::rich_location): Update for above
+ changes.
+ (rich_location::~rich_location): Likewise.
+ (rich_location::get_loc): Likewise.
+ (rich_location::get_range): New methods.
+ (rich_location::add_range): Update for above changes.
+ (rich_location::set_range): Likewise.
+ (rich_location::add_fixit_insert): Likewise.
+ (rich_location::add_fixit_replace): Likewise.
+ (rich_location::get_last_fixit_hint): Likewise.
+ (rich_location::reject_impossible_fixit): Likewise.
+ (rich_location::add_fixit): New method.
+
+2016-08-30 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (rich_location::add_fixit_insert): Add
+ comments. Add overload omitting the source_location param.
+ (rich_location::add_fixit_remove): Add comments. Add overloads
+ omitting the range, and accepting a source_location.
+ (rich_location::add_fixit_replace): Likewise.
+ * line-map.c (rich_location::add_fixit_insert): Add comments. Add
+ overload omitting the source_location param.
+ (rich_location::add_fixit_remove): Add comments. Add overloads
+ omitting the range, and accepting a source_location.
+ (rich_location::add_fixit_replace): Likewise.
+
+2016-08-26 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (get_pure_location): New decl.
+ * line-map.c (get_pure_location): Move here, from gcc/input.c, adding
+ a line_maps * param.
+ (rich_location::add_fixit_insert): Call get_pure_location on "where".
+ (rich_location::add_fixit_replace): Call get_pure_location on the
+ end-points.
+
+2016-08-26 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (rich_location): Eliminate unimplemented
+ constructor based on source_range.
+ (rich_location::get_last_fixit_hint): New method.
+ (rich_location::reject_impossible_fixit): New method.
+ (rich_location): Add fields m_line_table and
+ m_seen_impossible_fixit.
+ (fixit_hint::maybe_append_replace): New pure virtual function.
+ (fixit_insert::maybe_append_replace): New function.
+ (fixit_replace::maybe_append_replace): New function.
+ * line-map.c (rich_location::rich_location): Initialize
+ m_line_table and m_seen_impossible_fixit.
+ (rich_location::add_fixit_insert): Call
+ reject_impossible_fixit and bail out if true.
+ (column_before_p): New function.
+ (rich_location::add_fixit_replace): Call reject_impossible_fixit
+ and bail out if true. Attempt to consolidate with neighboring
+ fixits.
+ (rich_location::get_last_fixit_hint): New method.
+ (rich_location::reject_impossible_fixit): New method.
+ (fixit_insert::maybe_append_replace): New method.
+ (fixit_replace::maybe_append_replace): New method.
+
+2016-08-23 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (source_range::from_locations): New method.
+
+2016-08-19 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (fixit_hint::kind): Delete REPLACE.
+ (class fixit_remove): Delete.
+ * line-map.c (rich_location::add_fixit_remove): Reimplement
+ by calling add_fixit_replace with an empty string.
+ (fixit_remove::fixit_remove): Delete.
+ (fixit_remove::affects_line_p): Delete.
+
+2016-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/32187
+ * include/cpplib.h (CPP_N_FLOATN, CPP_N_FLOATNX)
+ (CPP_N_WIDTH_FLOATN_NX, CPP_FLOATN_SHIFT, CPP_FLOATN_MAX): New
+ macros.
+ * expr.c (interpret_float_suffix): Handle fN, fNx, FN and FNx
+ suffixes.
+
+2016-08-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * expr.c (eval_token): Append "evaluates to 0" to Wundef diagnostic.
+
+2016-08-18 David Malcolm <dmalcolm@redhat.com>
+
+ * directives.c (directive_names): New array.
+ (_cpp_handle_directive): Offer spelling suggestions for misspelled
+ directives.
+ * errors.c (cpp_diagnostic_at_richloc): New function.
+ (cpp_error_at_richloc): New function.
+ * include/cpplib.h (struct cpp_callbacks): Add field
+ "get_suggestion".
+ (cpp_error_at_richloc): New decl.
+
+2016-08-18 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * pch.c (write_macdef): Add CPP_FALLTHRU.
+
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * lex.c (search_line_fast): Add FALLTHRU.
+ (_cpp_lex_direct): Likewise.
+ (cpp_token_val_index): Adjust fall through comment.
+ * macro.c (parse_params): Add FALLTHRU.
+ * pch.c (count_defs): Adjust fall through comment.
+ (write_defs): Likewise.
+
+2016-08-06 David Malcolm <dmalcolm@redhat.com>
+
+ PR bootstrap/72823
+ * charset.c (_cpp_valid_ucn): Replace overzealous assert with one
+ that allows for char_range to be non-NULL when loc_reader is NULL.
+
+2016-08-05 David Malcolm <dmalcolm@redhat.com>
+
+ * charset.c (cpp_substring_ranges::cpp_substring_ranges): New
+ constructor.
+ (cpp_substring_ranges::~cpp_substring_ranges): New destructor.
+ (cpp_substring_ranges::add_range): New method.
+ (cpp_substring_ranges::add_n_ranges): New method.
+ (_cpp_valid_ucn): Add "char_range" and "loc_reader" params; if
+ they are non-NULL, read position information from *loc_reader
+ and update char_range->m_finish accordingly.
+ (convert_ucn): Add "char_range", "loc_reader", and "ranges"
+ params. If loc_reader is non-NULL, read location information from
+ it, and update *ranges accordingly, using char_range.
+ Conditionalize the conversion into tbuf on tbuf being non-NULL.
+ (convert_hex): Likewise, conditionalizing the call to
+ emit_numeric_escape on tbuf.
+ (convert_oct): Likewise.
+ (convert_escape): Add params "loc_reader" and "ranges". If
+ loc_reader is non-NULL, read location information from it, and
+ update *ranges accordingly. Conditionalize the conversion into
+ tbuf on tbuf being non-NULL.
+ (cpp_interpret_string): Rename to...
+ (cpp_interpret_string_1): ...this, adding params "loc_readers" and
+ "out". Use "to" to conditionalize the initialization and usage of
+ "tbuf", such as running the converter. If "loc_readers" is
+ non-NULL, use the instances within it, reading location
+ information from them, and passing them to convert_escape; likewise
+ write to "out" if loc_readers is non-NULL. Check for leading
+ quote and issue an error if it is not present. Update boundary
+ check from "== limit" to ">= limit" to protect against erroneous
+ location values to calls that are not parsing string literals.
+ (cpp_interpret_string): Reimplement in terms to
+ cpp_interpret_string_1.
+ (noop_error_cb): New function.
+ (cpp_interpret_string_ranges): New function.
+ (cpp_string_location_reader::cpp_string_location_reader): New
+ constructor.
+ (cpp_string_location_reader::get_next): New method.
+ * include/cpplib.h (class cpp_string_location_reader): New class.
+ (class cpp_substring_ranges): New class.
+ (cpp_interpret_string_ranges): New prototype.
+ * internal.h (_cpp_valid_ucn): Add params "char_range" and
+ "loc_reader".
+ * lex.c (forms_identifier_p): Pass NULL for new params to
+ _cpp_valid_ucn.
+
+2016-08-01 Andreas Schwab <schwab@suse.de>
+
+ * include/cpplib.h: Fix comment typo.
+
+2016-07-27 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (source_location): Fix line numbers in
+ comment.
+
+2016-07-11 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES):
+ Move here from line-map.c.
+ (LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
+ * line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from
+ here to line-map.h.
+ (LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
+
+2016-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ * directives.c (do_include_common): Pass on "location" to
+ _cpp_stack_include.
+ * errors.c (cpp_diagnostic): Reimplement in terms of...
+ (cpp_diagnostic_at): New function.
+ (cpp_error_at): New function.
+ (cpp_errno_filename): Add "loc" param and use it by using
+ cpp_error_at rather than cpp_error.
+ * files.c (find_file_in_dir): Add "loc" param and pass it to
+ open_file_failed.
+ (_cpp_find_file): Add "loc" param. Use it to convert calls to
+ cpp_error to cpp_error_at, and pass it to find_file_in_dir and
+ open_file_failed.
+ (read_file_guts): Add "loc" param. Use it to convert calls to
+ cpp_error to cpp_error_at. Pass it to cpp_errno_filename.
+ (read_file): Add "loc" param. Pass it to open_file_failed and
+ read_file_guts.
+ (should_stack_file): Add "loc" param. Pass it to read_file.
+ (_cpp_stack_file): Add "loc" param. Pass it to should_stack_file.
+ (_cpp_stack_include): Add "loc" param. Pass it to
+ _cpp_find_file and _cpp_stack_file.
+ (open_file_failed): Add "loc" param. Pass it to
+ cpp_errno_filename.
+ (_cpp_fake_include): Add 0 as a source_location in call to
+ _cpp_find_file.
+ (_cpp_compare_file_date): Likewise.
+ (cpp_push_include): Likewise for call to _cpp_stack_include.
+ (cpp_push_default_include): Likewise.
+ (_cpp_save_file_entries): Likewise for call to open_file_failed.
+ (_cpp_has_header): Likewise for call to _cpp_find_file.
+ * include/cpplib.h (cpp_errno_filename): Add source_location
+ param.
+ (cpp_error_at): New declaration.
+ * init.c (cpp_read_main_file): Add 0 as a source_location in calls
+ to _cpp_find_file and _cpp_stack_file.
+ * internal.h (_cpp_find_file): Add source_location param.
+ (_cpp_stack_file): Likewise.
+ (_cpp_stack_include): Likewise.
+
+2016-06-22 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (fixit_hint::get_start_loc): New pure virtual
+ function.
+ (fixit_hint::maybe_get_end_loc): Likewise.
+ (fixit_insert::get_start_loc): New function, implementing
+ fixit_hint::get_start_loc.
+ (fixit_insert::maybe_get_end_loc): New function, implementing
+ fixit_hint::maybe_get_end_loc.
+ (fixit_remove::get_start_loc): New function, implementing
+ fixit_hint::get_start_loc.
+ (fixit_remove::maybe_get_end_loc): New function, implementing
+ fixit_hint::maybe_get_end_loc.
+ (fixit_replace::get_start_loc): New function, implementing
+ fixit_hint::get_start_loc.
+ (fixit_replace::maybe_get_end_loc): New function, implementing
+ fixit_hint::maybe_get_end_loc.
+
+2016-06-21 John David Anglin <danglin@gcc.gnu.org>
+
+ * line-map.c (location_adhoc_data_update): Use int64_t instead of
+ long long.
+ (get_combined_adhoc_loc): Likewise.
+
+2016-06-01 Eduard Sanou <dhole@openmailbox.org>
+
+ * include/cpplib.h (cpp_callbacks): Add get_source_date_epoch
+ callback.
+ * include/cpplib.h (cpp_init_source_date_epoch): Remove prototype.
+ * init.c (cpp_init_source_date_epoch): Remove function.
+ * init.c (cpp_create_reader): Initialize pfile->source_date_epoch.
+ * internal.h (cpp_reader): Extend comment about source_date_epoch.
+ * macro.c (_cpp_builtin_macro_text): Use get_source_date_epoch
+ callback only once, read pfile->source_date_epoch on future passes.
+ Check that get_source_date_epoch callback is not NULL.
+
+2016-05-20 Martin Liska <mliska@suse.cz>
+
+ * config.in: Regenerated.
+ * configure: Likewise.
+ * configure.ac: Handle --enable-valgrind-annotations.
+ * lex.c (new_buff): Use ENABLE_VALGRIND_ANNOTATIONS instead
+ of ENABLE_VALGRIND_CHECKING.
+ (_cpp_free_buff): Likewise.
+
+2016-04-28 Eduard Sanou <dhole@openmailbox.org>
+ Matthias Klose <doko@debian.org>
+
+ * include/cpplib.h (cpp_init_source_date_epoch): Prototype.
+ * init.c (cpp_init_source_date_epoch): New function.
+ * internal.h: Added source_date_epoch variable to struct
+ cpp_reader to store a reproducible date.
+ * macro.c (_cpp_builtin_macro_text): Set pfile->date timestamp from
+ pfile->source_date_epoch instead of localtime if source_date_epoch is
+ set, to be used for __DATE__ and __TIME__ macros to help reproducible
+ builds.
2016-04-13 Bernd Schmidt <bschmidt@redhat.com>
@@ -4540,7 +5032,7 @@
* include/symtab.h: Moved from gcc/hashtable.h. Change header
guard name.
-Copyright (C) 2004-2016 Free Software Foundation, Inc.
+Copyright (C) 2004-2017 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 a7d782803f..0bd3787c25 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-2016 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#This file is part of libcpp.
@@ -256,7 +256,7 @@ po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
--keyword=cpp_errno:3 \
--keyword=SYNTAX_ERROR --keyword=SYNTAX_ERROR2 \
--copyright-holder="Free Software Foundation, Inc." \
- --msgid-bugs-address="http://gcc.gnu.org/bugs.html" \
+ --msgid-bugs-address="https://gcc.gnu.org/bugs/" \
--language=c -o po/$(PACKAGE).pot.tmp $^
sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
rm po/$(PACKAGE).pot.tmp
diff --git a/libcpp/charset.c b/libcpp/charset.c
index 2d07942de7..6a3bbbca24 100644
--- a/libcpp/charset.c
+++ b/libcpp/charset.c
@@ -1,5 +1,5 @@
/* CPP Library - charsets
- Copyright (C) 1998-2016 Free Software Foundation, Inc.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
Broken out of c-lex.c Apr 2003, adding valid C99 UCN ranges.
@@ -812,6 +812,51 @@ cpp_host_to_exec_charset (cpp_reader *pfile, cppchar_t c)
+/* cpp_substring_ranges's constructor. */
+
+cpp_substring_ranges::cpp_substring_ranges () :
+ m_ranges (NULL),
+ m_num_ranges (0),
+ m_alloc_ranges (8)
+{
+ m_ranges = XNEWVEC (source_range, m_alloc_ranges);
+}
+
+/* cpp_substring_ranges's destructor. */
+
+cpp_substring_ranges::~cpp_substring_ranges ()
+{
+ free (m_ranges);
+}
+
+/* Add RANGE to the vector of source_range information. */
+
+void
+cpp_substring_ranges::add_range (source_range range)
+{
+ if (m_num_ranges >= m_alloc_ranges)
+ {
+ m_alloc_ranges *= 2;
+ m_ranges
+ = (source_range *)xrealloc (m_ranges,
+ sizeof (source_range) * m_alloc_ranges);
+ }
+ m_ranges[m_num_ranges++] = range;
+}
+
+/* Read NUM ranges from LOC_READER, adding them to the vector of source_range
+ information. */
+
+void
+cpp_substring_ranges::add_n_ranges (int num,
+ cpp_string_location_reader &loc_reader)
+{
+ for (int i = 0; i < num; i++)
+ add_range (loc_reader.get_next ());
+}
+
+
+
/* Utility routine that computes a mask of the form 0000...111... with
WIDTH 1-bits. */
static inline size_t
@@ -980,12 +1025,17 @@ ucn_valid_in_identifier (cpp_reader *pfile, cppchar_t c,
one beyond the UCN, or to the syntactically invalid character.
IDENTIFIER_POS is 0 when not in an identifier, 1 for the start of
- an identifier, or 2 otherwise. */
+ an identifier, or 2 otherwise.
+
+ If LOC_READER is non-NULL, then position information is
+ read from *LOC_READER and CHAR_RANGE->m_finish is updated accordingly. */
bool
_cpp_valid_ucn (cpp_reader *pfile, const uchar **pstr,
const uchar *limit, int identifier_pos,
- struct normalize_state *nst, cppchar_t *cp)
+ struct normalize_state *nst, cppchar_t *cp,
+ source_range *char_range,
+ cpp_string_location_reader *loc_reader)
{
cppchar_t result, c;
unsigned int length;
@@ -1021,6 +1071,11 @@ _cpp_valid_ucn (cpp_reader *pfile, const uchar **pstr,
if (!ISXDIGIT (c))
break;
str++;
+ if (loc_reader)
+ {
+ gcc_assert (char_range);
+ char_range->m_finish = loc_reader->get_next ().m_finish;
+ }
result = (result << 4) + hex_value (c);
}
while (--length && str < limit);
@@ -1086,11 +1141,18 @@ _cpp_valid_ucn (cpp_reader *pfile, const uchar **pstr,
}
/* Convert an UCN, pointed to by FROM, to UTF-8 encoding, then translate
- it to the execution character set and write the result into TBUF.
- An advanced pointer is returned. Issues all relevant diagnostics. */
+ it to the execution character set and write the result into TBUF,
+ if TBUF is non-NULL.
+ An advanced pointer is returned. Issues all relevant diagnostics.
+ If LOC_READER is non-NULL, then RANGES must be non-NULL and CHAR_RANGE
+ contains the location of the character so far: location information
+ is read from *LOC_READER, and *RANGES is updated accordingly. */
static const uchar *
convert_ucn (cpp_reader *pfile, const uchar *from, const uchar *limit,
- struct _cpp_strbuf *tbuf, struct cset_converter cvt)
+ struct _cpp_strbuf *tbuf, struct cset_converter cvt,
+ source_range char_range,
+ cpp_string_location_reader *loc_reader,
+ cpp_substring_ranges *ranges)
{
cppchar_t ucn;
uchar buf[6];
@@ -1099,8 +1161,17 @@ convert_ucn (cpp_reader *pfile, const uchar *from, const uchar *limit,
int rval;
struct normalize_state nst = INITIAL_NORMALIZE_STATE;
+ /* loc_reader and ranges must either be both NULL, or both be non-NULL. */
+ gcc_assert ((loc_reader != NULL) == (ranges != NULL));
+
from++; /* Skip u/U. */
- _cpp_valid_ucn (pfile, &from, limit, 0, &nst, &ucn);
+
+ if (loc_reader)
+ /* The u/U is part of the spelling of this character. */
+ char_range.m_finish = loc_reader->get_next ().m_finish;
+
+ _cpp_valid_ucn (pfile, &from, limit, 0, &nst,
+ &ucn, &char_range, loc_reader);
rval = one_cppchar_to_utf8 (ucn, &bufp, &bytesleft);
if (rval)
@@ -1109,9 +1180,20 @@ convert_ucn (cpp_reader *pfile, const uchar *from, const uchar *limit,
cpp_errno (pfile, CPP_DL_ERROR,
"converting UCN to source character set");
}
- else if (!APPLY_CONVERSION (cvt, buf, 6 - bytesleft, tbuf))
- cpp_errno (pfile, CPP_DL_ERROR,
- "converting UCN to execution character set");
+ else
+ {
+ if (tbuf)
+ if (!APPLY_CONVERSION (cvt, buf, 6 - bytesleft, tbuf))
+ cpp_errno (pfile, CPP_DL_ERROR,
+ "converting UCN to execution character set");
+
+ if (loc_reader)
+ {
+ int num_encoded_bytes = 6 - bytesleft;
+ for (int i = 0; i < num_encoded_bytes; i++)
+ ranges->add_range (char_range);
+ }
+ }
return from;
}
@@ -1167,31 +1249,48 @@ emit_numeric_escape (cpp_reader *pfile, cppchar_t n,
}
/* Convert a hexadecimal escape, pointed to by FROM, to the execution
- character set and write it into the string buffer TBUF. Returns an
- advanced pointer, and issues diagnostics as necessary.
+ character set and write it into the string buffer TBUF (if non-NULL).
+ Returns an advanced pointer, and issues diagnostics as necessary.
No character set translation occurs; this routine always produces the
execution-set character with numeric value equal to the given hex
- number. You can, e.g. generate surrogate pairs this way. */
+ number. You can, e.g. generate surrogate pairs this way.
+ If LOC_READER is non-NULL, then RANGES must be non-NULL and CHAR_RANGE
+ contains the location of the character so far: location information
+ is read from *LOC_READER, and *RANGES is updated accordingly. */
static const uchar *
convert_hex (cpp_reader *pfile, const uchar *from, const uchar *limit,
- struct _cpp_strbuf *tbuf, struct cset_converter cvt)
+ struct _cpp_strbuf *tbuf, struct cset_converter cvt,
+ source_range char_range,
+ cpp_string_location_reader *loc_reader,
+ cpp_substring_ranges *ranges)
{
cppchar_t c, n = 0, overflow = 0;
int digits_found = 0;
size_t width = cvt.width;
size_t mask = width_to_mask (width);
+ /* loc_reader and ranges must either be both NULL, or both be non-NULL. */
+ gcc_assert ((loc_reader != NULL) == (ranges != NULL));
+
if (CPP_WTRADITIONAL (pfile))
cpp_warning (pfile, CPP_W_TRADITIONAL,
"the meaning of '\\x' is different in traditional C");
- from++; /* Skip 'x'. */
+ /* Skip 'x'. */
+ from++;
+
+ /* The 'x' is part of the spelling of this character. */
+ if (loc_reader)
+ char_range.m_finish = loc_reader->get_next ().m_finish;
+
while (from < limit)
{
c = *from;
if (! hex_p (c))
break;
from++;
+ if (loc_reader)
+ char_range.m_finish = loc_reader->get_next ().m_finish;
overflow |= n ^ (n << 4 >> 4);
n = (n << 4) + hex_value (c);
digits_found = 1;
@@ -1211,7 +1310,10 @@ convert_hex (cpp_reader *pfile, const uchar *from, const uchar *limit,
n &= mask;
}
- emit_numeric_escape (pfile, n, tbuf, cvt);
+ if (tbuf)
+ emit_numeric_escape (pfile, n, tbuf, cvt);
+ if (ranges)
+ ranges->add_range (char_range);
return from;
}
@@ -1221,10 +1323,16 @@ convert_hex (cpp_reader *pfile, const uchar *from, const uchar *limit,
advanced pointer, and issues diagnostics as necessary.
No character set translation occurs; this routine always produces the
execution-set character with numeric value equal to the given octal
- number. */
+ number.
+ If LOC_READER is non-NULL, then RANGES must be non-NULL and CHAR_RANGE
+ contains the location of the character so far: location information
+ is read from *LOC_READER, and *RANGES is updated accordingly. */
static const uchar *
convert_oct (cpp_reader *pfile, const uchar *from, const uchar *limit,
- struct _cpp_strbuf *tbuf, struct cset_converter cvt)
+ struct _cpp_strbuf *tbuf, struct cset_converter cvt,
+ source_range char_range,
+ cpp_string_location_reader *loc_reader,
+ cpp_substring_ranges *ranges)
{
size_t count = 0;
cppchar_t c, n = 0;
@@ -1232,12 +1340,17 @@ convert_oct (cpp_reader *pfile, const uchar *from, const uchar *limit,
size_t mask = width_to_mask (width);
bool overflow = false;
+ /* loc_reader and ranges must either be both NULL, or both be non-NULL. */
+ gcc_assert ((loc_reader != NULL) == (ranges != NULL));
+
while (from < limit && count++ < 3)
{
c = *from;
if (c < '0' || c > '7')
break;
from++;
+ if (loc_reader)
+ char_range.m_finish = loc_reader->get_next ().m_finish;
overflow |= n ^ (n << 3 >> 3);
n = (n << 3) + c - '0';
}
@@ -1249,18 +1362,26 @@ convert_oct (cpp_reader *pfile, const uchar *from, const uchar *limit,
n &= mask;
}
- emit_numeric_escape (pfile, n, tbuf, cvt);
+ if (tbuf)
+ emit_numeric_escape (pfile, n, tbuf, cvt);
+ if (ranges)
+ ranges->add_range (char_range);
return from;
}
/* Convert an escape sequence (pointed to by FROM) to its value on
the target, and to the execution character set. Do not scan past
- LIMIT. Write the converted value into TBUF. Returns an advanced
- pointer. Handles all relevant diagnostics. */
+ LIMIT. Write the converted value into TBUF, if TBUF is non-NULL.
+ Returns an advanced pointer. Handles all relevant diagnostics.
+ If LOC_READER is non-NULL, then RANGES must be non-NULL: location
+ information is read from *LOC_READER, and *RANGES is updated
+ accordingly. */
static const uchar *
convert_escape (cpp_reader *pfile, const uchar *from, const uchar *limit,
- struct _cpp_strbuf *tbuf, struct cset_converter cvt)
+ struct _cpp_strbuf *tbuf, struct cset_converter cvt,
+ cpp_string_location_reader *loc_reader,
+ cpp_substring_ranges *ranges)
{
/* Values of \a \b \e \f \n \r \t \v respectively. */
#if HOST_CHARSET == HOST_CHARSET_ASCII
@@ -1273,20 +1394,28 @@ convert_escape (cpp_reader *pfile, const uchar *from, const uchar *limit,
uchar c;
+ /* Record the location of the backslash. */
+ source_range char_range;
+ if (loc_reader)
+ char_range = loc_reader->get_next ();
+
c = *from;
switch (c)
{
/* UCNs, hex escapes, and octal escapes are processed separately. */
case 'u': case 'U':
- return convert_ucn (pfile, from, limit, tbuf, cvt);
+ return convert_ucn (pfile, from, limit, tbuf, cvt,
+ char_range, loc_reader, ranges);
case 'x':
- return convert_hex (pfile, from, limit, tbuf, cvt);
+ return convert_hex (pfile, from, limit, tbuf, cvt,
+ char_range, loc_reader, ranges);
break;
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
- return convert_oct (pfile, from, limit, tbuf, cvt);
+ return convert_oct (pfile, from, limit, tbuf, cvt,
+ char_range, loc_reader, ranges);
/* Various letter escapes. Get the appropriate host-charset
value into C. */
@@ -1338,10 +1467,17 @@ convert_escape (cpp_reader *pfile, const uchar *from, const uchar *limit,
}
}
- /* Now convert what we have to the execution character set. */
- if (!APPLY_CONVERSION (cvt, &c, 1, tbuf))
- cpp_errno (pfile, CPP_DL_ERROR,
- "converting escape sequence to execution character set");
+ if (tbuf)
+ /* Now convert what we have to the execution character set. */
+ if (!APPLY_CONVERSION (cvt, &c, 1, tbuf))
+ cpp_errno (pfile, CPP_DL_ERROR,
+ "converting escape sequence to execution character set");
+
+ if (loc_reader)
+ {
+ char_range.m_finish = loc_reader->get_next ().m_finish;
+ ranges->add_range (char_range);
+ }
return from + 1;
}
@@ -1374,28 +1510,52 @@ converter_for_type (cpp_reader *pfile, enum cpp_ttype type)
are to be converted from the source to the execution character set,
escape sequences translated, and finally all are to be
concatenated. WIDE indicates whether or not to produce a wide
- string. The result is written into TO. Returns true for success,
- false for failure. */
-bool
-cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count,
- cpp_string *to, enum cpp_ttype type)
+ string. If TO is non-NULL, the result is written into TO.
+ If LOC_READERS and OUT are non-NULL, then location information
+ is read from LOC_READERS (which must be an array of length COUNT),
+ and location information is written to *RANGES.
+
+ Returns true for success, false for failure. */
+
+static bool
+cpp_interpret_string_1 (cpp_reader *pfile, const cpp_string *from, size_t count,
+ cpp_string *to, enum cpp_ttype type,
+ cpp_string_location_reader *loc_readers,
+ cpp_substring_ranges *out)
{
struct _cpp_strbuf tbuf;
const uchar *p, *base, *limit;
size_t i;
struct cset_converter cvt = converter_for_type (pfile, type);
- tbuf.asize = MAX (OUTBUF_BLOCK_SIZE, from->len);
- tbuf.text = XNEWVEC (uchar, tbuf.asize);
- tbuf.len = 0;
+ /* loc_readers and out must either be both NULL, or both be non-NULL. */
+ gcc_assert ((loc_readers != NULL) == (out != NULL));
+
+ if (to)
+ {
+ tbuf.asize = MAX (OUTBUF_BLOCK_SIZE, from->len);
+ tbuf.text = XNEWVEC (uchar, tbuf.asize);
+ tbuf.len = 0;
+ }
+ cpp_string_location_reader *loc_reader = NULL;
for (i = 0; i < count; i++)
{
+ if (loc_readers)
+ loc_reader = &loc_readers[i];
+
p = from[i].text;
if (*p == 'u')
{
- if (*++p == '8')
- p++;
+ p++;
+ if (loc_reader)
+ loc_reader->get_next ();
+ if (*p == '8')
+ {
+ p++;
+ if (loc_reader)
+ loc_reader->get_next ();
+ }
}
else if (*p == 'L' || *p == 'U') p++;
if (*p == 'R')
@@ -1404,23 +1564,64 @@ cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count,
/* Skip over 'R"'. */
p += 2;
+ if (loc_reader)
+ {
+ loc_reader->get_next ();
+ loc_reader->get_next ();
+ }
prefix = p;
while (*p != '(')
- p++;
+ {
+ p++;
+ if (loc_reader)
+ loc_reader->get_next ();
+ }
p++;
+ if (loc_reader)
+ loc_reader->get_next ();
limit = from[i].text + from[i].len;
if (limit >= p + (p - prefix) + 1)
limit -= (p - prefix) + 1;
/* Raw strings are all normal characters; these can be fed
directly to convert_cset. */
- if (!APPLY_CONVERSION (cvt, p, limit - p, &tbuf))
- goto fail;
+ if (to)
+ if (!APPLY_CONVERSION (cvt, p, limit - p, &tbuf))
+ goto fail;
+
+ if (loc_reader)
+ {
+ /* If generating source ranges, assume we have a 1:1
+ correspondence between bytes in the source encoding and bytes
+ in the execution encoding (e.g. if we have a UTF-8 to UTF-8
+ conversion), so that this run of bytes in the source file
+ corresponds to a run of bytes in the execution string.
+ This requirement is guaranteed by an early-reject in
+ cpp_interpret_string_ranges. */
+ gcc_assert (cvt.func == convert_no_conversion);
+ out->add_n_ranges (limit - p, *loc_reader);
+ }
continue;
}
- p++; /* Skip leading quote. */
+ /* If we don't now have a leading quote, something has gone wrong.
+ This can occur if cpp_interpret_string_ranges is handling a
+ stringified macro argument, but should not be possible otherwise. */
+ if (*p != '"' && *p != '\'')
+ {
+ gcc_assert (out != NULL);
+ cpp_error (pfile, CPP_DL_ERROR, "missing open quote");
+ if (to)
+ free (tbuf.text);
+ return false;
+ }
+
+ /* Skip leading quote. */
+ p++;
+ if (loc_reader)
+ loc_reader->get_next ();
+
limit = from[i].text + from[i].len - 1; /* Skip trailing quote. */
for (;;)
@@ -1432,29 +1633,137 @@ cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count,
{
/* We have a run of normal characters; these can be fed
directly to convert_cset. */
- if (!APPLY_CONVERSION (cvt, base, p - base, &tbuf))
- goto fail;
+ if (to)
+ if (!APPLY_CONVERSION (cvt, base, p - base, &tbuf))
+ goto fail;
+ /* Similar to above: assumes we have a 1:1 correspondence
+ between bytes in the source encoding and bytes in the
+ execution encoding. */
+ if (loc_reader)
+ {
+ gcc_assert (cvt.func == convert_no_conversion);
+ out->add_n_ranges (p - base, *loc_reader);
+ }
}
- if (p == limit)
+ if (p >= limit)
break;
- p = convert_escape (pfile, p + 1, limit, &tbuf, cvt);
+ struct _cpp_strbuf *tbuf_ptr = to ? &tbuf : NULL;
+ p = convert_escape (pfile, p + 1, limit, tbuf_ptr, cvt,
+ loc_reader, out);
}
}
- /* NUL-terminate the 'to' buffer and translate it to a cpp_string
- structure. */
- emit_numeric_escape (pfile, 0, &tbuf, cvt);
- tbuf.text = XRESIZEVEC (uchar, tbuf.text, tbuf.len);
- to->text = tbuf.text;
- to->len = tbuf.len;
+
+ if (to)
+ {
+ /* NUL-terminate the 'to' buffer and translate it to a cpp_string
+ structure. */
+ emit_numeric_escape (pfile, 0, &tbuf, cvt);
+ tbuf.text = XRESIZEVEC (uchar, tbuf.text, tbuf.len);
+ to->text = tbuf.text;
+ to->len = tbuf.len;
+ }
+ /* Use the location of the trailing quote as the location of the
+ NUL-terminator. */
+ if (loc_reader)
+ {
+ source_range range = loc_reader->get_next ();
+ out->add_range (range);
+ }
+
return true;
fail:
cpp_errno (pfile, CPP_DL_ERROR, "converting to execution character set");
- free (tbuf.text);
+ if (to)
+ free (tbuf.text);
return false;
}
+/* FROM is an array of cpp_string structures of length COUNT. These
+ are to be converted from the source to the execution character set,
+ escape sequences translated, and finally all are to be
+ concatenated. WIDE indicates whether or not to produce a wide
+ string. The result is written into TO. Returns true for success,
+ false for failure. */
+bool
+cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count,
+ cpp_string *to, enum cpp_ttype type)
+{
+ return cpp_interpret_string_1 (pfile, from, count, to, type, NULL, NULL);
+}
+
+/* A "do nothing" error-handling callback for use by
+ cpp_interpret_string_ranges, so that it can temporarily suppress
+ error-handling. */
+
+static bool
+noop_error_cb (cpp_reader *, int, int, rich_location *,
+ const char *, va_list *)
+{
+ /* no-op. */
+ return true;
+}
+
+/* This function mimics the behavior of cpp_interpret_string, but
+ rather than generating a string in the execution character set,
+ *OUT is written to with the source code ranges of the characters
+ in such a string.
+ FROM and LOC_READERS should both be arrays of length COUNT.
+ Returns NULL for success, or an error message for failure. */
+
+const char *
+cpp_interpret_string_ranges (cpp_reader *pfile, const cpp_string *from,
+ cpp_string_location_reader *loc_readers,
+ size_t count,
+ cpp_substring_ranges *out,
+ enum cpp_ttype type)
+{
+ /* There are a couple of cases in the range-handling in
+ cpp_interpret_string_1 that rely on there being a 1:1 correspondence
+ between bytes in the source encoding and bytes in the execution
+ encoding, so that each byte in the execution string can correspond
+ to the location of a byte in the source string.
+
+ This holds for the typical case of a UTF-8 to UTF-8 conversion.
+ Enforce this requirement by only attempting to track substring
+ locations if we have source encoding == execution encoding.
+
+ This is a stronger condition than we need, since we could e.g.
+ have ASCII to EBCDIC (with 1 byte per character before and after),
+ but it seems to be a reasonable restriction. */
+ struct cset_converter cvt = converter_for_type (pfile, type);
+ if (cvt.func != convert_no_conversion)
+ 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
+ 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
+ failing, rather than being emitted as a user-visible diagnostic.
+ If an error 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 *)
+ ATTRIBUTE_FPTR_PRINTF(5,0);
+
+ saved_error_handler = pfile->cb.error;
+ pfile->cb.error = noop_error_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;
+
+ if (!result)
+ return "cpp_interpret_string_1 failed";
+
+ /* Success. */
+ return NULL;
+}
+
/* Subroutine of do_line and do_linemarker. Convert escape sequences
in a string, but do not perform character set conversion. */
bool
@@ -1818,3 +2127,39 @@ _cpp_default_encoding (void)
return current_encoding;
}
+
+/* Implementation of class cpp_string_location_reader. */
+
+/* Constructor for cpp_string_location_reader. */
+
+cpp_string_location_reader::
+cpp_string_location_reader (source_location src_loc,
+ line_maps *line_table)
+: m_line_table (line_table)
+{
+ src_loc = get_range_from_loc (line_table, src_loc).m_start;
+
+ /* SRC_LOC might be a macro location. It only makes sense to do
+ column-by-column calculations on ordinary maps, so get the
+ corresponding location in an ordinary map. */
+ m_loc
+ = linemap_resolve_location (line_table, src_loc,
+ LRK_SPELLING_LOCATION, NULL);
+
+ const line_map_ordinary *map
+ = linemap_check_ordinary (linemap_lookup (line_table, m_loc));
+ m_offset_per_column = (1 << map->m_range_bits);
+}
+
+/* Get the range of the next source byte. */
+
+source_range
+cpp_string_location_reader::get_next ()
+{
+ source_range result;
+ result.m_start = m_loc;
+ result.m_finish = m_loc;
+ if (m_loc <= LINE_MAP_MAX_LOCATION_WITH_COLS)
+ m_loc += m_offset_per_column;
+ return result;
+}
diff --git a/libcpp/config.in b/libcpp/config.in
index e02ac5efba..dd489a5f40 100644
--- a/libcpp/config.in
+++ b/libcpp/config.in
@@ -14,6 +14,9 @@
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
+/* Define if you want assertions enabled. This is a cheap check. */
+#undef ENABLE_ASSERT_CHECKING
+
/* Define to enable system headers canonicalization. */
#undef ENABLE_CANONICAL_SYSTEM_HEADERS
@@ -21,6 +24,9 @@
language is requested. */
#undef ENABLE_NLS
+/* Define to get calls to the valgrind runtime enabled. */
+#undef ENABLE_VALGRIND_ANNOTATIONS
+
/* Define if you want to workaround valgrind (a memory checker) warnings about
possible memory leaks because of libcpp use of interior pointers. */
#undef ENABLE_VALGRIND_CHECKING
diff --git a/libcpp/configure b/libcpp/configure
index 0342f163c9..12c1907ed4 100755
--- a/libcpp/configure
+++ b/libcpp/configure
@@ -703,6 +703,7 @@ enable_maintainer_mode
enable_checking
enable_canonical_system_headers
enable_host_shared
+enable_valgrind_annotations
'
ac_precious_vars='build_alias
host_alias
@@ -1343,6 +1344,8 @@ Optional Features:
--enable-canonical-system-headers
enable or disable system headers canonicalization
--enable-host-shared build host code as shared libraries
+ --enable-valgrind-annotations
+ enable valgrind runtime interaction
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -7285,9 +7288,11 @@ for check in release $ac_checking_flags
do
case $check in
# these set all the flags to specific states
- yes|all) ac_checking=1 ; ac_valgrind_checking= ;;
- no|none|release) ac_checking= ; ac_valgrind_checking= ;;
+ yes|all) ac_checking=1 ; ac_assert_checking=1 ; ac_valgrind_checking= ;;
+ no|none) ac_checking= ; ac_assert_checking= ; ac_valgrind_checking= ;;
+ release) ac_checking= ; ac_assert_checking=1 ; ac_valgrind_checking= ;;
# these enable particular checks
+ assert) ac_assert_checking=1 ;;
misc) ac_checking=1 ;;
valgrind) ac_valgrind_checking=1 ;;
# accept
@@ -7305,6 +7310,12 @@ else
fi
+if test x$ac_assert_checking != x ; then
+
+$as_echo "#define ENABLE_ASSERT_CHECKING 1" >>confdefs.h
+
+fi
+
if test x$ac_valgrind_checking != x ; then
$as_echo "#define ENABLE_VALGRIND_CHECKING 1" >>confdefs.h
@@ -7355,6 +7366,25 @@ fi
+# Check whether --enable-valgrind-annotations was given.
+if test "${enable_valgrind_annotations+set}" = set; then :
+ enableval=$enable_valgrind_annotations;
+else
+ enable_valgrind_annotations=no
+fi
+
+if test x$enable_valgrind_annotations != xno \
+ || test x$ac_valgrind_checking != x; then
+ 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
+ fi
+
+$as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h
+
+fi
+
# Output.
ac_config_headers="$ac_config_headers config.h:config.in"
diff --git a/libcpp/configure.ac b/libcpp/configure.ac
index 0005c589fc..d0a59dc3e0 100644
--- a/libcpp/configure.ac
+++ b/libcpp/configure.ac
@@ -152,9 +152,11 @@ for check in release $ac_checking_flags
do
case $check in
# these set all the flags to specific states
- yes|all) ac_checking=1 ; ac_valgrind_checking= ;;
- no|none|release) ac_checking= ; ac_valgrind_checking= ;;
+ yes|all) ac_checking=1 ; ac_assert_checking=1 ; ac_valgrind_checking= ;;
+ no|none) ac_checking= ; ac_assert_checking= ; ac_valgrind_checking= ;;
+ release) ac_checking= ; ac_assert_checking=1 ; ac_valgrind_checking= ;;
# these enable particular checks
+ assert) ac_assert_checking=1 ;;
misc) ac_checking=1 ;;
valgrind) ac_valgrind_checking=1 ;;
# accept
@@ -170,6 +172,11 @@ else
AC_DEFINE(CHECKING_P, 0)
fi
+if test x$ac_assert_checking != x ; then
+ AC_DEFINE(ENABLE_ASSERT_CHECKING, 1,
+[Define if you want assertions enabled. This is a cheap check.])
+fi
+
if test x$ac_valgrind_checking != x ; then
AC_DEFINE(ENABLE_VALGRIND_CHECKING, 1,
[Define if you want to workaround valgrind (a memory checker) warnings about
@@ -200,6 +207,21 @@ AC_ARG_ENABLE(host-shared,
[PICFLAG=-fPIC], [PICFLAG=])
AC_SUBST(PICFLAG)
+AC_ARG_ENABLE(valgrind-annotations,
+[AS_HELP_STRING([--enable-valgrind-annotations],
+ [enable valgrind runtime interaction])], [],
+[enable_valgrind_annotations=no])
+if test x$enable_valgrind_annotations != xno \
+ || test x$ac_valgrind_checking != x; then
+ if (test $have_valgrind_h = no \
+ && test $gcc_cv_header_memcheck_h = no \
+ && test $gcc_cv_header_valgrind_memcheck_h = no); then
+ AC_MSG_ERROR([*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h])
+ fi
+ AC_DEFINE(ENABLE_VALGRIND_ANNOTATIONS, 1,
+[Define to get calls to the valgrind runtime enabled.])
+fi
+
# Output.
AC_CONFIG_HEADERS(config.h:config.in, [echo timestamp > stamp-h1])
diff --git a/libcpp/directives-only.c b/libcpp/directives-only.c
index 76bc76b98a..5fa5b29a08 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-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2017 Free Software Foundation, Inc.
Contributed by Ollie Wild <aaw@google.com>.
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/directives.c b/libcpp/directives.c
index 1617ff61c3..7cac653dbb 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -1,5 +1,5 @@
/* CPP Library. (Directive handling.)
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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
@@ -188,6 +188,16 @@ static const directive dtable[] =
DIRECTIVE_TABLE
};
#undef D
+
+/* A NULL-terminated array of directive names for use
+ when suggesting corrections for misspelled directives. */
+#define D(name, t, origin, flags) #name,
+static const char * const directive_names[] = {
+DIRECTIVE_TABLE
+ NULL
+};
+#undef D
+
#undef DIRECTIVE_TABLE
/* Wrapper struct directive for linemarkers.
@@ -498,8 +508,35 @@ _cpp_handle_directive (cpp_reader *pfile, int indented)
if (CPP_OPTION (pfile, lang) == CLK_ASM)
skip = 0;
else if (!pfile->state.skipping)
- cpp_error (pfile, CPP_DL_ERROR, "invalid preprocessing directive #%s",
- cpp_token_as_text (pfile, dname));
+ {
+ const char *unrecognized
+ = (const char *)cpp_token_as_text (pfile, dname);
+ const char *hint = NULL;
+
+ /* Call back into gcc to get a spelling suggestion. Ideally
+ we'd just use best_match from gcc/spellcheck.h (and filter
+ out the uncommon directives), but that requires moving it
+ to a support library. */
+ if (pfile->cb.get_suggestion)
+ hint = pfile->cb.get_suggestion (pfile, unrecognized,
+ directive_names);
+
+ if (hint)
+ {
+ rich_location richloc (pfile->line_table, dname->src_loc);
+ source_range misspelled_token_range
+ = get_range_from_loc (pfile->line_table, dname->src_loc);
+ richloc.add_fixit_replace (misspelled_token_range, hint);
+ cpp_error_at_richloc (pfile, CPP_DL_ERROR, &richloc,
+ "invalid preprocessing directive #%s;"
+ " did you mean #%s?",
+ unrecognized, hint);
+ }
+ else
+ cpp_error (pfile, CPP_DL_ERROR,
+ "invalid preprocessing directive #%s",
+ unrecognized);
+ }
}
pfile->directive = dir;
@@ -818,7 +855,7 @@ do_include_common (cpp_reader *pfile, enum include_type type)
pfile->directive->name, fname, angle_brackets,
buf);
- _cpp_stack_include (pfile, fname, angle_brackets, type);
+ _cpp_stack_include (pfile, fname, angle_brackets, type, location);
}
XDELETEVEC (fname);
diff --git a/libcpp/errors.c b/libcpp/errors.c
index 984737877b..7fdee3c625 100644
--- a/libcpp/errors.c
+++ b/libcpp/errors.c
@@ -1,5 +1,5 @@
/* Default error handlers for CPP Library.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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
@@ -27,6 +27,41 @@ along with this program; see the file COPYING3. If not see
#include "cpplib.h"
#include "internal.h"
+/* Print a diagnostic at the given location. */
+
+ATTRIBUTE_FPTR_PRINTF(5,0)
+static bool
+cpp_diagnostic_at_richloc (cpp_reader * pfile, int level, int reason,
+ rich_location *richloc,
+ const char *msgid, va_list *ap)
+{
+ bool ret;
+
+ if (!pfile->cb.error)
+ abort ();
+ ret = pfile->cb.error (pfile, level, reason, richloc, _(msgid), ap);
+
+ return ret;
+}
+
+/* Print a diagnostic at the given location. */
+
+ATTRIBUTE_FPTR_PRINTF(5,0)
+static bool
+cpp_diagnostic_at (cpp_reader * pfile, int level, int reason,
+ source_location src_loc,
+ const char *msgid, va_list *ap)
+{
+ bool ret;
+
+ if (!pfile->cb.error)
+ abort ();
+ rich_location richloc (pfile->line_table, src_loc);
+ ret = pfile->cb.error (pfile, level, reason, &richloc, _(msgid), ap);
+
+ return ret;
+}
+
/* Print a diagnostic at the location of the previously lexed token. */
ATTRIBUTE_FPTR_PRINTF(4,0)
@@ -35,7 +70,6 @@ cpp_diagnostic (cpp_reader * pfile, int level, int reason,
const char *msgid, va_list *ap)
{
source_location src_loc;
- bool ret;
if (CPP_OPTION (pfile, traditional))
{
@@ -54,13 +88,7 @@ cpp_diagnostic (cpp_reader * pfile, int level, int reason,
{
src_loc = pfile->cur_token[-1].src_loc;
}
-
- if (!pfile->cb.error)
- abort ();
- rich_location richloc (pfile->line_table, src_loc);
- ret = pfile->cb.error (pfile, level, reason, &richloc, _(msgid), ap);
-
- return ret;
+ return cpp_diagnostic_at (pfile, level, reason, src_loc, msgid, ap);
}
/* Print a warning or error, depending on the value of LEVEL. */
@@ -225,6 +253,44 @@ cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason,
return ret;
}
+/* As cpp_error, but use SRC_LOC as the location of the error, without
+ a column override. */
+
+bool
+cpp_error_at (cpp_reader * pfile, int level, source_location src_loc,
+ const char *msgid, ...)
+{
+ va_list ap;
+ bool ret;
+
+ va_start (ap, msgid);
+
+ ret = cpp_diagnostic_at (pfile, level, CPP_W_NONE, src_loc,
+ msgid, &ap);
+
+ va_end (ap);
+ return ret;
+}
+
+/* As cpp_error, but use RICHLOC as the location of the error, without
+ a column override. */
+
+bool
+cpp_error_at_richloc (cpp_reader * pfile, int level, rich_location *richloc,
+ const char *msgid, ...)
+{
+ va_list ap;
+ bool ret;
+
+ va_start (ap, msgid);
+
+ ret = cpp_diagnostic_at_richloc (pfile, level, CPP_W_NONE, richloc,
+ msgid, &ap);
+
+ va_end (ap);
+ return ret;
+}
+
/* Print a warning or error, depending on the value of LEVEL. Include
information from errno. */
@@ -239,10 +305,12 @@ 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)
+cpp_errno_filename (cpp_reader *pfile, int level, const char *filename,
+ source_location loc)
{
if (filename[0] == '\0')
filename = _("stdout");
- return cpp_error (pfile, level, "%s: %s", filename, xstrerror (errno));
+ return cpp_error_at (pfile, level, loc, "%s: %s", filename,
+ xstrerror (errno));
}
diff --git a/libcpp/expr.c b/libcpp/expr.c
index 5cdca6f1be..3eac3768bb 100644
--- a/libcpp/expr.c
+++ b/libcpp/expr.c
@@ -1,5 +1,5 @@
/* Parse C expressions for cpplib.
- Copyright (C) 1987-2016 Free Software Foundation, Inc.
+ Copyright (C) 1987-2017 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994.
This program is free software; you can redistribute it and/or modify it
@@ -86,15 +86,52 @@ static cpp_num parse_has_include (cpp_reader *, enum include_type);
/* Subroutine of cpp_classify_number. S points to a float suffix of
length LEN, possibly zero. Returns 0 for an invalid suffix, or a
- flag vector describing the suffix. */
+ flag vector (of CPP_N_* bits) describing the suffix. */
static unsigned int
interpret_float_suffix (cpp_reader *pfile, const uchar *s, size_t len)
{
size_t flags;
- size_t f, d, l, w, q, i;
+ size_t f, d, l, w, q, i, fn, fnx, fn_bits;
flags = 0;
- f = d = l = w = q = i = 0;
+ f = d = l = w = q = i = fn = fnx = fn_bits = 0;
+
+ /* The following decimal float suffixes, from TR 24732:2009 and TS
+ 18661-2:2015, are supported:
+
+ df, DF - _Decimal32.
+ dd, DD - _Decimal64.
+ dl, DL - _Decimal128.
+
+ The dN and DN suffixes for _DecimalN, and dNx and DNx for
+ _DecimalNx, defined in TS 18661-3:2015, are not supported.
+
+ Fixed-point suffixes, from TR 18037:2008, are supported. They
+ consist of three parts, in order:
+
+ (i) An optional u or U, for unsigned types.
+
+ (ii) An optional h or H, for short types, or l or L, for long
+ types, or ll or LL, for long long types. Use of ll or LL is a
+ GNU extension.
+
+ (iii) r or R, for _Fract types, or k or K, for _Accum types.
+
+ Otherwise the suffix is for a binary or standard floating-point
+ type. Such a suffix, or the absence of a suffix, may be preceded
+ or followed by i, I, j or J, to indicate an imaginary number with
+ the corresponding complex type. The following suffixes for
+ binary or standard floating-point types are supported:
+
+ f, F - float (ISO C and C++).
+ l, L - long double (ISO C and C++).
+ d, D - double, even with the FLOAT_CONST_DECIMAL64 pragma in
+ operation (from TR 24732:2009; the pragma and the suffix
+ are not included in TS 18661-2:2015).
+ w, W - machine-specific type such as __float80 (GNU extension).
+ q, Q - machine-specific type such as __float128 (GNU extension).
+ fN, FN - _FloatN (TS 18661-3:2015).
+ fNx, FNx - _FloatNx (TS 18661-3:2015). */
/* Process decimal float suffixes, which are two letters starting
with d or D. Order and case are significant. */
@@ -172,20 +209,64 @@ interpret_float_suffix (cpp_reader *pfile, const uchar *s, size_t len)
/* In any remaining valid suffix, the case and order don't matter. */
while (len--)
- switch (s[len])
- {
- case 'f': case 'F': f++; break;
- case 'd': case 'D': d++; break;
- case 'l': case 'L': l++; break;
- case 'w': case 'W': w++; break;
- case 'q': case 'Q': q++; break;
- case 'i': case 'I':
- case 'j': case 'J': i++; break;
- default:
- return 0;
- }
+ {
+ switch (s[0])
+ {
+ case 'f': case 'F':
+ f++;
+ if (len > 0
+ && !CPP_OPTION (pfile, cplusplus)
+ && s[1] >= '1'
+ && s[1] <= '9'
+ && fn_bits == 0)
+ {
+ f--;
+ while (len > 0
+ && s[1] >= '0'
+ && s[1] <= '9'
+ && fn_bits < CPP_FLOATN_MAX)
+ {
+ fn_bits = fn_bits * 10 + (s[1] - '0');
+ len--;
+ s++;
+ }
+ if (len > 0 && s[1] == 'x')
+ {
+ fnx++;
+ len--;
+ s++;
+ }
+ else
+ fn++;
+ }
+ break;
+ case 'd': case 'D': d++; break;
+ case 'l': case 'L': l++; break;
+ case 'w': case 'W': w++; break;
+ case 'q': case 'Q': q++; break;
+ case 'i': case 'I':
+ case 'j': case 'J': i++; break;
+ default:
+ return 0;
+ }
+ s++;
+ }
- if (f + d + l + w + q > 1 || i > 1)
+ /* Reject any case of multiple suffixes specifying types, multiple
+ suffixes specifying an imaginary constant, _FloatN or _FloatNx
+ suffixes for invalid values of N, and _FloatN suffixes for values
+ of N larger than can be represented in the return value. The
+ caller is responsible for rejecting _FloatN suffixes where
+ _FloatN is not supported on the chosen target. */
+ if (f + d + l + w + q + fn + fnx > 1 || i > 1)
+ return 0;
+ if (fn_bits > CPP_FLOATN_MAX)
+ return 0;
+ if (fnx && fn_bits != 32 && fn_bits != 64 && fn_bits != 128)
+ return 0;
+ if (fn && fn_bits != 16 && fn_bits % 32 != 0)
+ return 0;
+ if (fn && fn_bits == 96)
return 0;
if (i && !CPP_OPTION (pfile, ext_numeric_literals))
@@ -199,7 +280,10 @@ interpret_float_suffix (cpp_reader *pfile, const uchar *s, size_t len)
d ? CPP_N_MEDIUM :
l ? CPP_N_LARGE :
w ? CPP_N_MD_W :
- q ? CPP_N_MD_Q : CPP_N_DEFAULT));
+ q ? CPP_N_MD_Q :
+ fn ? CPP_N_FLOATN | (fn_bits << CPP_FLOATN_SHIFT) :
+ fnx ? CPP_N_FLOATNX | (fn_bits << CPP_FLOATN_SHIFT) :
+ CPP_N_DEFAULT));
}
/* Return the classification flags for a float suffix. */
@@ -947,9 +1031,11 @@ parse_defined (cpp_reader *pfile)
if (node)
{
- if (pfile->context != initial_context && CPP_PEDANTIC (pfile))
- cpp_error (pfile, CPP_DL_WARNING,
- "this use of \"defined\" may not be portable");
+ if ((pfile->context != initial_context
+ || initial_context != &pfile->base_context)
+ && CPP_OPTION (pfile, warn_expansion_to_defined))
+ cpp_pedwarning (pfile, CPP_W_EXPANSION_TO_DEFINED,
+ "this use of \"defined\" may not be portable");
_cpp_mark_macro_used (node);
if (!(node->flags & NODE_USED))
@@ -1073,7 +1159,7 @@ eval_token (cpp_reader *pfile, const cpp_token *token,
result.low = 0;
if (CPP_OPTION (pfile, warn_undef) && !pfile->state.skip_eval)
cpp_warning_with_line (pfile, CPP_W_UNDEF, virtual_location, 0,
- "\"%s\" is not defined",
+ "\"%s\" is not defined, evaluates to 0",
NODE_NAME (token->val.node.node));
}
break;
diff --git a/libcpp/files.c b/libcpp/files.c
index 5aa8d1ac9b..969a531033 100644
--- a/libcpp/files.c
+++ b/libcpp/files.c
@@ -1,5 +1,5 @@
/* Part of CPP library. File handling.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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
@@ -171,14 +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);
-static bool read_file_guts (cpp_reader *pfile, _cpp_file *file);
-static bool read_file (cpp_reader *pfile, _cpp_file *file);
-static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import);
+ bool *invalid_pch, source_location loc);
+static bool read_file_guts (cpp_reader *pfile, _cpp_file *file,
+ source_location loc);
+static bool read_file (cpp_reader *pfile, _cpp_file *file,
+ source_location loc);
+static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import,
+ source_location 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);
+static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int,
+ source_location);
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);
@@ -368,10 +372,12 @@ maybe_shorter_path (const char * file)
/* Try to open the path FILE->name appended to FILE->dir. This is
where remap and PCH intercept the file lookup process. Return true
if the file was found, whether or not the open was successful.
- Set *INVALID_PCH to true if a PCH file is found but wasn't valid. */
+ Set *INVALID_PCH to true if a PCH file is found but wasn't valid.
+ Use LOC when emitting any diagnostics. */
static bool
-find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
+find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch,
+ source_location loc)
{
char *path;
@@ -424,7 +430,7 @@ find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
if (file->err_no != ENOENT)
{
- open_file_failed (pfile, file, 0);
+ open_file_failed (pfile, file, 0, loc);
return true;
}
@@ -495,10 +501,13 @@ _cpp_find_failed (_cpp_file *file)
If IMPLICIT_PREINCLUDE then it is OK for the file to be missing.
If present, it is OK for a precompiled header to be included after
it.
-*/
+
+ Use LOC as the location for any errors. */
+
_cpp_file *
_cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
- bool fake, int angle_brackets, bool implicit_preinclude)
+ bool fake, int angle_brackets, bool implicit_preinclude,
+ source_location loc)
{
struct cpp_file_hash_entry *entry;
void **hash_slot;
@@ -510,7 +519,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
/* Ensure we get no confusion between cached files and directories. */
if (start_dir == NULL)
- cpp_error (pfile, CPP_DL_ICE, "NULL directory in find_file");
+ cpp_error_at (pfile, CPP_DL_ICE, loc, "NULL directory in find_file");
hash_slot
= htab_find_slot_with_hash (pfile->file_hash, fname,
@@ -530,7 +539,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
/* Try each path in the include chain. */
for (; !fake ;)
{
- if (find_file_in_dir (pfile, file, &invalid_pch))
+ if (find_file_in_dir (pfile, file, &invalid_pch, loc))
break;
file->dir = file->dir->next;
@@ -579,7 +588,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
return NULL;
}
else
- open_file_failed (pfile, file, angle_brackets);
+ open_file_failed (pfile, file, angle_brackets, loc);
break;
}
@@ -658,9 +667,11 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
except for plain files and block devices, since there is no
reliable portable way of doing this.
+ Use LOC for any diagnostics.
+
FIXME: Flush file cache and try again if we run out of memory. */
static bool
-read_file_guts (cpp_reader *pfile, _cpp_file *file)
+read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc)
{
ssize_t size, total, count;
uchar *buf;
@@ -668,7 +679,8 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
if (S_ISBLK (file->st.st_mode))
{
- cpp_error (pfile, CPP_DL_ERROR, "%s is a block device", file->path);
+ cpp_error_at (pfile, CPP_DL_ERROR, loc,
+ "%s is a block device", file->path);
return false;
}
@@ -685,7 +697,8 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
does not bite us. */
if (file->st.st_size > INTTYPE_MAXIMUM (ssize_t))
{
- cpp_error (pfile, CPP_DL_ERROR, "%s is too large", file->path);
+ cpp_error_at (pfile, CPP_DL_ERROR, loc,
+ "%s is too large", file->path);
return false;
}
@@ -718,13 +731,13 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
if (count < 0)
{
- cpp_errno_filename (pfile, CPP_DL_ERROR, file->path);
+ cpp_errno_filename (pfile, CPP_DL_ERROR, file->path, loc);
free (buf);
return false;
}
if (regular && total != size && STAT_SIZE_RELIABLE (file->st))
- cpp_error (pfile, CPP_DL_WARNING,
+ cpp_error_at (pfile, CPP_DL_WARNING, loc,
"%s is shorter than expected", file->path);
file->buffer = _cpp_convert_input (pfile,
@@ -739,9 +752,10 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
/* Convenience wrapper around read_file_guts that opens the file if
necessary and closes the file descriptor after reading. FILE must
- have been passed through find_file() at some stage. */
+ have been passed through find_file() at some stage. Use LOC for
+ any diagnostics. */
static bool
-read_file (cpp_reader *pfile, _cpp_file *file)
+read_file (cpp_reader *pfile, _cpp_file *file, source_location loc)
{
/* If we already have its contents in memory, succeed immediately. */
if (file->buffer_valid)
@@ -753,11 +767,11 @@ read_file (cpp_reader *pfile, _cpp_file *file)
if (file->fd == -1 && !open_file (file))
{
- open_file_failed (pfile, file, 0);
+ open_file_failed (pfile, file, 0, loc);
return false;
}
- file->dont_read = !read_file_guts (pfile, file);
+ file->dont_read = !read_file_guts (pfile, file, loc);
close (file->fd);
file->fd = -1;
@@ -765,9 +779,11 @@ read_file (cpp_reader *pfile, _cpp_file *file)
}
/* Returns TRUE if FILE's contents have been successfully placed in
- FILE->buffer and the file should be stacked, otherwise false. */
+ FILE->buffer and the file should be stacked, otherwise false.
+ Use LOC for any diagnostics. */
static bool
-should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
+should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
+ source_location loc)
{
_cpp_file *f;
@@ -802,7 +818,7 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
return false;
}
- if (!read_file (pfile, file))
+ if (!read_file (pfile, file, loc))
return false;
/* Check the file against the PCH file. This is done before
@@ -849,7 +865,7 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
/* The file is not stacked anymore. We can reuse it. */
ref_file = f;
- same_file_p = read_file (pfile, ref_file)
+ same_file_p = read_file (pfile, ref_file, loc)
/* Size might have changed in read_file(). */
&& ref_file->st.st_size == file->st.st_size
&& !memcmp (ref_file->buffer,
@@ -873,14 +889,15 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
/* Place the file referenced by FILE into a new buffer on the buffer
stack if possible. IMPORT is true if this stacking attempt is
because of a #import directive. Returns true if a buffer is
- stacked. */
+ stacked. Use LOC for any diagnostics. */
bool
-_cpp_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
+_cpp_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
+ source_location loc)
{
cpp_buffer *buffer;
int sysp;
- if (!should_stack_file (pfile, file, import))
+ if (!should_stack_file (pfile, file, import, loc))
return false;
if (pfile->buffer == NULL || file->dir == NULL)
@@ -990,7 +1007,7 @@ 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)
+ enum include_type type, source_location loc)
{
struct cpp_dir *dir;
_cpp_file *file;
@@ -1013,7 +1030,7 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
return false;
file = _cpp_find_file (pfile, fname, dir, false, angle_brackets,
- type == IT_DEFAULT);
+ type == IT_DEFAULT, loc);
if (type == IT_DEFAULT && file == NULL)
return false;
@@ -1029,7 +1046,7 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
&& type != IT_CMDLINE && type != IT_DEFAULT)
pfile->line_table->highest_location--;
- stacked = _cpp_stack_file (pfile, file, type == IT_IMPORT);
+ stacked = _cpp_stack_file (pfile, file, type == IT_IMPORT, loc);
if (!stacked)
/* _cpp_stack_file didn't stack the file, so let's rollback the
@@ -1041,7 +1058,8 @@ _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)
+open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets,
+ source_location 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);
@@ -1057,7 +1075,8 @@ open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets)
being used, we must also flag an error. */
if (CPP_OPTION (pfile, deps.need_preprocessor_output))
cpp_errno_filename (pfile, CPP_DL_FATAL,
- file->path ? file->path : file->name);
+ file->path ? file->path : file->name,
+ loc);
}
else
{
@@ -1072,10 +1091,12 @@ open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets)
|| print_dep
|| CPP_OPTION (pfile, deps.need_preprocessor_output))
cpp_errno_filename (pfile, CPP_DL_FATAL,
- file->path ? file->path : file->name);
+ file->path ? file->path : file->name,
+ loc);
else
cpp_errno_filename (pfile, CPP_DL_WARNING,
- file->path ? file->path : file->name);
+ file->path ? file->path : file->name,
+ loc);
}
}
@@ -1111,6 +1132,7 @@ destroy_cpp_file (_cpp_file *file)
{
free ((void *) file->buffer_start);
free ((void *) file->name);
+ free ((void *) file->path);
free (file);
}
@@ -1323,7 +1345,7 @@ cpp_clear_file_cache (cpp_reader *pfile)
void
_cpp_fake_include (cpp_reader *pfile, const char *fname)
{
- _cpp_find_file (pfile, fname, pfile->buffer->file->dir, true, 0, false);
+ _cpp_find_file (pfile, fname, pfile->buffer->file->dir, true, 0, false, 0);
}
/* Not everyone who wants to set system-header-ness on a buffer can
@@ -1441,7 +1463,7 @@ _cpp_compare_file_date (cpp_reader *pfile, const char *fname,
if (!dir)
return -1;
- file = _cpp_find_file (pfile, fname, dir, false, angle_brackets, false);
+ file = _cpp_find_file (pfile, fname, dir, false, angle_brackets, false, 0);
if (file->err_no)
return -1;
@@ -1459,7 +1481,7 @@ _cpp_compare_file_date (cpp_reader *pfile, const char *fname,
bool
cpp_push_include (cpp_reader *pfile, const char *fname)
{
- return _cpp_stack_include (pfile, fname, false, IT_CMDLINE);
+ return _cpp_stack_include (pfile, fname, false, IT_CMDLINE, 0);
}
/* Pushes the given file, implicitly included at the start of a
@@ -1468,7 +1490,7 @@ cpp_push_include (cpp_reader *pfile, const char *fname)
bool
cpp_push_default_include (cpp_reader *pfile, const char *fname)
{
- return _cpp_stack_include (pfile, fname, true, IT_DEFAULT);
+ return _cpp_stack_include (pfile, fname, true, IT_DEFAULT, 0);
}
/* Do appropriate cleanup when a file INC's buffer is popped off the
@@ -1651,7 +1673,7 @@ static char *
remap_filename (cpp_reader *pfile, _cpp_file *file)
{
const char *fname, *p;
- char *new_dir;
+ char *new_dir, *p3;
cpp_dir *dir;
size_t index, len;
@@ -1680,9 +1702,15 @@ remap_filename (cpp_reader *pfile, _cpp_file *file)
return NULL;
len = dir->len + (p - fname + 1);
- new_dir = XNEWVEC (char, len + 1);
+ new_dir = XNEWVEC (char, len + 2);
+ p3 = new_dir + dir->len;
memcpy (new_dir, dir->name, dir->len);
- memcpy (new_dir + dir->len, fname, p - fname + 1);
+ if (dir->len && !IS_DIR_SEPARATOR (dir->name[dir->len - 1]))
+ {
+ *p3++ = '/';
+ len++;
+ }
+ memcpy (p3, fname, p - fname + 1);
new_dir[len] = '\0';
dir = make_cpp_dir (pfile, new_dir, dir->sysp);
@@ -1853,7 +1881,7 @@ _cpp_save_file_entries (cpp_reader *pfile, FILE *fp)
if (!open_file (f))
{
- open_file_failed (pfile, f, 0);
+ open_file_failed (pfile, f, 0, 0);
free (result);
return false;
}
@@ -1980,7 +2008,7 @@ _cpp_has_header (cpp_reader *pfile, const char *fname, int angle_brackets,
cpp_dir *start_dir = search_path_head (pfile, fname, angle_brackets, type);
_cpp_file *file = _cpp_find_file (pfile, fname, start_dir,
/*fake=*/false, angle_brackets,
- /*implicit_preinclude=*/false);
+ /*implicit_preinclude=*/false, 0);
return file->err_no != ENOENT;
}
diff --git a/libcpp/identifiers.c b/libcpp/identifiers.c
index 09c5b20237..220f9b97f0 100644
--- a/libcpp/identifiers.c
+++ b/libcpp/identifiers.c
@@ -1,5 +1,5 @@
/* Hash tables for the CPP library.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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/cpp-id-data.h b/libcpp/include/cpp-id-data.h
index 76ef008ac5..1dcfb43cb4 100644
--- a/libcpp/include/cpp-id-data.h
+++ b/libcpp/include/cpp-id-data.h
@@ -1,5 +1,5 @@
/* Structures that hang off cpp_identifier, for PCH.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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/include/cpplib.h b/libcpp/include/cpplib.h
index 35b0375c09..b843992b0c 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -1,5 +1,5 @@
/* Definitions for CPP library.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
+ Copyright (C) 1995-2017 Free Software Foundation, Inc.
Written by Per Bothner, 1994-95.
This program is free software; you can redistribute it and/or modify it
@@ -185,7 +185,8 @@ struct GTY(()) cpp_string {
#define STRINGIFY_ARG (1 << 2) /* If macro argument to be stringified. */
#define PASTE_LEFT (1 << 3) /* If on LHS of a ## operator. */
#define NAMED_OP (1 << 4) /* C++ named operators. */
-#define NO_EXPAND (1 << 5) /* Do not macro-expand this token. */
+#define PREV_FALLTHROUGH (1 << 5) /* On a token preceeded by FALLTHROUGH
+ comment. */
#define BOL (1 << 6) /* Token at beginning of line. */
#define PURE_ZERO (1 << 7) /* Single 0 digit, used by the C++ frontend,
set in c-lex.c. */
@@ -193,6 +194,7 @@ struct GTY(()) cpp_string {
#define SP_PREV_WHITE (1 << 9) /* If whitespace before a ##
operator, or before this token
after a # operator. */
+#define NO_EXPAND (1 << 10) /* Do not macro-expand this token. */
/* Specify which field, if any, of the cpp_token union is used. */
@@ -393,6 +395,9 @@ struct cpp_options
explicitly undefined. */
unsigned char warn_builtin_macro_redefined;
+ /* Different -Wimplicit-fallthrough= levels. */
+ unsigned char cpp_warn_implicit_fallthrough;
+
/* Nonzero means we should look for header.gcc files that remap file
names. */
unsigned char remap;
@@ -410,6 +415,10 @@ struct cpp_options
/* Nonzero means warn if undefined identifiers are evaluated in an #if. */
unsigned char warn_undef;
+ /* Nonzero means warn if "defined" is encountered in a place other than
+ an #if. */
+ unsigned char warn_expansion_to_defined;
+
/* Nonzero means warn of unused macros from the main file. */
unsigned char warn_unused_macros;
@@ -594,6 +603,12 @@ struct cpp_callbacks
/* Callback that can change a user builtin into normal macro. */
bool (*user_builtin_macro) (cpp_reader *, cpp_hashnode *);
+
+ /* Callback to parse SOURCE_DATE_EPOCH from environment. */
+ time_t (*get_source_date_epoch) (cpp_reader *);
+
+ /* Callback for providing suggestions for misspelled directives. */
+ const char *(*get_suggestion) (cpp_reader *, const char *, const char *const *);
};
#ifdef VMS
@@ -740,6 +755,51 @@ struct GTY(()) cpp_hashnode {
union _cpp_hashnode_value GTY ((desc ("CPP_HASHNODE_VALUE_IDX (%1)"))) value;
};
+/* A class for iterating through the source locations within a
+ string token (before escapes are interpreted, and before
+ concatenation). */
+
+class cpp_string_location_reader {
+ public:
+ cpp_string_location_reader (source_location src_loc,
+ line_maps *line_table);
+
+ source_range get_next ();
+
+ private:
+ source_location m_loc;
+ int m_offset_per_column;
+ line_maps *m_line_table;
+};
+
+/* A class for storing the source ranges of all of the characters within
+ a string literal, after escapes are interpreted, and after
+ concatenation.
+
+ This is not GTY-marked, as instances are intended to be temporary. */
+
+class cpp_substring_ranges
+{
+ public:
+ cpp_substring_ranges ();
+ ~cpp_substring_ranges ();
+
+ int get_num_ranges () const { return m_num_ranges; }
+ source_range get_range (int idx) const
+ {
+ linemap_assert (idx < m_num_ranges);
+ return m_ranges[idx];
+ }
+
+ void add_range (source_range range);
+ void add_n_ranges (int num, cpp_string_location_reader &loc_reader);
+
+ private:
+ source_range *m_ranges;
+ int m_num_ranges;
+ int m_alloc_ranges;
+};
+
/* Call this first to get a handle to pass to other functions.
If you want cpplib to manage its own hashtable, pass in a NULL
@@ -826,6 +886,12 @@ extern cppchar_t cpp_interpret_charconst (cpp_reader *, const cpp_token *,
extern bool cpp_interpret_string (cpp_reader *,
const cpp_string *, size_t,
cpp_string *, enum cpp_ttype);
+extern const char *cpp_interpret_string_ranges (cpp_reader *pfile,
+ const cpp_string *from,
+ cpp_string_location_reader *,
+ size_t count,
+ cpp_substring_ranges *out,
+ enum cpp_ttype type);
extern bool cpp_interpret_string_notranslate (cpp_reader *,
const cpp_string *, size_t,
cpp_string *, enum cpp_ttype);
@@ -877,7 +943,7 @@ struct cpp_num
#define CPP_N_FLOATING 0x0002
#define CPP_N_WIDTH 0x00F0
-#define CPP_N_SMALL 0x0010 /* int, float, shrot _Fract/Accum */
+#define CPP_N_SMALL 0x0010 /* int, float, short _Fract/Accum */
#define CPP_N_MEDIUM 0x0020 /* long, double, long _Fract/_Accum. */
#define CPP_N_LARGE 0x0040 /* long long, long double,
long long _Fract/Accum. */
@@ -899,9 +965,16 @@ struct cpp_num
#define CPP_N_FRACT 0x100000 /* Fract types. */
#define CPP_N_ACCUM 0x200000 /* Accum types. */
+#define CPP_N_FLOATN 0x400000 /* _FloatN types. */
+#define CPP_N_FLOATNX 0x800000 /* _FloatNx types. */
#define CPP_N_USERDEF 0x1000000 /* C++0x user-defined literal. */
+#define CPP_N_WIDTH_FLOATN_NX 0xF0000000 /* _FloatN / _FloatNx value
+ of N, divided by 16. */
+#define CPP_FLOATN_SHIFT 24
+#define CPP_FLOATN_MAX 0xF0
+
/* 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 *,
@@ -971,7 +1044,8 @@ enum {
CPP_W_DATE_TIME,
CPP_W_PEDANTIC,
CPP_W_C90_C99_COMPAT,
- CPP_W_CXX11_COMPAT
+ CPP_W_CXX11_COMPAT,
+ CPP_W_EXPANSION_TO_DEFINED
};
/* Output a diagnostic of some kind. */
@@ -989,7 +1063,8 @@ extern bool cpp_warning_syshdr (cpp_reader *, int, const char *msgid, ...)
extern bool cpp_errno (cpp_reader *, int, 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);
+extern bool cpp_errno_filename (cpp_reader *, int, const char *filename,
+ source_location loc);
/* Same as cpp_error, except additionally specifies a position as a
(translation unit) physical line and physical column. If the line is
@@ -1007,6 +1082,15 @@ extern bool cpp_warning_with_line_syshdr (cpp_reader *, int, source_location,
unsigned, const char *msgid, ...)
ATTRIBUTE_PRINTF_5;
+extern bool cpp_error_at (cpp_reader * pfile, int level,
+ source_location src_loc, const char *msgid, ...)
+ ATTRIBUTE_PRINTF_4;
+
+extern bool cpp_error_at_richloc (cpp_reader * pfile, int level,
+ rich_location *richloc, const char *msgid,
+ ...)
+ ATTRIBUTE_PRINTF_4;
+
/* In lex.c */
extern int cpp_ideq (const cpp_token *, const char *);
extern void cpp_output_line (cpp_reader *, FILE *);
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index 292abce3ec..522e8bb17e 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-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 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
@@ -227,10 +227,10 @@ typedef unsigned int linenum_type;
11111111112
12345678901234567890
- 521
+ 522
523 return foo + bar;
~~~~^~~~~
- 523
+ 524
The location's caret is at the "+", line 523 column 15, but starts
earlier, at the "f" of "foo" at column 11. The finish is at the "r"
@@ -260,6 +260,16 @@ typedef unsigned int linenum_type;
worked example in libcpp/location-example.txt. */
typedef unsigned int source_location;
+/* 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;
+
+/* 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;
+
/* A range of source locations.
Ranges are closed:
@@ -286,6 +296,16 @@ 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)
+ {
+ source_range result;
+ result.m_start = start;
+ result.m_finish = finish;
+ return result;
+ }
+
/* Is there any part of this range on the given line? */
bool intersects_line_p (const char *file, int line) const;
};
@@ -679,6 +699,8 @@ struct GTY(()) location_adhoc_data_map {
/* A set of chronological line_map structures. */
struct GTY(()) line_maps {
+
+ ~line_maps ();
maps_info_ordinary info_ordinary;
@@ -886,7 +908,7 @@ LINEMAPS_LAST_ALLOCATED_ORDINARY_MAP (const line_maps *set)
}
/* Returns a pointer to the beginning of the region where macro maps
- are allcoated. */
+ are allocated. */
inline line_map_macro *
LINEMAPS_MACRO_MAPS (const line_maps *set)
{
@@ -957,7 +979,6 @@ LINEMAPS_LAST_ALLOCATED_MACRO_MAP (const line_maps *set)
return (line_map_macro *)LINEMAPS_LAST_ALLOCATED_MAP (set, true);
}
-extern void location_adhoc_data_fini (struct line_maps *);
extern source_location get_combined_adhoc_loc (struct line_maps *,
source_location,
source_range,
@@ -982,6 +1003,12 @@ IS_ADHOC_LOC (source_location loc)
bool
pure_location_p (line_maps *set, source_location 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);
+
/* Combine LOC and BLOCK, giving a combined adhoc location. */
inline source_location
@@ -1060,12 +1087,16 @@ const char* linemap_map_get_macro_name (const line_map_macro *);
int linemap_location_in_system_header_p (struct line_maps *,
source_location);
-/* Return TRUE if LOCATION is a source code location of a token coming
- from a macro replacement-list at a macro expansion point, FALSE
- otherwise. */
+/* 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);
+/* 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);
+
/* 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
@@ -1262,9 +1293,130 @@ struct location_range
bool m_show_caret_p;
};
+/* A partially-embedded vec for use within rich_location for storing
+ ranges and fix-it hints.
+
+ Elements [0..NUM_EMBEDDED) are allocated within m_embed, after
+ that they are within the dynamically-allocated m_extra.
+
+ This allows for static allocation in the common case, whilst
+ supporting the rarer case of an arbitrary number of elements.
+
+ Dynamic allocation is not performed unless it's needed. */
+
+template <typename T, int NUM_EMBEDDED>
+class semi_embedded_vec
+{
+ public:
+ semi_embedded_vec ();
+ ~semi_embedded_vec ();
+
+ unsigned int count () const { return m_num; }
+ T& operator[] (int idx);
+ const T& operator[] (int idx) const;
+
+ void push (const T&);
+ void truncate (int len);
+
+ private:
+ int m_num;
+ T m_embedded[NUM_EMBEDDED];
+ int m_alloc;
+ T *m_extra;
+};
+
+/* Constructor for semi_embedded_vec. In particular, no dynamic allocation
+ is done. */
+
+template <typename T, int NUM_EMBEDDED>
+semi_embedded_vec<T, NUM_EMBEDDED>::semi_embedded_vec ()
+: m_num (0), m_alloc (0), m_extra (NULL)
+{
+}
+
+/* semi_embedded_vec's dtor. Release any dynamically-allocated memory. */
+
+template <typename T, int NUM_EMBEDDED>
+semi_embedded_vec<T, NUM_EMBEDDED>::~semi_embedded_vec ()
+{
+ XDELETEVEC (m_extra);
+}
+
+/* Look up element IDX, mutably. */
+
+template <typename T, int NUM_EMBEDDED>
+T&
+semi_embedded_vec<T, NUM_EMBEDDED>::operator[] (int idx)
+{
+ linemap_assert (idx < m_num);
+ if (idx < NUM_EMBEDDED)
+ return m_embedded[idx];
+ else
+ {
+ linemap_assert (m_extra != NULL);
+ return m_extra[idx - NUM_EMBEDDED];
+ }
+}
+
+/* Look up element IDX (const). */
+
+template <typename T, int NUM_EMBEDDED>
+const T&
+semi_embedded_vec<T, NUM_EMBEDDED>::operator[] (int idx) const
+{
+ linemap_assert (idx < m_num);
+ if (idx < NUM_EMBEDDED)
+ return m_embedded[idx];
+ else
+ {
+ linemap_assert (m_extra != NULL);
+ return m_extra[idx - NUM_EMBEDDED];
+ }
+}
+
+/* Append VALUE to the end of the semi_embedded_vec. */
+
+template <typename T, int NUM_EMBEDDED>
+void
+semi_embedded_vec<T, NUM_EMBEDDED>::push (const T& value)
+{
+ int idx = m_num++;
+ if (idx < NUM_EMBEDDED)
+ m_embedded[idx] = value;
+ else
+ {
+ /* Offset "idx" to be an index within m_extra. */
+ idx -= NUM_EMBEDDED;
+ if (NULL == m_extra)
+ {
+ linemap_assert (m_alloc == 0);
+ m_alloc = 16;
+ m_extra = XNEWVEC (T, m_alloc);
+ }
+ else if (idx >= m_alloc)
+ {
+ linemap_assert (m_alloc > 0);
+ m_alloc *= 2;
+ m_extra = XRESIZEVEC (T, m_extra, m_alloc);
+ }
+ linemap_assert (m_extra);
+ linemap_assert (idx < m_alloc);
+ m_extra[idx] = value;
+ }
+}
+
+/* Truncate to length LEN. No deallocation is performed. */
+
+template <typename T, int NUM_EMBEDDED>
+void
+semi_embedded_vec<T, NUM_EMBEDDED>::truncate (int len)
+{
+ linemap_assert (len <= m_num);
+ m_num = len;
+}
+
class fixit_hint;
class fixit_insert;
- class fixit_remove;
class fixit_replace;
/* A "rich" source code location, for use when printing diagnostics.
@@ -1337,7 +1489,86 @@ class fixit_hint;
- range 0 is at the "%s" with start = caret = "%" and finish at
the "s".
- range 1 has start/finish covering the "101" and is not flagged for
- caret printing; it is perhaps at the start of "101". */
+ caret printing; it is perhaps at the start of "101".
+
+
+ Fix-it hints
+ ------------
+
+ Rich locations can also contain "fix-it hints", giving suggestions
+ for the user on how to edit their code to fix a problem. These
+ can be expressed as insertions, replacements, and removals of text.
+ The edits by default are relative to the zeroth range within the
+ rich_location, but optionally they can be expressed relative to
+ other locations (using various overloaded methods of the form
+ rich_location::add_fixit_*).
+
+ For example:
+
+ Example F: fix-it hint: insert_before
+ *************************************
+ ptr = arr[0];
+ ^~~~~~
+ &
+ This rich location has a single range (range 0) covering "arr[0]",
+ with the caret at the start. The rich location has a single
+ insertion fix-it hint, inserted before range 0, added via
+ richloc.add_fixit_insert_before ("&");
+
+ Example G: multiple fix-it hints: insert_before and insert_after
+ ****************************************************************
+ #define FN(ARG0, ARG1, ARG2) fn(ARG0, ARG1, ARG2)
+ ^~~~ ^~~~ ^~~~
+ ( ) ( ) ( )
+ This rich location has three ranges, covering "arg0", "arg1",
+ and "arg2", all with caret-printing enabled.
+ The rich location has 6 insertion fix-it hints: each arg
+ has a pair of insertion fix-it hints, suggesting wrapping
+ them with parentheses: one a '(' inserted before,
+ the other a ')' inserted after, added via
+ richloc.add_fixit_insert_before (LOC, "(");
+ and
+ richloc.add_fixit_insert_after (LOC, ")");
+
+ Example H: fix-it hint: removal
+ *******************************
+ struct s {int i};;
+ ^
+ -
+ This rich location has a single range at the stray trailing
+ semicolon, along with a single removal fix-it hint, covering
+ the same range, added via:
+ richloc.add_fixit_remove ();
+
+ Example I: fix-it hint: replace
+ *******************************
+ c = s.colour;
+ ^~~~~~
+ color
+ This rich location has a single range (range 0) covering "colour",
+ and a single "replace" fix-it hint, covering the same range,
+ added via
+ richloc.add_fixit_replace ("color");
+
+ 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.
+
+ Attempts to add a fix-it hint within a macro expansion will fail.
+
+ We do not yet support newlines in fix-it text; attempts to do so will fail.
+
+ The rich_location API handles these failures gracefully, so that
+ diagnostics can attempt to add fix-it hints without each needing
+ extensive checking.
+
+ Fix-it hints within a rich_location are "atomic": if any hints can't
+ be applied, none of them will be (tracked by the m_seen_impossible_fixit
+ flag), and no fix-its hints will be displayed for that rich_location.
+ This implies that diagnostic messages need to be worded in such a way
+ that they make sense whether or not the fix-it hints are displayed,
+ or that richloc.seen_impossible_fixit_p () should be checked before
+ issuing the diagnostics. */
class rich_location
{
@@ -1347,9 +1578,6 @@ class rich_location
/* Constructing from a location. */
rich_location (line_maps *set, source_location loc);
- /* Constructing from a source_range. */
- rich_location (source_range src_range);
-
/* Destructor. */
~rich_location ();
@@ -1364,13 +1592,10 @@ class rich_location
set_range (line_maps *set, unsigned int idx, source_location loc,
bool show_caret_p);
- unsigned int get_num_locations () const { return m_num_ranges; }
+ unsigned int get_num_locations () const { return m_ranges.count (); }
- location_range *get_range (unsigned int idx)
- {
- linemap_assert (idx < m_num_ranges);
- return &m_ranges[idx];
- }
+ const location_range *get_range (unsigned int idx) const;
+ location_range *get_range (unsigned int idx);
expanded_location get_expanded_location (unsigned int idx);
@@ -1378,46 +1603,105 @@ class rich_location
override_column (int column);
/* Fix-it hints. */
+
+ /* Methods for adding insertion fix-it hints. */
+
+ /* Suggest inserting NEW_CONTENT immediately before the primary
+ range's start. */
+ void
+ add_fixit_insert_before (const char *new_content);
+
+ /* Suggest inserting NEW_CONTENT immediately before the start of WHERE. */
+ void
+ add_fixit_insert_before (source_location where,
+ const char *new_content);
+
+ /* Suggest inserting NEW_CONTENT immediately after the end of the primary
+ range. */
+ void
+ add_fixit_insert_after (const char *new_content);
+
+ /* Suggest inserting NEW_CONTENT immediately after the end of WHERE. */
+ void
+ add_fixit_insert_after (source_location where,
+ const char *new_content);
+
+ /* Methods for adding removal fix-it hints. */
+
+ /* Suggest removing the content covered by range 0. */
void
- add_fixit_insert (source_location where,
- const char *new_content);
+ add_fixit_remove ();
+ /* Suggest removing the content covered between the start and finish
+ of WHERE. */
+ void
+ add_fixit_remove (source_location where);
+
+ /* Suggest removing the content covered by SRC_RANGE. */
void
add_fixit_remove (source_range src_range);
+ /* Methods for adding "replace" fix-it hints. */
+
+ /* Suggest replacing the content covered by range 0 with NEW_CONTENT. */
+ void
+ add_fixit_replace (const char *new_content);
+
+ /* Suggest replacing the content between the start and finish of
+ WHERE with NEW_CONTENT. */
+ void
+ add_fixit_replace (source_location where,
+ const char *new_content);
+
+ /* Suggest replacing the content covered by SRC_RANGE with
+ NEW_CONTENT. */
void
add_fixit_replace (source_range src_range,
const char *new_content);
- unsigned int get_num_fixit_hints () const { return m_num_fixit_hints; }
+ unsigned int get_num_fixit_hints () const { return m_fixit_hints.count (); }
fixit_hint *get_fixit_hint (int idx) const { return m_fixit_hints[idx]; }
+ fixit_hint *get_last_fixit_hint () const;
+ bool seen_impossible_fixit_p () const { return m_seen_impossible_fixit; }
+
+private:
+ bool reject_impossible_fixit (source_location where);
+ void stop_supporting_fixits ();
+ void add_fixit (fixit_hint *hint);
public:
- static const int MAX_RANGES = 3;
- static const int MAX_FIXIT_HINTS = 2;
+ static const int STATICALLY_ALLOCATED_RANGES = 3;
protected:
- unsigned int m_num_ranges;
- location_range m_ranges[MAX_RANGES];
+ line_maps *m_line_table;
+ semi_embedded_vec <location_range, STATICALLY_ALLOCATED_RANGES> m_ranges;
int m_column_override;
bool m_have_expanded_location;
expanded_location m_expanded_location;
- unsigned int m_num_fixit_hints;
- fixit_hint *m_fixit_hints[MAX_FIXIT_HINTS];
+ static const int MAX_STATIC_FIXIT_HINTS = 2;
+ semi_embedded_vec <fixit_hint *, MAX_STATIC_FIXIT_HINTS> m_fixit_hints;
+
+ bool m_seen_impossible_fixit;
};
class fixit_hint
{
public:
- enum kind {INSERT, REMOVE, REPLACE};
+ enum kind {INSERT, REPLACE};
virtual ~fixit_hint () {}
virtual enum kind get_kind () const = 0;
- virtual bool affects_line_p (const char *file, int line) = 0;
+ virtual bool affects_line_p (const char *file, int line) const = 0;
+ virtual source_location get_start_loc () const = 0;
+ virtual bool maybe_get_end_loc (source_location *out) const = 0;
+ /* Vfunc for consolidating successor fixits. */
+ virtual bool maybe_append_replace (line_maps *set,
+ source_range src_range,
+ const char *new_content) = 0;
};
class fixit_insert : public fixit_hint
@@ -1427,7 +1711,12 @@ class fixit_insert : public fixit_hint
const char *new_content);
~fixit_insert ();
enum kind get_kind () const { return INSERT; }
- bool affects_line_p (const char *file, int line);
+ bool affects_line_p (const char *file, int line) const;
+ source_location get_start_loc () const { return m_where; }
+ bool maybe_get_end_loc (source_location *) const { return false; }
+ bool maybe_append_replace (line_maps *set,
+ source_range src_range,
+ const char *new_content);
source_location get_location () const { return m_where; }
const char *get_string () const { return m_bytes; }
@@ -1439,21 +1728,6 @@ class fixit_insert : public fixit_hint
size_t m_len;
};
-class fixit_remove : public fixit_hint
-{
- public:
- fixit_remove (source_range src_range);
- ~fixit_remove () {}
-
- enum kind get_kind () const { return REMOVE; }
- bool affects_line_p (const char *file, int line);
-
- source_range get_range () const { return m_src_range; }
-
- private:
- source_range m_src_range;
-};
-
class fixit_replace : public fixit_hint
{
public:
@@ -1462,7 +1736,16 @@ class fixit_replace : public fixit_hint
~fixit_replace ();
enum kind get_kind () const { return REPLACE; }
- bool affects_line_p (const char *file, int line);
+ bool affects_line_p (const char *file, int line) const;
+ source_location get_start_loc () const { return m_src_range.m_start; }
+ bool maybe_get_end_loc (source_location *out) const
+ {
+ *out = m_src_range.m_finish;
+ return true;
+ }
+ bool maybe_append_replace (line_maps *set,
+ source_range src_range,
+ const char *new_content);
source_range get_range () const { return m_src_range; }
const char *get_string () const { return m_bytes; }
diff --git a/libcpp/include/mkdeps.h b/libcpp/include/mkdeps.h
index 6c6c61d4c5..2c1bca9170 100644
--- a/libcpp/include/mkdeps.h
+++ b/libcpp/include/mkdeps.h
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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 d54d509ed9..cf0c33f9ae 100644
--- a/libcpp/include/symtab.h
+++ b/libcpp/include/symtab.h
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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 4343075ba8..1477673245 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -1,5 +1,5 @@
/* CPP Library.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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
@@ -189,6 +189,7 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
CPP_OPTION (pfile, warn_dollars) = 1;
CPP_OPTION (pfile, warn_variadic_macros) = 1;
CPP_OPTION (pfile, warn_builtin_macro_redefined) = 1;
+ CPP_OPTION (pfile, cpp_warn_implicit_fallthrough) = 0;
/* By default, track locations of tokens resulting from macro
expansion. The '2' means, track the locations with the highest
accuracy. Read the comments for struct
@@ -257,6 +258,9 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
/* Do not force token locations by default. */
pfile->forced_token_location_p = NULL;
+ /* Initialize source_date_epoch to -2 (not yet set). */
+ pfile->source_date_epoch = (time_t) -2;
+
/* The expression parser stack. */
_cpp_expand_op_stack (pfile);
@@ -495,7 +499,7 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
{
if (CPP_OPTION (pfile, lang) == CLK_CXX1Z
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX1Z)
- _cpp_define_builtin (pfile, "__cplusplus 201500L");
+ _cpp_define_builtin (pfile, "__cplusplus 201703L");
else if (CPP_OPTION (pfile, lang) == CLK_CXX14
|| CPP_OPTION (pfile, lang) == CLK_GNUCXX14)
_cpp_define_builtin (pfile, "__cplusplus 201402L");
@@ -534,7 +538,7 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
}
/* Sanity-checks are dependent on command-line options, so it is
- called as a subroutine of cpp_read_main_file (). */
+ called as a subroutine of cpp_read_main_file. */
#if CHECKING_P
static void sanity_checks (cpp_reader *);
static void sanity_checks (cpp_reader *pfile)
@@ -613,6 +617,8 @@ cpp_post_options (cpp_reader *pfile)
const char *
cpp_read_main_file (cpp_reader *pfile, const char *fname)
{
+ const source_location loc = 0;
+
if (CPP_OPTION (pfile, deps.style) != DEPS_NONE)
{
if (!pfile->deps)
@@ -623,11 +629,12 @@ cpp_read_main_file (cpp_reader *pfile, const char *fname)
}
pfile->main_file
- = _cpp_find_file (pfile, fname, &pfile->no_search_path, false, 0, false);
+ = _cpp_find_file (pfile, fname, &pfile->no_search_path, false, 0, false,
+ loc);
if (_cpp_find_failed (pfile->main_file))
return NULL;
- _cpp_stack_file (pfile, pfile->main_file, false);
+ _cpp_stack_file (pfile, pfile->main_file, false, loc);
/* For foo.i, read the original filename foo.c now, for the benefit
of the front ends. */
diff --git a/libcpp/internal.h b/libcpp/internal.h
index 9ce870738c..f24e85cfb1 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -1,5 +1,5 @@
/* Part of CPP library.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2017 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
@@ -502,6 +502,11 @@ struct cpp_reader
const unsigned char *date;
const unsigned char *time;
+ /* Externally set timestamp to replace current date and time useful for
+ reproducibility. It should be initialized to -2 (not yet set) and
+ set to -1 to disable it or to a non-negative value to enable it. */
+ time_t source_date_epoch;
+
/* EOF token, and a token forcing paste avoidance. */
cpp_token avoid_paste;
cpp_token eof;
@@ -640,13 +645,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);
+ bool, int, bool, source_location);
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);
+extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool,
+ source_location);
extern bool _cpp_stack_include (cpp_reader *, const char *, int,
- enum include_type);
+ enum include_type, source_location);
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 *);
@@ -748,7 +754,9 @@ struct normalize_state
extern bool _cpp_valid_ucn (cpp_reader *, const unsigned char **,
const unsigned char *, int,
struct normalize_state *state,
- cppchar_t *);
+ cppchar_t *,
+ source_range *char_range,
+ cpp_string_location_reader *loc_reader);
extern void _cpp_destroy_iconv (cpp_reader *);
extern unsigned char *_cpp_convert_input (cpp_reader *, const char *,
unsigned char *, size_t, size_t,
diff --git a/libcpp/lex.c b/libcpp/lex.c
index e5a0397f30..9edd2a6afd 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1,5 +1,5 @@
/* CPP Library - lexical analysis.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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
@@ -610,6 +610,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
if (l != 0)
break;
s += sizeof(unsigned long);
+ /* FALLTHRU */
case 2:
l = u.l[i++];
if (l != 0)
@@ -732,6 +733,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
if (l != 0)
break;
s += sizeof(unsigned long);
+ /* FALLTHROUGH */
case 2:
l = u.l[i++];
if (l != 0)
@@ -750,6 +752,101 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
}
}
+#elif defined (__ARM_NEON) && defined (__ARM_64BIT_STATE)
+#include "arm_neon.h"
+
+/* This doesn't have to be the exact page size, but no system may use
+ a size smaller than this. ARMv8 requires a minimum page size of
+ 4k. The impact of being conservative here is a small number of
+ cases will take the slightly slower entry path into the main
+ loop. */
+
+#define AARCH64_MIN_PAGE_SIZE 4096
+
+static const uchar *
+search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
+{
+ const uint8x16_t repl_nl = vdupq_n_u8 ('\n');
+ const uint8x16_t repl_cr = vdupq_n_u8 ('\r');
+ const uint8x16_t repl_bs = vdupq_n_u8 ('\\');
+ const uint8x16_t repl_qm = vdupq_n_u8 ('?');
+ const uint8x16_t xmask = (uint8x16_t) vdupq_n_u64 (0x8040201008040201ULL);
+
+#ifdef __AARCH64EB
+ const int16x8_t shift = {8, 8, 8, 8, 0, 0, 0, 0};
+#else
+ const int16x8_t shift = {0, 0, 0, 0, 8, 8, 8, 8};
+#endif
+
+ unsigned int found;
+ const uint8_t *p;
+ uint8x16_t data;
+ uint8x16_t t;
+ uint16x8_t m;
+ uint8x16_t u, v, w;
+
+ /* Align the source pointer. */
+ p = (const uint8_t *)((uintptr_t)s & -16);
+
+ /* Assuming random string start positions, with a 4k page size we'll take
+ the slow path about 0.37% of the time. */
+ if (__builtin_expect ((AARCH64_MIN_PAGE_SIZE
+ - (((uintptr_t) s) & (AARCH64_MIN_PAGE_SIZE - 1)))
+ < 16, 0))
+ {
+ /* Slow path: the string starts near a possible page boundary. */
+ uint32_t misalign, mask;
+
+ misalign = (uintptr_t)s & 15;
+ mask = (-1u << misalign) & 0xffff;
+ data = vld1q_u8 (p);
+ t = vceqq_u8 (data, repl_nl);
+ u = vceqq_u8 (data, repl_cr);
+ v = vorrq_u8 (t, vceqq_u8 (data, repl_bs));
+ w = vorrq_u8 (u, vceqq_u8 (data, repl_qm));
+ t = vorrq_u8 (v, w);
+ t = vandq_u8 (t, xmask);
+ m = vpaddlq_u8 (t);
+ m = vshlq_u16 (m, shift);
+ found = vaddvq_u16 (m);
+ found &= mask;
+ if (found)
+ return (const uchar*)p + __builtin_ctz (found);
+ }
+ else
+ {
+ data = vld1q_u8 ((const uint8_t *) s);
+ t = vceqq_u8 (data, repl_nl);
+ u = vceqq_u8 (data, repl_cr);
+ v = vorrq_u8 (t, vceqq_u8 (data, repl_bs));
+ w = vorrq_u8 (u, vceqq_u8 (data, repl_qm));
+ t = vorrq_u8 (v, w);
+ if (__builtin_expect (vpaddd_u64 ((uint64x2_t)t) != 0, 0))
+ goto done;
+ }
+
+ do
+ {
+ p += 16;
+ data = vld1q_u8 (p);
+ t = vceqq_u8 (data, repl_nl);
+ u = vceqq_u8 (data, repl_cr);
+ v = vorrq_u8 (t, vceqq_u8 (data, repl_bs));
+ w = vorrq_u8 (u, vceqq_u8 (data, repl_qm));
+ t = vorrq_u8 (v, w);
+ } while (!vpaddd_u64 ((uint64x2_t)t));
+
+done:
+ /* Now that we've found the terminating substring, work out precisely where
+ we need to stop. */
+ t = vandq_u8 (t, xmask);
+ m = vpaddlq_u8 (t);
+ m = vshlq_u16 (m, shift);
+ found = vaddvq_u16 (m);
+ return (((((uintptr_t) p) < (uintptr_t) s) ? s : (const uchar *)p)
+ + __builtin_ctz (found));
+}
+
#elif defined (__ARM_NEON)
#include "arm_neon.h"
@@ -815,7 +912,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
#else
-/* We only have one accellerated alternative. Use a direct call so that
+/* We only have one accelerated alternative. Use a direct call so that
we encourage inlining. */
#define search_line_fast search_line_acc_char
@@ -1247,7 +1344,7 @@ forms_identifier_p (cpp_reader *pfile, int first,
cppchar_t s;
buffer->cur += 2;
if (_cpp_valid_ucn (pfile, &buffer->cur, buffer->rlimit, 1 + !first,
- state, &s))
+ state, &s, NULL, NULL))
return true;
buffer->cur -= 2;
}
@@ -2031,6 +2128,261 @@ save_comment (cpp_reader *pfile, cpp_token *token, const unsigned char *from,
store_comment (pfile, token);
}
+/* Returns true if comment at COMMENT_START is a recognized FALLTHROUGH
+ comment. */
+
+static bool
+fallthrough_comment_p (cpp_reader *pfile, const unsigned char *comment_start)
+{
+ const unsigned char *from = comment_start + 1;
+
+ switch (CPP_OPTION (pfile, cpp_warn_implicit_fallthrough))
+ {
+ /* For both -Wimplicit-fallthrough=0 and -Wimplicit-fallthrough=5 we
+ don't recognize any comments. The latter only checks attributes,
+ the former doesn't warn. */
+ case 0:
+ default:
+ return false;
+ /* -Wimplicit-fallthrough=1 considers any comment, no matter what
+ content it has. */
+ case 1:
+ return true;
+ case 2:
+ /* -Wimplicit-fallthrough=2 looks for (case insensitive)
+ .*falls?[ \t-]*thr(u|ough).* regex. */
+ for (; (size_t) (pfile->buffer->cur - from) >= sizeof "fallthru" - 1;
+ from++)
+ {
+ /* Is there anything like strpbrk with upper boundary, or
+ memchr looking for 2 characters rather than just one? */
+ if (from[0] != 'f' && from[0] != 'F')
+ continue;
+ if (from[1] != 'a' && from[1] != 'A')
+ continue;
+ if (from[2] != 'l' && from[2] != 'L')
+ continue;
+ if (from[3] != 'l' && from[3] != 'L')
+ continue;
+ from += sizeof "fall" - 1;
+ if (from[0] == 's' || from[0] == 'S')
+ from++;
+ while (*from == ' ' || *from == '\t' || *from == '-')
+ from++;
+ if (from[0] != 't' && from[0] != 'T')
+ continue;
+ if (from[1] != 'h' && from[1] != 'H')
+ continue;
+ if (from[2] != 'r' && from[2] != 'R')
+ continue;
+ if (from[3] == 'u' || from[3] == 'U')
+ return true;
+ if (from[3] != 'o' && from[3] != 'O')
+ continue;
+ if (from[4] != 'u' && from[4] != 'U')
+ continue;
+ if (from[5] != 'g' && from[5] != 'G')
+ continue;
+ if (from[6] != 'h' && from[6] != 'H')
+ continue;
+ return true;
+ }
+ return false;
+ case 3:
+ case 4:
+ break;
+ }
+
+ /* Whole comment contents:
+ -fallthrough
+ @fallthrough@
+ */
+ if (*from == '-' || *from == '@')
+ {
+ size_t len = sizeof "fallthrough" - 1;
+ if ((size_t) (pfile->buffer->cur - from - 1) < len)
+ return false;
+ if (memcmp (from + 1, "fallthrough", len))
+ return false;
+ if (*from == '@')
+ {
+ if (from[len + 1] != '@')
+ return false;
+ len++;
+ }
+ from += 1 + len;
+ }
+ /* Whole comment contents (regex):
+ lint -fallthrough[ \t]*
+ */
+ else if (*from == 'l')
+ {
+ size_t len = sizeof "int -fallthrough" - 1;
+ if ((size_t) (pfile->buffer->cur - from - 1) < len)
+ return false;
+ if (memcmp (from + 1, "int -fallthrough", len))
+ return false;
+ from += 1 + len;
+ while (*from == ' ' || *from == '\t')
+ from++;
+ }
+ /* Whole comment contents (regex):
+ [ \t]*FALLTHR(U|OUGH)[ \t]*
+ */
+ else if (CPP_OPTION (pfile, cpp_warn_implicit_fallthrough) == 4)
+ {
+ while (*from == ' ' || *from == '\t')
+ from++;
+ if ((size_t) (pfile->buffer->cur - from) < sizeof "FALLTHRU" - 1)
+ return false;
+ if (memcmp (from, "FALLTHR", sizeof "FALLTHR" - 1))
+ return false;
+ from += sizeof "FALLTHR" - 1;
+ if (*from == 'U')
+ from++;
+ else if ((size_t) (pfile->buffer->cur - from) < sizeof "OUGH" - 1)
+ return false;
+ else if (memcmp (from, "OUGH", sizeof "OUGH" - 1))
+ return false;
+ else
+ from += sizeof "OUGH" - 1;
+ while (*from == ' ' || *from == '\t')
+ from++;
+ }
+ /* Whole comment contents (regex):
+ [ \t.!]*(ELSE,? |INTENTIONAL(LY)? )?FALL(S | |-)?THR(OUGH|U)[ \t.!]*(-[^\n\r]*)?
+ [ \t.!]*(Else,? |Intentional(ly)? )?Fall((s | |-)[Tt]|t)hr(ough|u)[ \t.!]*(-[^\n\r]*)?
+ [ \t.!]*([Ee]lse,? |[Ii]ntentional(ly)? )?fall(s | |-)?thr(ough|u)[ \t.!]*(-[^\n\r]*)?
+ */
+ else
+ {
+ while (*from == ' ' || *from == '\t' || *from == '.' || *from == '!')
+ from++;
+ unsigned char f = *from;
+ bool all_upper = false;
+ if (f == 'E' || f == 'e')
+ {
+ if ((size_t) (pfile->buffer->cur - from)
+ < sizeof "else fallthru" - 1)
+ return false;
+ if (f == 'E' && memcmp (from + 1, "LSE", sizeof "LSE" - 1) == 0)
+ all_upper = true;
+ else if (memcmp (from + 1, "lse", sizeof "lse" - 1))
+ return false;
+ from += sizeof "else" - 1;
+ if (*from == ',')
+ from++;
+ if (*from != ' ')
+ return false;
+ from++;
+ if (all_upper && *from == 'f')
+ return false;
+ if (f == 'e' && *from == 'F')
+ return false;
+ f = *from;
+ }
+ else if (f == 'I' || f == 'i')
+ {
+ if ((size_t) (pfile->buffer->cur - from)
+ < sizeof "intentional fallthru" - 1)
+ return false;
+ if (f == 'I' && memcmp (from + 1, "NTENTIONAL",
+ sizeof "NTENTIONAL" - 1) == 0)
+ all_upper = true;
+ else if (memcmp (from + 1, "ntentional",
+ sizeof "ntentional" - 1))
+ return false;
+ from += sizeof "intentional" - 1;
+ if (*from == ' ')
+ {
+ from++;
+ if (all_upper && *from == 'f')
+ return false;
+ }
+ else if (all_upper)
+ {
+ if (memcmp (from, "LY F", sizeof "LY F" - 1))
+ return false;
+ from += sizeof "LY " - 1;
+ }
+ else
+ {
+ if (memcmp (from, "ly ", sizeof "ly " - 1))
+ return false;
+ from += sizeof "ly " - 1;
+ }
+ if (f == 'i' && *from == 'F')
+ return false;
+ f = *from;
+ }
+ if (f != 'F' && f != 'f')
+ return false;
+ if ((size_t) (pfile->buffer->cur - from) < sizeof "fallthru" - 1)
+ return false;
+ if (f == 'F' && memcmp (from + 1, "ALL", sizeof "ALL" - 1) == 0)
+ all_upper = true;
+ else if (all_upper)
+ return false;
+ else if (memcmp (from + 1, "all", sizeof "all" - 1))
+ return false;
+ from += sizeof "fall" - 1;
+ if (*from == (all_upper ? 'S' : 's') && from[1] == ' ')
+ from += 2;
+ else if (*from == ' ' || *from == '-')
+ from++;
+ else if (*from != (all_upper ? 'T' : 't'))
+ return false;
+ if ((f == 'f' || *from != 'T') && (all_upper || *from != 't'))
+ return false;
+ if ((size_t) (pfile->buffer->cur - from) < sizeof "thru" - 1)
+ return false;
+ if (memcmp (from + 1, all_upper ? "HRU" : "hru", sizeof "hru" - 1))
+ {
+ if ((size_t) (pfile->buffer->cur - from) < sizeof "through" - 1)
+ return false;
+ if (memcmp (from + 1, all_upper ? "HROUGH" : "hrough",
+ sizeof "hrough" - 1))
+ return false;
+ from += sizeof "through" - 1;
+ }
+ else
+ from += sizeof "thru" - 1;
+ while (*from == ' ' || *from == '\t' || *from == '.' || *from == '!')
+ from++;
+ if (*from == '-')
+ {
+ from++;
+ if (*comment_start == '*')
+ {
+ do
+ {
+ while (*from && *from != '*'
+ && *from != '\n' && *from != '\r')
+ from++;
+ if (*from != '*' || from[1] == '/')
+ break;
+ from++;
+ }
+ while (1);
+ }
+ else
+ while (*from && *from != '\n' && *from != '\r')
+ from++;
+ }
+ }
+ /* C block comment. */
+ if (*comment_start == '*')
+ {
+ if (*from != '*' || from[1] != '/')
+ return false;
+ }
+ /* C++ line comment. */
+ else if (*from != '\n')
+ return false;
+
+ return true;
+}
+
/* Allocate COUNT tokens for RUN. */
void
_cpp_init_tokenrun (tokenrun *run, unsigned int count)
@@ -2310,6 +2662,7 @@ _cpp_lex_direct (cpp_reader *pfile)
cppchar_t c;
cpp_buffer *buffer;
const unsigned char *comment_start;
+ bool fallthrough_comment = false;
cpp_token *result = pfile->cur_token++;
fresh_line:
@@ -2336,6 +2689,8 @@ _cpp_lex_direct (cpp_reader *pfile)
}
return result;
}
+ if (buffer != pfile->buffer)
+ fallthrough_comment = false;
if (!pfile->keep_tokens)
{
pfile->cur_run = &pfile->base_run;
@@ -2442,6 +2797,10 @@ _cpp_lex_direct (cpp_reader *pfile)
result->flags |= NAMED_OP;
result->type = (enum cpp_ttype) result->val.node.node->directive_index;
}
+
+ /* Signal FALLTHROUGH comment followed by another token. */
+ if (fallthrough_comment)
+ result->flags |= PREV_FALLTHROUGH;
break;
case '\'':
@@ -2527,12 +2886,18 @@ _cpp_lex_direct (cpp_reader *pfile)
break;
}
+ if (fallthrough_comment_p (pfile, comment_start))
+ fallthrough_comment = true;
+
if (!pfile->state.save_comments)
{
result->flags |= PREV_WHITE;
goto update_tokens_line;
}
+ if (fallthrough_comment)
+ result->flags |= PREV_FALLTHROUGH;
+
/* Save the comment as a token in its own right. */
save_comment (pfile, result, comment_start, c);
break;
@@ -2717,24 +3082,34 @@ _cpp_lex_direct (cpp_reader *pfile)
}
buffer->cur++;
}
+ /* FALLTHRU */
default:
create_literal (pfile, result, buffer->cur - 1, 1, CPP_OTHER);
break;
}
- source_range tok_range;
- tok_range.m_start = result->src_loc;
- if (result->src_loc >= RESERVED_LOCATION_COUNT)
- tok_range.m_finish
- = linemap_position_for_column (pfile->line_table,
- CPP_BUF_COLUMN (buffer, buffer->cur));
- else
- tok_range.m_finish = tok_range.m_start;
-
- result->src_loc = COMBINE_LOCATION_DATA (pfile->line_table,
- result->src_loc,
- tok_range, NULL);
+ /* Potentially convert the location of the token to a range. */
+ if (result->src_loc >= RESERVED_LOCATION_COUNT
+ && result->type != CPP_EOF)
+ {
+ /* Ensure that any line notes are processed, so that we have the
+ correct physical line/column for the end-point of the token even
+ when a logical line is split via one or more backslashes. */
+ if (buffer->cur >= buffer->notes[buffer->cur_note].pos
+ && !pfile->overlaid_buffer)
+ _cpp_process_line_notes (pfile, false);
+
+ source_range tok_range;
+ tok_range.m_start = result->src_loc;
+ tok_range.m_finish
+ = linemap_position_for_column (pfile->line_table,
+ CPP_BUF_COLUMN (buffer, buffer->cur));
+
+ result->src_loc = COMBINE_LOCATION_DATA (pfile->line_table,
+ result->src_loc,
+ tok_range, NULL);
+ }
return result;
}
@@ -3147,7 +3522,7 @@ new_buff (size_t len)
len = MIN_BUFF_SIZE;
len = CPP_ALIGN (len);
-#ifdef ENABLE_VALGRIND_CHECKING
+#ifdef ENABLE_VALGRIND_ANNOTATIONS
/* Valgrind warns about uses of interior pointers, so put _cpp_buff
struct first. */
size_t slen = CPP_ALIGN2 (sizeof (_cpp_buff), 2 * DEFAULT_ALIGNMENT);
@@ -3244,7 +3619,7 @@ _cpp_free_buff (_cpp_buff *buff)
for (; buff; buff = next)
{
next = buff->next;
-#ifdef ENABLE_VALGRIND_CHECKING
+#ifdef ENABLE_VALGRIND_ANNOTATIONS
free (buff);
#else
free (buff->base);
@@ -3322,7 +3697,7 @@ cpp_token_val_index (const cpp_token *tok)
return CPP_TOKEN_FLD_SOURCE;
else if (tok->type == CPP_PRAGMA)
return CPP_TOKEN_FLD_PRAGMA;
- /* else fall through */
+ /* fall through */
default:
return CPP_TOKEN_FLD_NONE;
}
diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 2e61895bb3..949489eb1a 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-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 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
@@ -31,18 +31,6 @@ along with this program; see the file COPYING3. If not see
disabled). */
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_plugin.c
- gcc.dg/plugin/location-overflow-test-*.c. */
-const source_location 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_plugin.c
- gcc.dg/plugin/location-overflow-test-*.c. */
-const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;
-
/* Highest possible source location encoded within an ordinary or
macro map. */
const source_location LINE_MAP_MAX_SOURCE_LOCATION = 0x70000000;
@@ -69,6 +57,14 @@ static source_location linemap_macro_loc_to_exp_point (struct line_maps *,
extern unsigned num_expanded_macros_counter;
extern unsigned num_macro_tokens_counter;
+/* Destructor for class line_maps.
+ Ensure non-GC-managed memory is released. */
+
+line_maps::~line_maps ()
+{
+ htab_delete (location_adhoc_data_map.htab);
+}
+
/* Hash function for location_adhoc_data hashtable. */
static hashval_t
@@ -102,7 +98,7 @@ location_adhoc_data_eq (const void *l1, const void *l2)
static int
location_adhoc_data_update (void **slot, void *data)
{
- *((char **) slot) += *((long long *) data);
+ *((char **) slot) += *((int64_t *) data);
return 1;
}
@@ -224,7 +220,7 @@ get_combined_adhoc_loc (struct line_maps *set,
set->location_adhoc_data_map.allocated)
{
char *orig_data = (char *) set->location_adhoc_data_map.data;
- long long offset;
+ int64_t offset;
/* Cast away extern "C" from the type of xrealloc. */
line_map_realloc reallocator = (set->reallocator
? set->reallocator
@@ -323,11 +319,26 @@ pure_location_p (line_maps *set, source_location loc)
return true;
}
-/* Finalize the location_adhoc_data structure. */
-void
-location_adhoc_data_fini (struct line_maps *set)
+/* 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)
{
- htab_delete (set->location_adhoc_data_map.htab);
+ if (IS_ADHOC_LOC (loc))
+ loc
+ = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;
+
+ if (loc >= LINEMAPS_MACRO_LOWEST_LOCATION (set))
+ return loc;
+
+ if (loc < RESERVED_LOCATION_COUNT)
+ return loc;
+
+ const line_map *map = linemap_lookup (set, loc);
+ const line_map_ordinary *ordmap = linemap_check_ordinary (map);
+
+ return loc & ~((1 << ordmap->m_range_bits) - 1);
}
/* Initialize a line map set. */
@@ -741,7 +752,7 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
single line we can sometimes just increase its column_bits instead. */
if (line_delta < 0
|| last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
- || SOURCE_COLUMN (map, highest) >= (1U << column_bits)
+ || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
|| range_bits < map->m_range_bits)
map = linemap_check_ordinary
(const_cast <line_map *>
@@ -805,8 +816,22 @@ linemap_position_for_column (struct line_maps *set, unsigned int to_column)
}
else
{
+ /* Otherwise, attempt to start a new line that can hold TO_COLUMN,
+ with some space to spare. This may or may not lead to a new
+ linemap being created. */
line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);
r = linemap_line_start (set, SOURCE_LINE (map, r), to_column + 50);
+ map = LINEMAPS_LAST_ORDINARY_MAP (set);
+ if (map->m_column_and_range_bits == 0)
+ {
+ /* ...then the linemap has column-tracking disabled,
+ presumably due to exceeding either
+ LINE_MAP_MAX_LOCATION_WITH_COLS (overall) or
+ LINE_MAP_MAX_COLUMN_NUMBER (within this line).
+ Return the start of the linemap, which encodes column 0, for
+ the whole line. */
+ return r;
+ }
}
}
line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);
@@ -894,7 +919,10 @@ linemap_position_for_loc_and_offset (struct line_maps *set,
}
column += column_offset;
- if (linemap_assert_fails (column < (1u << map->m_column_and_range_bits)))
+
+ /* Bail out if the column is not representable within the existing
+ linemap. */
+ if (column >= (1u << (map->m_column_and_range_bits - map->m_range_bits)))
return loc;
source_location r =
@@ -1213,9 +1241,8 @@ linemap_location_in_system_header_p (struct line_maps *set,
return false;
}
-/* Return TRUE if LOCATION is a source code location of a token coming
- from a macro replacement-list at a macro expansion point, FALSE
- otherwise. */
+/* 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 *set,
@@ -1560,6 +1587,37 @@ linemap_resolve_location (struct line_maps *set,
return loc;
}
+/* 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 *set,
+ source_location loc)
+{
+ if (IS_ADHOC_LOC (loc))
+ loc = get_location_from_adhoc_loc (set, loc);
+
+ if (!linemap_location_from_macro_expansion_p (set, loc))
+ return false;
+
+ while (true)
+ {
+ const struct line_map_macro *map
+ = linemap_check_macro (linemap_lookup (set, loc));
+
+ source_location 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
+ = linemap_macro_map_loc_to_def_point (map, loc);
+ return s_loc == def_loc;
+ }
+ }
+}
+
/*
Suppose that LOC is the virtual location of a token T coming from
the expansion of a macro M. This function then steps up to get the
@@ -1971,11 +2029,13 @@ source_range::intersects_line_p (const char *file, int line) const
/* Construct a rich_location with location LOC as its initial range. */
-rich_location::rich_location (line_maps */*set*/, source_location loc) :
- m_num_ranges (0),
+rich_location::rich_location (line_maps *set, source_location loc) :
+ m_line_table (set),
+ m_ranges (),
m_column_override (0),
m_have_expanded_location (false),
- m_num_fixit_hints (0)
+ m_fixit_hints (),
+ m_seen_impossible_fixit (false)
{
add_range (loc, true);
}
@@ -1984,8 +2044,8 @@ rich_location::rich_location (line_maps */*set*/, source_location loc) :
rich_location::~rich_location ()
{
- for (unsigned int i = 0; i < m_num_fixit_hints; i++)
- delete m_fixit_hints[i];
+ for (unsigned int i = 0; i < m_fixit_hints.count (); i++)
+ delete get_fixit_hint (i);
}
/* Get location IDX within this rich_location. */
@@ -1993,8 +2053,24 @@ rich_location::~rich_location ()
source_location
rich_location::get_loc (unsigned int idx) const
{
- linemap_assert (idx < m_num_ranges);
- return m_ranges[idx].m_loc;
+ const location_range *locrange = get_range (idx);
+ return locrange->m_loc;
+}
+
+/* Get range IDX within this rich_location. */
+
+const location_range *
+rich_location::get_range (unsigned int idx) const
+{
+ return &m_ranges[idx];
+}
+
+/* Mutable access to range IDX within this rich_location. */
+
+location_range *
+rich_location::get_range (unsigned int idx)
+{
+ return &m_ranges[idx];
}
/* Expand location IDX within this rich_location. */
@@ -2037,11 +2113,10 @@ rich_location::override_column (int column)
void
rich_location::add_range (source_location loc, bool show_caret_p)
{
- linemap_assert (m_num_ranges < MAX_RANGES);
-
- location_range *range = &m_ranges[m_num_ranges++];
- range->m_loc = loc;
- range->m_show_caret_p = show_caret_p;
+ location_range range;
+ range.m_loc = loc;
+ range.m_show_caret_p = show_caret_p;
+ m_ranges.push (range);
}
/* Add or overwrite the location given by IDX, setting its location to LOC,
@@ -2061,35 +2136,109 @@ void
rich_location::set_range (line_maps * /*set*/, unsigned int idx,
source_location loc, bool show_caret_p)
{
- linemap_assert (idx < MAX_RANGES);
-
/* We can either overwrite an existing range, or add one exactly
on the end of the array. */
- linemap_assert (idx <= m_num_ranges);
+ linemap_assert (idx <= m_ranges.count ());
- location_range *locrange = &m_ranges[idx];
- locrange->m_loc = loc;
- locrange->m_show_caret_p = show_caret_p;
-
- /* Are we adding a range onto the end? */
- if (idx == m_num_ranges)
- m_num_ranges = idx + 1;
+ if (idx == m_ranges.count ())
+ add_range (loc, show_caret_p);
+ else
+ {
+ location_range *locrange = get_range (idx);
+ locrange->m_loc = loc;
+ locrange->m_show_caret_p = show_caret_p;
+ }
if (idx == 0)
/* Mark any cached value here as dirty. */
m_have_expanded_location = false;
}
+/* Methods for adding insertion fix-it hints. */
+
+/* Add a fixit-hint, suggesting insertion of NEW_CONTENT
+ immediately before the primary range's start location. */
+
+void
+rich_location::add_fixit_insert_before (const char *new_content)
+{
+ add_fixit_insert_before (get_loc (), new_content);
+}
+
+/* Add a fixit-hint, suggesting insertion of NEW_CONTENT
+ immediately before the start of WHERE. */
+
+void
+rich_location::add_fixit_insert_before (source_location where,
+ const char *new_content)
+{
+ source_location start = get_range_from_loc (m_line_table, where).m_start;
+
+ if (reject_impossible_fixit (start))
+ return;
+ /* We do not yet support newlines within fix-it hints. */
+ if (strchr (new_content, '\n'))
+ {
+ stop_supporting_fixits ();
+ return;
+ }
+ add_fixit (new fixit_insert (start, new_content));
+}
+
/* Add a fixit-hint, suggesting insertion of NEW_CONTENT
- at WHERE. */
+ immediately after the primary range's end-point. */
void
-rich_location::add_fixit_insert (source_location where,
- const char *new_content)
+rich_location::add_fixit_insert_after (const char *new_content)
{
- linemap_assert (m_num_fixit_hints < MAX_FIXIT_HINTS);
- m_fixit_hints[m_num_fixit_hints++]
- = new fixit_insert (where, new_content);
+ add_fixit_insert_after (get_loc (), new_content);
+}
+
+/* Add a fixit-hint, suggesting insertion of NEW_CONTENT
+ immediately after the end-point of WHERE. */
+
+void
+rich_location::add_fixit_insert_after (source_location where,
+ const char *new_content)
+{
+ source_location finish = get_range_from_loc (m_line_table, where).m_finish;
+
+ if (reject_impossible_fixit (finish))
+ return;
+
+ source_location 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. */
+ if (next_loc == finish)
+ {
+ stop_supporting_fixits ();
+ return;
+ }
+
+ add_fixit (new fixit_insert (next_loc, new_content));
+}
+
+/* Methods for adding removal fix-it hints. */
+
+/* Add a fixit-hint, suggesting removal of the content covered
+ by range 0. */
+
+void
+rich_location::add_fixit_remove ()
+{
+ add_fixit_remove (get_loc ());
+}
+
+/* Add a fixit-hint, suggesting removal of the content between
+ the start and finish of WHERE. */
+
+void
+rich_location::add_fixit_remove (source_location where)
+{
+ source_range range = get_range_from_loc (m_line_table, where);
+ add_fixit_remove (range);
}
/* Add a fixit-hint, suggesting removal of the content at
@@ -2098,8 +2247,67 @@ rich_location::add_fixit_insert (source_location where,
void
rich_location::add_fixit_remove (source_range src_range)
{
- linemap_assert (m_num_fixit_hints < MAX_FIXIT_HINTS);
- m_fixit_hints[m_num_fixit_hints++] = new fixit_remove (src_range);
+ add_fixit_replace (src_range, "");
+}
+
+/* Return true iff A is in the column directly before B, on the
+ same line of the same source file. */
+
+static bool
+column_before_p (line_maps *set, source_location a, source_location b)
+{
+ if (IS_ADHOC_LOC (a))
+ a = get_location_from_adhoc_loc (set, a);
+ if (IS_ADHOC_LOC (b))
+ b = get_location_from_adhoc_loc (set, b);
+
+ /* They must both be in ordinary maps. */
+ const struct line_map *linemap_a = linemap_lookup (set, a);
+ if (linemap_macro_expansion_map_p (linemap_a))
+ return false;
+ const struct line_map *linemap_b = linemap_lookup (set, b);
+ if (linemap_macro_expansion_map_p (linemap_b))
+ return false;
+
+ /* To be on the same line, they must be in the same ordinary map. */
+ if (linemap_a != linemap_b)
+ return false;
+
+ linenum_type line_a
+ = SOURCE_LINE (linemap_check_ordinary (linemap_a), a);
+ linenum_type line_b
+ = SOURCE_LINE (linemap_check_ordinary (linemap_b), b);
+ if (line_a != line_b)
+ return false;
+
+ linenum_type column_a
+ = SOURCE_COLUMN (linemap_check_ordinary (linemap_a), a);
+ linenum_type column_b
+ = SOURCE_COLUMN (linemap_check_ordinary (linemap_b), b);
+
+ return column_b == column_a + 1;
+}
+
+/* Add a fixit-hint, suggesting replacement of the content covered
+ by range 0 with NEW_CONTENT. */
+
+void
+rich_location::add_fixit_replace (const char *new_content)
+{
+ add_fixit_replace (get_loc (), new_content);
+}
+
+/* Methods for adding "replace" fix-it hints. */
+
+/* Add a fixit-hint, suggesting replacement of the content between
+ the start and finish of WHERE with NEW_CONTENT. */
+
+void
+rich_location::add_fixit_replace (source_location where,
+ const char *new_content)
+{
+ source_range range = get_range_from_loc (m_line_table, where);
+ add_fixit_replace (range, new_content);
}
/* Add a fixit-hint, suggesting replacement of the content at
@@ -2109,9 +2317,87 @@ void
rich_location::add_fixit_replace (source_range src_range,
const char *new_content)
{
- linemap_assert (m_num_fixit_hints < MAX_FIXIT_HINTS);
- m_fixit_hints[m_num_fixit_hints++]
- = new fixit_replace (src_range, new_content);
+ src_range.m_start = get_pure_location (m_line_table, src_range.m_start);
+ src_range.m_finish = get_pure_location (m_line_table, src_range.m_finish);
+
+ if (reject_impossible_fixit (src_range.m_start))
+ return;
+ if (reject_impossible_fixit (src_range.m_finish))
+ return;
+
+ /* We do not yet support newlines within fix-it hints. */
+ if (strchr (new_content, '\n'))
+ {
+ stop_supporting_fixits ();
+ return;
+ }
+
+ /* Consolidate neighboring fixits. */
+ fixit_hint *prev = get_last_fixit_hint ();
+ if (prev)
+ if (prev->maybe_append_replace (m_line_table, src_range, new_content))
+ return;
+
+ add_fixit (new fixit_replace (src_range, new_content));
+}
+
+/* Get the last fix-it hint within this rich_location, or NULL if none. */
+
+fixit_hint *
+rich_location::get_last_fixit_hint () const
+{
+ if (m_fixit_hints.count () > 0)
+ return get_fixit_hint (m_fixit_hints.count () - 1);
+ else
+ return NULL;
+}
+
+/* If WHERE is an "awkward" location, then mark this rich_location as not
+ supporting fixits, purging any thay were already added, and return true.
+
+ Otherwise (the common case), return false. */
+
+bool
+rich_location::reject_impossible_fixit (source_location where)
+{
+ /* Fix-its within a rich_location should either all be suggested, or
+ none of them should be suggested.
+ Once we've rejected a fixit, we reject any more, even those
+ with reasonable locations. */
+ if (m_seen_impossible_fixit)
+ return true;
+
+ if (where <= LINE_MAP_MAX_LOCATION_WITH_COLS)
+ /* WHERE is a reasonable location for a fix-it; don't reject it. */
+ return false;
+
+ /* Otherwise we have an attempt to add a fix-it with an "awkward"
+ location: either one that we can't obtain column information
+ for (within an ordinary map), or one within a macro expansion. */
+ stop_supporting_fixits ();
+ return true;
+}
+
+/* Mark this rich_location as not supporting fixits, purging any that were
+ already added. */
+
+void
+rich_location::stop_supporting_fixits ()
+{
+ m_seen_impossible_fixit = true;
+
+ /* Purge the rich_location of any fix-its that were already added. */
+ for (unsigned int i = 0; i < m_fixit_hints.count (); i++)
+ delete get_fixit_hint (i);
+ m_fixit_hints.truncate (0);
+}
+
+/* Add HINT to the fix-it hints in this rich_location. */
+
+void
+rich_location::add_fixit (fixit_hint *hint)
+{
+ m_fixit_hints.push (hint);
}
/* class fixit_insert. */
@@ -2132,7 +2418,7 @@ fixit_insert::~fixit_insert ()
/* Implementation of fixit_hint::affects_line_p for fixit_insert. */
bool
-fixit_insert::affects_line_p (const char *file, int line)
+fixit_insert::affects_line_p (const char *file, int line) const
{
expanded_location exploc
= linemap_client_expand_location_to_spelling_point (m_where);
@@ -2142,19 +2428,13 @@ fixit_insert::affects_line_p (const char *file, int line)
return false;
}
-/* class fixit_remove. */
-
-fixit_remove::fixit_remove (source_range src_range)
-: m_src_range (src_range)
-{
-}
-
-/* Implementation of fixit_hint::affects_line_p for fixit_remove. */
+/* Implementation of maybe_append_replace for fixit_insert. Reject
+ the attempt to consolidate fix-its. */
bool
-fixit_remove::affects_line_p (const char *file, int line)
+fixit_insert::maybe_append_replace (line_maps *, source_range, const char *)
{
- return m_src_range.intersects_line_p (file, line);
+ return false;
}
/* class fixit_replace. */
@@ -2175,7 +2455,30 @@ fixit_replace::~fixit_replace ()
/* Implementation of fixit_hint::affects_line_p for fixit_replace. */
bool
-fixit_replace::affects_line_p (const char *file, int line)
+fixit_replace::affects_line_p (const char *file, int line) const
{
return m_src_range.intersects_line_p (file, line);
}
+
+/* Implementation of maybe_append_replace for fixit_replace. If
+ possible, merge the new replacement into this one and return true.
+ Otherwise return false. */
+
+bool
+fixit_replace::maybe_append_replace (line_maps *set,
+ source_range src_range,
+ const char *new_content)
+{
+ /* Does SRC_RANGE start immediately after this one finishes? */
+ if (!column_before_p (set, m_src_range.m_finish, src_range.m_start))
+ return false;
+
+ /* We have neighboring replacements; merge them. */
+ m_src_range.m_finish = src_range.m_finish;
+ size_t extra_len = strlen (new_content);
+ m_bytes = (char *)xrealloc (m_bytes, m_len + extra_len + 1);
+ memcpy (m_bytes + m_len, new_content, extra_len);
+ m_len += extra_len;
+ m_bytes[m_len] = '\0';
+ return true;
+}
diff --git a/libcpp/macro.c b/libcpp/macro.c
index c251553450..de18c2210c 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Macro and #define handling.)
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 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
@@ -357,13 +357,24 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
time_t tt;
struct tm *tb = NULL;
- /* (time_t) -1 is a legitimate value for "number of seconds
- since the Epoch", so we have to do a little dance to
- distinguish that from a genuine error. */
- errno = 0;
- tt = time(NULL);
- if (tt != (time_t)-1 || errno == 0)
- tb = localtime (&tt);
+ /* Set a reproducible timestamp for __DATE__ and __TIME__ macro
+ if SOURCE_DATE_EPOCH is defined. */
+ if (pfile->source_date_epoch == (time_t) -2
+ && pfile->cb.get_source_date_epoch != NULL)
+ pfile->source_date_epoch = pfile->cb.get_source_date_epoch (pfile);
+
+ if (pfile->source_date_epoch >= (time_t) 0)
+ tb = gmtime (&pfile->source_date_epoch);
+ else
+ {
+ /* (time_t) -1 is a legitimate value for "number of seconds
+ since the Epoch", so we have to do a little dance to
+ distinguish that from a genuine error. */
+ errno = 0;
+ tt = time (NULL);
+ if (tt != (time_t)-1 || errno == 0)
+ tb = localtime (&tt);
+ }
if (tb)
{
@@ -2875,6 +2886,7 @@ parse_params (cpp_reader *pfile, cpp_macro *macro)
return true;
/* Fall through to pick up the error. */
+ /* FALLTHRU */
case CPP_COMMA:
if (!prev_ident)
{
diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c
index 4717877873..fd24c00c5d 100644
--- a/libcpp/makeucnid.c
+++ b/libcpp/makeucnid.c
@@ -1,5 +1,5 @@
/* Make ucnid.h from various sources.
- Copyright (C) 2005-2016 Free Software Foundation, Inc.
+ Copyright (C) 2005-2017 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-2016 Free Software Foundation, Inc.\n\
+ Copyright (C) 2003-2017 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 32ef627868..df9f28748f 100644
--- a/libcpp/mkdeps.c
+++ b/libcpp/mkdeps.c
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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 aa5ed6b37d..cad4b872cd 100644
--- a/libcpp/pch.c
+++ b/libcpp/pch.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Precompiled header reading/writing.)
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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
@@ -55,6 +55,8 @@ write_macdef (cpp_reader *pfile, cpp_hashnode *hn, void *file_p)
case NT_VOID:
if (! (hn->flags & NODE_POISONED))
return 1;
+ /* XXX Really fallthru? */
+ /* FALLTHRU */
case NT_MACRO:
if ((hn->flags & NODE_BUILTIN)
@@ -230,7 +232,7 @@ count_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p)
if (hn->flags & NODE_BUILTIN)
return 1;
- /* else fall through. */
+ /* fall through. */
case NT_VOID:
{
@@ -269,7 +271,7 @@ write_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p)
if (hn->flags & NODE_BUILTIN)
return 1;
- /* else fall through. */
+ /* fall through. */
case NT_VOID:
{
@@ -628,7 +630,7 @@ cpp_valid_state (cpp_reader *r, const char *name, int fd)
attempting to use it without -g. Restoring the PCH file
is supposed to bring in this definition *and* enable the
generation of call frame information, so that precompiled
- definitions that take this macro into accout, to decide
+ definitions that take this macro into account, to decide
what asm to emit, won't issue .cfi directives when the
compiler doesn't. */
if (!(h->flags & NODE_USED)
diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog
index 254a268a6b..e4979c1b45 100644
--- a/libcpp/po/ChangeLog
+++ b/libcpp/po/ChangeLog
@@ -1,6 +1,64 @@
-2016-08-22 Release Manager
+2017-05-02 Release Manager
- * GCC 6.2.0 released.
+ * GCC 7.1.0 released.
+
+2017-05-01 Joseph Myers <joseph@codesourcery.com>
+
+ * cpplib.pot: Regenerate.
+
+2017-04-30 Joseph Myers <joseph@codesourcery.com>
+
+ * fr.po: Update.
+
+2017-04-24 Joseph Myers <joseph@codesourcery.com>
+
+ * cpplib.pot: Regenerate.
+
+2017-01-31 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, eo.po: Update.
+
+2017-01-27 Joseph Myers <joseph@codesourcery.com>
+
+ * sr.po: Update.
+
+2017-01-23 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2017-01-10 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2017-01-09 Joseph Myers <joseph@codesourcery.com>
+
+ * vi.po: Update.
+
+2017-01-05 Joseph Myers <joseph@codesourcery.com>
+
+ * pt_BR.po, ru.po: Update.
+
+2017-01-04 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po: Update.
+
+2017-01-03 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.
+
+2017-01-01 Joseph Myers <joseph@codesourcery.com>
+
+ * cpplib.pot: Regenerate.
+
+2016-10-29 Joseph Myers <joseph@codesourcery.com>
+
+ * eo.po: Update.
+
+2016-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * cpplib.pot: Regenerate.
2016-06-03 Joseph Myers <joseph@codesourcery.com>
@@ -28,10 +86,6 @@
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.
-2016-04-27 Release Manager
-
- * GCC 6.1.0 released.
-
2016-04-21 Joseph Myers <joseph@codesourcery.com>
* cpplib.pot: Regenerate.
diff --git a/libcpp/po/be.gmo b/libcpp/po/be.gmo
index 0da1cb7c25..8189015101 100644
--- a/libcpp/po/be.gmo
+++ b/libcpp/po/be.gmo
Binary files differ
diff --git a/libcpp/po/be.po b/libcpp/po/be.po
index 64a392b36f..043edb6314 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -14,6 +14,7 @@ msgstr ""
"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"
#: charset.c:674
#, c-format
@@ -34,7 +35,7 @@ msgstr ""
msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr ""
@@ -43,751 +44,738 @@ msgstr ""
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr ""
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr ""
-#: charset.c:1056
+#: charset.c:1111
#, fuzzy, c-format
msgid "%.*s is not a valid universal character"
msgstr "\"%s\" - гэта не пачатак дэкларацыі"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr ""
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr ""
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr ""
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr ""
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr ""
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
-#: charset.c:1329
+#: charset.c:1458
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%c'"
msgstr "невядомая ESC-паслядоўнасць '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%s'"
msgstr "невядомая ESC-паслядоўнасць '\\%c'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr ""
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+#, fuzzy
+#| msgid "Missing identifier"
+msgid "missing open quote"
+msgstr "Прапушчан ідэнтыфікатар"
+
+#: charset.c:1827 charset.c:1891
#, fuzzy
#| msgid "character constant too long"
msgid "character constant too long for its type"
msgstr "сімвальная канстанта вельмі доўгая"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "мнагасімвальная сімвальная канстанта"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "пустая сімвальная канстанта"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr ""
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr ""
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr ""
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr ""
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr ""
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr ""
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1148
+#: directives.c:1185
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1241
+#: directives.c:1278
#, fuzzy, c-format
msgid "#pragma %s %s is already registered"
msgstr "Клас \"%s\" ужо існуе"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1514
+#: directives.c:1551
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1569
+#: directives.c:1606
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1677
+#: directives.c:1714
#, fuzzy, c-format
#| msgid "cannot find source %s"
msgid "cannot find source file %s"
msgstr "не магу знайсці крыніцу %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "нерэчаісны ініцыялізатар"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr ""
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr ""
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr ""
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr ""
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr ""
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr ""
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr ""
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr ""
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr ""
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "незавершаныя каментарыі"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr ""
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr ""
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.c:542
+#: expr.c:626
#, fuzzy
#| msgid "invalid string constant `%E'"
msgid "invalid prefix \"0b\" for floating constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr ""
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.c:602
+#: expr.c:686
#, fuzzy, c-format
#| msgid "invalid string constant `%E'"
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr ""
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr ""
-#: expr.c:656
+#: expr.c:740
#, fuzzy, c-format
#| msgid "invalid string constant `%E'"
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "`%E' - нерэчаісная нязьменная тыпу string"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr ""
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr ""
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr ""
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr ""
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr ""
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr ""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1338
+#: expr.c:1424
#, fuzzy, c-format
#| msgid "unbalanced #endif"
msgid "unbalanced stack in %s"
msgstr "незбалансаваны #endif"
-#: expr.c:1358
+#: expr.c:1444
#, fuzzy, c-format
#| msgid "impossible operator '%s'"
msgid "impossible operator '%u'"
msgstr "немагчымы апэратар '%s'"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr ""
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr ""
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr ""
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr ""
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr ""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr ""
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr ""
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr ""
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s - гэта блёчная прылада"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s - вельмі вялікі"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr ""
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:580
+#: init.c:584
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr ""
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr ""
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr ""
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr ""
-#: lex.c:1214
+#: lex.c:1311
#, fuzzy, c-format
#| msgid "`%D' is not a function,"
msgid "`%.*s' is not in NFC"
msgstr "`%D' - гэта ня функцыя,"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1692
+#: lex.c:1789
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "сімвальная канстанта вельмі доўгая"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
#, fuzzy
#| msgid "unterminated comment"
msgid "unterminated raw string"
msgstr "незавершаныя каментарыі"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "прапушчан завяршаючы сімвал %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr ""
-#: lex.c:2873
+#: lex.c:3248
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "немагу адчыніць файл \"%s\""
@@ -797,7 +785,7 @@ msgstr "немагу адчыніць файл \"%s\""
msgid "macro \"%s\" is not used"
msgstr ""
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr ""
@@ -812,174 +800,174 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "не магу знайсці крыніцу %s\n"
-#: macro.c:384
+#: macro.c:395
#, fuzzy
#| msgid "Could not open data file %s.\n"
msgid "could not determine date and time"
msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr ""
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:1825
+#: macro.c:1836
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr ""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr ""
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr ""
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr ""
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:2918
+#: macro.c:2930
#, fuzzy
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C89 не падтрымлівае \"long long\""
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr ""
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3047
+#: macro.c:3059
#, fuzzy
#| msgid "missing white space after number '%.*s'"
msgid "missing whitespace after the macro name"
msgstr "прапушчан прабел пасля нумара \"%.*s\""
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr ""
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:641
+#: pch.c:643
#, fuzzy, c-format
#| msgid "label `%s' used but not defined"
msgid "%s: not used because `%.*s' not defined"
msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr ""
@@ -1358,6 +1346,12 @@ msgstr ""
#~ msgid "missing binary operator before '%s'"
#~ msgstr "прапушчан прабел пасля нумара \"%.*s\""
+#~ msgid "%s is too large"
+#~ msgstr "%s - вельмі вялікі"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s - гэта блёчная прылада"
+
#~ msgid "%s: Not a directory"
#~ msgstr "%s: не дырэкторыя"
@@ -2957,9 +2951,6 @@ msgstr ""
#~ msgid "Invalid declaration"
#~ msgstr "Нерэчаіснае абвяшчэнне"
-#~ msgid "Missing identifier"
-#~ msgstr "Прапушчан ідэнтыфікатар"
-
#~ msgid "unregistered operator %s"
#~ msgstr "нераспазнаны аператар %s"
diff --git a/libcpp/po/ca.gmo b/libcpp/po/ca.gmo
index 9401bdb03e..81e37a6926 100644
--- a/libcpp/po/ca.gmo
+++ b/libcpp/po/ca.gmo
Binary files differ
diff --git a/libcpp/po/ca.po b/libcpp/po/ca.po
index 9ea4eea2f4..5e9a6f408e 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -19,6 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, c-format
@@ -39,7 +40,7 @@ msgstr "cap implementaci de iconv, no es pot convertir de %s a %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "el carcter 0x%lx no s en el joc de carcters de base\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "convertint al joc de carcters d'execuci"
@@ -48,785 +49,771 @@ msgstr "convertint al joc de carcters d'execuci"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "el carcter 0x%lx no s mono octet en el joc de carcters d'execuci"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "els noms de carcter universals noms sn vlids en C++ i C99"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "el significat de \"\\%c\" s diferent en C tradicional"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "el nom de carcter universal %.*s s incomplet"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s no s un carcter universal vlid"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "\"$\" en un identificador o un nombre"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "el nom de carcter universal %.*s no s vlid en un identificador"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "convertint UCN al joc font de carcters"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "convertint UCN al joc de carcters d'execuci"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "el significat de \"\\x\" s diferent en C tradicional"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "es va usar \\x sense dgits hexadecimales a continuaci"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "seqncia d'escapa hexadecimal fora de rang"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "seqncia d'escapa octal fora de rang"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "el significat de \"\\a\" s diferent en C tradicional"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "seqncia d'escapa que no s estndard ISO, \"\\%c\""
-#: charset.c:1329
+#: charset.c:1458
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%c'"
msgstr "seqncia d'escapa \"\\%c\" desconeguda"
-#: charset.c:1337
+#: charset.c:1466
#, fuzzy, c-format
#| msgid "unknown escape sequence '\\%c'"
msgid "unknown escape sequence: '\\%s'"
msgstr "seqncia d'escapa \"\\%c\" desconeguda"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "convertint una seqncia d'escapa al joc de carcters d'execuci"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "constant de carcter massa gran pel seu tipus"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "constant de carcter amb mltiples carcters"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "constant de carter buida"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "fallada convertint %s a %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "elements superflus al final de la directiva #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: directives.c:380
+#: directives.c:390
#, 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:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "es suggereix no usar #elif en C tradicional"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s amb el # indentat"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
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:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "la directiva d'estil de lnia s una extenci del GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocessament #%s invlida"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" no es pot usar com un nom de macro"
-#: directives.c:574
+#: directives.c:611
#, 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:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, 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:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "els noms de macro han de ser identificadors"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "esborrant la definici de \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "falta el carcter de terminaci >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fitxer buit en #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include niat amb massa profunditat"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next en el fitxer font primari"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador \"%s\" invlid en la directiva de lnia"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" desprs de #line no s un enter positiu"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "nombre de lnia fora de rang"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" no s un nom de fitxer vlid"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" desprs de # no s un enter positiu"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1148
+#: directives.c:1185
#, fuzzy, c-format
#| msgid "invalid #ident directive"
msgid "invalid #%s directive"
msgstr "directiva #ident invlida"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "ja s'ha desat #pragma %s %s"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "ja s'ha desat #pragma %s"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma una vegada en el fitxer principal"
-#: directives.c:1514
+#: directives.c:1551
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1569
+#: directives.c:1606
#, fuzzy
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "enverinant la macro existent \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorat fora del fitxer d'inclusi"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "no es pot trobar la font %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "el fitxer actual s ms vell que %s"
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva #pragma de GCC enverinada invlida"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma pren una cadena literal entre parntesis"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else sense #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else desprs de #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "el condicional va comenar aqu"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sense #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif desprs de #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sense #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "falta \"(\" abans del predicat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "falta \")\" per a completar la resposta"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "el predicat de la resposta est buit"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "afirmaci sense predicat"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "el predicat ha de ser un identificador"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" reafirmat"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s sense acabar"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "comentari sense acabar"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "fixed-point constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:542
+#: expr.c:626
#, fuzzy
#| msgid "invalid suffix \"%.*s\" on floating constant"
msgid "invalid prefix \"0b\" for floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "s d'una constant de coma flotant hexadecimal C99"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "s d'una constant de coma flotant hexadecimal C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "el C tradicional rebutja el sufix \"%.*s\""
-#: expr.c:621
+#: expr.c:705
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "suffix for double constant is a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:627
+#: expr.c:711
#, fuzzy, c-format
#| msgid "invalid suffix \"%.*s\" on floating constant"
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufix \"%.*s\" invlid en la constant de coma flotant"
-#: expr.c:638
+#: expr.c:722
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "decimal float constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufix \"%.*s\" invlid en constant entera"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
#| msgid "use of C99 long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "s d'una constant entera long long C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:706
+#: expr.c:790
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a GCC extension"
msgstr "les constants imaginries sn una extensi d'el GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "la constant entera s massa gran pel seu tipus"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "la constant entera s tan gran que s unsigned"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "\")\" faltant desprs de \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "l'operador \"defined\" requereix un identificador"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" s un element alternatiu per a \"%s\" en C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "aquest s de \"defined\" podria no ser portable"
-#: expr.c:1012
+#: expr.c:1098
#, 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:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "constant de coma flotant en l'expressi del preprocessador"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "nombre imaginari en l'expressi del preprocessador"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" no s definit"
-#: expr.c:1089
+#: expr.c:1175
#, fuzzy
#| msgid "#%s is a GCC extension"
msgid "assertions are a GCC extension"
msgstr "#%s s una extenci del GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1338
+#: expr.c:1424
#, fuzzy, c-format
#| msgid "unbalanced stack in #if"
msgid "unbalanced stack in %s"
msgstr "pila desequilibrada en #if"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "operador \"%u\" impossible"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "\")\" faltant en l'expressi"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr " \"?\" sense el \":\" segent"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "desbordament d'enter en l'expressi del preprocessador"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "\"(\" faltant en l'expressi"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rebutja l'operador unari ms"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "operador coma en operant de #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "divisi per zero en #if"
-#: expr.c:2130
+#: expr.c:2216
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "l'operador \"defined\" requereix un identificador"
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "\")\" faltant desprs de \"defined\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "directori NULL en find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "un o ms fitxers PCH varen ser trobats, per varen ser invlids"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "usi -Winvalid-pch per a ms informaci"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s s un dispositiu de blocs"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s s massa gran"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s s ms curt qu'esperat"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "no hi ha ruta d'inclusi en la qual cercar %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Mltiples gurdies d'inclusi poden ser tils per a:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t ha de ser d'un tipus unsigned"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "el char de l'objectiu t menys de 8 bits d'ampliaria"
-#: init.c:567
+#: init.c:571
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:571
+#: init.c:575
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:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "el half-integer de CPP s ms estret que el carcter de CPP"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "barra invertida i fi de lnia separats per un espai"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "barra invertida i nova lnia al final del fitxer"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c convertit a %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "s'ignora el trigraph ??%c, usi -trigraphs per permetre-ho"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" dintre d'un comentari"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en una directiva de preprocessament"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "carter(es) nul(s) ignorats"
-#: lex.c:1211
+#: lex.c:1308
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "`%.*s' is not in NFKC"
msgstr "\"%s\" no s definit"
-#: lex.c:1214
+#: lex.c:1311
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "`%.*s' is not in NFC"
msgstr "\"%s\" no s definit"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "intent d'usar \"%s\" enverinat"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C99"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ solament pot aparixer en l'expansi d'una macro variadic C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1692
+#: lex.c:1789
#, 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:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated raw string"
msgstr "#%s sense acabar"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "carcter(es) nul(s) preservats en la literal"
-#: lex.c:1899
+#: lex.c:1996
#, fuzzy, c-format
#| msgid "missing terminating > character"
msgid "missing terminating %c character"
msgstr "falta el carcter de terminaci >"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "els comentaris d'estil C++ no sn permesos en ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(aix es reportar solament una vegada per cada fitxer d'entrada)"
-#: lex.c:2485
+#: lex.c:2844
#, 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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "comentari en mltiples lnies"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "Element %s impronunciable"
@@ -836,7 +823,7 @@ msgstr "Element %s impronunciable"
msgid "macro \"%s\" is not used"
msgstr "no s'usa la macro \"%s\""
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna \"%s\" invlida"
@@ -852,178 +839,178 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "no es pot determinar la data i l'hora"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "no es pot determinar la data i l'hora"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "cadena literal invlida, s'ignora el \"\\\" final"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parmetre de macro \"%s\" duplicat"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" podria faltar en la llista de parmetre de macro"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "els parmetres de macro han de ser separats per comes"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "falta el nom del parmetre"
-#: macro.c:2902
+#: macro.c:2914
#, 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:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "els macros variadic annims es van introduir en C99"
-#: macro.c:2918
+#: macro.c:2930
#, 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:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C no permet macros variadic nomenats"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "\")\" faltant en la llista de parmetres de macro"
-#: macro.c:2982
+#: macro.c:2994
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:3019
+#: macro.c:3031
#, 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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requereix espais en blanc desprs del nom de macro"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "espais en blanc faltant desprs del nom de macro"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "\"#\" no s seguit per un parmetre de macro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" re-definit"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "aquesta s la ubicaci de la definici prvia"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "tipus de hash %d invlid en cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "mentre escrivint capalera precompilada"
-#: pch.c:619
+#: pch.c:621
#, 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:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: no utilitzat perqu \"%.*s\" no est definit"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: no utilitzat perqu \"%s\" s definit"
-#: pch.c:714
+#: pch.c:716
#, 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:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "mentre llegint capalera precompilada"
@@ -1081,6 +1068,18 @@ msgstr "error sintctic en la llista de parmetre de macro"
#~ msgid " ':' without preceding '?'"
#~ msgstr " \":\" sense \"?\" precedent"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "directori NULL en find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s s un dispositiu de blocs"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s s massa gran"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s s ms curt qu'esperat"
+
#~ msgid "no newline at end of file"
#~ msgstr "no hi ha carcter de fi de lnia al final del fitxer"
diff --git a/libcpp/po/cpplib.pot b/libcpp/po/cpplib.pot
index 89e0d9cfad..565ad71aed 100644
--- a/libcpp/po/cpplib.pot
+++ b/libcpp/po/cpplib.pot
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
+"POT-Creation-Date: 2017-05-01 22:24+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"
@@ -37,7 +37,7 @@ msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
#: charset.c:798
-#: charset.c:1453
+#: charset.c:1677
msgid "converting to execution character set"
msgstr ""
@@ -46,766 +46,750 @@ msgstr ""
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr ""
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr ""
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr ""
-#: charset.c:1066
-#: lex.c:1236
+#: charset.c:1121
+#: lex.c:1333
msgid "'$' in identifier or number"
msgstr ""
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr ""
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.c:1110
-#: charset.c:1691
+#: charset.c:1181
+#: charset.c:2000
msgid "converting UCN to source character set"
msgstr ""
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr ""
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr ""
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr ""
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr ""
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr ""
-#: charset.c:1518
-#: charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827
+#: charset.c:1891
msgid "character constant too long for its type"
msgstr ""
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr ""
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr ""
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr ""
-#: directives.c:225
-#: directives.c:268
+#: directives.c:235
+#: directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr ""
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr ""
-#: directives.c:635
-#: directives.c:640
+#: directives.c:672
+#: directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr ""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr ""
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr ""
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr ""
-#: directives.c:946
-#: directives.c:948
+#: directives.c:983
+#: directives.c:985
msgid "line number out of range"
msgstr ""
-#: directives.c:961
-#: directives.c:1042
+#: directives.c:998
+#: directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr ""
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr ""
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120
-#: directives.c:1122
-#: directives.c:1124
-#: directives.c:1710
+#: directives.c:1157
+#: directives.c:1159
+#: directives.c:1161
+#: directives.c:1747
#, c-format
msgid "%s"
msgstr ""
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr ""
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr ""
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr ""
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr ""
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr ""
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr ""
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr ""
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr ""
-#: directives.c:2034
-#: directives.c:2067
+#: directives.c:2071
+#: directives.c:2104
msgid "the conditional began here"
msgstr ""
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr ""
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr ""
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr ""
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr ""
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr ""
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr ""
#: directives-only.c:221
-#: lex.c:2460
+#: lex.c:2819
#: traditional.c:167
msgid "unterminated comment"
msgstr ""
-#: errors.c:234
-#: errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr ""
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr ""
-#: expr.c:517
-#: expr.c:634
+#: expr.c:601
+#: expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr ""
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr ""
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr ""
-#: expr.c:613
-#: expr.c:673
+#: expr.c:697
+#: expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr ""
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr ""
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr ""
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr ""
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr ""
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr ""
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr ""
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr ""
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr ""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr ""
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr ""
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr ""
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr ""
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr ""
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr ""
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr ""
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr ""
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr ""
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr ""
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr ""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr ""
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr ""
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr ""
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr ""
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr ""
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr ""
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr ""
-#: init.c:553
+#: init.c:557
#, c-format
msgid ""
"preprocessor arithmetic has maximum precision of %lu bits; target requires "
"%lu bits"
msgstr ""
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:580
+#: init.c:584
#, c-format
msgid ""
"CPP on this host cannot handle wide character constants over %lu bits, but "
"the target requires %lu bits"
msgstr ""
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr ""
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr ""
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr ""
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr ""
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr ""
-#: lex.c:1284
-#: lex.c:1373
+#: lex.c:1381
+#: lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: lex.c:1294
-#: lex.c:1383
+#: lex.c:1391
+#: lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.c:1298
-#: lex.c:1387
+#: lex.c:1395
+#: lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.c:1305
-#: lex.c:1394
+#: lex.c:1402
+#: lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr ""
-#: lex.c:1741
-#: lex.c:1763
+#: lex.c:1838
+#: lex.c:1860
msgid "unterminated raw string"
msgstr ""
-#: lex.c:1784
-#: lex.c:1914
+#: lex.c:1881
+#: lex.c:2011
msgid ""
"invalid suffix on literal; C++11 requires a space between literal and string "
"macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr ""
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474
-#: lex.c:2508
+#: lex.c:2833
+#: lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.c:2476
-#: lex.c:2487
-#: lex.c:2510
+#: lex.c:2835
+#: lex.c:2846
+#: lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr ""
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr ""
@@ -816,7 +800,7 @@ msgid "macro \"%s\" is not used"
msgstr ""
#: macro.c:242
-#: macro.c:477
+#: macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr ""
@@ -831,183 +815,183 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr ""
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr ""
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr ""
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: macro.c:774
+#: macro.c:785
msgid ""
"ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
msgid ""
"ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:984
+#: macro.c:995
#: traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:1825
+#: macro.c:1836
#, c-format
msgid ""
"invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"
"+98"
msgstr ""
-#: macro.c:1833
-#: macro.c:1842
+#: macro.c:1844
+#: macro.c:1853
#, c-format
msgid ""
"invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr ""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr ""
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr ""
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr ""
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:2906
-#: macro.c:2911
+#: macro.c:2918
+#: macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr ""
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr ""
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr ""
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr ""
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: pch.c:87
-#: pch.c:345
-#: pch.c:359
-#: pch.c:377
-#: pch.c:383
-#: pch.c:392
-#: pch.c:399
+#: pch.c:89
+#: pch.c:347
+#: pch.c:361
+#: pch.c:379
+#: pch.c:385
+#: pch.c:394
+#: pch.c:401
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr ""
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:723
-#: pch.c:900
+#: pch.c:725
+#: pch.c:902
msgid "while reading precompiled header"
msgstr ""
diff --git a/libcpp/po/da.gmo b/libcpp/po/da.gmo
index 0b0740a0ae..9c646deb03 100644
--- a/libcpp/po/da.gmo
+++ b/libcpp/po/da.gmo
Binary files differ
diff --git a/libcpp/po/da.po b/libcpp/po/da.po
index 3f8bf85d8b..17edfcc2d6 100644
--- a/libcpp/po/da.po
+++ b/libcpp/po/da.po
@@ -1,8 +1,8 @@
# Danish version of cpplib.
-# Copyright (C) 2016 Free Software Foundation, Inc.
+# Copyright (C) 2017 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.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015, 2016, 2017.
#
# Konventioner:
#
@@ -128,16 +128,17 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-05-16 18:00+0200\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-23 18:00+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\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"
#: charset.c:674
#, c-format
@@ -158,7 +159,7 @@ msgstr "ingen iconv-implementering, kan ikke konvertere fra %s til %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "tegnet 0x%lx er ikke det grundlæggende kildetegnsæt\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "konverterer til kørseltegnsæt"
@@ -167,735 +168,720 @@ msgstr "konverterer til kørseltegnsæt"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "tegn 0x%lx er ikke unibyte i kørseltegnsæt"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universelle tegnnavne er kun gyldige i C++ og C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "C99's universelle tegnnavne er ikke kompatible med C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "betydningen af »\\%c« er anderledes i traditionel C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "I _cpp_valid_ucn men ikke en UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "ufuldstændigt universelt tegnnavn %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s er ikke et gyldigt universelt tegn"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "»$« i kaldenavn eller tal"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universelt tegn %.*s er ikke gyldigt i et kaldenavn"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "konverterer UCN til et kildetegnsæt"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "konverterer UCN til et kørselstegnsæt"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "betydningen af »\\x« er anderledes i traditionel C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x angivet uden efterfølgende hexadecimale cifre"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "den oktale undvigesekvens er uden for det gyldige interval"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "betydningen af »\\a« er anderledes i traditionel C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "undvigesekvensen »\\%c« er ikke ISO-standard"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "ukendt undvigesekvens: »\\%c«"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "ukendt undvigesekvens: »\\%s«"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "konverterer undvigesekvens til kørselstegnsæt"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "manglende indledende citationstegn"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "tegnkonstanten er for lang for dens type"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "flerbyte-tegnkonstant"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "tom tegnkonstant"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "kunne ikke konvertere %s til %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ekstra symboler i slutningen af #%s-direktiv"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s er en GCC-udvidelse"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s er en forældet GCC-udvidelse"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "foreslår undladelse af brug af #elif i traditionel C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionel C ignorerer #%s når # er indrykket"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "linjestilsdirektiv er en GCC-udvidelse"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ugyldigt præprocessordirektiv #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "»defined« kan ikke bruges som makronavn"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "»__has_include__« kan ikke bruges som et makronavn"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "intet makronavn angivet i direktivet #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "makronavne skal være kaldenavne"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "fjerner definitionen af »%s«"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "manglende afsluttende >-tegn"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s forventer »FILNAVN« eller <FILNAVN>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnavn i #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include indlejret for dybt"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next i den primære kildekodefil"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ugyldigt flag »%s« i linjedirektiv"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "uventet filafslutning efter #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« efter #line er ikke et positivt heltal"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "linjenummer er uden for det gyldige interval"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« er ikke et gyldigt filnavn"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« efter # er ikke et positivt heltal"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "ugyldig #%s-direktiv"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum"
-#: directives.c:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s er allerede registreret"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s er allerede registreret"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "registrerer pragma med NULL-håndtering"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once i hovedfil"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "ugyldigt #pragma push_macro-direktiv"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "ugyldigt #pragma pop_macro-direktiv"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "ugyldigt #pragma GCC poison-direktiv"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "forgifter eksisterende makro »%s«"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoreret uden for inkluderingsfil"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "kan ikke finde kildefilen %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "aktuel fil er ældre end %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ugyldigt »#pragma GCC %s«-direktiv"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tager en strengkonstant med paranteser omkring"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else uden #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "betingelsen begyndte her"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif uden #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif efter #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif uden #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "manglende »(« efter udsagn"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "manglende »)« til at fuldføre svar"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "udsagnets svar er tomt"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "postulat uden udsagn"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "udsagn skal være et kaldenavn"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« genpostuleret"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "uafsluttet #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "uafsluttet kommentar"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "standardud"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "fast punkt-konstanter er en GCC-udvidelse"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ugyldigt præfiks »0b« i kommatalskonstant"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "brug af C++1z hexadecimal kommatalskonstant"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "brug af C99 hexadecimal kommatalskonstant"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ugyldig endelse »%.*s« i kommatalskonstant"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionel C tillader ikke endelsen »%.*s«"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "endelse for dobbelt konstant er en GCC-udvidelse"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ugyldig endelse »%.*s« med hexadecimal kommatalskonstant"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "decimal kommatalskonstanter er en GCC-udvidelse"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ugyldig endelse »%.*s« i heltalskonstant"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "brug af C++11 long long-heltalskonstant"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "brug af C99 long long-heltalskonstant"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginære konstanter er en GCC-udvidelse"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binære konstanter er en C++14-funktion eller GCC-udvidelse"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "binære konstanter er en GCC-udvidelse"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "heltalskonstanten er for stor for dens type"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "heltalskonstanten er så stor at den er usigneret"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "manglende »)« efter »defined«"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "operatoren »defined« kræver et kaldenavn"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(»%s« er et alternativt symbol for »%s« i C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "denne brug af »defined« er muligvis ikke portabel"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "brugerdefineret ordret i præprocessorudtrykket"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "kommatalskonstant i præprocessorudtryk"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginært tal i præprocessorudtryk"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "»%s« er ikke defineret"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "»%s« er ikke defineret, evaluerer til 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "påstande er en GCC-udvidelse"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "påstande er en forældet udvidelse"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "ubalanceret stak i %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "umulig operator »%u«"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "manglende »)« i udtryk"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "»?« uden efterfølgende »:«"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "heltallet løber over i præprocessorudtrykket"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "manglende »(« i udtryk"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse"
-#: expr.c:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "traditionel C tillader ikke operatoren unær plus"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "kommaoperator i en operand til #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "division med nul i #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "operatoren »__has_include__« kræver en teksthovedstreng"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "manglende »)« efter »__has_include__«"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "NULL-mappe i find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "en eller flere PCH-filer blev fundet, men de var ugyldige"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "brug -Winvalid-pch for yderligere information"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s er en blokenhed"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s er for stor"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s er kortere end forventet"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "der er ingen inkluderingssti at søge efter %s i"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t skal være en usigneret type"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "målarkitekturs char er mindre end 8 bit bred"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "målarkitekturs int er mindre end målarkitekturs char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-halvheltal er mindre end CPP-tegn"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "omvendt skråstreg og linjeskift er adskilt af mellemrum"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "omvendt skråstreg efterfulgt af linjeskift ved slutningen af filen"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigrafen ??%c konverteret til %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigrafen ??%c ignoreret, brug -trigraphs for at aktivere"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "»/*« i en kommentar"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s i præprocessordirektiv"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "nultegn ignoreret"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "»%.*s« er ikke i NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "»%.*s« er ikke i NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "forsøg på at bruge forgiftet »%s«"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C++11-makro med vilkårligt antal parametre"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårligt antal parametre"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "kaldenavn »%s« er et specielt operatornavn i C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "rå strengafgrænser længere end 16 tegn"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "ugyldig nylinje i rå strengafgrænser"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ugyldigt tegn »%c« i rå strengafgrænser"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "uafsluttet rå streng"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "nultegn bevaret i strengkonstant"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "manglende afsluttende %c-tegn"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil er ikke kompatible med C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "flerlinjekommentar"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "symbol %s kan ikke staves"
@@ -905,7 +891,7 @@ msgstr "symbol %s kan ikke staves"
msgid "macro \"%s\" is not used"
msgstr "makroen »%s« bliver ikke brugt"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ugyldig indbygget makro »%s«"
@@ -919,168 +905,168 @@ msgstr "makroen »%s« kan forhindre reproducerbare bygninger"
msgid "could not determine file timestamp"
msgstr "kunne ikke bestemme filtidsstempel"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "kunne ikke bestemme dato og tid"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "uafsluttet parameterliste ved kald af makroen »%s«"
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "makroparameternavnet »%s« optræder mere end en gang"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "»%s« må ikke optræde i makroparameterliste"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "makroparametre skal være kommaadskilte"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "parameternavn mangler"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "manglende »)« i makroparameterliste"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 kræver mellemrum efter makronavnet"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 kræver mellemrum efter makronavnet"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "manglende mellemrum efter makronavnet"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "»#« efterfølges ikke af en makroparameter"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "»%s« omdefineret"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "den foregående definition er her"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "ugyldig hashtype %d i cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "under skrivning af prækompileret teksthoved"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ikke brugt da »%.*s« er forgiftet"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ikke brugt da »%.*s« ikke er defineret"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s ikke brugt da »%s« er defineret"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "under læsning af prækompileret teksthoved"
@@ -1092,3 +1078,15 @@ msgstr "opdagede rekursion ved udfoldelse af makroen »%s«"
#: traditional.c:1108
msgid "syntax error in macro parameter list"
msgstr "syntaksfejl i makroparameterliste"
+
+#~ msgid "NULL directory in find_file"
+#~ msgstr "NULL-mappe i find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s er en blokenhed"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s er for stor"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s er kortere end forventet"
diff --git a/libcpp/po/de.gmo b/libcpp/po/de.gmo
index 4188e44428..5cac2f312a 100644
--- a/libcpp/po/de.gmo
+++ b/libcpp/po/de.gmo
Binary files differ
diff --git a/libcpp/po/de.po b/libcpp/po/de.po
index 0bf977ab0e..47af1e8a39 100644
--- a/libcpp/po/de.po
+++ b/libcpp/po/de.po
@@ -5,20 +5,22 @@
# Roland Stigge <stigge@antcom.de>, 2003-2008, 2010, 2012-2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014-2016.
# Philipp Thomas <pth@suse.de>, 2016.
+# Roland Illig <roland.illig@gmx.de>, 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-28 11:39+0200\n"
-"Last-Translator: Philipp Thomas <pth@suse.de>\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-29 21:12+0100\n"
+"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.6\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 1.8.11\n"
#: charset.c:674
#, c-format
@@ -39,7 +41,7 @@ msgstr "keine Implementation für iconv, es kann nicht von %s nach %s konvertier
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "Zeichen 0x%lx ist nicht im regulären Quellzeichensatz\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "Konvertierung in Zeichensatz der Ausführung"
@@ -48,737 +50,722 @@ msgstr "Konvertierung in Zeichensatz der Ausführung"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "Zeichen 0x%lx ist kein Unibyte im Ausführungs-Zeichensatz"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universelle Zeichennamen sind nur in C++ und C99 gültig"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "universelle Zeichennamen in C99 sind zu C90 inkompatibel"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "die Bedeutung von »\\%c« ist in traditionellem C anders"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "In _cpp_valid_ucn, aber kein UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "unvollständiger Universal-Zeichenname %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "»%.*s« ist kein gültiges universelles Zeichen"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "»$« in Bezeichner oder Zahl"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "UCN wird in Quellzeichensatz konvertiert"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "UCN wird in Ausführungszeichensatz konvertiert"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "die Bedeutung von »\\x« ist in traditionellem C anders"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x ohne folgende Hex-Ziffern verwendet"
# http://de.wikipedia.org/wiki/Escape-Sequenz
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "Hex-Escape-Sequenz außerhalb des Wertebereiches"
# http://de.wikipedia.org/wiki/Escape-Sequenz
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "Oktal-Escape-Sequenz außerhalb des Wertebereiches"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "die Bedeutung von »\\a« ist in traditionellem C anders"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "nicht-ISO-standardkonforme Escape-Sequenz »\\%c«"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "unbekannte Escape-Sequenz: »\\%c«"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "unbekannte Escape-Sequenz: »\\%s«"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "Escape-Sequenz wird in Zeichensatz der Ausführung konvertiert"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "Fehlendes öffnendes Anführungszeichen"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "Zeichenkonstante zu lang für ihren Typ"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "Zeichenkonstante mit mehreren Zeichen"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "Leere Zeichenkonstante"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "Fehler beim Konvertieren von %s nach %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "mehrere Token am Ende der Direktive #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s ist eine GCC-Erweiterung"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s ist eine veraltete GCC-Erweiterung"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionelles C ignoriert #%s mit eingerücktem #"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ungültige Präprozessordirektive #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "»defined« kann nicht als Makroname verwendet werden"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "»__has_include__« kann nicht als Makroname verwendet werden"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "kein Makroname in Direktive #%s angegeben"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "Makronamen müssen Bezeichner sein"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "»%s« wird un-definiert"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "fehlendes abschließendes »>«-Zeichen"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "leerer Dateiname in #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include ist zu tief geschachtelt"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next in erster Quelldatei"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ungültiges Kennzeichen »%s« in line-Direktive"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "unerwartetes Dateiende nach #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« hinter #line ist keine positive Ganzzahl"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "Zeilennummer ist außerhalb des Wertebereiches"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« ist kein gültiger Dateiname"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« hinter # ist keine positive Ganzzahl"
-#: directives.c:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "ungültige #%s-Direktive"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ist bereits registriert"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ist bereits registriert"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "Pragma mit NULL-Handler wird registriert"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once in Hauptdatei"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "ungültige #pragma push_macro Direktive"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "ungültige #pragma pop_macro Direktive"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "ungültige #pragma GCC Poison Direktive"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "schlechtes existierendes Makro »%s«"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header außerhalb include-Datei ignoriert"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "Quelldatei %s kann nicht gefunden werden"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "aktuelle Datei ist älter als %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ungültige »#pragma GCC %s« Direktive"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else ohne #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else hinter #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "die Bedingung begann hier"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif ohne #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif hinter #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif ohne #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "fehlende »(« hinter Prädikat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "fehlende »)«, um Antwort abzuschließen"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "Prädikatantwort ist leer"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "Behauptung ohne Prädikat"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "Prädikat muss ein Bezeichner sein"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« wieder behauptet"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "unbeendetes #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "nicht beendeter Kommentar"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "Standardausgabe"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "Festkommakonstanten sind eine GCC-Erweiterung"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ungültiges Präfix »0b« für Gleitkommakonstante"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "Verwendung von hexadezimaler C++1z-Gleitkommakonstante"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "Verwendung von hexadezimaler C99-Gleitkommakonstante"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ungültiges Suffix »%.*s« an Gleitkommakonstante"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionelles C lehnt das Suffix »%.*s« ab"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "Suffix an Gleitkommakonstante ist eine GCC-Erweiterung"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ungültiges Suffix »%.*s« mit hexadezimaler Gleitkommakonstante"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "dezimale Gleitkommakonstanten sind eine GCC-Erweiterung"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ungültiges Suffix »%.*s« an Ganzzahlkonstante"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "C++11 long long Ganzzahlkonstante verwendet"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "C99 long long Ganzzahlkonstante verwendet"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginäre Konstanten sind eine GCC-Erweiterung"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäre Konstanten sind ein C++14-Funktionsmerkmal oder eine GCC-Erweiterung"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "binäre Konstanten sind eine GCC-Erweiterung"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "Ganzzahlkonstante ist zu groß für ihren Typ"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "Ganzzahlkonstante ist so groß, dass sie vorzeichenlos ist"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "fehlende »)« hinter »defined«"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "Operator »defined« erfordert einen Bezeichner"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(»%s« ist ein alternatives Token for »%s« in C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "Gleitkommakonstante in Präprozessorausdruck"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginäre Zahl in Präprozessorausdruck"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "»%s« ist nicht definiert"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "Assertions sind eine GCC-Erweiterung"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "Assertions sind eine veraltete Erweiterung"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "unausgeglichener Keller in %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "unmöglicher Operator »%u«"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "fehlende »)« in Ausdruck"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "»?« ohne folgenden »:«"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "Ganzzahlüberlauf in Präprozessorausdruck"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "fehlende »(« in Ausdruck"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "traditionelles C weist den unären Plus-Operator zurück"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "Kommaoperator in Operand von #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "Division durch Null in #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "fehlende »)« hinter »__has_include__«"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "NULL-Verzeichnis in find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "eine oder mehrere PCH-Dateien wurden gefunden, aber sie sind ungültig"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "-Winvalid-pch für mehr Informationen verwenden"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s ist ein blockorientertes Gerät"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s ist zu groß"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s ist kürzer als erwartet"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "kein Include-Pfad, um %s zu finden"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t muss ein vorzeichenloser Typ sein"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "Ziel-char ist weniger als 8 Bits breit"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "Ziel-wchar_t ist schmaler als Ziel-char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "Ziel-int ist schmaler als Ziel-char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "Backslash und Newline durch Leerzeichen getrennt"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "Backslash-Newline am Dateiende"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "Trigraph ??%c in %c konvertiert"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "Trigraph ??%c ignoriert, -trigraphs zum Aktivieren verwenden"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "»/*« innerhalb des Kommentars"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s in Präprozessordirektive"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "Null-Zeichen ignoriert"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "»%.*s« ist nicht in NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "»%.*s« ist nicht in NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "Versuch, schlechtes »%s« zu verwenden"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C++11-Makros auftreten"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftreten"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "unbeendete Roh-Zeichenkette"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "Null-Zeichen im Literal erhalten"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "fehlendes abschließendes Zeichen %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "mehrzeiliger Kommentar"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "nicht buchstabierbares Token %s"
@@ -788,7 +775,7 @@ msgstr "nicht buchstabierbares Token %s"
msgid "macro \"%s\" is not used"
msgstr "Makro »%s« wird nicht benutzt"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ungültiges eingebautes Makro »%s«"
@@ -802,168 +789,168 @@ msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern"
msgid "could not determine file timestamp"
msgstr "Zeitstempel der Datei konnte nicht ermittelt werden"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "Datum und Zeit konnten nicht bestimmt werden"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "doppelter Makroparameter »%s«"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "»%s« darf nicht in Makroparameterliste auftreten"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "Makroparameter müssen mit Komma getrennt sein"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "Parametername fehlt"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyme variadische Makros wurden in C++11 eingeführt"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyme variadische Makros wurden in C99 eingeführt"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO-C++ erlaubt keine benannten variadischen Makros"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO-C erlaubt keine benannten variadischen Makros"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "fehlendes »)« in Makroparameterliste"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "Leerzeichen hinter Makroname fehlt"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "»#« wird nicht von einem Makroparameter gefolgt"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "»%s« redefiniert"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "dies ist die Stelle der vorherigen Definition"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "beim Schreiben des vorkompilierten Headers"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: nicht verwendet, da »%.*s« nicht definiert"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: nicht verwendet, da »%s« definiert ist"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "beim Lesen des vorkompilierten Headers"
@@ -975,3 +962,15 @@ msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"
#: traditional.c:1108
msgid "syntax error in macro parameter list"
msgstr "Syntaxfehler in Makroparameterliste"
+
+#~ msgid "NULL directory in find_file"
+#~ msgstr "NULL-Verzeichnis in find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s ist ein blockorientertes Gerät"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s ist zu groß"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s ist kürzer als erwartet"
diff --git a/libcpp/po/el.gmo b/libcpp/po/el.gmo
index fed71897de..c8c0ba0ec6 100644
--- a/libcpp/po/el.gmo
+++ b/libcpp/po/el.gmo
Binary files differ
diff --git a/libcpp/po/el.po b/libcpp/po/el.po
index 285f481213..201ba90a6b 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -14,6 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-7\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, fuzzy, c-format
@@ -34,7 +35,7 @@ msgstr ""
msgid "character 0x%lx is not in the basic source character set\n"
msgstr ""
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr ""
@@ -43,523 +44,528 @@ msgstr ""
msgid "character 0x%lx is not unibyte in execution character set"
msgstr ""
-#: charset.c:997
+#: charset.c:1047
#, fuzzy
msgid "universal character names are only valid in C++ and C99"
msgstr "U+%04X: "
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr ""
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr ""
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr ""
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr ""
-#: charset.c:1056
+#: charset.c:1111
#, fuzzy, c-format
msgid "%.*s is not a valid universal character"
msgstr " `%s' ."
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr ""
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr ""
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr ""
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr ""
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr ""
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr ""
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr ""
-#: charset.c:1210
+#: charset.c:1309
#, fuzzy
msgid "hex escape sequence out of range"
msgstr " "
-#: charset.c:1248
+#: charset.c:1361
#, fuzzy
msgid "octal escape sequence out of range"
msgstr " "
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr ""
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr ""
# src/main.c:663
-#: charset.c:1329
+#: charset.c:1458
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr " `%s'"
# src/main.c:663
-#: charset.c:1337
+#: charset.c:1466
#, fuzzy, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr " `%s'"
-#: charset.c:1344
+#: charset.c:1474
#, fuzzy
msgid "converting escape sequence to execution character set"
msgstr " "
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+#, fuzzy
+msgid "missing open quote"
+msgstr " "
+
+#: charset.c:1827 charset.c:1891
#, fuzzy
msgid "character constant too long for its type"
msgstr " "
-#: charset.c:1521
+#: charset.c:1830
#, fuzzy
msgid "multi-character character constant"
msgstr " `%s'"
-#: charset.c:1622
+#: charset.c:1931
#, fuzzy
msgid "empty character constant"
msgstr " "
-#: charset.c:1738
+#: charset.c:2047
#, fuzzy, c-format
msgid "failure to convert %s to %s"
msgstr " %s `%s' `%s'"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr ""
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr ""
-#: directives.c:380
+#: directives.c:390
#, fuzzy, c-format
msgid "#%s is a deprecated GCC extension"
msgstr " `%s' "
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr ""
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr ""
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr ""
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr ""
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr ""
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr ""
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr ""
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr ""
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr ""
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr ""
-#: directives.c:586
+#: directives.c:623
#, fuzzy
msgid "macro names must be identifiers"
msgstr " "
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, fuzzy, c-format
msgid "undefining \"%s\""
msgstr " %s"
-#: directives.c:695
+#: directives.c:732
#, fuzzy
msgid "missing terminating > character"
msgstr " "
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr ""
-#: directives.c:800
+#: directives.c:837
#, fuzzy, c-format
msgid "empty filename in #%s"
msgstr " %s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr ""
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr ""
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr ""
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr ""
-#: directives.c:940
+#: directives.c:977
#, fuzzy, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "%s' ."
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
#, fuzzy
msgid "line number out of range"
msgstr "%s: "
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, fuzzy, c-format
msgid "\"%s\" is not a valid filename"
msgstr "%s' ."
-#: directives.c:1002
+#: directives.c:1039
#, fuzzy, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "%s' ."
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, fuzzy, c-format
msgid "invalid #%s directive"
msgstr "%%%c: ."
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr ""
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr ""
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr ""
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr ""
-#: directives.c:1244
+#: directives.c:1281
#, fuzzy, c-format
msgid "#pragma %s is already registered"
msgstr " `%s' "
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr ""
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr ""
-#: directives.c:1514
+#: directives.c:1551
#, fuzzy
msgid "invalid #pragma push_macro directive"
msgstr "%%%c: ."
-#: directives.c:1569
+#: directives.c:1606
#, fuzzy
msgid "invalid #pragma pop_macro directive"
msgstr "%%%c: ."
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr ""
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr ""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr ""
-#: directives.c:1677
+#: directives.c:1714
#, fuzzy, c-format
msgid "cannot find source file %s"
msgstr " : %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr ""
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr " `%s' ."
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr ""
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr ""
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr ""
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr ""
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr ""
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr ""
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr ""
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr ""
-#: directives.c:2238
+#: directives.c:2275
#, fuzzy
msgid "assertion without predicate"
msgstr " "
-#: directives.c:2241
+#: directives.c:2278
#, fuzzy
msgid "predicate must be an identifier"
msgstr " "
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr ""
-#: directives.c:2619
+#: directives.c:2656
#, fuzzy, c-format
msgid "unterminated #%s"
msgstr " o "
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
#, fuzzy
msgid "unterminated comment"
msgstr " `s'"
# src/request.c:37
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr ""
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr ""
-#: expr.c:542
+#: expr.c:626
#, fuzzy
msgid "invalid prefix \"0b\" for floating constant"
msgstr " : %s"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr ""
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr ""
-#: expr.c:602
+#: expr.c:686
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr " : %s"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr ""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr ""
-#: expr.c:627
+#: expr.c:711
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr " : %s"
-#: expr.c:638
+#: expr.c:722
#, fuzzy
msgid "decimal float constants are a GCC extension"
msgstr "%s: %s "
-#: expr.c:656
+#: expr.c:740
#, fuzzy, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr " `%s'"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
msgid "use of C++11 long long integer constant"
msgstr " `%s'"
-#: expr.c:682
+#: expr.c:766
#, fuzzy
msgid "use of C99 long long integer constant"
msgstr " `%s'"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr ""
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr ""
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr ""
-#: expr.c:801
+#: expr.c:885
#, fuzzy
msgid "integer constant is too large for its type"
msgstr "%s: %s "
-#: expr.c:832
+#: expr.c:916
#, fuzzy
msgid "integer constant is so large that it is unsigned"
msgstr "%s: %s "
-#: expr.c:927
+#: expr.c:1011
#, fuzzy
msgid "missing ')' after \"defined\""
msgstr " "
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr ""
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr ""
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr ""
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr ""
-#: expr.c:1017
+#: expr.c:1103
#, fuzzy
msgid "floating constant in preprocessor expression"
msgstr " "
-#: expr.c:1023
+#: expr.c:1109
#, fuzzy
msgid "imaginary number in preprocessor expression"
msgstr " "
-#: expr.c:1076
+#: expr.c:1162
#, fuzzy, c-format
-msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr " `%s' "
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr ""
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr ""
@@ -567,252 +573,232 @@ 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:1338
+#: expr.c:1424
#, fuzzy, c-format
msgid "unbalanced stack in %s"
msgstr " ["
-#: expr.c:1358
+#: expr.c:1444
#, fuzzy, c-format
msgid "impossible operator '%u'"
msgstr "RPC: RPC"
-#: expr.c:1459
+#: expr.c:1545
#, fuzzy
msgid "missing ')' in expression"
msgstr " "
-#: expr.c:1488
+#: expr.c:1574
#, fuzzy
msgid "'?' without following ':'"
msgstr " : %s"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr ""
-#: expr.c:1503
+#: expr.c:1589
#, fuzzy
msgid "missing '(' in expression"
msgstr " "
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr ""
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr ""
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr ""
-#: expr.c:2033
+#: expr.c:2119
#, fuzzy
msgid "division by zero in #if"
msgstr " : %s"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr ""
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
msgid "missing ')' after \"__has_include__\""
msgstr " "
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr ""
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr ""
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr ""
-#: files.c:671
-#, fuzzy, c-format
-msgid "%s is a block device"
-msgstr " "
-
-# src/shred.c:1134
-#: files.c:688
-#, fuzzy, c-format
-msgid "%s is too large"
-msgstr "%s: "
-
-#: files.c:728
-#, fuzzy, c-format
-msgid "%s is shorter than expected"
-msgstr "%s: .\n"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr ""
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr ""
-#: init.c:549
+#: init.c:553
#, fuzzy
msgid "cppchar_t must be an unsigned type"
msgstr " "
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr ""
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr ""
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr ""
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr ""
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr ""
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr ""
-#: init.c:580
+#: init.c:584
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr ""
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr ""
-#: lex.c:1034
+#: lex.c:1131
#, fuzzy
msgid "backslash-newline at end of file"
msgstr " "
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr ""
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr ""
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr ""
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr ""
-#: lex.c:1174
+#: lex.c:1271
#, fuzzy
msgid "null character(s) ignored"
msgstr " : "
-#: lex.c:1211
+#: lex.c:1308
#, fuzzy, c-format
msgid "`%.*s' is not in NFKC"
msgstr " `%s' "
-#: lex.c:1214
+#: lex.c:1311
#, fuzzy, c-format
msgid "`%.*s' is not in NFC"
msgstr " `%s' "
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr ""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr ""
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr ""
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr ""
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr ""
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr ""
-#: lex.c:1692
+#: lex.c:1789
#, fuzzy, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr " `%c' `%s'"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
#, fuzzy
msgid "unterminated raw string"
msgstr " o "
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr ""
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr " %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr ""
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr ""
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr ""
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr ""
-#: lex.c:2873
+#: lex.c:3248
#, fuzzy, c-format
msgid "unspellable token %s"
msgstr "%s: %s: %m\n"
@@ -822,7 +808,7 @@ msgstr "%s: %s: %m\n"
msgid "macro \"%s\" is not used"
msgstr " `%s' "
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, fuzzy, c-format
msgid "invalid built-in macro \"%s\""
msgstr " : %s"
@@ -837,173 +823,173 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr " %s"
-#: macro.c:384
+#: macro.c:395
#, fuzzy
msgid "could not determine date and time"
msgstr " %s"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr ""
-#: macro.c:588
+#: macro.c:599
#, fuzzy
msgid "invalid string literal, ignoring final '\\'"
msgstr " : `%s'"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr ""
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, fuzzy
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr " "
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr ""
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr ""
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr ""
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr ""
-#: macro.c:1825
+#: macro.c:1836
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr ""
-#: macro.c:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr ""
-#: macro.c:2806
+#: macro.c:2817
#, fuzzy, c-format
msgid "duplicate macro parameter \"%s\""
msgstr " `%s'"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr ""
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr ""
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr ""
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr ""
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr ""
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr ""
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr ""
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr ""
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr ""
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr ""
-#: macro.c:3022
+#: macro.c:3034
#, fuzzy
msgid "ISO C99 requires whitespace after the macro name"
msgstr " "
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr ""
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr ""
-#: macro.c:3242
+#: macro.c:3254
#, fuzzy, c-format
msgid "\"%s\" redefined"
msgstr ""
-#: macro.c:3247
+#: macro.c:3259
#, fuzzy
msgid "this is the location of the previous definition"
msgstr " "
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr ""
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr ""
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr ""
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr ""
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr ""
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr ""
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr ""
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr ""
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr ""
@@ -1771,6 +1757,19 @@ msgstr " "
#~ msgid "missing binary operator before '%s'"
#~ msgstr "%s: .\n"
+# src/shred.c:1134
+#, fuzzy
+#~ msgid "%s is too large"
+#~ msgstr "%s: "
+
+#, fuzzy
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s: .\n"
+
+#, fuzzy
+#~ msgid "%s is a block device"
+#~ msgstr " "
+
#, fuzzy
#~ msgid "ignoring nonexistent directory \"%s\"\n"
#~ msgstr " - `%s'\n"
@@ -4418,10 +4417,6 @@ msgstr " "
#~ msgstr " `%s'"
#, fuzzy
-#~ msgid "missing Code attribute"
-#~ msgstr " "
-
-#, fuzzy
#~ msgid "no input file specified"
#~ msgstr " "
diff --git a/libcpp/po/eo.gmo b/libcpp/po/eo.gmo
index 469073e236..e0f0557417 100644
--- a/libcpp/po/eo.gmo
+++ b/libcpp/po/eo.gmo
Binary files differ
diff --git a/libcpp/po/eo.po b/libcpp/po/eo.po
index c9d947030a..2ff4493d75 100644
--- a/libcpp/po/eo.po
+++ b/libcpp/po/eo.po
@@ -1,21 +1,22 @@
# Translation of cpplib to Esperanto
-# Copyright (C) 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2013, 2014, 2015, 2016, 2017 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.
+# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2015, 2016, 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1-b20160131\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-02-12 13:14-0300\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-28 22:15-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.10\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 1.5.4\n"
#: charset.c:674
#, c-format
@@ -36,7 +37,7 @@ msgstr "neniu realigo de iconv, ne eblas konverti de %s al %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "la signo 0x%lx ne estas en la baza fonta signaro\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "konverto al plenumiga signaro"
@@ -45,737 +46,720 @@ msgstr "konverto al plenumiga signaro"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "la signo 0x%lx ne estas unubajta en plenumiga signaro"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universalaj signo-nomoj nur validas en C++ kaj C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "Universalaj signo-nomoj de C99 ne interakordas kun C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "la signifo de '\\%c' estas malsama en tradicia C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "En _cpp_valid_ucn sed ne estas UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nekompleta universala signo-nomo %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ne estas valida universala signo"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "'$' en identiganto aŭ numero"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "la universala signo %.*s ne estas valida en identiganto"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "konverto de UCN al la fonta signaro"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "konverto de UCN al la plenumiga signaro"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "la signifo de '\\x' estas malsama en tradicia C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x estis uzata kun la jenaj deksesumaj ciferoj"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "deksesuma eskapa sekvo estas for de intervalo"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "okuma eskapa sekvo estas for de intervalo"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "la signifo de '\\a' estas malsama en tradicia C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ne-ISO-norma eskapa sekvo, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "nekonata eskapa sekvo: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "nekonata eskapa sekvo: '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "konverto de eskapa sekvo al plenumiga signaro"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "mankas komenca citilo"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "signa konstanto tro longas por ties tipo"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "plursigna signa konstanto"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "malplena signa konstanto"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "problemo por konverti %s al %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s estas aldono de GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s estas evitinda aldono de GCC"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "sugesti ne uzi #elif en tradicia C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "stilo de lini-instrukcioj estas aldono de GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "malvalida antaŭproceza instrukcio #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" ne povas estis uzata kiel makroa nomo"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "neniu makroa nomo estas indikita en la instrukcio #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "makroaj nomoj devas esti identigantoj"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "ni maldifinas \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "mankas finiganta signo >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "malplena dosiernomo en #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include estas ingita tro profunde"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next en ĉefa fonta dosiero"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "malvalida flago \"%s\" en lini-instrukcio"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "neatendita dosierfino post #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" post #line ne estas pozitiva entjero"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "lininumero estas for de intervalo"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" ne estas valida dosiernomo"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" post # ne estas pozitiva entjero"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
-msgstr ""
+msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "malvalida instrukcio #%s"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-etendigo"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registro de pragma \"%s\" kun nom-etendigo kaj sen nomspaco"
-#: directives.c:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s jam estas registrita"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s jam estas registrita"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "registro de pragma kun traktilo de NULL"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma unufoje en ĉefdosiero"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "malvalida instrukcio #pragma push_macro"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "malvalida instrukcio #pragma pop_macro"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "malvalida instrukcio #pragma GCC poison"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "venenigo de ekzistanta makroo \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "ne eblas trovi la fontan dosieron %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "nuna dosiero estas pli malnova ol %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "malvalida instrukcio \"#pragma GCC %s\""
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else sen #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else post #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "la kondiĉo komencis ĉi tie"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sen #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif post #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sen #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "mankas '(' post predikato"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "mankas ')' por kompletigi respondon"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "respondo de predikato estas malplena"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "aserto sen predikato"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predikato devas esti identiganto"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" estas re-asertita"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "nefinigita #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "nefinigita komento"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "ĉefeligujo"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "fisk-komaj konstantoj estas aldono de GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "malvalida prefikso \"0b\" por glitkoma konstanto"
-#: expr.c:555
-#, fuzzy
-#| msgid "use of C++11 hexadecimal floating constant"
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
-msgstr "uzo de deksesuma glitkoma konstanto de C++11"
+msgstr "uzo de deksesuma glitkoma konstanto de C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "uzo de deksesuma glitkoma konstanto de C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "malvalida sufikso \"%.*s\" en glitkoma konstanto"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "tradicia C rifuzas la sufikson \"%.*s\""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "sufikso por duobla konstanto estas aldono de GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "malvalida sufikso \"%.*s\" kun deksesuma glitkoma konstanto"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "dekumaj glitkomaj konstantoj estas aldono de GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "malvalida sufikso \"%.*s\" en entjera konstanto"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "uzo de konstanto C++11 long long integer"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "uzo de konstanto de C99 long long integer"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginaraj konstantoj estas aldono de GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "duumaj konstantoj estas apartaĵo de C++14 aŭ aldono de GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "duumaj konstantoj estas aldono de GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "entjera konstanto tro larĝas pro ties tipo"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "entjera konstanto estas tiom larĝa ke ĝi estas sen-signuma"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "mankas ')' post \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "la operatoro \"defined\" postulas identiganton"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "glitkoma konstanto en antaŭproceza esprimo"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginara numero en antaŭproceza esprimo"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "\"%s\" ne estas difinita"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "\"%s\" ne estas difinita, rezultas al 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "asertoj estas aldono de GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "asertoj estas evitinda aldono"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "neekvilibrita stako en %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "neebla operatoro '%u'"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "mankas ')' en esprimo"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' sen sekvanta ':'"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "entjera troigo en antaŭproceza esprimo"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "mankas '(' en esprimo"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "tradicia C rifuzas la unuloka plusan operatoron"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "koma operatoro en operaciado de #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "divido per nulo en #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "mankas ')' post \"__has_include__\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "NULL-dosierujo en find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "unu aŭ pli dosieroj PCH estis trovataj, sed ili estas malvalidaj"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "uzu -Winvalid-pch por pli da informo"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s estas blok-aparato"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s tro larĝas"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s estas pli mallonga ol atendite"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "estas neniu inkluziva vojo por serĉi %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t devas esti sensignuma tipo"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "la celata char estas pli eta ol 8 bitoj"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "la celata int estas pli mallarĝa ol la celata char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "retroklino kaj novlinio apartitaj de spaco"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "retroklino-novlinio ĉe dosierfino"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigrafikaĵo ??%c konvertita al %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigrafikaĵo ??%c preteratentita, uzu -trigraphs por ebligi"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" ene de komento"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en antaŭproceza instrukcio"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "nul-signo(j) estas preteratentitaj"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "'%.*s' ne estas en NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "'%.*s' ne estas en NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "provo uzi venenitan \"%s\""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ nur povas aperi en la etendigo de variebl-argumenta makroo de C++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ nur povas aperi en la etendigo de variebl-argumenta makroo de C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "malvalida nov-linio en kruda ĉen-apartigilo"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "nefinigita kruda ĉeno"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "nul-signo(j) tenitaj en literaĵo"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "mankas finigantan signon %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "plurlinia komento"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "neliterumebla ĵetono %s"
@@ -785,7 +769,7 @@ msgstr "neliterumebla ĵetono %s"
msgid "macro \"%s\" is not used"
msgstr "makroo \"%s\" ne estas uzata"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "malvalida enkonstruita makroo \"%s\""
@@ -799,168 +783,168 @@ msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn"
msgid "could not determine file timestamp"
msgstr "ne eblis determini la dosieran tempomarkon"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "ne eblis determini la daton kaj horon"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "duobligata makro-parametro \"%s\""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" ne povas aperi en makroa parametro-listo"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "makro-parametroj devas esti apartitaj per komoj"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "mankas parametra nomo"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "mankas ')' en makroa parametro-listo"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' ne povas aperi ĉe iu ajn fino de makroa etendigo"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 postulas blankspacon post la makroa nomo"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 postulas blankspacon post la makroa nomo"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "mankas blankspacon post la makroa nomo"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' ne estas sekvata de makroa parametro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" estas redifinita"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "tiu ĉi estas la loko de la antaŭa difino"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "malvalida haketa tipo %d en cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "dum skribo de antaŭkompilita kapo"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ne uzata ĉar '%.*s' estas venenita"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ne uzata ĉar '%s' estas difinita"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "dum lego de antaŭkompilita kapo"
@@ -973,6 +957,18 @@ msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\""
msgid "syntax error in macro parameter list"
msgstr "sintaksa eraro en makroa parametro-listo"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "NULL-dosierujo en find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s estas blok-aparato"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s tro larĝas"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s estas pli mallonga ol atendite"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "La signo %x povas ne esti NFKC"
diff --git a/libcpp/po/es.gmo b/libcpp/po/es.gmo
index 2427813cd2..bd67433f44 100644
--- a/libcpp/po/es.gmo
+++ b/libcpp/po/es.gmo
Binary files differ
diff --git a/libcpp/po/es.po b/libcpp/po/es.po
index 567ef3f8b0..90c10249d9 100644
--- a/libcpp/po/es.po
+++ b/libcpp/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.7-b20120128\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
"PO-Revision-Date: 2012-01-29 12:55-0600\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -15,6 +15,7 @@ msgstr ""
"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"
#: charset.c:674
#, c-format
@@ -35,7 +36,7 @@ msgstr "no hay una implementación de iconv, no se puede convertir de %s a %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "el carácter 0x%lx no está en el conjunto básico de caracteres fuente\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "convirtiendo al conjunto de caracteres de ejecución"
@@ -44,756 +45,742 @@ msgstr "convirtiendo al conjunto de caracteres de ejecución"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "el carácter 0x%lx no es unibyte en el conjunto de caracteres de ejecución"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "los nombres universales de carácter sólo son válidos en C++ y C99"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "los nombres universales de carácter sólo son válidos en C++ y C99"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "el significado de '\\%c' es diferente en C tradicional"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "En _cpp_valid_unc pero no es un NUC"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nombre universal de carácter %.*s incompleto"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s no es un carácter universal válido"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "'$' en el identificador o número"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "el carácter universal %.*s no es válido en un identificador"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "convirtiendo un NUC al conjunto de caracteres fuente"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "convirtiendo un NUC al conjunto de caracteres de ejecución"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "el significado de '\\x' es diferente en C tradicional"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "se usó \\x sin dígitos hexadecimales a continuación"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "secuencia de escape hexadecimal fuera de rango"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "secuencia de escape octal fuera de rango"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "el significado de '\\a' es diferente en C tradicional"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "secuencia de escape que no es estándard ISO, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "secuencia de escape desconocida: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "secuencia de escape desconocida: '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "convirtiendo una secuencia de escape al conjunto de caracteres de ejecución"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "constante de carácter demasiado grande para su tipo"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "constante de carácter con múltiples caracteres"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "constante de carácter vacía"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "no se puede convertir %s a %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "elementos extra al final de la directiva #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s es una extensión de GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s es una extensión de GCC obsoleta"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "se sugiere no usar #elif en C tradicional"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s con el # indentado"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
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:446
+#: directives.c:456
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:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directiva de preprocesamiento #%s inválida"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" no se puede usar como un nombre de macro"
-#: directives.c:574
+#: directives.c:611
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" no se puede usar como un nombre de macro"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "no se dio un nombre de macro en la directiva #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "los nombres de macro deben ser identificadores"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "borrando la definición de \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "falta el carácter de terminación >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOMBRE_ARCHIVO\" ó <NOMBRE_ARCHIVO>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nombre de fichero vacío en #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include anidado con demasiada profundidad"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next en fichero primario de código fuente"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "indicador \"%s\" inválido en la línea de la directiva"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "fin de fichero inesperado después de #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" después de #line no es un entero positivo"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "número de línea fuera de rango"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" no es un nombre de fichero válido"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" después de # no es un entero positivo"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "directiva #%s inválida"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ya está registrado"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ya está registrado"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "se registra un pragma con manejador NULL"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma una vez en el fichero principal"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "directiva #pragma push_macro inválida"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "directiva #pragma pop_macro inválida"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "directiva #pragma de GCC envenenada inválida"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "se envenena la macro existente \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fuera del fichero a incluir"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "no se puede encontrar el fichero fuente %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "el fichero actual es más antiguo que %s"
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directiva #pragma de GCC envenenada inválida"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma lleva una cadena literal entre paréntesis"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else sin #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else después de #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "el condicional empezó aquí"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sin #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif después de #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sin #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "falta '(' antes del predicado"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "falta ')' para completar la respuesta"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "la respuesta del predicado está vacía"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "afirmación sin predicado"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "el predicado debe ser un identificador"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" reafirmado"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s sin terminar"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "comentario sin terminar"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "salida estándard"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "las constantes de coma fija son una extensión GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "prefijo \"0b\" inválido en la constante de coma flotante"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "uso de una constante de coma flotante hexadecimal C99"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "uso de una constante de coma flotante hexadecimal C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufijo \"%.*s\" inválido en la constante de coma flotante"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "C tradicional rechaza el sufijo \"%.*s\""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "el sufijo para una constante doble es una extensión GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufijo \"%.*s\" inválido en la constante de coma flotante hexadecimal"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "las constantes de coma flotante decimal son una extensión GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufijo \"%.*s\" inválido en la constante entera"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "uso de una constante entera long long C++0x"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "uso de una constante entera long long C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "las constantes imaginarias son una extensión GCC"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "las constantes binarias son una extensión GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "las constantes binarias son una extensión GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "la constante entera es demasiado grande para su tipo"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "la constante entera es tan grande que es unsigned"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "falta ')' después de \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "el operador \"defined\" requiere un identificador"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" es un elemento alternativo para \"%s\" en C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "este uso de \"defined\" puede no ser transportable"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida por el usuario en una expresión del preprocesador"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "constante de coma flotante en una expresión del preprocesador"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "número imaginario en una expresión del preprocesador"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" no está definido"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "las aserciones son una extensión GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "las aserciones son una extensión obsoleta"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "pila desbalanceada en %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "operador '%u' imposible"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "falta un ')' en la expresión"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' sin ':' a continuación"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "desbordamiento entero en expresión del preprocesador"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "falta un '(' en la expresión"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rechaza el operador unario mas"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "operador coma en operando de #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "división por cero en #if"
-#: expr.c:2130
+#: expr.c:2216
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "el operador \"defined\" requiere un identificador"
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "falta ')' después de \"defined\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "directorio NULL en find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "se encontró uno o más ficheros PCH, pero eran inválidos"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "use -Winvalid-pch para más información"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s es un dispositivo de bloques"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s es demasiado grande"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s es más corto de lo esperado"
-
-#: files.c:964
+#: files.c:981
#, c-format
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:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Guardias múltiples de include pueden ser útiles para:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t debe ser de un tipo unsigned"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "el char del objetivo tiene menos de 8 bits de ancho"
-#: init.c:567
+#: init.c:571
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:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "el int del objetivo es más estrecho que el char del objetivo"
-#: init.c:576
+#: init.c:580
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:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "caracteres de barra invertida y fin de línea separados por espacio"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "no hay caractér de barra invertida o fin de línea al final del fichero"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "se convierte el trigrafo ??%c a %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "se ignora el trigrafo ??%c, use -trigraphs para reconocerlo"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" dentro de un comentario"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s en la directiva de preprocesamiento"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "caracter(es) nulo(s) ignorados"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' no está en NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' no está en NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "intento de usar \"%s\" envenenado"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro variadic C99"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro variadic C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "el identificador \"%s\" es un nombre de operador especial en C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "el delimitador de cadena cruda es más largo que 16 caracteres"
-#: lex.c:1688
+#: lex.c:1785
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "carácter inválido '%c' en un delimitador de cadena cruda"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "carácter inválido '%c' en un delimitador de cadena cruda"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "cadena cruda sin terminar"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "caracter(es) nulo(s) preservados en la literal"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "falta el carácter de terminación %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"
-#: lex.c:2485
+#: lex.c:2844
#, fuzzy
#| msgid "C++ style comments are not allowed in ISO C90"
msgid "C++ style comments are incompatible with C90"
msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "comentario en múltiples líneas"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "elemento %s impronunciable"
@@ -803,7 +790,7 @@ msgstr "elemento %s impronunciable"
msgid "macro \"%s\" is not used"
msgstr "la macro \"%s\" no se utiliza"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna \"%s\" inválida"
@@ -817,178 +804,178 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "no se puede determinar la marca de fecha del fichero"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "no se puede determinar la fecha y la hora"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "cadena literal inválida, se ignora el '\\' final"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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 requiere que el resto de los argumentos sea usado"
-#: macro.c:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "lista de argumentos sin terminar al invocar la macro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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 "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90 y en ISO C++98"
-#: macro.c:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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 "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90 y en ISO C++98"
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parámetro de macro \"%s\" duplicado"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" podría faltar en la lista de parámetro de macro"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "los parámetros de macro deben ser separados por comas"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "falta el nombre del parámetro"
-#: macro.c:2902
+#: macro.c:2914
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "los macros variadic anónimos se introdujeron en C99"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "los macros variadic anónimos se introdujeron en C99"
-#: macro.c:2918
+#: macro.c:2930
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C no permite macros variadic nombrados"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C no permite macros variadic nombrados"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "falta ')' en la lista de parámetros de macro"
-#: macro.c:2982
+#: macro.c:2994
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:3019
+#: macro.c:3031
#, fuzzy
#| msgid "ISO C99 requires whitespace after the macro name"
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "faltan espacios en blanco después del nombre de macro"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' no es seguido por un parámetro de macro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "se redefinió \"%s\""
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "esta es la ubicación de la definición previa"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "tipo de hash %d inválido en cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "al escribir el encabezado precompilado"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: no se usa porque `%.*s' está envenenado"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: no se usa porque `%.*s' no está definido"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: no se usa porque `%s' está definido"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: no se usa porque `__COUNTER__' es inválido"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "al leer el encabezado precompilado"
@@ -1043,6 +1030,18 @@ msgstr "error de sintaxis en la lista de parámetros de macro"
#~ msgid " ':' without preceding '?'"
#~ msgstr " ':' sin una '?' precedente"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "directorio NULL en find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s es un dispositivo de bloques"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s es demasiado grande"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s es más corto de lo esperado"
+
#~ msgid "warning: "
#~ msgstr "aviso: "
diff --git a/libcpp/po/fi.gmo b/libcpp/po/fi.gmo
index 0580bce2ad..d9e9e4d10d 100644
--- a/libcpp/po/fi.gmo
+++ b/libcpp/po/fi.gmo
Binary files differ
diff --git a/libcpp/po/fi.po b/libcpp/po/fi.po
index 0f0ea9b9d1..c9f31484e0 100644
--- a/libcpp/po/fi.po
+++ b/libcpp/po/fi.po
@@ -6,18 +6,19 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-05-12 23:30+0300\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-04 02:11+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.7\n"
+"X-Generator: Poedit 1.8.11\n"
#: charset.c:674
#, c-format
@@ -38,7 +39,7 @@ msgstr "ei iconv-toteutusta, muunnosta %s -> %s ei voida suorittaa"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "merkki 0x%lx ei ole peruslähdemerkistössä\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "muunnetaan suoritusmerkistöön"
@@ -47,744 +48,729 @@ msgstr "muunnetaan suoritusmerkistöön"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "merkki 0x%lx ei ole yksitavuinen suoritusmerkistössä"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:n universaalit merkkinimet ovat epäyhteensopivia C90:n kanssa"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "’\\%c’:lla on eri merkitys perinteisessä C:ssä"
# UCN tarkoittaa Universal Character Names ja se sallii minkä tahansa kirjaimen käyttämisen C-lähdekielessä, ei vain englanninkielen kirjainten käytön. Merkki voidaan ilmaista joko kenoviivalla, sitä seuraavalla pienellä u-kirjaimella ja nelinumeroisella heksadesimaaliluvulla tai kenoviivaa seuraavalla suurella U-kirjaimella ja kahdeksannumeroisella heksadesimaaliluvulla.
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Funktiossa _cpp_valid_ucn mutta ei ole UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "vaillinainen universaali merkkinimi %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ei ole kelvollinen universaali merkki"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "’$’ tunnisteessa tai lukuarvossa"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunniste"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkistöön"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "muunnetaan UCN suoritusmerkistöön"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "’\\%x’:lla on eri merkitys perinteisessä C:ssä"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x:ää käytetty ilman seuraavia heksanumeroita"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "heksadesimaalinen ohjaussarja sallitun välin ulkopuolella"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "oktaalinen ohjaussarja sallitun välin ulkopuolella"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "’\\a’:lla on eri merkitys perinteisessä C:ssä"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO-standardiin kuulumaton ohjaussarja ’\\%c’"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "tuntematon ohjaussarja ’\\%c’"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "tuntematon ohjaussarja ’\\%s’"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "muunnetaan ohjaussarja suoritusmerkistöön"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "avautuva sulje puuttuu"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tyypilleen"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "monimerkkinen merkkivakio"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "tyhjä merkkivakio"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "muunnos %s -> %s epäonnistui"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennos"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennos"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennos"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikääntäjän direktiivi #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "”defined” ei ole kelvollinen makron nimi"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "”__has_include__” ei ole kelvollinen makron nimi"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makron nimeä ei ole annettu #%s-direktiivissä"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "makrojen nimien on oltava tunnisteita"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "kumotaan määrittely ”%s”"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "päättävä >-merkki puuttuu"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi direktiivissä #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "liikaa sisäkkäisiä #include:ja"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "rivinumero sallitun välin ulkopuolella"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
-#: directives.c:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"
-#: directives.c:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once päätiedostossa"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro -direktiivi"
-#: directives.c:1569
+#: directives.c:1606
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:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison -direktiivi"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "myrkytetään olemassa oleva makro ”%s”"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedostoa %s ei löydy"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s” -direktiivi"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else ilman #if:iä"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else #else:n jälkeen"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "ehtolause alkoi tästä"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif ilman #if:iä"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif #else:n jälkeen"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif ilman #if:iä"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "’(’ puuttuu predikaatin jäljestä"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "’)’ puuttuu vastauksen täydentämisestä"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "väite ilman predikaattia"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” väitetty uudelleen"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "päättämätön kommentti"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "vakiotuloste"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "kiintopistevakiot ovat GCC-laajennos"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "virheellinen etuliite ”0b” liukulukuvakiolle"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "C++1z:n heksadesimaaliliukulukuvakion käyttö"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "C99:n heksadesimaaliliukulukuvakion käyttö"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiolla"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "perinteinen C ei salli ”%.*s”-loppuliitettä"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "loppuliite double-vakiolle on GCC-laajennos"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "virheellinen loppuliite ”%.*s” heksadesimaalisella liukulukuvakiolla"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "desimaali-float-vakiot ovat GCC-laajennos"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "C99:n long long -kokonaislukuvakion käyttö"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginäärivakiot ovat GCC-laajennos"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "binäärivakiot ovat GCC-laajennos"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "kokonaislukuvakio on liian suuri tyypilleen"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "kokonaislukuvakio on niin suuri, että se on etumerkitön"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "’)’ puuttuu ”defined”-sanan jäljestä"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "operaattori ”defined” vaatii tunnisteen"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikääntäjän lausekkeessa"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginääriluku esikääntäjän lausekkeessa"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "”%s” on määrittelemättä"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "väitteet ovat GCC-laajennos"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "väitteet ovat vanhentunut laajennos"
# %s on #if tai #elif
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino %s:ssä"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "’)’ puuttuu lausekkeesta"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "’(’ puuttuu lausekkeesta"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C ei salli unaarista plus-operaattoria"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if:in operandissa"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "jako nollalla #if-ehdossa"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "NULL-hakemisto funktiossa find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "yksi tai useampia PCH-tiedostoja löytyi, mutta ne olivat virheellisiä"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s on lohkolaite"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s on liian suuri"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s on odotettua lyhyempi"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "ei include-polkua, josta etsiä tiedostoa %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t:n on oltava etumerkitön tyyppi"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"
-#: init.c:580
+#: init.c:584
#, 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ä"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "kenoviiva ja rivinvaihto erotettu välilyönnillä"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "kenoviiva-rivinvaihto tiedoston lopussa"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "kolmoismerkki ??%c muunnettu merkiksi %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "kolmoismerkki ??%c ohitettiin, ota käyttöön valitsimella -trigraphs"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "”/*” kommentin sisällä"
# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s esikääntäjän direktiivissä"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "null-merkit ohitetaan"
# NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” ei ole NFKC-muodossa"
# NFC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” ei ole NFC-muodossa"
# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "myrkytetyn makron ”%s” käyttöyritys"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C++11:n variadisen makron lavennoksessa"
# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "päättämätön raaka merkkijono"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaalissa"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "päättävä merkki %c puuttuu"
-#: lex.c:1932
+#: lex.c:2029
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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "monirivinen kommentti"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "kirjoitusasuton symboli %s"
@@ -794,7 +780,7 @@ msgstr "kirjoitusasuton symboli %s"
msgid "macro \"%s\" is not used"
msgstr "makroa ”%s” ei käytetä"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "virheellinen sisäinen makro ”%s”"
@@ -808,170 +794,170 @@ msgstr "makro ”%s” saattaa estää toistettavat käännökset"
msgid "could not determine file timestamp"
msgstr "ei voitu selvittää tiedoston aikaleimaa"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "ei voitu selvittää päivämäärää ja aikaa"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "kahdenkertainen makroparametri ”%s”"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "”%s” ei saa esiintyä makron parametriluettelossa"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "makron parametrien on oltava pilkuin eroteltuja"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "parametrin nimi puuttuu"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ei salli nimettyjä variadisia makroja"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ei salli nimettyjä variadisia makroja"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "’)’ puuttuu makron parametriluettelosta"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "tyhjemerkki puuttuu makron nimen jäljestä"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "”#” ilman sitä seuraavaa makroparametria"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” määritelty uudelleen"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "tämä on edellisen määrittelyn sijainti"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "kirjoitettaessa esikäännettyä otsaketta"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ei käytetä, koska ”%s” on määritelty"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "luettaessa esikäännettyä otsaketta"
@@ -984,6 +970,18 @@ msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"
msgid "syntax error in macro parameter list"
msgstr "syntaksivirhe makron parameteriluettelossa"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "NULL-hakemisto funktiossa find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s on lohkolaite"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s on liian suuri"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s on odotettua lyhyempi"
+
# NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Merkki %x ei saattaisi olla Unicode-normalisointimerkkijonomuotoa NFKC"
diff --git a/libcpp/po/fr.gmo b/libcpp/po/fr.gmo
index 0728008fbf..b5695a4f45 100644
--- a/libcpp/po/fr.gmo
+++ b/libcpp/po/fr.gmo
Binary files differ
diff --git a/libcpp/po/fr.po b/libcpp/po/fr.po
index 06d69c6e4d..9c351cbe74 100644
--- a/libcpp/po/fr.po
+++ b/libcpp/po/fr.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the gcc package.
# 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.
+# Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.
#
# Vocabulaire utilisé
# lvalue = membre gauche
@@ -119,16 +119,17 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU cpplib 6.1.0\n"
+"Project-Id-Version: GNU cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-27 23:10+0200\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-04-29 19:28+0200\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: charset.c:674
@@ -150,7 +151,7 @@ msgstr "pas d’implantation iconv, impossible de convertir %s vers %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "le caractère 0x%lx n’est pas dans le jeu de caractères source de base\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "conversion vers un jeu de caractères d’exécution"
@@ -159,749 +160,733 @@ msgstr "conversion vers un jeu de caractères d’exécution"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "le caractère 0x%lx n’est pas un octet unique dans le jeu de caractères d’exécution"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "les noms de caractères universels sont seulement valides en C++ et C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "les noms de caractère universel C99 sont incompatibles avec C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "la signification de « \\%c » est différente en C traditionnel"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Dans _cpp_valid_ucn mais n'est pas un UCN"
# FIXME
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nom de caractère universel incomplet %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s n’est pas un caractère universel valide"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "« $ » dans un identificateur ou un nombre"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "le caractère universel %.*s n’est pas valide dans un identificateur"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "conversion UCN vers le jeu de caractères source"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "conversion UCN vers le jeu de caractères d’exécution"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "la signification de « \\x » est différente en C traditionnel"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x utilisé sans être suivi de chiffres hexadécimaux"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "séquence d’échappement hexadécimale hors intervalle"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "séquence d’échappement octale hors intervalle"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "la signification de « \\a » est différente en C traditionnel"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "séquence d’échappement « \\%c » non conforme au standard ISO"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "séquence d'échappement inconnue : « \\%c »"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "séquence d’échappement « \\%s » inconnue"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "conversion d’une séquence d’échappement vers le jeu de caractères d’exécution"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "guillemet ouvrant de chaîne de caractères manquant"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "constante caractère trop longue pour son type"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "constante caractère multi-caractères"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "constante caractère vide"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "échec de conversion de %s vers %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "éléments lexicaux superflus à la fin de la directive #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s est une extension GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s est une extension obsolète de GCC"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"
-#: directives.c:396
+#: directives.c:406
#, 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:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
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:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "la directive de style de ligne est une extension GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "directive de pré-traitement #%s invalide"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "« defined » ne peut être utilisé comme nom de macro"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "« __has_include__ » ne peut être utilisé comme nom de macro"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "aucun nom de macro donné dans la directive #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "les noms de macro doivent être des identificateurs"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "suppression de la définition de « %s »"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "caractère > de terminaison manquant"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fichier vide dans #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include imbriqué trop profondément"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next dans un fichier source primaire"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "drapeau « %s » invalide dans la ligne de directive"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "fin de fichier inattendue après #ligne"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "« %s » après #ligne n’est pas un nombre entier positif"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "numéro de ligne hors intervalle"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "« %s » n’est pas un nom de fichier valide"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "« %s » après # n’est pas un nombre entier positif"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "fichier linemarker « %s » ignoré à cause d’une imbriquation incorrecte"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "directive #%s invalide"
-#: directives.c:1211
+#: directives.c:1248
#, 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"
# FIXME
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "enregistrement de la pragma « %s » avec une expansion de nom mais pas d’espace de nom"
# FIXME
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "enregistrement de « %s » à la fois comme une pragma et un espace de nom de pragma"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "la #pragma %s %s est déjà enregistrée"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "la #pragma %s est déjà enregistrée"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "enregistrement d’une pragma avec un handler NULL"
# FIXME
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once utilisée une seule fois dans le fichier principal"
# FIXME
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "directive #pragma push_macro invalide"
# FIXME
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "directive #pragma pop_macro invalide"
# FIXME
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "directive GCC #pragma poison invalide"
# FIXME
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "élimination de la macro existante « %s »"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorée en dehors du fichier d'inclusion"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "impossible de trouver le fichier source %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "le fichier courant est plus vieux que %s"
# FIXME
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directive « #pragma GCC %s » invalide"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma attend une chaîne entourée de parenthèses"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else sans #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else après #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "la condition débute ici"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sans #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif après #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sans #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "« ( » manquante après le prédicat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "« ) » manquante pour completer la réponse"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "la réponse du prédicat est vide"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "assertion sans prédicat"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "le prédicat doit être un identificateur"
# FIXME
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "assertion « %s » redondante"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s non terminé"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "commentaire non terminé"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "sortie standard"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "les constantes à virgule fixe sont une extension GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "préfixe « 0b » invalide pour une constante flottante"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "le C traditionnel interdit le suffixe « %.*s »"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "le suffixe pour les constantes double est une extension GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante hexadécimale"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "les constantes flottantes décimales sont une extension GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "suffixe « %.*s » invalide pour une constante entière"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "les constantes imaginaires sont une extension GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "les constantes binaires sont une fonctionnalité de C++14 ou une extension GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "les constantes binaires sont une extension GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "constante entière trop grande pour tenir dans son type"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "cette constante entière est si grande qu’elle est non signée"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "« ) » manquant après « defined »"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "l’opérateur « defined » requiert un identificateur"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "cette utilisation de « defined » peut ne pas être portable"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "chaîne défini par l’utilisateur dans une expression pour le préprocesseur"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "constante flottante dans une expression pour le préprocesseur"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "constante complexe dans une expression pour le préprocesseur"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "« %s » n’est pas défini"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "« %s » n’est pas défini, évalué à 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "les assertions sont une extension GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "les assertions sont une extension obsolète"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "pile non balancée dans %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "opérateur « %u » impossible"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "« ) » manquante dans l’expression"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "« ? » n’est pas suivi de « : »"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "débordement d’entier dans l’expression pour le préprocesseur"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "« ( » manquante dans l’expression"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "L’opérande gauche de « %s » change de signe lors de sa promotion"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "L’opérande droite de « %s » change de signe lors de sa promotion"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "le C traditionnel rejette l’opérateur d'addition unaire"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "opérateur virgule dans l’opérande de #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "division par zéro dans #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "l’opérateur « __has_include__ » requiert un chaîne d'entête"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "« ) » manquant après « __has_include__ »"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "répertoire NULL dans find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "un ou plusieurs fichiers PCH ont été trouvés, mais ils étaient invalides"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "utiliser -Winvalid-pch pour plus d’informations"
-# FIXME
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s est un périphérique de blocs"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s est trop grand"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s est plus petit que prévu"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"
# FIXME
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "De multiples balises pour les inclusions peuvent être utiles pour :\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t doit être d’un type non signé"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "l’arithmétique de CPP doit être au moins aussi précise que le type int de la cible"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "sur la cible, char fait moins de 8 bits"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "sur la cible, wchar_t est plus petit que char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "sur la cible, int est plus petit que char"
-#: init.c:576
+#: init.c:580
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:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "\\ et retour de chariot séparés par un blanc"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "\\ en fin de ligne à la fin du fichier"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraphe ??%c converti en %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraphe ??%c ignoré, utilisez -trigraphs pour l’activer"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "« /* » à l’intérieur d’un commentaire"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s dans la directive du préprocesseur"
# I18N
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "caractère(s) nul(s) ignoré(s)"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "« %.*s » n’est pas normalisée NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "« %.*s » n'est pas normalisée NFC"
# FIXME
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "tentative d'utilisation d’un « %s » corrompu"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "« __VA_ARGS__ » peut seulement apparaître dans l’expansion de macros C++11 à nombre variable d’arguments"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "« __VA_ARGS__ » peut seulement apparaître dans l’expansion des macros C99 à nombre variable d’arguments"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
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:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "délimiteur de chaîne brute de plus de 16 caractères"
-#: lex.c:1688
+#: lex.c:1785
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:1692
+#: lex.c:1789
#, 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:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "chaîne brute non terminée"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "caractère(s) nul préservé(s) dans la chaîne"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "caractère %c de terminaison manquant"
-#: lex.c:1932
+#: lex.c:2029
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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "La syntaxe des commentaires C++ n’est pas permise en C90 ISO"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
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:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "La syntaxe des commentaires C++ n’est pas permise en C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "commentaire multi-lignes"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "l’élément lexical %s ne peut être épelé"
@@ -911,7 +896,7 @@ msgstr "l’élément lexical %s ne peut être épelé"
msgid "macro \"%s\" is not used"
msgstr "la macro « %s » n’est pas utilisée"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interne « %s » invalide"
@@ -925,169 +910,169 @@ msgstr "la macro « %s » empêchera toute compilation reproductible"
msgid "could not determine file timestamp"
msgstr "date de modification du fichier indéterminable"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "date et heure indéterminable"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "Expansion de __COUNTER__ à l’intérieur d’une directive avec -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "chaîne invalide, « \\ » final ignoré"
-#: macro.c:650
+#: macro.c:661
#, 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 d’élément lexical de pré-traitement valide"
-#: macro.c:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "liste d'arguments non terminée invoquant la macro « %s »"
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "paramètre de macro « %s » dupliqués"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "« %s » peut ne pas apparaître parmi la liste des paramètres de macro"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "les paramètres de macro doivent être séparés par des virgules"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "nom de paramètre manquant"
-#: macro.c:2902
+#: macro.c:2914
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:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"
-#: macro.c:2918
+#: macro.c:2930
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:2921
+#: macro.c:2933
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:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "« ) » manquante dans la liste des paramètres de macro"
# FIXME
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "« ## » ne peut apparaître à chacune des fins d’une expansion de macro"
-#: macro.c:3019
+#: macro.c:3031
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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requiert un blanc après le nom de la macro"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "espacement manquant après le nom de la macro"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "« # » n'est pas suivi d’un paramètre de macro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "« %s » redéfini"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "ceci est l’emplacement d’une précédente définition"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "l’argument de macro « %s » serait changé en chaine C traditionnel"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "type de hachage %d invalide dans cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "lors de l’écriture de l’en-tête pré-compilée"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s : non utilisé parce que « %.*s » est défini"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s : n'est pas utilisé parce que « %.*s » n’est pas définie"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s : non utilisé parce que « %s » est défini"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s : non utilisé parce que « __COUNTER__ » est invalide"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "lors de la lecture d’un entête pré-compilée"
diff --git a/libcpp/po/id.gmo b/libcpp/po/id.gmo
index a8a77c906a..8968c1bd9a 100644
--- a/libcpp/po/id.gmo
+++ b/libcpp/po/id.gmo
Binary files differ
diff --git a/libcpp/po/id.po b/libcpp/po/id.po
index 764550cb83..0d2160b575 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -15,6 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, c-format
@@ -35,7 +36,7 @@ msgstr "tidak ada implementasi iconv, tidak dapat mengubah dari %s ke %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "karakter 0x%lx tidak dalam sumber dasar set karaketer\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "mengubah ke eksekusi set karakter"
@@ -44,760 +45,746 @@ msgstr "mengubah ke eksekusi set karakter"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "karakter 0x%lx bukan unibyte dalam eksekusi set karakter"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "nama karakter universal hanya valid dalam C++ dan C99"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "nama karakter universal hanya valid dalam C++ dan C99"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "arti dari '\\%c' berbeda dalam tradisional C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Dalam _cpp_valid_ucn tetapi bukan sebuah UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nama karakter universal %.*s tidak lengkap"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s bukan sebuah karakter universal yang valid"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "'$' dalam identifier atau angka"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "karakter universal %.*s tidak valid dalam sebuah pengidentifikasi"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "mengubah UCN ke set karakter asal"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "mengubah UCN ke set karakter eksekusi"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "arti dari '\\x' berbeda dalam tradisional C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x digunakan dengan tidak mengikuti hex digits"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "hex escape sequence diluar dari jangkauan"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "oktal escape sequence diluar dari jangkauan"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "arti dari '\\a' berbeda dalam tradisional C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "bukan ISO standar escape sequence, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "escape sequence: '\\%c' tidak diketahui"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "escape sequence: '\\%s' tidak diketahui"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "mengubah escape sequence ke set karakter eksekusi"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "konstanta karakter terlalu panjang untuk tipenya"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "konstanta karakter multi-karakter"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "konstanta karakter kosong"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "gagal untuk mengubah %s ke %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ekstra token di akhir dari #%s direktif"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "disarankan tidak menggunakan #elif dalam tradisional C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "tradisional C mengabaikan #%s dengan # terindentasi"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "preprosesing direktif #%s tidak valid"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
-#: directives.c:574
+#: directives.c:611
#, 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:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "tidak ada nama makro yang diberikan dalam direktif #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "nama makro harus berupa pengidentifikasi"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "tidak terdefinisi \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "hilang karakter pengakhir >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nama berkas kosong dalam #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include nested terlalu dalam"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next dalam berkas kode program utama"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "tanda \"%s\" tidak valid dalam baris direktif"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "tidak terduga akhir dari berkas setelah #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" setelah #line bukan sebuah integer positif"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "nomor baris diluar dari jangkauan"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" bukan sebuah nama berkas yang valid"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" setelah # bukan sebuah integer positif"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "direktif #%s tidak valid"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s telah terdaftar"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s telah terdaftar"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "mendaftarkan pragma dengan penanganan KOSONG"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma sekali dalam berkas utama"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "#pragma push_macro direktif tidak valid"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "#pragma pop_macro direktif tidak valid"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "merusak makro \"%s\" yang sudah ada"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header diabaikan diluar berkas include"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "tidak dapat menemukan berkas sumber %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "berkas ini lebih lama daripada %s"
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC tidak valid merusak direktif"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma mengambil sebuah string literal tanda kurung"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else tanpa #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else setelah #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "kondisional berawal disini"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif tanpa #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif setelah #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif tanpa #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "hilang '(' setelah predikat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "hilang ')' untuk melengkapi jawaban"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "jawaban predikat kosong"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "assertion tanpa predikat"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predikat harus berupa sebuah pengidentifikasi"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-asserted"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "tidak terakhiri #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "komentar tidak terakhiri"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "konstanta titik-tetap adalah sebuah ekstensi GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "awalan \"0b\" tidak valid untuk konstanta pecahan"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "penggunaan dari konstanta pecahan heksa desimal C99"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "penggunaan dari konstanta pecahan heksa desimal C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "akhiran \"%.*s\" tidak valid dalam konstanta pecahan"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "dalam tradisi C menolak akhiran \"%.*s\""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "akhiran untuk konstanta ganda adalah sebuah ekstensi GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "akhiran \"%.*s\" tidak valid dengan konstanta pecahan heksa desimal"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "konstanta pecahan desimal adalah sebuah ekstensi GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "akhiran \"%.*s\" tidak valid dalam konstanta integer"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.c:682
+#: expr.c:766
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C99 long long integer constant"
msgstr "penggunaan dari konstanta integer long long C++0x"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "konstanta imaginari adalah sebuah ekstensi GCC"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "konstanta binari adalah sebuah ekstensi GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "konstanta binari adalah sebuah ekstensi GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "konstanta integer terlalu besar untuk tipenya"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "konstanta integer terlalu besar yang itu unsigned"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "hilang ')' setelah \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" adalah sebuah tanda alternatif untuk \"%s\" dalam C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel"
-#: expr.c:1012
+#: expr.c:1098
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "konstanta pecahan dalam ekspresi preprosesor"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "angka imaginari dalam ekspresi preprosesor"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tidak didefinisikan"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "assertions adalah sebuah ekstensi GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "stack dalam %s tidak seimbang"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' tidak mungkin"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "hilang ')' dalam ekspresi"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' tanpa diikuti ':'"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "integer overflow dalam ekspresi preprosesor"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "hilang '(' dalam ekspresi"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "tradisional C menolak operator unary plus"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "operator koma dalam operator dari #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "pembagian oleh nol dalam #if"
-#: expr.c:2130
+#: expr.c:2216
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "hilang ')' setelah \"defined\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "direktori KOSONG dalam find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "satu atau lebih berkas PCH telah ditemukan, tetapi mereka tidak valid"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "gunakan -Winvalid-pch untuk informasi lebih lanjut"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s adalah sebuah perangkat blok"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s terlalu besar"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s lebih pendek dari yang diduga"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Multiple include guards mungkin berguna untuk:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t harus berupa sebuah tipe unsigned"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "target char lebih kecil dari 8 bits wide"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "target wchar_t lebih kecil dari target char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "target int lebih kecil dari target char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP integer-setengah lebih kecil dari karakter CPP"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "backslash dan baris baru dipisahkan dengan spasi"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "backslash baris baru diakhir dari berkas"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c diubah ke %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c diabaikan, gunakan -trigraph untuk mengaktifkan"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" di dalam komentar"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s dalam direktif preprosesing"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "karakter kosong diabaikan"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' tidak dalam NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' tidak dalam NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "mencoba untuk menggunakan terusak \"%s\""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro C99"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ hanya dapat muncul dalam ekspansi dari sebuah variadik makro C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "pengidentifikasi \"%s\" adalah nama operator spesial dalam C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "pembatas mentah string lebih panjang dari 16 karakter"
-#: lex.c:1688
+#: lex.c:1785
#, 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:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "karakter '%c' tidak valid dalam pembatas mentah string"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "tidak terselesaikan raw string"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "karakter kosong dijaga dalam literal"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "hilang karakter pengakhir %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "komentar gaya C++ tidak diijinkan dalam ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(ini hanya akan dilaporkan sekali setiap berkas masukan)"
-#: lex.c:2485
+#: lex.c:2844
#, 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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "komentar multi baris"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "tanda %s tidak dapat disebutkan"
@@ -807,7 +794,7 @@ msgstr "tanda %s tidak dapat disebutkan"
msgid "macro \"%s\" is not used"
msgstr "makro \"%s\" tidak digunakan"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "makro bawaan \"%s\" tidak valid"
@@ -821,178 +808,178 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "tidak dapat menentukan berkas timestamp"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "tidak dapat menentukan tanggal dan waktu"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ diekspans didalam direktif dengan -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "string literal tidak valid, mengabaikan final '\\'"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro \"%s\" membutuhkan %u argumen, tetapi hanya %u diberikan"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makro \"%s\" melewatkan %u argumen, tetapi hanya mengambil %u"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "daftar argumen tidak terselesaikan memanggil makro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "duplikasi parameter makro \"%s\""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" mungkin tidak muncul dalam daftar parameter makro"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "parameter makro yang berupa koma dipisahkan"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "nama parameter hilang"
-#: macro.c:2902
+#: macro.c:2914
#, 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:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonymous variadik makro diperkenalkan dalam C99"
-#: macro.c:2918
+#: macro.c:2930
#, 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:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tidak mengijinkan makro variadik bernama"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "hilang ')' dalam daftar parameter makro"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' tidak dapat muncul baik diakhir dari sebuah ekspansi makro"
-#: macro.c:3019
+#: macro.c:3031
#, 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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 membutuhkan whitespace setelah nama makro"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "kurang spasi setelah nama makro"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' tidak diikuti dengan sebuah parameter makro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" redefinisi"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "ini adalah lokasi dari definisi sebelumnya"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "argumen makro \"%s\" akan stringified dalam tradisional C"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "tipe hash %d tidak valid dalam cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "ketika menulis precompiled header"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: tidak digunakan karena `%.*s' teracuni"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: tidak digunakan karena `%.*s' tidak didefinisikan"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: tidak digunakan karena `%s' didefinisikan"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: tidak digunakan karena `__COUNTER__' tidak valid"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "ketika membaca precompiled header"
@@ -1047,6 +1034,18 @@ msgstr "sintaks erro dalam daftar parameter makro"
#~ msgid " ':' without preceding '?'"
#~ msgstr " ':' tanpa awalan '?'"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "direktori KOSONG dalam find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s adalah sebuah perangkat blok"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s terlalu besar"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s lebih pendek dari yang diduga"
+
#~ msgid "warning: "
#~ msgstr "peringatan: "
diff --git a/libcpp/po/ja.gmo b/libcpp/po/ja.gmo
index 0c01b0651d..5d713fe5b2 100644
--- a/libcpp/po/ja.gmo
+++ b/libcpp/po/ja.gmo
Binary files differ
diff --git a/libcpp/po/ja.po b/libcpp/po/ja.po
index 3c91c0a9a6..31cec121f0 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -18,6 +18,7 @@ msgstr ""
"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"
"Plural-Forms: nplurals=1; plural=0;\n"
#: charset.c:674
@@ -39,7 +40,7 @@ msgstr "iconv 実装がありません。 %s から %s へ変換できません"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "文字 0x%lx は基本ソース文字集合内にありません\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "実行時文字集合を変換しています"
@@ -48,755 +49,741 @@ msgstr "実行時文字集合を変換しています"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "文字 0x%lx は実行時文字集合では単一バイトではありません"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "ユニバーサル文字名は C++ および C99 内でのみ有効です"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "'\\%c' の意味は古い (traditional) C では異なります"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "_cpp_valid_ucn の中ですが UCN ではありません"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "互換性のないユニバーサル文字名 %.*s です"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s は有効なユニバーサル文字ではありません"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "識別子または数字の中に '$' があります"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "ユニバーサル文字 %.*s は識別の中では有効ではありません"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "ユニバーサル文字 %.*s は識別子の最初の文字として有効ではありません"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "UCN をソースの文字集合に変換しています"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "UCN を実行時文字集合に変換しています"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "'\\x' の意味は古い (traditional) C では異なります"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x が使用されましたが、それに続く十六進数がありません"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "十六進エスケープシーケンスが範囲外です"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "八進エスケープシーケンスが範囲外です"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "'\\a' の意味は古い (traditional) C では異なります"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 標準のエスケープシーケンス, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "不明なエスケープシーケンス: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "不明なエスケープシーケンス: '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "エスケープシーケンスを実行時文字集合に変換しています"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "文字定数が型に対して長すぎます"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "複数文字からなる文字定数"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "空の文字定数"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "%s から %s への変換に失敗しました"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "余分なトークンが #%s 指示の後にあります"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s は GCC 拡張です"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s は廃止された GCC 拡張です"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "古い (traditional) C では #elif を使用しないことを推奨します"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "古い (traditional) C では # がインデントされていると #%s を無視します"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "インデントさた # がある古い (traditional) C では #%s を隠すことを推奨します"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "マクロの引数への指示の埋め込みは移植性がありません"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "行スタイル指示は GCC 拡張です"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無効な前処理指示 #%s です"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" はマクロ名として使用できません"
-#: directives.c:574
+#: directives.c:611
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"defined\" はマクロ名として使用できません"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" は C++ の演算子のためマクロ名として使用できません"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示の中でマクロ名が与えられていません"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "マクロ名は識別子でなくてはいけません"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "\"%s\" を未定義状態にしています"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "終端する > 文字がありません"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s は \"FILENAME\" または <FILENAME> が必要です"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 内のファイル名が空です"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include の入れ子が深すぎます"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next が主のソースファイルにあります"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "\"%s\" は line 指示では無効なフラグです"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "#line 後に予期しないファイル終端 (EOF) です"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line の後にある \"%s\" が正の整数ではありません"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "行番号が範囲外です"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" は有効なファイル名ではありません"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# の後にある \"%s\" が正の整数ではありません"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "無効な #%s 指示です"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "名前空間 \"%s\" 内に pragma を一致しない名前展開で登録しています"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma \"%s\" を名前展開有りおよび名前空間無しで登録しています"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" を pragma および pragma 名前空間の両方として登録しています"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s は既に登録されています"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s は既に登録されています"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "NULL ハンドラで pragma を登録しています"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once がメインファイルにあります"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "無効な #pragma push_macro 指示です"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "無効な #pragma pop_macro 指示です"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "#pragma GCC 汚染ディレクティヴが無効です"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "既存のマクロ \"%s' を汚染します"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "include ファイル外の #pragma system_header は無視されました"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "ソースファイル %s が見つかりません"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "現在のファイルは %s より古いです"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "#pragma GCC %s ディレクティヴが無効です"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pramga が括弧で囲まれた文字列リテラルを受け取りました"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else に #if がありません"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else が #else の後ろにあります"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "その条件はここから始まります"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif に #if がありません"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif が #else の後ろにあります"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif に #if がありません"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "述語の後ろの '(' を欠いています"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "解を補完する ')' を欠いています"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "述語の解が空です"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "述語のないアサーションです"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "述語は識別子でなければなりません"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" が再アサートされました"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "終端のない #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "終端されていないコメント"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "標準出力"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "固定小数点定数は GCC 拡張です"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "浮動小数定数に対する無効な接頭辞 \"0b\" です"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "C99 十六進浮動小数定数を使用しています"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "C99 十六進浮動小数定数を使用しています"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮動小数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "古い (traditional) C では \"%.*s\" 接尾辞は拒否されます"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "倍精度定数の接尾辞は GCC 拡張です"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "十六進浮動小数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "十進浮動小数定数は GCC 拡張です"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整数定数に無効な接尾辞 \"%.*s\" があります"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "C++11 の long long 整数定数を使用しています"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "C99 の long long 整数定数を使用しています"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "虚数定数は GCC 拡張です"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "binary constants are a C++1y feature or GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二進定数は C++1y の機能または GCC 拡張です"
-#: expr.c:706
+#: expr.c:790
#, fuzzy
#| msgid "imaginary constants are a GCC extension"
msgid "binary constants are a GCC extension"
msgstr "虚数定数は GCC 拡張です"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "整数定数が型に対して大きすぎます"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "整数定数が大きすぎるので unsigned になりました"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "\"defined\" の後ろの ')' がありません"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "\"defined\" 演算子は識別子を要求します"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(C++ では \"%s\" が \"%s\" の代替トークンです)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "この \"defined\" の使用法は移植性がありません"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "前処理式内のユーザ定義リテラル"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "前処理式の中に浮動小数定数があります"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "前処理式の中に虚数があります"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" は定義されていません"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "アサーションは GCC 拡張です"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "アサーションは廃止された拡張です"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 内に釣り合いがとれていないスタックがあります"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能な演算子 '%u' です"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "式の中に ')' がありません"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "後に ':' が続いていない '?' です"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "整数が前処理式内で溢れました"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "式内に '(' がありません"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の左側の被演算子は実行時に符号を変更します"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "\"%s\" の右側の演算子は実行時に符号を変更します"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "古い (traditional) C では単項プラス演算子は拒否されます"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "カンマ演算子が #if の被演算子内にあります"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "#if 内でゼロによる除算が行われました"
-#: expr.c:2130
+#: expr.c:2216
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "\"defined\" 演算子は識別子を要求します"
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "\"defined\" の後ろの ')' がありません"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "find_file 内に NULL ディレクトリがあります"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "一個以上の PCH ファイルが見つかりましたが、それらは無効です"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "詳細な情報に関しては -Winvalid-pch を使用してください"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s はブロックデバイスです"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s は大きすぎます"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s が本来よりも短いです"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "%s を探索するためのインクルードパスがありません"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "多重 include からの保護が有益となるでしょう:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t は符号無し型でなければいけません"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "前処理の数値演算の最大精度は %lu ビットですが、ターゲットは %lu ビットを要求しています"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 数値演算はターゲットの int 以上の精度がなければいけません"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "ターゲットの char が 8 ビットより小さいです"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "ターゲットの wchar_t がターゲットの char より小さいです"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "ターゲットの int がターゲットの char より小さいです"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP ハーフ整数は CPP character より小さいです"
-#: init.c:580
+#: init.c:584
#, 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 ビットを要求しています"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "バックスラッシュと改行が空白で分割されました"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "ファイルの終りにバックスラッシュ-改行があります"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "トライグラフ ??%c は %c に変換されました"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "トライグラフ ??%c は無視されました。有効にするには -trigraphs を使用してください"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "コメント内に \"/*\" があります"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "前処理指示中に %s があります"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "null 文字は無視されました"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' は NFKC ではありません"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' は NFC ではありません"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "汚染された '%s' 使おうとしています"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できます"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ は C99 可変引数マクロ拡張でのみ出現できます"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別子 \"%s\" は C++ の特別な演算子名です"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "生の文字列区切りが 16 文字より大きいです"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "生の文字列区切り内に無効な改行があります"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "生の文字列区切り内に無効な文字 '%c' があります"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "終端されていない生の文字列です"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "リテラルの接尾辞が無効です。C++11 では、リテラルと文字列マクロの間にスペースを入れる必要があります。"
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "リテラル中で null 文字が確保されました"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "%c 文字での終端を欠いています"
-#: lex.c:1932
+#: lex.c:2029
#, 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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ スタイルのコメントは ISO C90 では許可されていません"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(これは入力ファイルにつき一回だけ報告されます)"
-#: lex.c:2485
+#: lex.c:2844
#, 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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "複数行のコメント"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "綴ることができないトークン %s です"
@@ -806,7 +793,7 @@ msgstr "綴ることができないトークン %s です"
msgid "macro \"%s\" is not used"
msgstr "マクロ \"%s\" は使用されません"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "無効な組み込みマクロ \"%s\" です"
@@ -820,178 +807,178 @@ msgstr "マクロ \"%s\" は再生性可能なビルドを阻害するかもし
msgid "could not determine file timestamp"
msgstr "ファイルのタイムスタンプを決定できません"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "日付と時間を決定できません"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ が -fdirectives-only がある指示内で展開されました"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "文字列リテラルが無効です、最後の '\\' を無視します"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "\"%s\" と \"%s\" を貼付けましたが正常な前処理トークンとなりません"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "マクロ \"%s\" は引数を %u 要求しますが、%u 個しか与えられていません"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "マクロ \"%s\" に引数が %u 渡されましたが、%u しか受け取りません"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "終端されていない引数リストがマクロ \"%s\" を起動しようとしました"
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "古い C では、関数型マクロ \"%s\" に引数が与えられねばなりません"
-#: macro.c:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "マクロ仮引数 \"%s\" が重複しています"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" はマクロ仮引数リストに現れてはなりません"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "マクロ仮引数はカンマ区切りされなければなりません"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "仮引数名を欠いています"
-#: macro.c:2902
+#: macro.c:2914
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "無名可変引数マクロは C99 で導入されました"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "無名可変引数マクロは C99 で導入されました"
-#: macro.c:2918
+#: macro.c:2930
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C では名前つき可変引数マクロを許しません"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C では名前つき可変引数マクロを許しません"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "マクロ仮引数リストに ')' がありません"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' はマクロ展開の両端には出現できません"
-#: macro.c:3019
+#: macro.c:3031
#, 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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 ではマクロ名の後に空白が必要です"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "マクロ名の後に空白がありません"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' にマクロ仮引数名が続いていません"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" が再定義されました"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "ここが以前の宣言がある位置です"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "マクロ引数 \"%s\" は古い (traditional) C では文字列化されます"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "cpp_macro_definition 内に無効なハッシュ型 %d があります"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "プリコンパイルヘッダ書き込み中"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: `%.*s' は汚染されているため使用できません"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: `%.*s' は定義されていないため使用できません"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: `%.*s' が `%s' として定義されていて、 `%.*s' ではないため使用できません"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: `%s' が定義されているため使用できません"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: `__COUNTER__' が無効なため使用できません"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "プリコンパイルヘッダを読み込み中"
@@ -1004,6 +991,18 @@ msgstr "マクロ \"%s\" を展開中に再帰が検出されました"
msgid "syntax error in macro parameter list"
msgstr "マクロ仮引数リストに構文エラーがあります"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "find_file 内に NULL ディレクトリがあります"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s はブロックデバイスです"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s は大きすぎます"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s が本来よりも短いです"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "文字 %x は NFKC では無いようです"
diff --git a/libcpp/po/nl.gmo b/libcpp/po/nl.gmo
index ab78929f28..429083c560 100644
--- a/libcpp/po/nl.gmo
+++ b/libcpp/po/nl.gmo
Binary files differ
diff --git a/libcpp/po/nl.po b/libcpp/po/nl.po
index 5a30f34ecb..d5140c4c8a 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -18,6 +18,7 @@ msgstr ""
"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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"
@@ -40,7 +41,7 @@ msgstr "geen implementatie van iconv beschikbaar; kan niet omzetten van %s naar
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "teken 0x%lx zit niet in de basis brontekenset\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "omzetting naar uitvoeringstekenset"
@@ -49,753 +50,739 @@ msgstr "omzetting naar uitvoeringstekenset"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "teken 0x%lx is niet enkelbyte in de uitvoeringstekenset"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universele tekennamen zijn alleen geldig in C++ en C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "universele tekennamen van C99 zijn zijn incompatibel met C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "de betekenis van '\\%c' is anders in traditioneel C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "In '_cpp_valid_ucn' maar het is geen UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "onvolledige universele tekennaam %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s is geen geldige universele tekennaam"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "'$' in naam of getal"
# "identifier" is een verdomd rottig woord om te vertalen...
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universeel teken %.*s is niet geldig in een naam"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "omzetting van UCN naar brontekenset"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "omzetting van UCN naar uitvoeringstekenset"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "de betekenis van '\\x' is anders in traditioneel C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "hexadecimale escape sequence buiten bereik"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "octale escape sequence buiten bereik"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "de betekenis van '\\a' is anders in traditioneel C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "escape sequence '\\%c' is niet ISO-standaard"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "onbekende escape sequence: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "onbekende escape sequence: '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "omzetting van escape sequence naar uitvoeringstekenset"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "tekenconstante is te lang voor zijn type"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "tekenconstante bevat meerdere tekens"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "lege tekenconstante"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "fout bij omzetten van %s naar %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "overbodige tokens aan einde van #%s commando"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s is een uitbreiding van GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s is een afgekeurde uitbreiding van GCC"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "gebruik liefst geen #elif in traditioneel C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditioneel C negeert #%s wanneer het # geïndenteerd is"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "het plaatsen van een commando binnen macro-argumenten is niet overdraagbaar"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "dit soort #line commando is een uitbreiding van GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ongeldig preprocessing-commando #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" kan niet als macronaam gebruikt worden"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" kan niet als macronaam gebruikt worden"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, 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:586
+#: directives.c:623
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:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "definitie van \"%s\" wordt ongedaan gemaakt"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "afsluitend '>'-teken ontbreekt"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s verwacht \"BESTAND\" of <BESTAND>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "lege bestandsnaam in #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include is te diep genest"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next in primair bronbestand"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ongeldige vlag \"%s\" in #line commando"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "onverwacht einde van bestand na #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" (na #line) is geen positieve integer"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "regelnummer buiten bereik"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" is geen geldige bestandsnaam"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" (na #) is geen positieve integer"
-#: directives.c:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "ongeldig #%s commando"
# goede vertaling voor 'mismatched'?
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s is reeds geregistreerd"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s is reeds geregistreerd"
# betere vertaling voor 'handler'?
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "registratie van pragma met NULL als afhandelingsroutine"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once in hoofdbestand"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "ongeldig #pragma push_macro commando"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "ongeldig #pragma pop_macro commando"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "ongeldig #pragma GCC poison commando"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "bestaande macro \"%s\" wordt 'vergiftigd'"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header wordt genegeerd buiten een invoegbestand"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "kan bronbestand %s niet vinden"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "huidig bestand is ouder dan %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ongeldig \"#pragma GCC %s\"-commando"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma verwacht als argument een stringconstante tussen haakjes"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else zonder #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else na #else"
# of gewoon "de conditie"?
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "het conditionele blok begon hier"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif zonder #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif na #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif zonder #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "'(' ontbreekt na predicaat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "')' ontbreekt als afronding van het antwoord"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "antwoord van het predicaat is leeg"
# dit moet beter kunnen...
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "assertie zonder predicaat"
# ... dit klinkt echt niet - maar wat is hier een beter vertaling voor identifier?
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predicaat moet een naam zijn"
# is "asserteren" wel een echt woord?
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" opnieuw geasserteerd"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "niet-beëindigde #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "niet-beëindigd commentaar"
# FIXME: hoort niet echt een vertaalbare string te zijn :-)
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "standaarduitvoer"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "fixed-point constantes zijn een uitbreiding van GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ongeldige prefix \"0b\" voor floating-point constante"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "gebruik van een C++1z hexadecimale floating-point constante"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "gebruik van een C99 hexadecimale floating-point constante"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ongeldige suffix \"%.*s\" aan floating-point constante"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditioneel C aanvaardt de \"%.*s\" suffix niet"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "het gebruik van een suffix voor double constantes is een uitbreiding van GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ongeldige suffix \"%.*s\" bij hexadecimale floating-point constante"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "decimale floating-point constantes zijn een uitbreiding van GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ongeldige suffix \"%.*s\" aan integerconstante"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "gebruik van een C++11 long long integerconstante"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "gebruik van een C99 long long integerconstante"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginaire constantes zijn een uitbreiding van GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binaire constantes zijn een C++14-functie of een uitbreiding van GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "binaire constantes zijn een uitbreiding van GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "integerconstante is te groot voor zijn type"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "integerconstante is zo groot dat hij tekenloos is"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "')' ontbreekt na \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "de \"defined\" operator vereist een naam als argument"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" is een alternatieve schrijfwijze voor \"%s\" in C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "dit gebruik van \"define\" is mogelijk niet overdraagbaar"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "gebruikergedefinieerde constante in preprocessor-expressie"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "floating-point constante in preprocessor-expressie"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginair getal in preprocessor-expressie"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" is niet gedefinieerd"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "assertions zijn een uitbreiding van GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "assertions zijn een afgekeurde uitbreiding"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "niet-gebalanceerde stack in %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' is onmogelijk"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "')' ontbreekt in expressie"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' zonder daaropvolgende ':'"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "integer-overflow in preprocessor-expressie"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "'(' ontbreekt in expressie"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "traditioneel C verwerpt de unaire plus-operator"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "komma-operator in operand van '#if'"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "deling door nul in '#if'"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "de \"__has_include__\" operator vereist een headerstring"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "')' ontbreekt na \"__has_include__\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "directory is NULL in 'find_file'"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "een of meer PCH-bestanden werden gevonden, maar ze waren ongeldig"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "gebruik -Winvalid-pch voor meer informatie"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s is een blok-apparaat"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s is te groot"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s is korter dan verwacht"
-
-#: files.c:964
+#: files.c:981
#, c-format
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:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Meerdere invoegbeschermingen zouden nuttig kunnen zijn voor:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "'cppchar_t' moet een tekenloos type zijn"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "char is minder dan 8 bits breed in de doelomgeving"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "'wchar_t' is smaller dan char in de doelomgeving"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "int is smaller dan char in de doelomgeving"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer is smaller dan een CPP char"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "backslash en newline gescheiden door spatie(s)"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "backslash-newline aan einde van bestand"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c is omgezet naar %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c is genegeerd; gebruik -trigraphs om ondersteuning in te schakelen"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" binnen commentaar"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s binnen preprocessor-commando"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "nulteken(s) worden genegeerd"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "'%.*s' zit niet in NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "'%.*s' zit niet in NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "poging tot gebruik van 'vergiftigde' \"%s\""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C++11 variadische macro"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C99 variadische macro"
# "identifier" is lastig te vertalen; ik neem meestal 'naam', maar hier klinkt dat niet...
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
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:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "rauwe stringscheiding is langer dan 16 tekens"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "ongeldige newline in rauwe stringscheiding"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ongeldig teken '%c' in rauwe stringscheiding"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "niet-beëindigde rauwe string"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "nulteken(s) in een constante worden behouden"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "afsluitend %c-teken ontbreekt"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vereist een spatie tussen stringconstante en macro"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "commentaar in C++-stijl is niet toegestaan in ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(dit wordt per invoerbestand maar één keer gemeld)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "commentaar in C++-stijl is incompatibel met C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "commentaar gespreid over meerdere regels"
# lijkt een vreemde boodschap...
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "kan token %s niet spellen"
@@ -805,7 +792,7 @@ msgstr "kan token %s niet spellen"
msgid "macro \"%s\" is not used"
msgstr "macro \"%s\" wordt nergens gebruikt"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ongeldige ingebouwde macro \"%s\""
@@ -819,170 +806,170 @@ msgstr "macro \"%s\" kan reproduceerbare compilaties verhinderen"
msgid "could not determine file timestamp"
msgstr "kan tijdsstempel van bestand niet achterhalen"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "kan datum en tijd niet achterhalen"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "expansie van __COUNTER__ binnenin commando terwijl -fdirectives-only opgegeven is"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "ongeldige stringconstante; laatste '\\' wordt genegeerd"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "niet-beëindigde argumentenlijst bij aanroep van macro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "herhaalde macro-parameter \"%s\""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" mag niet voorkomen in lijst van macro-parameters"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "macro-parameters moet door komma's gescheiden worden"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "parameternaam ontbreekt"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonieme variadische macro's werden geïntroduceerd in C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
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:2918
+#: macro.c:2930
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:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C staat geen benoemde variadische macro's toe"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "')' ontbreekt in lijst van macro-parameters"
-#: macro.c:2982
+#: macro.c:2994
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:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vereist witruimte na de macronaam"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vereist witruimte na de macronaam"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "witruimte ontbreekt na de macronaam"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' wordt niet gevolgd door de naam van een macro-parameter"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" opnieuw gedefinieerd"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "dit is de plaats van de eerdere definitie"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "ongeldig hash-type %d in 'cpp_macro_definition'"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "bij het schrijven van een voorgecompileerde header"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: niet gebruikt omdat \"%.*s\" vergiftigd is"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: niet gebruikt omdat \"%.*s\" niet gedefinieerd werd"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: niet gebruikt omdat \"%s\" gedefinieerd is"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: niet gebruikt omdat \"__COUNTER__\" ongeldig is"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "bij het lezen van een voorgecompileerde header"
@@ -995,6 +982,18 @@ msgstr "recursie gedetecteerd bij uitwerken van macro \"%s\""
msgid "syntax error in macro parameter list"
msgstr "syntaxfout in lijst van macro-parameters"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "directory is NULL in 'find_file'"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s is een blok-apparaat"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s is te groot"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s is korter dan verwacht"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Teken %x is misschien niet NFKC"
diff --git a/libcpp/po/pt_BR.gmo b/libcpp/po/pt_BR.gmo
index 216ad9d8b6..a358f593f2 100644
--- a/libcpp/po/pt_BR.gmo
+++ b/libcpp/po/pt_BR.gmo
Binary files differ
diff --git a/libcpp/po/pt_BR.po b/libcpp/po/pt_BR.po
index 2d7f5aefca..6fd32d8940 100644
--- a/libcpp/po/pt_BR.po
+++ b/libcpp/po/pt_BR.po
@@ -1,13 +1,13 @@
# Brazilian Portuguese translation for cpplib
-# Copyright (C) 2016 Free Software Foundation, Inc.
+# Copyright (C) 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
-# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2014, 2016.
+# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2014, 2016, 2017.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-27 12:21-0200\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-04 00:03-0200\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
"Language: pt_BR\n"
@@ -15,7 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Virtaal 0.7.1\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, c-format
@@ -36,7 +37,7 @@ msgstr "nenhuma implementação iconv, não foi possível converter de %s para %
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "caractere 0x%lx não está no conjunto de caracteres fonte básico\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "convertendo para conjunto de caracteres da execução"
@@ -45,735 +46,720 @@ msgstr "convertendo para conjunto de caracteres da execução"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "caractere 0x%lx não é unibyte no conjunto de caracteres de execução"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "nomes de caractere universais são válidos apenas em C++ e C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "nomes de caractere universais do C99 são incompatíveis com C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "o significado de \"\\%c\" é diferente em C tradicional"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Em _cpp_valid_ucn, mas não é um UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nome de caractere universal incompleto %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s não é um caractere universal válido"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "\"$\" em identificador ou número"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "caractere universal %.*s não é válido em um identificador"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "convertendo UCN para conjunto de caracteres fonte"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "convertendo UCN para conjunto de caracteres de execução"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "o significado de \"\\x\" é diferente em C tradicional"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x usado com nenhum dígito hexa"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "sequência de escape hexa fora de alcance"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "sequência de escape octal fora de alcance"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "o significado de \"\\a\" é diferente em C tradicional"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "sequência de escape não padrão ISO, \"\\%c\""
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "sequência de escape desconhecida: \"\\%c\""
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "sequência de escape desconhecida: \"\\%s\""
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "convertendo sequência de escape para conjunto de caracteres de execução"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "faltando abrir aspas"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "constante caractere muito longa para seu tipo"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "constante de caractere multi-caractere"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "constante caractere vazia"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "falha ao converter %s para %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "tokens extras ao final da diretiva #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s é uma extensão GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s é uma extensão GCC obsoleta"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "sugere-se não usar #elif em C tradicional"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "C tradicional ignora #%s com o # com recuo"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "embutir uma diretiva dentro de argumentos macro não é portátil"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "estilo de diretiva de linha é uma extensão GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "diretiva de preprocessamento inválida #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" não pode ser usado como um nome de macro"
-#: directives.c:574
+#: directives.c:611
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:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "nenhum nome de macro fornecido na diretiva #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "nomes de macro devem ser identificadores"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "removendo definição de \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "faltando caractere terminador >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s espera \"NOME DE ARQUIVO\" OU <NOME DE ARQUIVO>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nome de arquivo vazio em #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include aninhado profundo demais"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next no arquivo fonte primário"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "opção inválida \"%s\" na diretiva de linha"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "fim de arquivo inesperado após #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" após #line não é um inteiro positivo"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "número da linha fora de alcance"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" não é um nome de arquivo válido"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" após # não é um inteiro positivo"
-#: directives.c:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "diretiva inválida #%s"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s já está registrado"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s já está registrado"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "registrando pragma com manipulador NULO"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma ocorre uma vez no arquivo principal"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "diretiva inválida #pragma push_macro"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "diretiva inválida #pragma pop_macro"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "diretiva inválida #pragma GCC poison"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "envenenando macro existente \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorado fora do arquivo include"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "não foi possível localizar o arquivo fonte %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "arquivo atual é mais velho do que %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "diretiva inválida \"#pragma GCC %s\""
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma leva uma literal de string entre parenteses"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else sem #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else após #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "a condicional começou aqui"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sem #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif após #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sem #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "faltando \"(\" após predicado"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "faltando \")\" para uma resposta completa"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "resposta do predicado está vazia"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "asserção sem predicado"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predicado deve ser um identificador"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" re-assertado"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s não terminado"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "comentário não terminado"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "saída padrão"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "constantes de ponto fixo (fixed-point constants) são uma extensão GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "prefixo inválido \"0b\" para constante flutuante"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "uso de constante flutuante hexadecimal de C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "uso de constante flutuante hexadecimal de C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "sufixo inválido \"%.*s\" na constante flutuante"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "C tradicional rejeita o sufixo \"%.*s\""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "sufixo para constante dupla (suffix for double constant) é uma extensão GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "sufixo inválido \"%.*s\" com constante flutuante hexadecimal"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "constantes flutuante decimais (decimal float constants) são uma extensão GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "sufixo inválido \"%.*s\" em constante inteiro"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "uso de constante longo longo inteiro de C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "uso de constante longo longo inteiro de C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "constantes imaginárias (imaginary constants) são uma extensão GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "constantes binárias (binary constants) são um recurso de C++14 ou uma extensão GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "constantes binárias (binary constants) são uma extensão GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "constante inteira é muito grande para seu tipo"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "constante inteira é tão grande que não está assinada"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "faltando \")\" após \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "operador \"defined\" requer um identificador"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" é um token alternativo para \"%s\" em C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "esse uso de \"defined\" pode não ser portátil"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "literal definida pelo usuário em expressão do preprocessador"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "constante flutuante em expressão do preprocessador"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "número imaginário em expressão do preprocessador"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "\"%s\" não está definido"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "\"%s\" não está definido, avalia para 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "asserções (assertions) são uma extensão GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "asserções (assertions) são uma extensão obsoleta"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "pilha não balanceada em %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "operador impossível \"%u\""
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "faltando \")\" na expressão"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "\"?\" sem estar seguido por \":\""
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "estouro de inteiro em expressão do preprocessador"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "faltando \"(\" na expressão"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "C tradicional rejeita o operador unário mais"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "operador vírgula em operando de #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "divisão por zero em #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "operador \"__has_include__\" requer uma string de cabeçalho"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "faltando \")\" após \"__has_include__\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "diretório NULO em find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "um ou mais arquivos PCH foram encontrados, mas são inválidos"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "use -Winvalid-pch para mais informações"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s é um dispositivo de bloco"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s é muito grande"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s é muito menor do que esperado"
-
-#: files.c:964
+#: files.c:981
#, c-format
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:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Múltiplos include guards podem ser úteis para:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t deve ser um tipo não assinado"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "char alvo é menor do que 8 bits"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t alvo é mais estreito do que o char alvo"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "int alvo é mais estreito do que o char alvo"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "meio-inteiro do CPP é mais estreito do que o caractere do CPP"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "barra invertida e nova linha separadas por espaço"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "barra invertida e nova linha no final do arquivo"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trígrafo ??%c convertido para %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trígrafo ??%c ignorado, use -trigraphs para habilitá-lo"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" dentro de comentário"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s em diretiva de preprocessamento"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "um ou mais caracteres nulos ignorados"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "\"%.*s\" não está em NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "\"%.*s\" não está em NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "tentativa de usar \"%s\" envenenado"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ pode aparecer apenas na expansão de uma macro variádica C++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ pode aparecer apenas na expansão de uma macro variádica C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identificador \"%s\" é o nome de um operador especial em C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "delimitador de string não tratada (raw) maior do que 16 caracteres"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "nova linha inválida em delimitador de string não tratada (raw)"
-#: lex.c:1692
+#: lex.c:1789
#, 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:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "string não tratada (raw) não terminada"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "um ou mais caracteres nulos preservados em literal"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "faltando o caractere de terminação %c"
-#: lex.c:1932
+#: lex.c:2029
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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
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:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(isso será relatado apenas uma vez por arquivo de entrada)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "comentários no estilo C++ são incompatíveis com C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "comentário multilinha"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "token %s impronunciável"
@@ -783,7 +769,7 @@ msgstr "token %s impronunciável"
msgid "macro \"%s\" is not used"
msgstr "macro \"%s\" não é usada"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interna inválida \"%s\""
@@ -797,170 +783,170 @@ msgstr "macro \"%s\" pode evitar compilações reproduzíveis"
msgid "could not determine file timestamp"
msgstr "não foi possível determinar o arquivo de marca de tempo"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "não foi possível determinar a data e a hora"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ expandido dentro diretiva com -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "literal de string inválida, ignorando final \"\\\""
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "macro \"%s\" passou %u argumentos, mas usa apenas %u"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "lista de argumentos interminável chamando macro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "parâmetro de macro \"%s\" duplicado"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" não pode aparecer na lista de parâmetros de macro"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "parâmetros de macro devem ser separados por vírgula"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "faltando nome de parâmetro"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "macros variádicas anônimas foram introduzidas em C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "macros variádicas anônimas foram introduzidas em C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ não permite macros variádicas nomeadas"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C não permite macros variádicas nomeadas"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "faltando \")\" na lista de parâmetros de macro"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "\"##\" não pode aparecer no final da expansão de macro"
-#: macro.c:3019
+#: macro.c:3031
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:3022
+#: macro.c:3034
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:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "faltando espaço em branco após o nome de macro"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "\"#\" não está seguido por um parâmetro de macro"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" re-definido"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "essa é a localização da definição anterior"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "tipo de hash inválido %d em cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "enquanto realizava escrita de cabeçalho pré-compilado"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: não usado porque \"%.*s\" está envenenado"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: não usado porque \"%.*s\" não está definido"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: não usado porque \"%s\" está definido"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: não usado porque \"__COUNTER__\" é inválido"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "enquanto realizava leitura de cabeçalho pré-compilado"
@@ -973,5 +959,17 @@ msgstr "detectada recursão enquanto expandia macro \"%s\""
msgid "syntax error in macro parameter list"
msgstr "erro de sintaxe na lista de parâmetros de macro"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "diretório NULO em find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s é um dispositivo de bloco"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s é muito grande"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s é muito menor do que esperado"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Caractere %x pode não ser NFKC"
diff --git a/libcpp/po/ru.gmo b/libcpp/po/ru.gmo
index da4ae3c942..13b6d9c3f4 100644
--- a/libcpp/po/ru.gmo
+++ b/libcpp/po/ru.gmo
Binary files differ
diff --git a/libcpp/po/ru.po b/libcpp/po/ru.po
index 9fef82bdcb..911c1ce422 100644
--- a/libcpp/po/ru.po
+++ b/libcpp/po/ru.po
@@ -2,19 +2,20 @@
# 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.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012, 2013, 2014, 2015, 2016, 2017.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-27 19:03+0300\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-04 09:30+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
"Language: ru\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"
"X-Generator: Lokalize 1.5\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"
@@ -37,7 +38,7 @@ msgstr "нет реализации в iconv, невозможно преобр
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "символ 0x%lx отсутствует в простом наборе символов исходного кода\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "преобразование в набор символов среды выполнения"
@@ -46,735 +47,720 @@ msgstr "преобразование в набор символов среды
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "символ 0x%lx не является юнибайтом (unibyte) в наборе символов среды выполнения"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "универсальные имена символов допустимы только в C++ и C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "универсальные имена символов C99 несовместимы с C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "назначение «\\%c» отличается в традиционном C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "В _cpp_valid_ucn, но не UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "неполное универсальное имя символа %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s не является допустимым универсальным именем символа"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "«$» в идентификаторе или числе"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "универсальный символ %.*s недопустим в идентификаторе"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "универсальный символ %.*s недопустим в начале идентификатора"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "преобразование UCN в простой набор символов исходного кода"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "преобразование UCN в набор символов среды выполнения"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "назначение «\\x» отличается в традиционном C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "после \\x нет шестнадцатеричных цифр"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "шестнадцатеричная экранирующая последовательность за пределами диапазона"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "восьмеричная экранированная последовательность за пределами диапазона"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "назначение «\\a» отличается в традиционном C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "не соответствующая стандарту ISO экранированная последовательность, «\\%c»"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "неизвестная экранированная последовательность «\\%c»"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "неизвестная экранированная последовательность «\\%s»"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "преобразование экранированной последовательности в набор символов среды выполнения"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "отсутствует открывающая кавычка"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "символьная константа слишком длинна для своего типа"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "многознаковая символьная константа"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "пустая символьная константа"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "ошибка при преобразовании %s в %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "лишние токены в конце директивы #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s является расширением GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s является устаревшим расширением GCC"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "предполагается не использование #elif в традиционном C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "в традиционном C игнорируется #%s с отступом у #"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "предполагается скрытие #%s из традиционного C с отступом у #"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "встраивание директивы внутрь аргументов макроса не переносимо"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "стиль строковых директив является расширением GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильная препроцессорная директива #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "«defined» не может использоваться как имя макроса"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "«__has_include__» не может использоваться как имя макроса"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "«%s» не может использоваться как имя макроса в качестве оператора в C++"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не указано имя макроса в директиве #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "имена макросов должны быть идентификаторами"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "неопределённая «%s»"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "отсутствует завершающий символ >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "для #%s ожидается \"ИМЯ_ФАЙЛА\" или <ИМЯ_ФАЙЛА>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "пустое имя файла в #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "слишком много вложенных #include"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next в первичном исходном файле"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неверный флаг «%s» в строковой директиве"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "неожиданный конец файла после #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "«%s» после #line не является положительным целым числом"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "номер строки вне допустимых пределов"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "«%s» не является допустимым именем файла"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "«%s» после # не является положительным целым числом"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "маркер строки файла «%s» игнорируется из-за некорректной вложенности"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "неправильная директива #%s"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "регистрируется прагма в пространстве имён «%s» с несовпадающим именным расширением"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "регистрируется прагма «%s» с именным расширением, но без пространства имён"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "регистрируется «%s» как прагма и как пространство имён для прагм"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s уже зарегистрирована"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s уже зарегистрирована"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "регистрируется прагма со значением обработчика равным NULL"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once в главном файле"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "неверная директива #pragma push_macro"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "неверная директива #pragma pop_macro"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "неверная директива #pragma GCC poison"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "отравление существующего макроса «%s»"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header игнорируется вне включаемого файла"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "не удалось найти исходный файл %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "текущий файл старее чем %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неверная директива #pragma GCC %s"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "для _Pragma требуется указать строковый литерал в скобках"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else после #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "условие начинается здесь"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif без #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif после #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "отсутствует «(» после предиката"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "отсутствует «)» для завершения ответа"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "ответ предиката пуст"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "утверждение без предиката"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "предикат должен быть идентификатором"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "повторное утверждение «%s»"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "незавершённая #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "незавершённый комментарий"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "константы с фиксированный точкой являются расширением GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "неверный префикс «0b» в плавающей константе"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "использование шестнадцатеричной константы с плавающей точкой согласно C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "использование шестнадцатеричной константы с плавающей точкой согласно C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "неверный суффикс «%.*s» в константе с плавающей точкой"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "в традиционном C отвергается суффикс «%.*s»"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "суффикс для констант типа double является расширением GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "неверный суффикс «%.*s» в шестнадцатеричной плавающей константе"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "десятичные плавающие константы являются расширением GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "неверный суффикс «%.*s» в целочисленной константе"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "использование целочисленной long long константы C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "использование целочисленной long long константы C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "мнимые константы являются расширением GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "двоичные константы являются свойством C++14 или расширением GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "двоичные константы являются расширением GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "значение целочисленной константы слишком велико для своего типа"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "значение целочисленной константы так велико что стало беззнаковым"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "отсутствует «)» после «defined»"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "для оператора «defined» требуется идентификатор"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(«%s» является альтернативой токену «%s» в C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "такое использование «defined» может оказаться непереносимым"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "определённый пользователем литерал в препроцессорном выражении"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "плавающая константа в препроцессорном выражении"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "мнимое число в препроцессорном выражении"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "«%s» не определена"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "«%s» не определена, оценивается как 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "утверждения являются расширением GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "утверждения являются устаревшим расширением"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "несбалансированный стек в %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "невозможный оператор «%u»"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "отсутствующая «)» в выражении"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "«?» без последующего «:»"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "целочисленное переполнение в препроцессорном выражении"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "отсутствующая «(» в выражении"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "левый операнд «%s» изменяет знак при появлении"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "операнд операнд «%s» изменяет знак при появлении"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "в традиционном C отвергается оператор унарного сложения"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "оператор запятая в операнде #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "деление на ноль в #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "для оператора «__has_include__» требуется строка заголовка"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "отсутствует «)» после «__has_include__»"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "каталог NULL в find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "найден один или более файлов PCH, но все они некорректные"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "используйте -Winvalid-pch для более подробной диагностики"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s является блочным устройством"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s слишком большое"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s короче чем ожидается"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "отсутствует путь для включаемых файлов, в котором ищется %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Несколько защит подключения может быть полезно для:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t должна быть беззнакового типа"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "препроцессорная арифметика имеет максимальную точность равную %lu бит; для цели требуется %lu бит"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "точность арифметики CPP должна быть не менее значения int цели"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "ширина char у цели менее 8 бит"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "wchar_t цели уже чем char цели"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "int цели уже чем char цели"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "ширина половины integer CPP уже чем символ CPP"
-#: init.c:580
+#: init.c:584
#, 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 бит"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "обратная косая черта и символ новой строки разделены пробелом"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "обратная косая черта/символ новой строки в конце файла"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "триграф ??%c преобразован в %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "триграф ??%c игнорируется, для включения используйте -trigraphs"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "«/*» внутри комментария"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s в препроцессорной директиве"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "игнорируется символ(ы) null"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "«%.*s» не является NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "«%.*s» не является NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "попытка использовать отравленный «%s»"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ может появляться только в расширении вариативного макроса C++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ может появляться только в расширении вариативного макроса C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "идентификатор «%s» является именем специального оператора в C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "разделитель сырой строки больше 16 символов"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "неверный символ новой строки в разделителе сырой строки"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неверный символ «%c» в разделителе сырой строки"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "незавершённая сырая строка"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неверный суффикс в литерале; в C++11 требуется пробел между литералом и строкой макроса"
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "символ(ы) null сохраняются в литерале"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "отсутствует завершающий символ %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "в C++11 требуется пробел между строковым литералом и макросом"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "комментарии в стиле C++ не разрешены в ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(об этом будет сообщено только один раз для каждого файла)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "комментарии в стиле C++ не совместимы с C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "многострочный комментарий"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "неразбираемый токен %s"
@@ -784,7 +770,7 @@ msgstr "неразбираемый токен %s"
msgid "macro \"%s\" is not used"
msgstr "макрос «%s» не используется"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "неверный встроенный макрос «%s»"
@@ -798,168 +784,168 @@ msgstr "макрос «%s» может помешать повторным сб
msgid "could not determine file timestamp"
msgstr "не удалось определить временную метку файла"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "не удалось определить дату и время"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ раскрывается внутри директивы при указании параметра -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "неверный строковый литерал, игнорируется завершающий «\\»"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "вставка «%s» и «%s» не даёт правильного препроцессорного токена"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "В ISO C++11 требуется не менее одного аргумента для «…» в вариативном макросе"
-#: macro.c:778
+#: macro.c:789
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "В ISO C99 требуется не менее одного аргумента для «…» в вариативном макросе"
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "для макроса «%s» требуется %u аргументов, но указано только %u"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "в макрос «%s» передано %u аргументов, но используется только %u"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "незавершённый список аргументов вызывает макрос «%s»"
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "макрос «%s», похожий на функцию, должен использоваться с аргументами в традиционном C"
-#: macro.c:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "вызывается макрос %s (количество аргументов %d): пустые аргументы макрос не определены в ISO C90"
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "повторяющийся параметр макроса «%s»"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "«%s» может не появиться в списке параметров макроса"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "параметры макроса должны указываться через запятую"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "отсутствует имя параметра"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "анонимные вариативные макросы появились в C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "анонимные вариативные макросы появились в C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "В ISO C++ не разрешены вариативные именованные макросы"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "В ISO C не разрешены вариативные именованные макросы"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "отсутствует «)» в списке параметров макроса"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "«##» не может указываться в конце макрорасширения"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "В ISO C++11 требуется пробельный символ после имени макроса"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "в ISO C99 требуется пробельный символ после имени макроса"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "отсутствует пробельный символ после имени макроса"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "после «#» нет параметра макроса"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "«%s» переопределён"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "это расположение предыдущего определения"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "аргумент макроса «%s» был бы строкой, оформленной в традиционном стиле С"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "неверный тип хэша %d в cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "при записи прекомпилированного заголовка"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: не используется, так как «%.*s» отравлен"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: не используется, так как «%.*s» не определён"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: не используется, так как «%.*s», определённый как «%s», не «%.*s»"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: не используется, так как «%s» определён"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: не используется, так как значение «__COUNTER__» неправильно"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "при чтении прекомпилированного заголовка"
@@ -972,6 +958,18 @@ msgstr "обнаружена рекурсия во время раскрытия
msgid "syntax error in macro parameter list"
msgstr "синтаксическая ошибка в списке параметров макроса"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "каталог NULL в find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s является блочным устройством"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s слишком большое"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s короче чем ожидается"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Символ %x не может быть NFKC"
diff --git a/libcpp/po/sr.gmo b/libcpp/po/sr.gmo
index 33b391f615..261d4791ff 100644
--- a/libcpp/po/sr.gmo
+++ b/libcpp/po/sr.gmo
Binary files differ
diff --git a/libcpp/po/sr.po b/libcpp/po/sr.po
index feca5bf5a4..a67eddc49d 100644
--- a/libcpp/po/sr.po
+++ b/libcpp/po/sr.po
@@ -1,13 +1,13 @@
# Serbian translation of cpplib.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright © 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2016.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2017.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib-6.1.0\n"
+"Project-Id-Version: cpplib-7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-05-29 19:20+0200\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-27 07:31+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -15,6 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, c-format
@@ -35,7 +36,7 @@ msgstr "нема иконв примене, не могу да претвори
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "знак 0x%lx није у знаковном скупу основног извора\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "претварам у знаковни скуп извршавања"
@@ -44,735 +45,720 @@ msgstr "претварам у знаковни скуп извршавања"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "знак 0x%lx није једног бајта у знаковном скупу извршавања"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "називи свеопштег знака су једино исправни у Ц++ и Ц99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "називи свеопштег знака Ц99 нису сагласни са Ц90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "значење „\\%c“ је другачије у уобичајеном Ц-у"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "У _цпп_исправан_нсз али није НСЗ"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "непотпун назив свеопштег знака %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s није исправан свеопшти знак"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "„$“ у одреднику или број"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "свеопшти знак %.*s није исправан у одреднику"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "свеопшти знак %.*s није исправан на почетку одредника"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "претварам НСЗ у изворни знаковни скуп"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "претварам НСЗ у извршни знаковни скуп"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "значење „\\x“ је другачије у уобичајеном Ц-у"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "„\\x“ је коришћено са не пратећим хекса цифрама"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "хекс низ промене је изван опсега"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "октални низ промене је изван опсега"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "значење „\\a“ је другачије у уобичајеном Ц-у"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "низ промене не-ИСО-стандарда, „\\%c“"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "непознат низ промене: „\\%c“"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "непознат низ промене: „\\%s“"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "претварам низ промене у знаковни скуп извршавања"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "недостаје отворена заграда"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "константа знака је предуга за своју врсту"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "више-знаковна константа знака"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "празна константа знака"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "неуспех у претварању %s у %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "посебни симболи на крају #%s директиве"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s је ГЦЦ проширење"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s је превазиђено ГЦЦ проширење"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "саветује да се не користи „#elif“ у уобичајеном Ц-у"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "уобичајени Ц занемарује #%s са # увученим"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "саветује скривање #%s из уобичајеног Ц-а са увученим #"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "угнежђивање директиве унутар аргумената макроа није преносиво"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "стил директиве реда је ГЦЦ проширење"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неисправна директива предобраде #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "„defined“ не може бити коришћено као назив макроа"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "„__has_include__“ не може бити коришћено као назив макроа"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "„%s“ не може бити коришћено као назив макроа јер је то оператор у Ц++-у"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "није дат назив макроа у #%s директиви"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "називи макроа морају бити одредници"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "неодређујем „%s“"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "недостаје завршни знак >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очекује „НАЗИВДАТОТЕКЕ“ или <НАЗИВДАТОТЕКЕ>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "празан назив датотеке у #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include је угнежђено превише дубоко"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next у примарној изворној датотеци"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "неисправна опција „%s“ у директиви реда"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "неочекивани крај датотеке након „#line“"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "„%s“ након „#line“ није позитиван цео број"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "број реда је ван опсега"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "„%s“ није исправан назив датотеке"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "„%s“ након „#“ није позитиван цео број"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "датотека „%s“ означавач реда занемаренa због нетачног угњежђавања"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "неисправна #%s директива"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "бележим прагме у простору назива „%s“ са неодговарајућим ширењем назива"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "бележим прагму „%s“ са ширењем назива и без простора назива"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "бележим „%s“ и као прагму и као простор назива прагме"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s је већ забележено"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s је већ забележено"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "бележим прагму са НИШТАВНИМ руковаоцем"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma једном у главној датотеци"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "неисправна „#pragma push_macro“ директива"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "неисправна „#pragma pop_macro“ директива"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "неисправна „#pragma GCC poison“ директива"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "трујем постојећи макро „%s“"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "„#pragma system_header“ је занемарено изван датотеке укључивања"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "не могу да пронађем изворну датотеку „%s“"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "текућа датотека је старија од %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "неисправна директива „#pragma GCC %s“"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Прагма узима словност ниске затворене заградом"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "„#else“ без „#if“"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "„#else“ након „#else“"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "условљеност почиње овде"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "„#elif“ без „#if“"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "„#elif“ након „#else“"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "„#endif“ без „#if“"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "недостаје ( након предиката"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "недостаје ) да доврши одговор"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "одговор предиката је празан"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "тврдња без предиката"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "предикат мора бити одредник"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "„%s“ је поново утврђен"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "неокончано #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "неокончана напомена"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "стдизлаз"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "константе сталне тачке су ГЦЦ проширења"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "неисправан префикс „0b“ за покретну константу"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "употреба Ц+1z хексадецималне покретне константе"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "употреба Ц99 хексадецималне покретне константе"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "неисправан суфикс „%.*s“ на покретној константи"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "уобичајени Ц одбацује „%.*s“ суфикс"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "суфикс за двоструку константу је ГЦЦ проширење"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "неисправан суфикс „%.*s“ са хексадецималном покретном константом"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "децималне покретне константе су ГЦЦ проширења"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "неисправан суфикс „%.*s“ на константи целог броја"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "употреба Ц++11 дуге дуге константе целог броја"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "употреба Ц99 дуге дуге константе целог броја"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "имагинарне константе су ГЦЦ проширења"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "бинарне константе су Ц++14 функције или ГЦЦ проширења"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "бинарне константе су ГЦЦ проширења"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "константа целог броја је предуга за њену врсту"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "константа целог броја је толико велика тако да је неозначена"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "недостаје ( након „defined“"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "оператор „defined“ захтева одредника"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(„%s“ је резервни симбол за „%s“ у Ц++-у)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "ова употреба „defined“ не може бити преносива"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "словност коју је одредио корисник у изразу претпроцесора"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "покретна константа у изразу претптоцесора"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "имагинаран број у изразу претптоцесора"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "„%s“ није одређено"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "„%s“ није одређено, процењује се на 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "тврдње су ГЦЦ проширења"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "тврдње су застарела проширења"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "неуравнотежен стек у %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "немогућ оператор у „%u“"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "недостаје ) у изразу"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "„?“ без пратећег „:“"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "прекорачење целог броја у изразу претпроцесора"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "недостаје ( у изразу"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "леви операнд за „%s“ мења знак када је претворен"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "десни операнд за „%s“ мења знак када је претворен"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "уобичајени Ц одбацује унарни плус оператор"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "оператор зареза у операнду „#if“"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "дељење нулом у „#if“"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "оператор „__has_include__“ захтева ниску заглавља"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "недостаје ) након „__has_include__“"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "НИШТАВАН директоријум у пронађи_датотеку"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "једна или више ПЦХ датотека је пронађено, али су неисправне"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "користите „-Winvalid-pch“ за више података"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s је блок уређај"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s је превелико"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s је краће од очекиваног"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "нема путање укључивања у којој потражити „%s“"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Више чувара укључивања може бити корисно за:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "„cppchar_t“ мора бити неозначена врста"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "аритметика претпроцесора има највећу тачност од %lu бита; мета затева %lu бита"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "ЦПП аритметика мора бити тачна барем колико и циљни цео број"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "циљни знак је дужи мање од 8 бита"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "циљни широки знак (wchar_t) је ужи од циљног знака"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "циљни цео број је ужи од циљног знака"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "ЦПП полуцео број је ужи од ЦПП знака"
-#: init.c:580
+#: init.c:584
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "ЦПП на овом рачунару не може да рукује дуге константе знака преко %lu бита, али мета захтева %lu бита"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "контра коса и нови ред су раздвојени размаком"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "контра коса-нови ред на крају датотеке"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "триграф ??%c је претворен у %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "триграф ??%c је занемарен, користите „-trigraphs“ да укључите"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "„/*“ унутар напомене"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s у директиви претпроцесора"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "ништаван знак(ци) је занемарен(и)"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "„%.*s“ није у НФКЦ-у"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "„%.*s“ није у НФЦ-у"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "покушај коришћења отрованог „%s“"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "„__VA_ARGS__“ може само да се појави у ширењу вариадик макроа Ц++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "„__VA_ARGS__“ може само да се појави у ширењу вариадик макроа Ц99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "одредник „%s“ је назив посебног оператора у Ц++-у"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "граничник сирове ниске је дужи од 16 знака"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "неисправан нови ред у граничнику сирове ниске"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "неисправан знак „%c“ у граничнику сирове ниске"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "неокончана сирова ниска"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "неисправан суфикс у словности; Ц++11 захтева размак између словности и макроа ниске"
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "ништаван знак је причуван у словности"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "недостаје завршни знак %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "Ц++11 захтева размак између словности и макроа ниске"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Напомене Ц++ стила нису допуштене у ИСО Ц90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(ово ће бити извештено само једном по улазној датотеци)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "Напомене Ц++ стила нису сагласне са Ц90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "напомена више редова"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "неизговорљив симбол %s"
@@ -782,7 +768,7 @@ msgstr "неизговорљив симбол %s"
msgid "macro \"%s\" is not used"
msgstr "макро „%s“ није коришћен"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "неисправан макро уградње „%s“"
@@ -796,168 +782,168 @@ msgstr "макро „%s“ може да спречи поновљиве изг
msgid "could not determine file timestamp"
msgstr "не могу да одредим временску ознаку датотеке"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "не могу да одредим датум и време"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "„__COUNTER__“ је проширен у директиви са „-fdirectives-only“"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "неисправна словност ниске, занемарујем завршну \\"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "налепљивање „%s“ и „%s“ не даје исправан симбол претпроцесора"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ИСО Ц++11 захтева барем један аргумент за „...“ у вариадик макроу"
-#: macro.c:778
+#: macro.c:789
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ИСО Ц99 захтева барем један аргумент за „...“ у вариадик макроу"
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "макро „%s“ захтева %u аргумента, али само %u су дата"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "макро „%s“ је проследио %u аргумента, али узима само %u"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "бесконачан списак аргумената призивајући макро „%s“"
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "макро налик функцији „%s“ мора бити коришћен са аргументима у уобичајеном Ц-у"
-#: macro.c:1825
+#: macro.c:1836
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "призивајући макро %s аргумент %d: празни аргументи макроа нису одређени у ИСО Ц++98"
-#: macro.c:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "призивајући макро %s аргумент %d: празни аргументи макроа нису одређени у ИСО Ц90"
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "параметар двоструког макроа „%s“"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "„%s“ не може да се појави у списку параметара макроа"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "параметри макроа морају бити раздвојени зарезом"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "недостаје назив параметра"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "безимени вариадик макрои су уведени у Ц++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "безимени вариадик макрои су уведени у Ц99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ИСО Ц++ не дозвољава именоване вариадик макрое"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ИСО Ц не дозвољава именоване вариадик макрое"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "недостаје ) у списку параметара макроа"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "„##“ не може да се појави у или на крају макро ширења"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ИСО Ц++11 захтева празнине након назива макроа"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ИСО Ц99 захтева празнине након назива макроа"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "недостаје празнина након назива макроа"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "за „#“ не следи параметар макроа"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "„%s“ је поново одређено"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "ово је место претходне одреднице"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "макро аргумент „%s“ ће бити нискован у уобичајеном Ц-у"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "неисправна врста хеша %d у цпп_макро_одредници"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "за време уписивања претходно преведеног заглавља"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: није употребљено зато што је „%.*s“ отровано"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: није употребљено зато што „%.*s“ није одређено"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: није употребљено зато што „%.*s“ одређено као „%s“ није „%.*s“"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: није употребљено зато што је „%s“ одређено"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: није употребљено зато што „__COUNTER__“ није исправно"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "за време читања претходно преведеног заглавља"
@@ -970,5 +956,17 @@ msgstr "откривено је дубачење за време ширења м
msgid "syntax error in macro parameter list"
msgstr "садржајна грешка у списку параметара макроа"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "НИШТАВАН директоријум у пронађи_датотеку"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s је блок уређај"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s је превелико"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s је краће од очекиваног"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Знак %x не може бити НФКЦ"
diff --git a/libcpp/po/sv.gmo b/libcpp/po/sv.gmo
index b104fe3fba..fc6bebb6be 100644
--- a/libcpp/po/sv.gmo
+++ b/libcpp/po/sv.gmo
Binary files differ
diff --git a/libcpp/po/sv.po b/libcpp/po/sv.po
index 11bb7eb7f1..b9860732ee 100644
--- a/libcpp/po/sv.po
+++ b/libcpp/po/sv.po
@@ -1,23 +1,24 @@
# Swedish messages for cpplib.
-# Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
+# Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
-# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016.
+# Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017.
#
# Remember: GCC team does not want RCS keywords in the header!
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-30 15:42+0200\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-03 18:12+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: charset.c:674
#, c-format
@@ -38,7 +39,7 @@ msgstr "ingen iconv-implementation, kan inte konvertera från %s till %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "tecken 0x%lx finns inte i källkodens grundteckenuppsättning\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "konverterar till teckenuppsättning för körning"
@@ -47,735 +48,720 @@ msgstr "konverterar till teckenuppsättning för körning"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "tecken 0x%lx är inte en byte i teckenuppsättning för körning"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "universella teckennamn är endast giltiga i C++ och C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:s universella teckennamn är inkompatibla med C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "betydelsen av ”\\%c” är annorlunda i traditionell C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "I _cpp_valid_ucn men inte en UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "ofullständigt universellt teckennamn %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s är inte ett giltigt universellt tecken"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "”$” i identifierare eller tal"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universellt tecken %.*s är inte giltigt i en identifierare"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "vid konvertering av UCN källteckenuppsättning"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "vid konvertering av UCN till teckenuppsättning för körning"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "betydelsen av ”\\x” är annorlunda i traditionell C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x använt utan några följande hexadecimala siffror"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "hexadecimal specialsekvens utanför intervallet"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "oktal specialsekvens utanför intervallet"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "betydelsen av ”\\a” är annorlunda i traditionell C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "icke-ISO-standardspecialsekvens, ”\\%c”"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "okänd specialsekvens: ”\\%c”"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "okänd specialsekvens: ”\\%s”"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "vid konvertering av specialsekvens till teckenuppsättning för körning"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "inledande citationstecken saknas"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "teckenkonstant för lång för sin typ"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "flerteckens teckenkonstant"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "tom teckenkonstant"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "misslyckades att konvertera %s till %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "extra symboler vid slutet av direktivet #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s är en GCC-utvidgning"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s är en GCC-utvidgning som avrådes ifrån"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "föreslår att inte använda #elif i traditionell C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionell C ignorerar #%s där tecknet # är indenterat"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "att bädda in ett direktiv i makroargument är inte portabelt"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "stil på raddirektiv är en GCC-utvidgning"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ogiltigt preprocessordirektiv #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "”defined” kan inte användas som ett makronamn"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "”__has_include__” kan inte användas som ett makronamn"
-#: directives.c:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "inget makronamn angivet i direktivet #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "makronamn måste vara identifierare"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "avdefinierar ”%s”"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "saknar avslutande tecken >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s förväntar ”FILNAMN” eller <FILNAMN>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "tomt filnamn i #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include nästlad för djupt"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next i primär källkodsfil"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ogiltig flagga ”%s” i line-direktiv"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "oväntat filslut efter #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "”%s” efter #line är inte ett positivt heltal"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "radnummer utanför möjligt intervall"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” är inte ett giltigt filnamn"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "”%s” efter # är inte ett positivt heltal"
-#: directives.c:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "ogiltigt #%s-direktiv"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registrerar pragma ”%s” med namnexpansion och utan namnrymd"
-#: directives.c:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s är redan registrerat"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s är redan registrerat"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "registrerar pragma med NULL-hanterare"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once i huvudfil"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "ogiltigt direktiv #pragma push_macro"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "ogiltigt direktiv #pragma pop_macro"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "ogiltigt direktiv #pragma GCC poison"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "förgiftar existerande makro ”%s”"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignorerat utanför huvudfil"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "kan inte hitta källfil %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "aktuell fil är äldre än %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ogiltigt direktiv ”#pragma GCC %s”"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma tar en strängkonstant inom parenteser"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else utan #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else efter #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "villkorssatsen började här"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif utan #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif efter #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif utan #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "saknas '(' efter predikat"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "saknas ')' för att avsluta svaret"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "predikatets svar är tomt"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "försäkran utan predikat"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "predikat måste vara en identifierare"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” omförsäkrat"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "oavslutad #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "ej avslutad kommentar"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "standard ut"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "fastdecimalskonstanter är en GCC-utvidgning"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ogiltigt prefix ”0b” på flyttalskonstant"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "användning av hexadecimal flyttalskonstant enligt C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "användning av hexadecimal flyttalskonstant enligt C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ogiltigt suffix ”%.*s” på flyttalskonstant"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionell C tillåter inte suffixet ”%.*s”"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "suffix för double-konstanter är en GCC-utvidgning"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ogiltigt suffix ”%.*s” på hexadecimal flyttalskonstant"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "decimala flyttalskonstanter är en GCC-utvidgning"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ogiltig ändelse ”%.*s” på heltalskonstant"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "användning av long long heltalskonstant enligt C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "användning av long long heltalskonstant enligt C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "imaginära konstanter är en GCC-utvidgning"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binära konstanter är C++14-funktion eller GCC-utvidgning"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "binära konstanter är en GCC-utvidgning"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "heltalskonstant är för stor för sin typ"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "heltalskonstant är så stor att den är teckenlös"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "saknar ')' efter ”defined”"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "operatorn ”defined” måste ha en identifierare"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” är en alternativ symbol för ”%s” i C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "denna användning av ”defined” är kanske inte portabel"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "användardefinierad konstant i preprocessoruttryck"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "flyttalskonstant i preprocessoruttryck"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "imaginärt tal i preprocessoruttryck"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "”%s” är inte definierad"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "”%s” är inte definierad, beräknas till 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "försäkringar är en GCC-utvidgning"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "försäkringar är en utvidgning som avrådes ifrån"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "obalanserad stack i %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "omöjlig operator ”%u”"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "saknad ”)” i uttryck"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "”?” utan följande ”:”"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "heltalsspill i preprocessoruttryck"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "saknad ”(” i uttryck"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "vänsteroperanden till ”%s” byter tecken vid befordran"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "högeroperanden till ”%s” byter tecken vid befordran"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "traditionell C hanterar inte operatorn unärt plus"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "kommaoperator i operand till #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "division med noll i #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "operatorn ”__has_include__” måste ha en huvudsträng"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "saknar ')' efter ”__has_include__”"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "NOLL-katalog i find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "en eller flera PCH-filer hittades, men de var inte korrekta"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "använd -Winvalid-pch för mer information"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s är en blockenhet"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s är för stor"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s är kortare än förväntat"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "ingen huvudfilssökväg att leta efter %s i"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Multipla inkluderingsvakter kan vara användbart för:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t måste vare en teckenlös typ"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "målets char är mindre än 8 bitar bred"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "målets wchar_t är smalare än målets char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "målets int är smalare än målets char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP:s halva heltal är smalare än CPP:s tecken"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "bakåtstreck och nyrad skiljda av mellanrum"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "bakåtstreck-nyrad vid filslut"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c konverterad till %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c ignorerad, använd -trigraphs för att aktivera"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "”/*” i kommentar"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s i preprocessordirektiv"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "nolltecken ignorerat"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” är inte i NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” är inte i NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "försök att använda förgiftad ”%s”"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ kan endast dyka upp i expansionen av ett C++11-makro med variabelt argumentantal"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kan endast dyka upp i expansionen av ett C99-makro med variabelt argumentantal"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "identifieraren ”%s” är ett speciellt operatornamn i C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "avgränsare för rå sträng längre än 16 tecken"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "felaktig nyrad i rå sträng-avgränsare"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ogiltigt tecken ”%c” i avgränsare för rå sträng"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "oavslutad rå sträng"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "nolltecken bevarade i konstant"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "avslutande %c-tecken saknas"
-#: lex.c:1932
+#: lex.c:2029
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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ kommentarer tillåts inte i ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(detta rapporteras bara en gång per infil)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "kommentarer i C++-stil är inkompatibla med C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "flerradskommentar"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "ostavbar symbol %s"
@@ -785,7 +771,7 @@ msgstr "ostavbar symbol %s"
msgid "macro \"%s\" is not used"
msgstr "makrot ”%s” är inte använt"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ogiltigt inbyggt makro ”%s”"
@@ -799,168 +785,168 @@ msgstr "makrot ”%s” kan förhindra reproducerbara byggen"
msgid "could not determine file timestamp"
msgstr "det gick inte att avgöra fils tidsstämpel"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "det gick inte att avgöra datum och tid"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ expanderad inuti direktiv med -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "ogiltig strängkonstant, ignorerar avslutande ”\\”"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "oavslutad argumentlista vid anrop av makrot ”%s”"
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "dubblerad makroparameter ”%s”"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "”%s” får inte förekomma i en makroparameterlista"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "makroparametrar måste avdelas av komman"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "parameternamn saknas"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyma variabla makron introducerades i C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyma variabla makron introducerades i C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ tillåter inte namngivna variabla makron"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C tillåter inte namngivna variabla makron"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "saknad ”)” i makroparameterlista"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” kan inte förekomma vid någon av ändarna av makroexpansionen"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 kräver mellanrum efter makronamnet"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 kräver mellanrum efter makronamnet"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "mellanrum saknas efter makronamn"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "”#” följs inte av en makroparameter"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” omdefinierad"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "detta är platsen för den tidigare definitionen"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "ogiltig hash-typ %d i cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "vid skrivning av förkompilerat huvud"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: inte använd för att ”%.*s” är förgiftad"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: inte använd för att ”%.*s” inte är definierad"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: inte använd för att ”%s” är definierad"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: inte använd för att ”__COUNTER__” är ogiltig"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "vid läsning av förkompilerat huvud"
diff --git a/libcpp/po/tr.gmo b/libcpp/po/tr.gmo
index e77eff0975..c8f5aef9fd 100644
--- a/libcpp/po/tr.gmo
+++ b/libcpp/po/tr.gmo
Binary files differ
diff --git a/libcpp/po/tr.po b/libcpp/po/tr.po
index 83227f9034..232f56a28d 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -16,6 +16,7 @@ msgstr ""
"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"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -38,7 +39,7 @@ msgstr "iconv bulunamadığından %s ile %s karakter kümeleri arasında dönü
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "0x%lx karakteri temel kaynak karakter kümesinde değil\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "çalışma karakter kümesine dönüştürülüyor"
@@ -47,759 +48,745 @@ msgstr "çalışma karakter kümesine dönüştürülüyor"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "0x%lx karakteri icra karakter kümesindeki tek baytlık karakterlerden değil"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "`\\%c'nin anlamı geleneksel C'de farklıdır"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Bir UCN içinde değil, _cpp_valid_ucn içinde"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "evrensel karakter ismi %.*s tamamlanmamış"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s geçerli bir evrensel karakter değil"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "belirteç ya da sayı içinde '$'"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "UCN'den kaynak karakter kümesine dönüşüm"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "UCN'den icra karakter kümesine dönüşüm"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "'\\x'in anlamı geleneksel C'de farklıdır"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x izleyen onaltılık rakamlar olmaksızın kullanılmış"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "onaltılık önceleme dizgesi kapsamdışı"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "sekizlik önceleme dizgesi kapsamdışı"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "`\\a'nın anlamı geleneksel C'de farklıdır"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO standardı olmayan önceleme dizgesi, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "bilinmeyen kaçış dizgesi: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "bilinmeyen önceleme dizgesi '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "önceleme diziliminden icra karakter kümesine dönüşüm"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "karakter sabiti, türü için çok uzun"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "çoklu-karakter karakter sabiti"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "karakter sabit boş"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "`%s' ile `%s' arasında dönüşüm başarısız"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s yönergesinin sonunda fazladan dizgecikler"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s bir GCC uzantısıdır"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s eskimiş bir GCC uzantısıdır"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "geleneksel C'de #elif kullanılmıyor varsayılır"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "geleneksel C'de girintili # ile #%s yoksayılır"
-#: directives.c:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
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:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "satır yönergesinin tarzı bir GCC özelliğidir"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "önişlem yönergesi #%s geçersiz"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" makro ismi olarak kullanılamaz"
-#: directives.c:574
+#: directives.c:611
#, 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:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s yönergesinde makro ismi verilmemiş"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "makro isimleri tanımlayıcılar olmalı"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "tanımsız yapılan \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "sonlandıran > karakteri eksik"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s \"DOSYA\" ya da <DOSYA> gerektirir"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "#%s ile belirtilen dosya boş"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include iç içeliği çok derin"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "birncil kaynak dosyasında #include_next"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "satır yönergesinde geçersiz \"%s\" seçeneği"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "#line satırından sonra beklenmeyen dosya sonu"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "satır numarası kapsam dışı"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" geçerli bir dosya ismi değil"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#'dan sonraki \"%s\" bir pozitif tamsayı değil"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "#%s yönergesi geçersiz"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s zaten kayıtlı"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s zaten kayıtlı"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "pragma NULL eylemci ile kaydediliyor"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "main dosyasında '#pragma once'"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "geçersiz #pragma güdümlü_makro yönergesi"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "geçersiz #pragma GCC poison yönergesi"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "zehirlenen mevcut makro \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "başlık dosyasının dışındaki '#pragma system_header' yoksayıldı"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "%s kaynak dosyası bulunamıyor"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "mevcut dosya %s den daha eski"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "geçersiz \"#pragma GCC %s\" yönergesi"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma bir parantezli dizge sabiti alır"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#if siz #else"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else den sonra #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "koşul başlangıcı burası"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#if siz #elif "
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#else den sonra #elif"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#if siz #endif"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "dayanaktan sonra '(' eksik"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "yanıtı tamamlayacak ')' eksik"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "dayanakların cevabı boş"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "dayanaksız olumlama"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "dayanak bir tanımlayıcı olmalı"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" tekrar olumlanmış"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "sonlandırılmamış #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "sonlandırılmamış açıklama"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdÇ"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "sabit noktalı sabitler bir GCC uzantısıdır"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "kayan nokta için geçerisz \"0b\" öntakısı"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "C99 onaltılık gerçel sayı sabit kullanımı"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "C99 onaltılık gerçel sayı sabit kullanımı"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "gerçel sabitin \"%.*s\" soneki geçersiz"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "geleneksel C \"%.*s\" sonekini kullanmaz"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "çift sabit için öntakı bir GCC uzantısıdır"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "onaltılık kayan sabitli \"%.*s\" soneki geçersiz"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "onluk kayan sabitler bir GCC uzantısıdır"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "tamsayı sabitte sonek \"%.*s\" soneki geçersiz"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "ISO C++0x long long tamsayı sabitlerinin kullanımı"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "ISO C99 long long tamsayı sabitleri yasaklar"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "sanal sabitler bir GCC genişletmesidir"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "ikili sabitler bir GCC uzantısıdır"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "ikili sabitler bir GCC uzantısıdır"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "tamsayı sabit, türü için oldukça büyük"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "tamsayı sabit unsigned olarak oldukça büyük"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "\"defined\" dan sonra ')' eksik"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "\"defined\" işleci bir tanımlayıcı gerektirir"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(C++'da \"%s\" \"%s\" için bir alternatif dizgeciktir)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "\"defined\" bu kullanımıyla uyarlanabilir olmayabilir"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "önişleyici ifadesinde kullanıcı tanımlı bağımlı"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "önişlemci ifadesinde gerçel sayı taşması"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "önişlemci ifadesinde sanal sayı"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" tanımlı değil"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "belirteçler bir GCC uzantısıdır"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "belirteçler artık kullanılmayan bir ifadedir"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s içinde dengelenmemiş yığın"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "işleç '%u' imkansız"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "ifadede ')' eksik"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' dan sonra ':' yok"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "önişlemci ifadesinde tamsayı taşması"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "ifadede '(' eksik"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "geleneksel C tekil artı işlecini dışlar"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "#if'in teriminde virgül"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "#if içinde sıfırla bölme"
-#: expr.c:2130
+#: expr.c:2216
#, 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:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "\"defined\" dan sonra ')' eksik"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "find_file içinde boş dizin"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "bir veya daha fazla PCH dosyası bulundu ama bunlar geçersiz"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "daha fazla bilgi almak için -Winvalid-pch kullanın"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s bir blok aygıtıdır"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s çok büyük"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s beklenenden daha kısa"
-
-#: files.c:964
+#: files.c:981
#, c-format
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:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t bir usigned tür olmalı"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "hedef char 8bitlik genişlikten küçük"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "hedef wchar_t hedef char'dan daha dar"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "hedef int hedef char'dan daha dar"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer'ı CPP character'dan daha dar"
-#: init.c:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "ters bölü ve satırsonu arasında boşluk var"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "dosyanın sonunda tersbölülü satırsonu"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "??%c üçlü harfi %c olarak dönüştürüldü"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "??%c üçlü harfi yoksayıldı, yoksayılmaması için -trigraphs kullanın"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "açıklama içinde \"/*\" bulundu"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "önişlem yönergesi içinde %s"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "null karakter(ler) yoksayıldı"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' NFKC'de yok"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' NFC'de yok"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "zehirli \"%s\" kullanılmaya çalışılıyor"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ sadece argümanlarının sayısı değişebilen bir C99 makrosunun genişleme alanında görünebilir"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "\"%s\" belirteci, C++'da özel bir işleç adıdır"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "ham dizge ayracı 16 karakterden uzun"
-#: lex.c:1688
+#: lex.c:1785
#, 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:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ham dizge ayracında geçersiz karakter '%c'"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "bitirilmemiş ham dizge"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
#, 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:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "null karakter(ler) sabit içinde saklanmış"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "sonlandıran %c karakteri eksik"
-#: lex.c:1932
+#: lex.c:2029
#, 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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ tarzı açıklamalara ISO C90'da izin verilmez"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(her girdi dosyasında sadece bir kere raporlanacaktır)"
-#: lex.c:2485
+#: lex.c:2844
#, 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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "çok satırlı açıklama"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "dizgecik %s okunabilir değil"
@@ -809,7 +796,7 @@ msgstr "dizgecik %s okunabilir değil"
msgid "macro \"%s\" is not used"
msgstr "\"%s\" makrosu kullanılmadı"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "geçersiz yerleşik makro \"%s\""
@@ -823,178 +810,178 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "dosya tarih damgası saptanamadı"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "tarih ve saat saptanamadı"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ -fdirectives-only ile talimat içerisinde genişletildi"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "geçersiz dizge sabit, son '\\' yoksayılıyor"
-#: macro.c:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "sonlandırılmamış argüman listesi çağıran makro \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "yinelenmiş makro parametresi \"%s\""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" makro parametre listesinde görünmeyebilir"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "makro parametreleri virgüllerle ayrılmış olmalı"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "parametre ismi eksik"
-#: macro.c:2902
+#: macro.c:2914
#, 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:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
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:2918
+#: macro.c:2930
#, 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:2921
+#: macro.c:2933
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:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "makro parametre listesinde ')' eksik"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' bir makronun her iki ucunda da görünemez"
-#: macro.c:3019
+#: macro.c:3031
#, 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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 makro isminden sonra boşluk gerektirir"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "makro isminden sonra boşluk gerekir"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' işaretinden sonra bir makro parametresi yok"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" yeniden tanımlanmış"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "burası evvelki tanımın yapıldığı yer"
-#: macro.c:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, 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:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "önderlemeli başlık yazılırken"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: `%.*s' zehirli olduğu için kullanılmadı"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: `%.*s' tanımlı olmadığından kullanılmadı"
-#: pch.c:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: `%s' tanımlı olduğundan kullanılmadı"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: `__COUNTER__' geçersiz olduğundan kullanılmadı"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "önderlemeli başlık okunurken"
@@ -1010,6 +997,18 @@ msgstr "makro parametre listesinde sözdizimi hatası"
#~ msgid "Character %x might not be NFKC"
#~ msgstr "%x karakteri NFKC olmayabilir"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "find_file içinde boş dizin"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s bir blok aygıtıdır"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s çok büyük"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s beklenenden daha kısa"
+
#~ msgid "warning: "
#~ msgstr "uyarı: "
diff --git a/libcpp/po/uk.gmo b/libcpp/po/uk.gmo
index dca9be2ed1..567d238ddc 100644
--- a/libcpp/po/uk.gmo
+++ b/libcpp/po/uk.gmo
Binary files differ
diff --git a/libcpp/po/uk.po b/libcpp/po/uk.po
index 587b36003b..5f5802ff54 100644
--- a/libcpp/po/uk.po
+++ b/libcpp/po/uk.po
@@ -3,19 +3,20 @@
# 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.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013, 2014, 2015, 2016, 2017.
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-27 17:09+0300\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-03 14:00+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\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"
"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 1.5\n"
@@ -38,7 +39,7 @@ msgstr "не реалізовано у iconv, не вдається перетв
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "символ 0x%lx відсутній у базовому первинному наборі символів\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "перетворення на виконуваний набір символів"
@@ -47,735 +48,720 @@ msgstr "перетворення на виконуваний набір симв
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "символ 0x%lx не однобайтовий у виконуваному наборі символів"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "універсальні назви символів допустимі лише у C++ та C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "універсальні назви символів C99 є несумісними із C90"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "сенс '\\%c' відрізняється від традиційної мови C"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "У _cpp_valid_ucn але не UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "неповна універсальна назва символу %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s не є допустимим універсальним символом"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "'$' у ідентифікаторі чи числі"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "універсальний символ %.*s не є допустимим у ідентифікаторі"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "універсальний символ %.*s не є допустимим на початку ідентифікатора"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "перетворення UCN на первинний набір символів"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "перетворення UCN на виконуваний набір символів"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "сенс '\\x' відрізняється від традиційної мови C"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x використовується з наступними шістнадцятковими цифрами"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "шістнадцяткова escape-послідовність поза межами діапазону"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "вісімкова escape-послідовність поза межами діапазону"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "сенс '\\a' відрізняється від традиційної мови C"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "escape-послідовність не за стандартом ISO, '\\%c'"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "невідома керівна послідовність: '\\%c'"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "Невідома escape-послідовність: '\\%s'"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "escape-послідовність перетворюється на виконуваний набір символів"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "пропущено початкові лапки"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "символьна константа надто довга для вказаного типу"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "багатосимвольна символьна константа"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "порожня символьна константа"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "помилка при перетворені %s на %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "зайві лексеми наприкінці директиви #%s"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s є розширенням GCC"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s є застарілим розширенням GCC"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "рекомендується не використовувати #elif у традиційній мові C"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "у традиційній мові C ігноруються #%s, якщо # з відступом"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "рекомендується приховувати #%s у традиційній мові C використовуючи відступ перед #"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "вбудована директива з макроаргументами не є переносимою"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "стиль директиви line є розширенням GCC"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "неправильна директива препроцесора #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "\"defined\" не може використовуватись як назва макроса"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "\"__has_include__\" не можна використовувати як назву макроса"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" не може використовуватись як назва макроса, оскільки це - оператор у C++"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "не вказаний макрос у директиві #%s"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "назви макросів повинні бути ідентифікаторами"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "скасовується визначення \"%s\""
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "відсутній завершальний символ >"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s очікує \"FILENAME\" або <FILENAME>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "порожня назва файлу у #%s"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "надто глибоке вкладання #include"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next у первинному файлі тексту програми"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "некоректна ознака \"%s\" у директиві line"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "неочікуване завершення файла після #line"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" після #line не є додатнім цілим числом"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "номер рядка за межами діапазону"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" не є коректною назвою файлу"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" після # не є додатнім цілим числом"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "засіб позначення рядків файла «%s» проігноровано через некоректну вкладеність"
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "некоректна директива #%s"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "прагми реєструються у просторі назв \"%s\" за відсутності розширення назв"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "прагма \"%s\" реєструється з розширенням назви але без простору назви"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "\"%s\" реєструється як прагма та як простір назв прагм"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s вже зареєстровано"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s вже зареєстровано"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "реєструється pragma з NULL-обробником"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma один раз у головному файлі"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "некоректна директива #pragma push_macro"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "некоректна директива #pragma pop_macro"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "некоректна директива #pragma GCC poison"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "використання отруєння (poisoning) вже створеного макроса \"%s\""
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header проігноровано за межами включеного файлу"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "не вдається знайти первинний файл %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "поточний файл старіший ніж %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "некоректна директива «#pragma GCC %s»"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma охоплює дужками символьний літерал"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else без #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else після #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "умова починається тут"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif без #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif після #else"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif без #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "відсутня '(' після предикату"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "відсутня ')' для завершення відповіді"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "відповідь предиката порожня"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "твердження без предиката"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "предикат має бути ідентифікатором"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" повторне ствердження"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "незавершене #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "незавершений коментар"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "константи з фіксованим розташуванням крапки є розширенням GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "некоректний префікс \"0b\" для константи з рухомою крапкою"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "використовуйте десятково-шістнадцяткову константу із рухомою крапкою мови C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "використовуйте десятково-шістнадцяткову константу з плаваючою комою мови C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "некоректний суфікс \"%.*s\" у константі з плаваючою комою"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "традиційною мовою C не сприймається суфікс \"%.*s\""
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "суфікс для констант double є розширенням GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "некоректний суфікс \"%.*s\" з десятково-шістнадцятковою константою з плаваючою комою"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "десяткові константи з рухомою крапкою є розширенням GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "некоректний суфікс \"%.*s\" у цілій константі"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "використання цілої константи long long C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "використання цілої константи long long з C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "уявні константи є розширенням GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "бінарні константи є можливістю C++14 або розширенням GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "бінарні константи є розширенням GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "ціла константа надто велика для вказаного типу"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "ціла константа така велика, що вона не матиме знаку"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "відсутня ')' після \"defined\""
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "для оператора \"defined\" потрібен ідентифікатор"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" - альтернативна лексема для \"%s\" у C++)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "використання \"defined\" може бути непереносимим"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "буквальне визначення користувача у виразі для препроцесора"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "константа з плаваючою комою у виразі препроцесора"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "уявне число у виразі препроцесора"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "\"%s\" не визначено"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "\"%s\" не визначено, приймаємо значення 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "assertions є розширенням GCC"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "розширення assertions вважається застарілим"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "незбалансований стек у %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "неможливий оператор '%u'"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "відсутня ')' у виразі"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "'?' без наступного ':'"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "переповнення цілого числа у виразі препроцесора"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "відсутня '(' у виразі"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "лівий операнд \"%s\" змінює знак при підвищенні"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "правий оператор \"%s\" змінює знак при підвищенні"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "у традиційній мові C не допускається унарний оператор плюс"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "оператор кома у операнді #if"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "ділення на нуль у #if"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "для оператора \"__has_include__\" потрібен рядок заголовка"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "немає ')' після \"__has_include__\""
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "значення каталогу NULL у find_file"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "знайдено один або більше файлів PCH, але вони некоректні"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "докладніша інформація виводиться, якщо вказати -Winvalid-pch"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s є блочним пристроєм"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s надто великий"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s коротший ніж очікувалося"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "відсутні шлях включення у якому ведеться пошук для %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Декілька include guards можуть бути корисні для:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t має бути беззнакового типу"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "арифметика препроцесора має максимальну точність %lu біт; ціль вимагає %lu біт"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "арифметика CPP повинна мати принаймні таку ж точність я у цільового цілого числа"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "ширина цільового типу char менша за 8 біт"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "цільовий wchar_t є вужчим за цільовий char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "цільовий тип int є вужчим ніж цільовий char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer є вужчим за CPP character"
-#: init.c:580
+#: init.c:584
#, 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 біт"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "зворотна коса риска та символ нового рядка відділяються пробілом"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "зворотна коса риска та символ нового рядка наприкінці файлу"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "тристоронній ??%c перетворено на %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "тристоронній ??%c проігноровано, використовуйте -trigraphs, щоб увімкнути"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" всередині коментаря"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s в директиві препроцесора"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "null-символи проігноровані"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "`%.*s' не у NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "`%.*s' не у NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "спроба використати отруєного (poisoned) \"%s\""
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ може з'являтися лише у розширенні варіативних макросів з мови C++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ може з'являтися лише у розширенні варіативних макросів з мови C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "ідентифікатор \"%s\" є особливою назвою оператора у C++"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "роздільник необроблених рядків довжиною, що перевищує 16 символів"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "некоректний символ нового рядка у роздільнику простого рядка"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "некоректний символ, «%c», у роздільнику простого рядка"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "незавершений простий рядок"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "некоректний суфікс у літералі; стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "null-символи збережені буквально"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "відсутній завершальний символ %c"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr "стандарт C++11 вимагає використання пробілу між літералом та рядком макроса"
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "Коментарі у стилі C++ неприпустимі згідно ISO C90"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(повідомлення про це з'явиться лише один для вхідного файлу)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "Коментарі у стилі C++ неприпустимі у C90"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "багаторядковий коментар"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "неможливо розібрати лексему %s"
@@ -785,7 +771,7 @@ msgstr "неможливо розібрати лексему %s"
msgid "macro \"%s\" is not used"
msgstr "макрос \"%s\" не використовується"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "некоректний вбудований макрос \"%s\""
@@ -799,168 +785,168 @@ msgstr "макрос \"%s\" може завадити відтворюваном
msgid "could not determine file timestamp"
msgstr "не вдається визначити часову мітку файлу"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "не вдається визначити дату та час"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ розгорнуто всередині директиви з -fdirectives-only"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "некоректний символьний літерал, ігнорується завершальний символ '\\'"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "вставка \"%s\" та \"%s\" не призводить до коректної лексеми препроцесора"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 потребує принаймні одного аргументу для використання \"...\" у варіативному макросі"
-#: macro.c:778
+#: macro.c:789
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 потребує принаймні одного аргументу для використання \"...\" у варіативному макросі"
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "для макроса \"%s\" потрібно вказати %u аргументів, але вказано лише %u"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "макроса \"%s\" передано %u аргументів, але з них використано лише %u"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "незавершений список аргументів у виклику макроса \"%s\""
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "подібний до функції макрос \"%s\" має використовуватися з аргументами у традиційній мові C"
-#: macro.c:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "виклик макроса %s, аргумент %d: порожні аргументи макросів вважаються невизначеними у ISO C90"
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "дублікат параметра макроса \"%s\""
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "\"%s\" не може з'являтися у списку параметрів макроса"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "параметри макроса мають бути розділені комами"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "відсутня назва параметра"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "анонімні варіативні макроси започатковані у C++11"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "анонімні варіативні макроси впроваджено з версії C99"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ не припускає іменовані варіативні макроси"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C не припускає іменовані варіативні макроси"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "відсутня ')' у списку параметрів макроса"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' не може з'являтися з обох кінців макророзширення"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "у ISO C++11 після назви макроса має бути пробіл"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "у ISO C99 має бути пробіл після назви макроса"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "відсутні пробіл після назви макроса"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "'#' не супроводжується параметром макроса"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "повторне визначення \"%s\""
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "...це місце першого визначення"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "аргумент макроса \"%s\" був би перетворений на рядок у традиційній мові C"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "некоректний типу хешу %d у cpp_macro_definition"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "при записі попередньо скомпільованих заголовків"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: не використовується, оскільки отруєно (poisoned) `%.*s'"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: не використовується оскільки `%.*s' не визначено"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: не використовується, оскільки `%.*s' визначено як `%s' не `%.*s'"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: не використовується, оскільки визначено `%s'"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: не використовується через некоректність `__COUNTER__'"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "при читанні попередньо скомпільованого заголовка"
@@ -973,6 +959,18 @@ msgstr "при розширенні макроса \"%s\" виявлено ре
msgid "syntax error in macro parameter list"
msgstr "синтаксична помилка у списку параметрів макроса"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "значення каталогу NULL у find_file"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s є блочним пристроєм"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s надто великий"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s коротший ніж очікувалося"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Символ %x може не бути NFKC"
diff --git a/libcpp/po/vi.gmo b/libcpp/po/vi.gmo
index f3641bda98..642bb5e779 100644
--- a/libcpp/po/vi.gmo
+++ b/libcpp/po/vi.gmo
Binary files differ
diff --git a/libcpp/po/vi.po b/libcpp/po/vi.po
index 1ba46f8054..49d8cc93f6 100644
--- a/libcpp/po/vi.po
+++ b/libcpp/po/vi.po
@@ -3,17 +3,18 @@
# Copyright © 2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015, 2016.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015, 2016, 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: cpplib 6.1.0\n"
+"Project-Id-Version: cpplib 7.1-b20170101\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
-"PO-Revision-Date: 2016-04-28 07:51+0700\n"
+"POT-Creation-Date: 2017-01-01 00:51+0000\n"
+"PO-Revision-Date: 2017-01-08 08:43+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"
@@ -41,7 +42,7 @@ msgstr "iconv chưa thực hiện nên không thể chuyển đổi từ %s sang
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "ký tự 0x%lx không phải nằm trong bộ ký tự nguồn cơ bản\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "đang chuyển đổi sang bộ ký tự thi hành"
@@ -50,735 +51,720 @@ msgstr "đang chuyển đổi sang bộ ký tự thi hành"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "ký tự 0x%lx không có dạng byte đơn trong bộ ký tự thi hành"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "tên ký tự chung chỉ hợp lệ trong ngôn ngữ C++ và C99"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "tên ký tự chung C99 là không tương thích với C99"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "“\\%c” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Trong “_cpp_valid_ucn” nhưng mà không phải là một UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "tên ký tự chung %.*s chưa hoàn thành"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s không phải là ký tự chung hợp lệ"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "gặp “$” trong định danh hay con số"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "ký tự toàn cầu %.*s không hợp lệ trong một định danh"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
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:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "đang chuyển đổi UCN sang bộ ký tự nguồn"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "đang chuyển đổi UCN sang bộ ký tự thi hành"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "“\\x” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x được dùng mà không có chữ số thập lục theo sau"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "dãy thoát dạng thập lục phân ở ngoài phạm vi"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "dãy thoát dạng bát phân ở ngoài phạm vi"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "“\\a” có nghĩa khác trong ngôn ngữ C truyền thống"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "dãy thoát khác chuẩn ISO: “\\%c”"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "không hiểu dãy thoát: “\\%c”"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "không hiểu dãy thoát: “\\%s”"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "đang chuyển đổi dãy thoát sang bộ ký tự thi hành"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr "thiếu dấu trích dẫn mở"
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "hằng ký tự quá dài cho kiểu nó"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "hằng ký tự đa ký tự"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "hằng ký tự trống"
-#: charset.c:1738
+#: charset.c:2047
#, 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:225 directives.c:268
+#: directives.c:235 directives.c:278
#, 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:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s là phần mở rộng kiểu GCC"
-#: directives.c:380
+#: directives.c:390
#, 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:393
+#: directives.c:403
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:396
+#: directives.c:406
#, 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:400
+#: directives.c:410
#, 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:426
+#: directives.c:436
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:446
+#: directives.c:456
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:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "chỉ thị tiền xử lý không hợp lệ #%s"
-#: directives.c:569
+#: directives.c:606
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:574
+#: directives.c:611
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:580
+#: directives.c:617
#, 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:583
+#: directives.c:620
#, 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:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "mọi tên vĩ lệnh phải là một định danh"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "đang hủy định nghĩa “%s”"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "thiếu ký tự “>” chấm dứt"
-#: directives.c:754
+#: directives.c:791
#, 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:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "#%s chứa tên tập tin trống"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "“#include” (bao gồm) lồng nhau quá sâu"
-#: directives.c:851
+#: directives.c:888
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:877
+#: directives.c:914
#, 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:937
+#: directives.c:974
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:940
+#: directives.c:977
#, 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:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "số dòng nằm ngoài phạm vi"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, 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:1002
+#: directives.c:1039
#, 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:1061
+#: directives.c:1098
#, 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:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "chỉ thị #%s không hợp lệ"
-#: directives.c:1211
+#: directives.c:1248
#, 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:1220
+#: directives.c:1257
#, 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:1238
+#: directives.c:1275
#, 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:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "“#pragma %s %s” đã được đăng ký"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "“#pragma %s” đã được đăng ký"
-#: directives.c:1274
+#: directives.c:1311
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:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "Có “#pragma” một lần trong tập tin chính"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "gặp chỉ thị #pragma push_macro sai"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "gặp chỉ thị #pragma pop_macro sai"
-#: directives.c:1624
+#: directives.c:1661
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:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "đang vô hiệu hóa vĩ lệnh tồn tại “%s”"
-#: directives.c:1652
+#: directives.c:1689
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:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "không tìm thấy tập tin nguồn %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "tập tin hiện thời là cũ hơn %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "gặp chỉ thị \"#pragma GCC %s\" không hợp lệ"
-#: directives.c:1906
+#: directives.c:1943
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:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else (nếu không) mà không có #if (nếu)"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else (nếu không) nằm sau #else"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "điều kiện đã bắt đầu ở đây"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif (nếu không thì nếu) không có #if (nếu)"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif (nếu không thì nếu) nằm sau #else (nếu không)"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif (nếu không đúng) không có #if (nếu)"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "thiếu “(” nằm sau vị ngữ"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "thiếu “)” để hoàn tất câu trả lời"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "vị ngữ chứa trả lời trống"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "sự khẳng định không có vị ngữ"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "vị ngữ phải là định danh"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "“%s” được khẳng định lại"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s chưa chấm dứt"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "gặp chú thích chưa được chấm dứt"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "thiết bị xuất chuẩn"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "hằng số thực dấu chấm tĩnh là phần mở rộng GCC"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "gặp tiền tố không hợp lệ “0b” cho hằng dấu chấm động"
-#: expr.c:555
+#: expr.c:639
msgid "use of C++1z hexadecimal floating constant"
msgstr "dùng hằng dấu chấm động thập lục C++1z"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "dùng hằng dấu chấm động thập lục C99"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” nằm trên hằng dấu chấm động"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "ngôn ngữ C truyền thống từ chối hậu tố “%.*s”"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "hậu tố cho hằng số đôi là một phần mở rộng GCC"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” có hằng dấu chấm động thập lục"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "hằng dấu chấm động thập lục là phần mở rộng GCC"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "gặp hậu tố không hợp lệ “%.*s” nằm trên hằng số nguyên"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "dùng hằng số nguyên dài dài C++11"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "dùng hằng số nguyên dài dài C99"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "hằng ảo là phần mở rộng GCC"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "hằng nhị phân là đặc tính C++14 hoặc phần mở rộng GCC"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "hằng nhị phân là phần mở rộng GCC"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "hằng số nguyên quá lớn cho kiểu nó"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "hằng số nguyên quá lớn thì không có dấu"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "thiếu “)” nằm sau “defined” (đã định nghĩa)"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "toán tử “defined” (đã định nghĩa) cần đến định danh"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(“%s” là một thẻ bài thay thế cho “%s” trong ngôn ngữ C++)"
-#: expr.c:952
+#: expr.c:1038
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:1012
+#: expr.c:1098
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:1017
+#: expr.c:1103
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:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "gặp số ảo nằm trong biểu thức tiền xử lý"
-#: expr.c:1076
+#: expr.c:1162
#, c-format
-msgid "\"%s\" is not defined"
-msgstr "chưa định nghĩa “%s”"
+msgid "\"%s\" is not defined, evaluates to 0"
+msgstr "chưa định nghĩa “%s”, định giá thành 0"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "khẳng định là một phần mở rộng GCC"
-#: expr.c:1092
+#: expr.c:1178
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:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "có ngăn xếp không cân bằng trong %s"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "toán tử không thể “%u”"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "thiếu “)” trong biểu thức"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "dấu hỏi “?” mà không có dấu hai chấm “:” đi sau"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "tràn số nguyên trong biểu thức tiền xử lý"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "thiếu “(” trong biểu thức"
-#: expr.c:1535
+#: expr.c:1621
#, 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:1540
+#: expr.c:1626
#, 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:1799
+#: expr.c:1885
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:1897
+#: expr.c:1983
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:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "chia cho số không trong #if (nếu)"
-#: expr.c:2130
+#: expr.c:2216
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:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
-msgstr "thiếu “)” nằm sau “__has_include__” (đã bao gồm)"
-
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "thư mục RỖNG trong “find_file” (tìm tập tin)"
+msgstr "thiếu “)” sau “__has_include__” (đã bao gồm)"
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "tìm thấy một hay nhiều tập tin PCH, nhưng chúng không hợp lệ"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
-msgstr "dùng “-Winvalid-pch” để tìm thấy thêm thông tin cần thiết"
-
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s là một thiết bị khối"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s quá lớn"
+msgstr "dùng “-Winvalid-pch” để biết thêm thông tin cần thiết"
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s ngắn hơn mong đợi"
-
-#: files.c:964
+#: files.c:981
#, c-format
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:1419
+#: files.c:1441
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:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "“cppchar_t” phải là kiểu không dấu"
-#: init.c:553
+#: init.c:557
#, 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:560
+#: init.c:564
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:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "“char” đích có độ rộng ít hơn 8 bit"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "“wchar_t” đích có độ rộng ít hơn “char” đích"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "“int” đích có độ rộng ít hơn “char” đích"
-#: init.c:576
+#: init.c:580
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:580
+#: init.c:584
#, 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"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "dấu gạch ngược và ký tự dòng mới phân cách nhau bởi dấu cách"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "gặp dấu gạch ngược tại kết thúc của tập tin"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "bộ ba “??%c” đã được chuyển đổi thành “%c”"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "bộ ba “??%c” bị bỏ qua nên hãy sử dụng tùy chọn “-trigraphs” (bộ ba) để hiệu lực nó"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "gặp “/*” nằm trong chú thích"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "gặp %s nằm trong chỉ thị tiền xử lý"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "(mọi) ký tự null bị bỏ qua"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "“%.*s” không phải nằm trong NFKC"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "“%.*s” không nằm trong NFC"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "đã cố gắng dùng “%s” bị vô hiệu hóa"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "“__VA_ARGS__” chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C++11"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "“__VA_ARGS__” chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C99"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
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:1684
+#: lex.c:1781
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:1688
+#: lex.c:1785
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:1692
+#: lex.c:1789
#, 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:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "chuỗi thô chưa được chấm dứt"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
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:1896
+#: lex.c:1993
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:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "thiếu ký tự “%c” chấm dứt"
-#: lex.c:1932
+#: lex.c:2029
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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
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:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
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:2485
+#: lex.c:2844
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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "gặp chú thích đa dòng"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "gặp thẻ bài không thể chính tả %s"
@@ -788,7 +774,7 @@ msgstr "gặp thẻ bài không thể chính tả %s"
msgid "macro \"%s\" is not used"
msgstr "vĩ lệnh “%s” không được dùng"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "vĩ lệnh dựng-sẵn không hợp lệ “%s”"
@@ -802,168 +788,168 @@ msgstr "vĩ lệnh \"%s\" có thể ngăn cản việc dịch tái sinh"
msgid "could not determine file timestamp"
msgstr "không thể xác định nhãn giờ của tập tin"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "không thể phân giải ngày và giờ"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ đã mở rộng bên trong chỉ thị với “-fdirectives-only”"
-#: macro.c:588
+#: macro.c:599
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:650
+#: macro.c:661
#, 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:774
+#: macro.c:785
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:778
+#: macro.c:789
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:785
+#: macro.c:796
#, 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:790
+#: macro.c:801
#, 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:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, 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:1135
+#: macro.c:1146
#, 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:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "tham số vĩ lệnh trùng lặp “%s”"
-#: macro.c:2855
+#: macro.c:2866
#, 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"
-#: macro.c:2863
+#: macro.c:2874
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:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "thiếu tên tham số"
-#: macro.c:2902
+#: macro.c:2914
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:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
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:2918
+#: macro.c:2930
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:2921
+#: macro.c:2933
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:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "thiếu “)” trong danh sách tham số bộ đối số"
-#: macro.c:2982
+#: macro.c:2994
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:3019
+#: macro.c:3031
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:3022
+#: macro.c:3034
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:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "thiếu khoảng trắng nằm sau tên vĩ lệnh"
-#: macro.c:3081
+#: macro.c:3093
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:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "“%s” bị định nghĩa lại"
-#: macro.c:3247
+#: macro.c:3259
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:3308
+#: macro.c:3320
#, 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:3344
+#: macro.c:3356
#, 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:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "trong khi ghi đầu trang biên dịch sẵn"
-#: pch.c:619
+#: pch.c:621
#, 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:641
+#: pch.c:643
#, 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:653
+#: pch.c:655
#, 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:694
+#: pch.c:696
#, 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:714
+#: pch.c:716
#, 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:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "trong khi đọc đầu trang biên dịch sẵn"
@@ -976,6 +962,18 @@ msgstr "đã phát hiện sự đệ qui trong khi mở rộng vĩ lệnh “%s
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 "NULL directory in find_file"
+#~ msgstr "thư mục RỖNG trong “find_file” (tìm tập tin)"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s là một thiết bị khối"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s quá lớn"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s ngắn hơn mong đợi"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Ký tự %x có lẽ không phải có kiểu NFKC"
diff --git a/libcpp/po/zh_CN.gmo b/libcpp/po/zh_CN.gmo
index 30978f147e..e9f7a34a13 100644
--- a/libcpp/po/zh_CN.gmo
+++ b/libcpp/po/zh_CN.gmo
Binary files differ
diff --git a/libcpp/po/zh_CN.po b/libcpp/po/zh_CN.po
index e0d938c876..7427c5994f 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -15,6 +15,7 @@ msgstr ""
"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"
"X-Poedit-Language: Chinese\n"
"X-Poedit-Country: CHINA\n"
@@ -37,7 +38,7 @@ msgstr "没有 iconv 的实现,无法从 %s 转换到 %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "字符 0x%lx 不在基本源字符集中\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "转换到可执行文件的字符集"
@@ -46,758 +47,744 @@ msgstr "转换到可执行文件的字符集"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "字符 0x%lx 在执行字符集中不是单字节的"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
-#: charset.c:1001
+#: charset.c:1051
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "C99's universal character names are incompatible with C90"
msgstr "Unicode 字符名只在 C++ 和 C99 中有效"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "‘\\%c’的意义与在传统 C 中不同"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "在 _cpp_valid_ucn 中但不是一个 UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "不完全的 Unicode 字符名 %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s 不是一个有效的 Unicode 字符"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "‘$’出现在标识符或数字中"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "Unicode 字符 %.*s 在标识符中无效"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "Unicode 字符 %.*s 在标识符开头无效"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "将 UCN 转换到源字符集"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "将 UCN 转换到执行字符集"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "‘\\x’的意义与在传统 C 中不同"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x 后没有 16 进制数字"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "16 进制转义序列越界"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "8 进制转义序列越界"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "‘\\a’的意义与在传统 C 中不同"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 标准的转义序列,‘\\%c’"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "未知的转义序列:‘\\%c’"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "未知的转义序列:‘\\%s’"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "将转义序列转换到执行字符集"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "字符常量大小超出其类型"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "多字节字符常量"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "空的字符常量"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "无法从 %s 转换到 %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s 指示的末尾有多余的标识符"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s 是一个 GCC 扩展"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是一个已过时的 GCC 扩展"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "建议在传统 C 中不使用 #elif"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "当 # 有缩进时传统 C 忽略 #%s"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建议使用缩进的 # 以让 #%s 对传统 C 不可见"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "将一个指示嵌入宏参数中是不可移植的"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "line 指示的风格是一个 GCC 扩展"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "无效的预处理指示 #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "“defined”不能被用作宏名"
-#: directives.c:574
+#: directives.c:611
#, fuzzy
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "“defined”不能被用作宏名"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "“%s”不能被用作宏名,因为它是 C++ 中的一个操作符"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指示中未给出宏名"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "宏名必须是标识符"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "取消对“%s”的定义"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "缺少结尾的 > 字符"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中文件名为空"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include 嵌套过深"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next 出现在主源文件中"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指示中有无效的标记“%s”"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "#line 后未预期的文件结束"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 后的“%s”不是一个正整数"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "行号超出范围"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "“%s”不是一个有效的文件名"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 后的“%s”不是一个正整数"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "无效的 #%s 指示"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "在命名空间“%s”中注册 pragma 时名称扩展不匹配"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "pragma “%s”被注册为一个命名扩展,而没有命名空间"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "“%s”既被注册为一个pragma 又被注册为一个 pragma 命名空间"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已经被注册"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已经被注册"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "pragma 注册为被 NULL 处理"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once 出现在主文件中"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "无效的 #pragma push_macro 指示"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "无效的 #pragma pop_macro 指示"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "对已存在的宏“%s”投毒"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_heade 在包含文件外被忽略"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "找不到源文件 %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "当前文件早于 %s"
-#: directives.c:1705
+#: directives.c:1742
#, fuzzy, c-format
#| msgid "invalid #pragma GCC poison directive"
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "无效的 #pragma GCC poison 指示"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一个括起的字符串字面常量"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else 没有匹配的 #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else 出现在 #else 后"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "条件自此开始"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif 没有匹配的 #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif 出现在 #else 后"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif 没有匹配的 #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "谓词后缺少‘(’"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少‘)’"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "谓词的答案为空"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "断言后没有谓词"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "谓词必须是一个标识符"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "重断言“%s”"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "未终止的 #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "未结束的注释"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s:%s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "定点常量是一个 GCC 扩展"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "浮点常量的“0b”前缀无效"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C99 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "使用 C99 式的 16 进制浮点常量"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "使用 C99 式的 16 进制浮点常量"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮点常量的“%.*s”后缀无效"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "传统 C 不接受“%.*s”后缀"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "双精度常量后缀是一个 GCC 扩展"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "十六进制浮点常量的“%.*s”后缀无效"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "十进制浮点常量是一个 GCC 扩展"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整数常量的“%.*s”后缀无效"
-#: expr.c:681
+#: expr.c:765
#, fuzzy
#| msgid "use of C++0x long long integer constant"
msgid "use of C++11 long long integer constant"
msgstr "使用 C++0x long long 整数常量"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "使用 C99 long long 整数常量"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "虚数常量是一个 GCC 扩展"
-#: expr.c:704
+#: expr.c:788
#, fuzzy
#| msgid "binary constants are a GCC extension"
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二进制常量是一个 GCC 扩展"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "二进制常量是一个 GCC 扩展"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "整数常量值超出其类型"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "整数常量太大,认定为 unsigned"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "“defined” 后出现‘)’"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "操作符“defined”需要一个标识符"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(在 C++ 中“%s”会是“%s”的替代标识符)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "使用“defined”可能不利于移植"
-#: expr.c:1012
+#: expr.c:1098
#, fuzzy
#| msgid "integer overflow in preprocessor expression"
msgid "user-defined literal in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "浮点常量出现在预处理表达式中"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "预处理表达式中出现虚数"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "“%s”未定义"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "断言是一个 GCC 扩展"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "断言是一个已过时的 GCC 扩展"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中堆栈不平衡"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的操作‘%u’"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "表达式中缺少‘)’"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "‘?’后没有‘:’"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "预处理表达式中整数溢出"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "表达式中缺少‘(’"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "“%s”的左操作数在提升时变换了符号"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "“%s”的右操作数在提升时变换了符号"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "传统 C 不接受单目 + 运算符"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "#if 操作数中出现逗号"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "#if 中用零做除数"
-#: expr.c:2130
+#: expr.c:2216
#, fuzzy
#| msgid "operator \"defined\" requires an identifier"
msgid "operator \"__has_include__\" requires a header string"
msgstr "操作符“defined”需要一个标识符"
-#: expr.c:2146
+#: expr.c:2232
#, fuzzy
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"__has_include__\""
msgstr "“defined” 后出现‘)’"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "find_file 中有 NULL 目录"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "找到一个或多个 PCH 文件,但它们是无效的"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "使用 -Winvalid-pch 以获得更多信息"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s 是一个块设备"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s 过大"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s 短于预期"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "没有包含路径可供搜索 %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "多个防止重包含可能对其有用:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必须是无符号型"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "预处理算术的最高精度为 %lu 位;目标需要 %lu 位"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算术必须至少具有目标 int 的精度"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "目标 char 短于 8 位"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "目录 wchar_t 短于目标 char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "目标 int 短于目标 char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整数短于 CPP 字符"
-#: init.c:580
+#: init.c:584
#, 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 位"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "反斜杠和换行为空格所分隔"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "反斜杠续行出现在文件末尾"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "三元符 ??%c 转换为 %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "三元符 ??%c 被忽略,请使用 -trigraphs 来启用"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "“/*”出现在注释中"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "预处理指示中出现 %s"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "忽略空字符"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "‘%.*s’不在 NFKC 中"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "‘%.*s’不在 NFC 中"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "试图使用有毒的“%s”"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ 只能出现在 C99 可变参数宏的展开中"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "标识符“%s”是 C++ 中的一个特殊操作符"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字符串分隔符长过 16 个字符"
-#: lex.c:1688
+#: lex.c:1785
#, fuzzy
#| msgid "invalid character '%c' in raw string delimiter"
msgid "invalid new-line in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "原始字符串分隔符中有无效字符‘%c’"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "未终止的原始字符串"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr ""
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "空字符将保留在字面字符串中"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "缺少结尾的 %c 字符"
-#: lex.c:1932
+#: lex.c:2029
msgid "C++11 requires a space between string literal and macro"
msgstr ""
-#: lex.c:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 风格的注释在 ISO C90 中不被允许"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(此警告为每个输入文件只报告一次)"
-#: lex.c:2485
+#: lex.c:2844
#, 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:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "多行注释"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "无法拼出的标识符 %s"
@@ -807,7 +794,7 @@ msgstr "无法拼出的标识符 %s"
msgid "macro \"%s\" is not used"
msgstr "宏“%s”未被使用"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "无效的内建宏“%s”"
@@ -821,178 +808,178 @@ msgstr ""
msgid "could not determine file timestamp"
msgstr "无法决定文件的时间戳"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "无法决定日期与时间"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "带 -fdirectives-only 时 __COUNTER__ 在指示中扩展"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "无效的字面字符串,忽略最后的‘\\’"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "毗连“%s”和“%s”不能给出一个有效的预处理标识符"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr ""
-#: macro.c:778
+#: macro.c:789
#, 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:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "宏“%s”需要 %u 个参数,但只给出了 %u 个"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "宏“%s”传递了 %u 个参数,但只需要 %u 个"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "调用宏“%s”时参数列表未终止"
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "类似函数的宏“%s”在传统 C 中必须与参数一起使用"
-#: macro.c:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, 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:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "重复的宏参数“%s”"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "“%s”不能出现在宏参数列表中"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "宏参数必须由逗号隔开"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "缺少形参名"
-#: macro.c:2902
+#: macro.c:2914
#, fuzzy
#| msgid "anonymous variadic macros were introduced in C99"
msgid "anonymous variadic macros were introduced in C++11"
msgstr "匿名可变参数宏在 C99 中被引入"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "匿名可变参数宏在 C99 中被引入"
-#: macro.c:2918
+#: macro.c:2930
#, fuzzy
#| msgid "ISO C does not permit named variadic macros"
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C 不允许有名的可变参数宏"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C 不允许有名的可变参数宏"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "在宏参数表中缺少‘)’"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "‘##’不能出现在宏展开的两端"
-#: macro.c:3019
+#: macro.c:3031
#, 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:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 要求宏名后必须有空白"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "宏名后缺少空白"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "‘#’后没有宏参数"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "“%s”重定义"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "这是先前定义的位置"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "宏参数“%s”将在传统 C 中被字符串化"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "cpp_macro_definition 中有无效的散列类型 %d"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "在写入预编译头时"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s:未使用因为‘%.*s’已被投毒"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s:未使用因为‘%.*s’未定义"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s:未使用因为‘%.*s’被定义为‘%s’而非‘%*.s’"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s:未使用因为‘%s’已定义"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s:未使用因为‘__COUNTER__’无效"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "在读取预编译头时"
@@ -1047,6 +1034,18 @@ msgstr "宏参数列表语法错误"
#~ msgid " ':' without preceding '?'"
#~ msgstr "‘:’前没有‘?’"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "find_file 中有 NULL 目录"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s 是一个块设备"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s 过大"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s 短于预期"
+
#~ msgid "warning: "
#~ msgstr "警告:"
diff --git a/libcpp/po/zh_TW.gmo b/libcpp/po/zh_TW.gmo
index 538a3e63cb..a60c6c8842 100644
--- a/libcpp/po/zh_TW.gmo
+++ b/libcpp/po/zh_TW.gmo
Binary files differ
diff --git a/libcpp/po/zh_TW.po b/libcpp/po/zh_TW.po
index edeaf876d6..1ce6341e1a 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: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2016-04-21 15:24+0000\n"
+"POT-Creation-Date: 2017-01-01 00:51+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"
@@ -16,6 +16,7 @@ msgstr ""
"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"
"Plural-Forms: nplurals=1; plural=0;\n"
#: charset.c:674
@@ -37,7 +38,7 @@ msgstr "沒有實作 iconv,無法從 %s 轉換到 %s"
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "字元 0x%lx 不在基本來源字元集中\n"
-#: charset.c:798 charset.c:1453
+#: charset.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "轉換到可執行檔案的字元集"
@@ -46,739 +47,725 @@ msgstr "轉換到可執行檔案的字元集"
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "字元 0x%lx 在執行字元集中不是單位元組的"
-#: charset.c:997
+#: charset.c:1047
msgid "universal character names are only valid in C++ and C99"
msgstr "萬國碼字元名稱只在 C++ 和 C99 中有效"
-#: charset.c:1001
+#: charset.c:1051
msgid "C99's universal character names are incompatible with C90"
msgstr "C99 的萬國碼字元名稱與 C90 不相容"
-#: charset.c:1004
+#: charset.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "「\\%c」的意義與在傳統 C 中不同"
-#: charset.c:1013
+#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "在 _cpp_valid_ucn 中並不是一個 UCN"
-#: charset.c:1041
+#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "不完整的萬國碼字元名稱 %.*s"
-#: charset.c:1056
+#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s 不是一個有效的萬國碼字元"
-#: charset.c:1066 lex.c:1236
+#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "「$」出現在識別字或數字中"
-#: charset.c:1076
+#: charset.c:1131
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "萬國碼字元 %.*s 在識別字中無效"
-#: charset.c:1080
+#: charset.c:1135
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "萬國碼字元 %.*s 在識別字開頭無效"
-#: charset.c:1110 charset.c:1691
+#: charset.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "將 UCN 轉換到來源字元集"
-#: charset.c:1114
+#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "將 UCN 轉換到執行字元集"
-#: charset.c:1186
+#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "「\\x」的意義與在傳統 C 中不同"
-#: charset.c:1203
+#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x 後沒有十六進位數字"
-#: charset.c:1210
+#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "十六進位逸出序列越界"
-#: charset.c:1248
+#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "八進位逸出序列越界"
-#: charset.c:1314
+#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "「\\a」的意義與在傳統 C 中不同"
-#: charset.c:1321
+#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "非 ISO 標準的逸出序列,「\\%c」"
-#: charset.c:1329
+#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "不明的逸出序列:『\\%c』"
-#: charset.c:1337
+#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "不明的逸出序列:「\\%s」"
-#: charset.c:1344
+#: charset.c:1474
msgid "converting escape sequence to execution character set"
msgstr "將逸出序列轉換到執行字元集"
-#: charset.c:1518 charset.c:1582
+#: charset.c:1614
+msgid "missing open quote"
+msgstr ""
+
+#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "字元常數大小超出其類型"
-#: charset.c:1521
+#: charset.c:1830
msgid "multi-character character constant"
msgstr "多位元組字元常數"
-#: charset.c:1622
+#: charset.c:1931
msgid "empty character constant"
msgstr "空的字元常數"
-#: charset.c:1738
+#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "無法從 %s 轉換到 %s"
-#: directives.c:225 directives.c:268
+#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "#%s 指令的末尾有多餘的符記"
-#: directives.c:375
+#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s 是 GCC 擴充功能"
-#: directives.c:380
+#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s 是不宜再用的 GCC 擴充功能"
-#: directives.c:393
+#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "建議在傳統 C 中不要使用 #elif"
-#: directives.c:396
+#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "當 # 有縮排時傳統 C 忽略 #%s"
-#: directives.c:400
+#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "建議使用縮排的 # 以讓 #%s 對傳統 C 不可見"
-#: directives.c:426
+#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "將一個指令內嵌於巨集參數中是不可移植的"
-#: directives.c:446
+#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "line 指令的風格是 GCC 擴充功能"
-#: directives.c:501
+#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "無效的預先處理指令 #%s"
-#: directives.c:569
+#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "「defined」不能做為巨集名"
-#: directives.c:574
+#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "「__has_include__」不能做為巨集名"
-#: directives.c:580
+#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "「%s」不能做為巨集名,因為它是 C++ 中的一個運算子"
-#: directives.c:583
+#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "#%s 指令中未給出巨集名"
-#: directives.c:586
+#: directives.c:623
msgid "macro names must be identifiers"
msgstr "巨集名必須是識別字"
-#: directives.c:635 directives.c:640
+#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "取消對「%s」的定義"
-#: directives.c:695
+#: directives.c:732
msgid "missing terminating > character"
msgstr "缺少結尾的 > 字元"
-#: directives.c:754
+#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s 需要 \"FILENAME\" 或 <FILENAME>"
-#: directives.c:800
+#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "#%s 中檔案名稱為空"
-#: directives.c:810
+#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include 巢狀過深"
-#: directives.c:851
+#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next 出現在主來源檔案中"
-#: directives.c:877
+#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "line 指令中有無效的標記「%s」"
-#: directives.c:937
+#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "#line 之後未預期的檔案結束"
-#: directives.c:940
+#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line 後的「%s」不是一個正整數"
-#: directives.c:946 directives.c:948
+#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "列號超出範圍"
-#: directives.c:961 directives.c:1042
+#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "「%s」不是一個有效的檔案名稱"
-#: directives.c:1002
+#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "# 後的「%s」不是一個正整數"
-#: directives.c:1061
+#: directives.c:1098
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr ""
-#: directives.c:1120 directives.c:1122 directives.c:1124 directives.c:1710
+#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"
-#: directives.c:1148
+#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "無效的 #%s 指令"
-#: directives.c:1211
+#: directives.c:1248
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "以不匹配的名稱擴展去註冊命名空間「%s」中的編譯指示"
-#: directives.c:1220
+#: directives.c:1257
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "以名稱擴展以及無命名空間去註冊編譯指示「%s」"
-#: directives.c:1238
+#: directives.c:1275
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "「%s」既被註冊為一個編譯指示又被註冊為一個編譯指示命名空間"
-#: directives.c:1241
+#: directives.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s 已經被註冊"
-#: directives.c:1244
+#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s 已經被註冊"
-#: directives.c:1274
+#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "以空值處理常式去註冊編譯指示"
-#: directives.c:1491
+#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma 出現在主檔案中一次"
-#: directives.c:1514
+#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "無效的 #pragma push_macro 指令"
-#: directives.c:1569
+#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "無效的 #pragma pop_macro 指令"
-#: directives.c:1624
+#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "無效的 #pragma GCC poison 指令"
-#: directives.c:1633
+#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "對已存在的巨集「%s」加料"
-#: directives.c:1652
+#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header 在包含檔案外被忽略"
-#: directives.c:1677
+#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "找不到來源檔案 %s"
-#: directives.c:1681
+#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "目前檔案早於 %s"
-#: directives.c:1705
+#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "無效的 #pragma GCC %s 指令"
-#: directives.c:1906
+#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma 需要一個括起的字串原文"
-#: directives.c:2027
+#: directives.c:2064
msgid "#else without #if"
msgstr "#else 沒有匹配的 #if"
-#: directives.c:2032
+#: directives.c:2069
msgid "#else after #else"
msgstr "#else 出現在 #else 後"
-#: directives.c:2034 directives.c:2067
+#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "條件自此開始"
-#: directives.c:2060
+#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif 沒有匹配的 #if"
-#: directives.c:2065
+#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif 出現在 #else 後"
-#: directives.c:2096
+#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif 沒有匹配的 #if"
-#: directives.c:2176
+#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "述語後缺少「(」"
-#: directives.c:2191
+#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "完整的答案缺少「)」"
-#: directives.c:2211
+#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "述語的答案為空"
-#: directives.c:2238
+#: directives.c:2275
msgid "assertion without predicate"
msgstr "判定語後沒有述語"
-#: directives.c:2241
+#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "述語必須是一個識別字"
-#: directives.c:2327
+#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "已再判定「%s」"
-#: directives.c:2619
+#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "未終止的 #%s"
-#: directives-only.c:221 lex.c:2460 traditional.c:167
+#: directives-only.c:221 lex.c:2819 traditional.c:167
msgid "unterminated comment"
msgstr "未終結的註釋"
-#: errors.c:234 errors.c:247
+#: errors.c:300
#, c-format
msgid "%s: %s"
msgstr "%s:%s"
-#: errors.c:245
+#: errors.c:312
msgid "stdout"
msgstr "stdout"
-#: expr.c:517 expr.c:634
+#: expr.c:601 expr.c:718
msgid "fixed-point constants are a GCC extension"
msgstr "定點常數是一個 GCC 擴充功能"
-#: expr.c:542
+#: expr.c:626
msgid "invalid prefix \"0b\" for floating constant"
msgstr "無效的浮點常數前綴「0b」"
-#: expr.c:555
+#: expr.c:639
#, fuzzy
#| msgid "use of C++11 hexadecimal floating constant"
msgid "use of C++1z hexadecimal floating constant"
msgstr "使用 C++11 式的十六進位浮點常數"
-#: expr.c:558
+#: expr.c:642
msgid "use of C99 hexadecimal floating constant"
msgstr "使用 C99 式的十六進位浮點常數"
-#: expr.c:602
+#: expr.c:686
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "浮點常數的「%.*s」字尾無效"
-#: expr.c:613 expr.c:673
+#: expr.c:697 expr.c:757
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "傳統 C 不接受「%.*s」字尾"
-#: expr.c:621
+#: expr.c:705
msgid "suffix for double constant is a GCC extension"
msgstr "雙倍精度常數字尾是 GCC 的擴充功能"
-#: expr.c:627
+#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "無效的十六進位浮點常數字尾「%.*s」"
-#: expr.c:638
+#: expr.c:722
msgid "decimal float constants are a GCC extension"
msgstr "十進位浮點數常數是 GCC 的擴充功能"
-#: expr.c:656
+#: expr.c:740
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "整數常數的「%.*s」字尾無效"
-#: expr.c:681
+#: expr.c:765
msgid "use of C++11 long long integer constant"
msgstr "使用 C++11 long long 整數常數"
-#: expr.c:682
+#: expr.c:766
msgid "use of C99 long long integer constant"
msgstr "使用 C99 long long 整數常數"
-#: expr.c:698
+#: expr.c:782
msgid "imaginary constants are a GCC extension"
msgstr "虛數常數是 GCC 的擴充功能"
-#: expr.c:704
+#: expr.c:788
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "二進位常數是 C++14 特色或 GCC 的擴充功能"
-#: expr.c:706
+#: expr.c:790
msgid "binary constants are a GCC extension"
msgstr "二進位常數是 GCC 的擴充功能"
-#: expr.c:801
+#: expr.c:885
msgid "integer constant is too large for its type"
msgstr "整數常數值超出其類型"
-#: expr.c:832
+#: expr.c:916
msgid "integer constant is so large that it is unsigned"
msgstr "整數常數太大,認定為 unsigned"
-#: expr.c:927
+#: expr.c:1011
msgid "missing ')' after \"defined\""
msgstr "「defined」 後缺少「)」"
-#: expr.c:934
+#: expr.c:1018
msgid "operator \"defined\" requires an identifier"
msgstr "運算子「defined」需要一個識別字"
-#: expr.c:942
+#: expr.c:1026
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(在 C++ 中「%s」會是「%s」的替代識別字)"
-#: expr.c:952
+#: expr.c:1038
msgid "this use of \"defined\" may not be portable"
msgstr "使用「defined」可能不利於移植"
-#: expr.c:1012
+#: expr.c:1098
msgid "user-defined literal in preprocessor expression"
msgstr "在前置處理器運算式中有使用者定義的實字"
-#: expr.c:1017
+#: expr.c:1103
msgid "floating constant in preprocessor expression"
msgstr "浮點常數出現在預先處理運算式中"
-#: expr.c:1023
+#: expr.c:1109
msgid "imaginary number in preprocessor expression"
msgstr "預先處理運算式中出現虛數"
-#: expr.c:1076
-#, c-format
-msgid "\"%s\" is not defined"
+#: expr.c:1162
+#, fuzzy, c-format
+#| msgid "\"%s\" is not defined"
+msgid "\"%s\" is not defined, evaluates to 0"
msgstr "「%s」未定義"
-#: expr.c:1089
+#: expr.c:1175
msgid "assertions are a GCC extension"
msgstr "assertions 是 GCC 的擴充功能"
-#: expr.c:1092
+#: expr.c:1178
msgid "assertions are a deprecated extension"
msgstr "assertions 是不宜再用的擴充功能"
-#: expr.c:1338
+#: expr.c:1424
#, c-format
msgid "unbalanced stack in %s"
msgstr "%s 中的堆疊不平衡"
-#: expr.c:1358
+#: expr.c:1444
#, c-format
msgid "impossible operator '%u'"
msgstr "不可能的運算子「%u」"
-#: expr.c:1459
+#: expr.c:1545
msgid "missing ')' in expression"
msgstr "運算式中缺少「)」"
-#: expr.c:1488
+#: expr.c:1574
msgid "'?' without following ':'"
msgstr "「?」後沒有「:」"
-#: expr.c:1498
+#: expr.c:1584
msgid "integer overflow in preprocessor expression"
msgstr "預先處理運算式中整數溢出"
-#: expr.c:1503
+#: expr.c:1589
msgid "missing '(' in expression"
msgstr "運算式中缺少「(」"
-#: expr.c:1535
+#: expr.c:1621
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "「%s」的左運算元在提升時變換了符號"
-#: expr.c:1540
+#: expr.c:1626
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "「%s」的右運算元在提升時變換了符號"
-#: expr.c:1799
+#: expr.c:1885
msgid "traditional C rejects the unary plus operator"
msgstr "傳統 C 不接受單元 + 運算子"
-#: expr.c:1897
+#: expr.c:1983
msgid "comma operator in operand of #if"
msgstr "#if 運算元中出現逗號"
-#: expr.c:2033
+#: expr.c:2119
msgid "division by zero in #if"
msgstr "#if 中用零做除數"
-#: expr.c:2130
+#: expr.c:2216
msgid "operator \"__has_include__\" requires a header string"
msgstr "運算子「__has_include__」需要一個標頭字串"
-#: expr.c:2146
+#: expr.c:2232
msgid "missing ')' after \"__has_include__\""
msgstr "「__has_include__」 後缺少「)」"
-#: files.c:513
-msgid "NULL directory in find_file"
-msgstr "find_file 中有 NULL 目錄"
-
-#: files.c:564
+#: files.c:573
msgid "one or more PCH files were found, but they were invalid"
msgstr "找到一個或多個 PCH 檔案,但它們是無效的"
-#: files.c:567
+#: files.c:576
msgid "use -Winvalid-pch for more information"
msgstr "使用 -Winvalid-pch 以獲得更多資訊"
-#: files.c:671
-#, c-format
-msgid "%s is a block device"
-msgstr "%s 是一個區塊裝置"
-
-#: files.c:688
-#, c-format
-msgid "%s is too large"
-msgstr "%s 過大"
-
-#: files.c:728
-#, c-format
-msgid "%s is shorter than expected"
-msgstr "%s 短於預期"
-
-#: files.c:964
+#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "沒有包含路徑可供搜尋 %s"
-#: files.c:1419
+#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "多個防止重包含可能對其有用:\n"
-#: init.c:549
+#: init.c:553
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t 必須是無號類型"
-#: init.c:553
+#: init.c:557
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "預先處理算術的最高精度為 %lu 位;目標需要 %lu 位"
-#: init.c:560
+#: init.c:564
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP 算術必須至少具有目標 int 的精度"
-#: init.c:563
+#: init.c:567
msgid "target char is less than 8 bits wide"
msgstr "目標 char 短於 8 位"
-#: init.c:567
+#: init.c:571
msgid "target wchar_t is narrower than target char"
msgstr "目標 wchar_t 短於目標 char"
-#: init.c:571
+#: init.c:575
msgid "target int is narrower than target char"
msgstr "目標 int 短於目標 char"
-#: init.c:576
+#: init.c:580
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP 半整數短於 CPP 字元"
-#: init.c:580
+#: init.c:584
#, 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 位"
-#: lex.c:1029
+#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "反斜線和換列為空格所分隔"
-#: lex.c:1034
+#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "反斜線-換列出現在檔案末尾"
-#: lex.c:1050
+#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "三元符 ??%c 轉換為 %c"
-#: lex.c:1058
+#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "三元符 ??%c 被忽略,請使用 -trigraphs 來啟用"
-#: lex.c:1107
+#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "「/*」出現在註釋中"
-#: lex.c:1165
+#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "預先處理指令中出現 %s"
-#: lex.c:1174
+#: lex.c:1271
msgid "null character(s) ignored"
msgstr "忽略空字元"
-#: lex.c:1211
+#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "「%.*s」不在 NFKC 中"
-#: lex.c:1214
+#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "「%.*s」不在 NFC 中"
-#: lex.c:1284 lex.c:1373
+#: lex.c:1381 lex.c:1470
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "試圖使用已加料的「%s」"
-#: lex.c:1294 lex.c:1383
+#: lex.c:1391 lex.c:1480
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ 只能出現在 C++11 可變參數巨集的展開中"
-#: lex.c:1298 lex.c:1387
+#: lex.c:1395 lex.c:1484
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ 只能出現在 C99 可變參數巨集的展開中"
-#: lex.c:1305 lex.c:1394
+#: lex.c:1402 lex.c:1491
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "識別碼「%s」在 C++ 中是特殊運算子名稱"
-#: lex.c:1684
+#: lex.c:1781
msgid "raw string delimiter longer than 16 characters"
msgstr "原始字串分隔符號長度超過 16 字元"
-#: lex.c:1688
+#: lex.c:1785
msgid "invalid new-line in raw string delimiter"
msgstr "無效的新列字元出現於原始字串分隔符號"
-#: lex.c:1692
+#: lex.c:1789
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "無效字元『%c』出現於原始字串分隔符號"
-#: lex.c:1741 lex.c:1763
+#: lex.c:1838 lex.c:1860
msgid "unterminated raw string"
msgstr "未終結的原始字串"
-#: lex.c:1784 lex.c:1914
+#: lex.c:1881 lex.c:2011
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "無效的實字後綴;C++11 要求一個空白位於實字和字串巨集之間"
-#: lex.c:1896
+#: lex.c:1993
msgid "null character(s) preserved in literal"
msgstr "空字元將保留在原文中"
-#: lex.c:1899
+#: lex.c:1996
#, c-format
msgid "missing terminating %c character"
msgstr "缺少終止 %c 字元"
-#: lex.c:1932
+#: lex.c:2029
#, 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:2474 lex.c:2508
+#: lex.c:2833 lex.c:2867
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++ 風格的註釋在 ISO C90 中不被允許"
-#: lex.c:2476 lex.c:2487 lex.c:2510
+#: lex.c:2835 lex.c:2846 lex.c:2869
msgid "(this will be reported only once per input file)"
msgstr "(此警告為每個輸入檔案只報告一次)"
-#: lex.c:2485
+#: lex.c:2844
msgid "C++ style comments are incompatible with C90"
msgstr "C++ 風格的註釋與 C90 不相容"
-#: lex.c:2516
+#: lex.c:2875
msgid "multi-line comment"
msgstr "多列註釋"
-#: lex.c:2873
+#: lex.c:3248
#, c-format
msgid "unspellable token %s"
msgstr "無法拼出的識別字 %s"
@@ -788,7 +775,7 @@ msgstr "無法拼出的識別字 %s"
msgid "macro \"%s\" is not used"
msgstr "巨集「%s」未被使用"
-#: macro.c:242 macro.c:477
+#: macro.c:242 macro.c:488
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "無效的內建巨集「%s」"
@@ -802,168 +789,168 @@ msgstr "巨集「%s」也許會阻止可重製的組建"
msgid "could not determine file timestamp"
msgstr "無法決定檔案時間戳記"
-#: macro.c:384
+#: macro.c:395
msgid "could not determine date and time"
msgstr "無法決定日期與時間"
-#: macro.c:400
+#: macro.c:411
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ 以 -fdirectives-only 在指令內部展開"
-#: macro.c:588
+#: macro.c:599
msgid "invalid string literal, ignoring final '\\'"
msgstr "無效的原文字串,忽略最後的「\\」"
-#: macro.c:650
+#: macro.c:661
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "粘貼「%s」和「%s」不能給出一個有效的預先處理識別字"
-#: macro.c:774
+#: macro.c:785
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 需要至少一個引數做為可變巨集中的「...」"
-#: macro.c:778
+#: macro.c:789
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 需要至少一個引數做為可變巨集中的「...」"
-#: macro.c:785
+#: macro.c:796
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "巨集「%s」需要 %u 個引數,但只給出了 %u 個"
-#: macro.c:790
+#: macro.c:801
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "巨集「%s」傳遞了 %u 個引數,但只需要 %u 個"
-#: macro.c:984 traditional.c:819
+#: macro.c:995 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "呼叫巨集「%s」時引數清單未終止"
-#: macro.c:1135
+#: macro.c:1146
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "類似函式的巨集「%s」在傳統 C 中必須與引數一起使用"
-#: macro.c:1825
+#: macro.c:1836
#, 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:1833 macro.c:1842
+#: macro.c:1844 macro.c:1853
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "調用巨集 %s 引數 %d:空的巨集引數在 ISO C90 中未定義"
-#: macro.c:2806
+#: macro.c:2817
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "重複的巨集參數「%s」"
-#: macro.c:2855
+#: macro.c:2866
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "「%s」不能出現在巨集參數清單中"
-#: macro.c:2863
+#: macro.c:2874
msgid "macro parameters must be comma-separated"
msgstr "巨集參數必須由逗號隔開"
-#: macro.c:2881
+#: macro.c:2893
msgid "parameter name missing"
msgstr "缺少參數名"
-#: macro.c:2902
+#: macro.c:2914
msgid "anonymous variadic macros were introduced in C++11"
msgstr "匿名可變參數巨集在 C++11 中被引入"
-#: macro.c:2906 macro.c:2911
+#: macro.c:2918 macro.c:2923
msgid "anonymous variadic macros were introduced in C99"
msgstr "匿名可變參數巨集在 C99 中被引入"
-#: macro.c:2918
+#: macro.c:2930
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ 不允許具名的可變參數巨集"
-#: macro.c:2921
+#: macro.c:2933
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C 不允許具名的可變參數巨集"
-#: macro.c:2931
+#: macro.c:2943
msgid "missing ')' in macro parameter list"
msgstr "在巨集參數表中缺少「)」"
-#: macro.c:2982
+#: macro.c:2994
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "「##」不能出現在巨集展開的兩端"
-#: macro.c:3019
+#: macro.c:3031
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 要求巨集名後必須有空白"
-#: macro.c:3022
+#: macro.c:3034
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 要求巨集名後必須有空白"
-#: macro.c:3047
+#: macro.c:3059
msgid "missing whitespace after the macro name"
msgstr "巨集名後缺少空白"
-#: macro.c:3081
+#: macro.c:3093
msgid "'#' is not followed by a macro parameter"
msgstr "「#」後沒有巨集參數"
-#: macro.c:3242
+#: macro.c:3254
#, c-format
msgid "\"%s\" redefined"
msgstr "「%s」重定義"
-#: macro.c:3247
+#: macro.c:3259
msgid "this is the location of the previous definition"
msgstr "這是先前定義的位置"
-#: macro.c:3308
+#: macro.c:3320
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "巨集引數「%s」將在傳統 C 中被字串化"
-#: macro.c:3344
+#: macro.c:3356
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "cpp_macro_definition 中有無效的雜湊類型 %d"
-#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
+#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "在寫入預先編譯標頭時"
-#: pch.c:619
+#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s:未使用因為『%.*s』是有害的"
-#: pch.c:641
+#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s:未使用,因為「%.*s」未定義"
-#: pch.c:653
+#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s:未使用,因為「%.*s」被定義為「%s」而非「%*.s」"
-#: pch.c:694
+#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s:未使用,因為「%s」已定義"
-#: pch.c:714
+#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s:未使用因為『__COUNTER__』無效"
-#: pch.c:723 pch.c:900
+#: pch.c:725 pch.c:902
msgid "while reading precompiled header"
msgstr "在讀取預先編譯標頭時"
@@ -976,5 +963,17 @@ msgstr "展開巨集「%s」時偵測到遞迴"
msgid "syntax error in macro parameter list"
msgstr "巨集參數清單語法錯誤"
+#~ msgid "NULL directory in find_file"
+#~ msgstr "find_file 中有 NULL 目錄"
+
+#~ msgid "%s is a block device"
+#~ msgstr "%s 是一個區塊裝置"
+
+#~ msgid "%s is too large"
+#~ msgstr "%s 過大"
+
+#~ msgid "%s is shorter than expected"
+#~ msgstr "%s 短於預期"
+
#~ msgid "Character %x might not be NFKC"
#~ msgstr "字元 %x 可能不是 NFKC"
diff --git a/libcpp/symtab.c b/libcpp/symtab.c
index 2849929c91..3ec063ae4e 100644
--- a/libcpp/symtab.c
+++ b/libcpp/symtab.c
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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/system.h b/libcpp/system.h
index e89131e900..e4ac4ea228 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-2016 Free Software Foundation, Inc.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
This file is part of GCC.
@@ -375,9 +375,12 @@ extern void abort (void);
??? C99 designated initializers are not supported by most C++
compilers, including G++. -- gdr, 2005-05-18 */
#if !defined(HAVE_DESIGNATED_INITIALIZERS)
+#ifdef __cplusplus
+#define HAVE_DESIGNATED_INITIALIZERS 0
+#else
#define HAVE_DESIGNATED_INITIALIZERS \
- (!defined(__cplusplus) \
- && ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)))
+ ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
+#endif
#endif
#ifndef offsetof
diff --git a/libcpp/traditional.c b/libcpp/traditional.c
index aaf7378e2f..e6004357ca 100644
--- a/libcpp/traditional.c
+++ b/libcpp/traditional.c
@@ -1,5 +1,5 @@
/* CPP Library - traditional lexical analysis and macro expansion.
- Copyright (C) 2002-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2017 Free Software Foundation, Inc.
Contributed by Neil Booth, May 2002
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h
index 3277793a1e..147e728c06 100644
--- a/libcpp/ucnid.h
+++ b/libcpp/ucnid.h
@@ -1,5 +1,5 @@
/* Unicode characters and various properties.
- Copyright (C) 2003-2016 Free Software Foundation, Inc.
+ Copyright (C) 2003-2017 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 618e2ce454..fca3bcdb18 100644
--- a/libcpp/ucnid.tab
+++ b/libcpp/ucnid.tab
@@ -1,5 +1,5 @@
; Table of UCNs which are valid in identifiers.
-; Copyright (C) 2003-2016 Free Software Foundation, Inc.
+; Copyright (C) 2003-2017 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