History

gcc-9.1

Wolfgang Thaller committed 7 years ago

Commit 6fbf4221 parent ec13cc931387 files · +2442466 −1054331Browse files

Showing the changes to gcc/libcpp (73 of 31387 files). Show all

Unified · Split

73 files
  1. gcc/libcpp/ChangeLog +457 −9
  2. gcc/libcpp/Makefile.in +3 −4
  3. gcc/libcpp/aclocal.m4 +4 −5
  4. gcc/libcpp/charset.c +18 −16
  5. gcc/libcpp/config.in +5 −0
  6. gcc/libcpp/configure +566 −484
  7. gcc/libcpp/configure.ac +1 −2
  8. gcc/libcpp/directives-only.c +2 −2
  9. gcc/libcpp/directives.c +142 −209
  10. gcc/libcpp/errors.c +42 −34
  11. gcc/libcpp/expr.c +12 −28
  12. gcc/libcpp/files.c +42 −28
  13. gcc/libcpp/identifiers.c +3 −3
  14. gcc/libcpp/include/cpp-id-data.h +0 −82
  15. gcc/libcpp/include/cpplib.h +238 −150
  16. gcc/libcpp/include/line-map.h +310 −210
  17. gcc/libcpp/include/mkdeps.h +1 −1
  18. gcc/libcpp/include/symtab.h +1 −1
  19. gcc/libcpp/init.c +9 −5
  20. gcc/libcpp/internal.h +51 −28
  21. gcc/libcpp/lex.c +44 −24
  22. gcc/libcpp/line-map.c +293 −305
  23. gcc/libcpp/location-example.txt +196 −151
  24. gcc/libcpp/macro.c +429 −409
  25. gcc/libcpp/makeucnid.c +2 −2
  26. gcc/libcpp/mkdeps.c +1 −1
  27. gcc/libcpp/pch.c +51 −76
  28. gcc/libcpp/po/ChangeLog +32 −6
  29. gcc/libcpp/po/be.gmo +0 −0
  30. gcc/libcpp/po/be.po +163 −166
  31. gcc/libcpp/po/ca.gmo +0 −0
  32. gcc/libcpp/po/ca.po +180 −165
  33. gcc/libcpp/po/cpplib.pot +157 −157
  34. gcc/libcpp/po/da.gmo +0 −0
  35. gcc/libcpp/po/da.po +184 −169
  36. gcc/libcpp/po/de.gmo +0 −0
  37. gcc/libcpp/po/de.po +183 −168
  38. gcc/libcpp/po/el.gmo +0 −0
  39. gcc/libcpp/po/el.po +163 −170
  40. gcc/libcpp/po/eo.po +185 −170
  41. gcc/libcpp/po/es.gmo +0 −0
  42. gcc/libcpp/po/es.po +182 −165
  43. gcc/libcpp/po/fi.gmo +0 −0
  44. gcc/libcpp/po/fi.po +185 −170
  45. gcc/libcpp/po/fr.gmo +0 −0
  46. gcc/libcpp/po/fr.po +183 −168
  47. gcc/libcpp/po/id.gmo +0 −0
  48. gcc/libcpp/po/id.po +182 −165
  49. gcc/libcpp/po/ja.gmo +0 −0
  50. gcc/libcpp/po/ja.po +182 −165
  51. gcc/libcpp/po/nl.gmo +0 −0
  52. gcc/libcpp/po/nl.po +182 −165
  53. gcc/libcpp/po/pt_BR.po +184 −169
  54. gcc/libcpp/po/ru.gmo +0 −0
  55. gcc/libcpp/po/ru.po +183 −168
  56. gcc/libcpp/po/sr.po +182 −165
  57. gcc/libcpp/po/sv.gmo +0 −0
  58. gcc/libcpp/po/sv.po +169 −169
  59. gcc/libcpp/po/tr.gmo +0 −0
  60. gcc/libcpp/po/tr.po +182 −165
  61. gcc/libcpp/po/uk.gmo +0 −0
  62. gcc/libcpp/po/uk.po +184 −169
  63. gcc/libcpp/po/vi.gmo +0 −0
  64. gcc/libcpp/po/vi.po +183 −166
  65. gcc/libcpp/po/zh_CN.gmo +0 −0
  66. gcc/libcpp/po/zh_CN.po +182 −165
  67. gcc/libcpp/po/zh_TW.gmo +0 −0
  68. gcc/libcpp/po/zh_TW.po +182 −165
  69. gcc/libcpp/symtab.c +23 −14
  70. gcc/libcpp/system.h +5 −1
  71. gcc/libcpp/traditional.c +51 −42
  72. gcc/libcpp/ucnid.h +1 −1
  73. gcc/libcpp/ucnid.tab +1 −1
gcc/libcpp/ChangeLog+457−9
@@ -1,10 +1,458 @@
12018-07-26 Release Manager12019-05-03 Release Manager
2 2
3 * GCC 8.2.0 released.3 * GCC 9.1.0 released.
4 4
52018-05-02 Release Manager52019-04-03 Jonathan Wakely <jwakely@redhat.com>
6 6
7 * GCC 8.1.0 released.7 * files.c (search_path_exhausted): Fix typo in comment.
8
92019-02-26 Martin Liska <mliska@suse.cz>
10
11 * symtab.c (ht_dump_statistics): Make
12 horizontal alignment for statistics.
13
142019-02-20 David Malcolm <dmalcolm@redhat.com>
15
16 PR c/89410
17 * include/line-map.h (linenum_arith_t): New typedef.
18 (compare): Use it.
19
202019-02-18 Martin Liska <mliska@suse.cz>
21
22 PR c++/89383
23 * line-map.c (linemap_line_start): Use 1UL in order
24 to not overflow.
25
262019-02-11 Martin Liska <mliska@suse.cz>
27
28 PR lto/88147
29 * line-map.c (linemap_line_start): Don't reuse the existing line
30 map if the line offset is sufficiently large to cause overflow
31 when computing location_t values.
32
332019-01-26 Jakub Jelinek <jakub@redhat.com>
34
35 PR preprocessor/88974
36 * directives.c (SEEN_EOL): Move macro to ...
37 * internal.h (SEEN_EOL): ... here.
38 * expr.c (parse_has_include): Don't cpp_get_token if SEEN_EOL ().
39
402019-01-01 Jakub Jelinek <jakub@redhat.com>
41
42 Update copyright years.
43
442018-11-27 Mike Gulick <mgulick@mathworks.com>
45
46 PR preprocessor/83173
47 * location-example.txt: Update example -fdump-internal-locations
48 output.
49
502018-11-27 Mike Gulick <mgulick@mathworks.com>
51
52 PR preprocessor/83173
53 * files.c (_cpp_stack_include): Check if
54 line_table->highest_location is past current line before
55 decrementing.
56
572018-11-13 David Malcolm <dmalcolm@redhat.com>
58
59 * charset.c: Replace "source_location" with "location_t".
60 * directives-only.c: Likewise.
61 * directives.c: Likewise.
62 * errors.c: Likewise.
63 * expr.c: Likewise.
64 * files.c: Likewise.
65 * include/cpplib.h: Likewise. Rename MAX_SOURCE_LOCATION to
66 MAX_LOCATION_T.
67 * include/line-map.h: Likewise.
68 * init.c: Likewise.
69 * internal.h: Likewise.
70 * lex.c: Likewise.
71 * line-map.c: Likewise.
72 * location-example.txt: Likewise.
73 * macro.c: Likewise.
74 * pch.c: Likewise.
75 * traditional.c: Likewise.
76
772018-11-07 Hafiz Abid Qadeer <abidh@codesourcery.com>
78
79 * configure: Regenerated.
80
812018-11-05 Martin Liska <mliska@suse.cz>
82
83 * symtab.c (ht_dump_statistics): Replace %zu with %lu format.
84
852018-11-05 Martin Liska <mliska@suse.cz>
86
87 * symtab.c (ht_dump_statistics): Fix format and
88 pass missing argument.
89
902018-11-05 Martin Liska <mliska@suse.cz>
91
92 * symtab.c (ht_dump_statistics): Make dump conditional
93 based on alloc_subobject.
94
952018-10-31 Joseph Myers <joseph@codesourcery.com>
96
97 PR bootstrap/82856
98 * configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE.
99 * aclocal.m4, config.in, configure: Regenerate.
100
1012018-10-31 Nathan Sidwell <nathan@acm.org>
102
103 * internal.h (struct cpp_reader): Rename forced_token_location_p
104 to forced_token_location and drop its pointerness.
105 * include/cpplib.h (cpp_force_token_locations): Take location, not
106 pointer to one.
107 * init.c (cpp_create_reader): Adjust.
108 * lex.c (cpp_read_main_file):
109
110 * directives.c (do_include_common): Commonize cleanup path.
111 (_cpp_pop_buffer): Fix leak.
112
113 * include/line-map.h (IS_ORDINARY_LOC, IS_MACRO_LOC): New
114 predicates.
115 (IS_ADHOC_LOC): Move earlier.
116 (MAP_ORDINARY_P): Use IS_ORDINARY_LOC.
117 * line-map.c (linemap_location_from_macro_expansion_p): Use
118 IS_MACRO_LOC.
119
120 * include/cpplib.h (cpp_macro_definition_location): Make inline.
121 * macro.c (warn_of_redefinition): Fix comments, examine macro
122 type, use C++ for.
123 (cpp_macro_definition_location): Don't define here.
124
125 * include/cpplib.h (HT_NODE): Don't cast NODE.
126 (NODE_LEN, NODE_NAME): Use HT_NODE.
127
128 * directives.c (DIRECTIVE_TABLE): Drop historical frequency
129 comments.
130 * files.c (_cpp_stack_file): Fix indentation.
131
1322018-10-17 Joseph Myers <joseph@codesourcery.com>
133
134 * include/cpplib.h (enum c_lang): Add CLK_GNUC2X and CLK_STDC2X.
135 * init.c (lang_defaults): Add GNUC2X and STDC2X entries.
136 (cpp_init_builtins): Define __STDC_VERSION__ to 202000L for C2X.
137
1382018-10-11 David Malcolm <dmalcolm@redhat.com>
139
140 * macro.c (_cpp_arguments_ok): If the argument count is wrong, add
141 a note showing the definition of the macro.
142
1432018-10-11 Nathan Sidwell <nathan@acm.org>
144
145 * include/line-map.h (LINEMAPS_MACRO_LOWEST_LOCATION): Fix
146 off-by-one error.
147 * line-map.c (linemap_enter_macro): Use RAII. Clear all of the
148 macro_locations.
149
1502018-10-09 David Malcolm <dmalcolm@redhat.com>
151
152 * charset.c (noop_error_cb): Rename to...
153 (noop_diagnostic_cb): ...this, converting params to enums.
154 (cpp_interpret_string_ranges): Update for renaming and enums.
155 * directives.c (check_eol_1): Convert reason to enum.
156 (do_diagnostic): Convert code and reason to enum.
157 (do_error): Use CPP_W_NONE rather than 0.
158 (do_pragma_dependency): Likewise.
159 * errors.c (cpp_diagnostic_at): Convert level and reason to enums.
160 Update for renaming.
161 (cpp_diagnostic): Convert level and reason to enums.
162 (cpp_error): Convert level to enum.
163 (cpp_warning): Convert reason to enums.
164 (cpp_pedwarning): Likewise.
165 (cpp_warning_syshdr): Likewise.
166 (cpp_diagnostic_with_line): Convert level and reason to enums.
167 Update for renaming.
168 (cpp_error_with_line): Convert level to enum.
169 (cpp_warning_with_line): Convert reason to enums.
170 (cpp_pedwarning_with_line): Likewise.
171 (cpp_warning_with_line_syshdr): Likewise.
172 (cpp_error_at): Convert level to enum.
173 (cpp_errno): Likewise.
174 (cpp_errno_filename): Likewise.
175 * include/cpplib.h (enum cpp_diagnostic_level): Name this enum,
176 and move to before struct cpp_callbacks.
177 (enum cpp_warning_reason): Likewise.
178 (cpp_callbacks::diagnostic): Convert params from int to enums.
179 (cpp_error): Convert int param to enum cpp_diagnostic_level.
180 (cpp_warning): Convert int param to enum cpp_warning_reason.
181 (cpp_pedwarning): Likewise.
182 (cpp_warning_syshdr): Likewise.
183 (cpp_errno): Convert int param to enum cpp_diagnostic_level.
184 (cpp_errno_filename): Likewise.
185 (cpp_error_with_line): Likewise.
186 (cpp_warning_with_line): Convert int param to enum
187 cpp_warning_reason.
188 (cpp_pedwarning_with_line): Likewise.
189 (cpp_warning_with_line_syshdr): Likewise.
190 (cpp_error_at): Convert int param to enum cpp_diagnostic_level.
191 * macro.c (create_iso_definition): Convert int to enum.
192 (_cpp_create_definition): Likewise.
193
1942018-09-17 David Malcolm <dmalcolm@redhat.com>
195
196 * include/line-map.h (range_label::get_text): Add param
197 "range_idx".
198
1992018-08-30 Nathan Sidwell <nathan@acm.org>
200
201 * include/line-map.h (enum lc_reason): Comment each member
202 separately.
203 (struct line_maps): Fix reallocator comment.
204
2052018-08-27 David Malcolm <dmalcolm@redhat.com>
206
207 PR 87091
208 * include/line-map.h (enum range_display_kind): New enum.
209 (struct location_range): Replace field "m_show_caret_p" with
210 "m_range_display_kind", converting from bool to the new enum.
211 (class rich_location): Add example of line insertion fix-it hint.
212 (rich_location::add_range): Convert param "show_caret_p" from bool
213 to enum range_display_kind and rename to "range_display_kind",
214 giving it a default of SHOW_RANGE_WITHOUT_CARET.
215 (rich_location::set_range): Likewise, albeit without a default.
216 * line-map.c (rich_location::rich_location): Update for conversion
217 of show_caret_p to tri-state enum.
218 (rich_location::add_range): Likewise.
219 (rich_location::set_range): Likewise.
220
2212018-08-24 H.J. Lu <hongjiu.lu@intel.com>
222
223 PR bootstrap/86872
224 * line-map.c (pure_location_p): Return true if linemap_lookup
225 returns NULL.
226 (linemap_add): Set start_location to 0 if we run out of line map
227 space.
228
2292018-08-20 Nathan Sidwell <nathan@acm.org>
230
231 * include/cpplib.h: Fixup some whitespace.
232 (cpp_hashnode): Reduce type to 2 bit & flags to 8.
233
234 * include/cpplib.h (NODE_BUILTIN, NODE_MACRO_ARG): Delete.
235 Renumber others.
236 (enum node_type): Replace NT_MACRO with NT_USER_MACRO,
237 NT_BUILTIN_MACRO, NT_MACRO_ARG. Delete NT_ASSERTION.
238 (NTV_MACRO, NTV_ANSWER, NTV_BUILTIN, NTV_ARGUMENT, NTV_NONE):
239 Delete.
240 (CPP_HASHNODE_VALUE_IDX): Delete.
241 (union _cpp_hashnode_value): GTY tag from enum node_type directly.
242 (struct cpp_hashnode): Adjust GTY desc for value field.
243 (cpp_user_macro_p, cpp_builtin_macro_p, cpp_macro_p): Adjust.
244 * directives.c (undefine_macros): Clear value.anwers, adjust flag
245 clearing.
246 (_cpp_test_assertion): No need to check NT_ASSERTION.
247 (do_assert, do_unassert): Likewise.
248 * init.c (cpp_init_special_builtins): Set type not flags.
249 * macro.c (struct macro_arg_saved_data): Add type field.
250 (cpp_get_token_1): Check type not NT_VOID.
251 (_cpp_free_definition): Adjust flag clearing. Nullify
252 value.answers.
253 (_cpp_save_parameter, _cpp_unsave_parameters): Save and restore
254 type.
255 (lex_expansion_token): Check type not flags.
256 (_cpp_create_definition): Set type to NT_USER_MACRO.
257 (_cpp_notify_macro_use): Adjust type checking.
258 * pch.c (write_macdef, count_defs, write_defs, cpp_valid_state)
259 (save_macros): Adjust node type/flag handling.
260 * traditional.c (_cpp_scan_out_logical_line): Check type not flags.
261
262 * directives.c (do_undef): Use cpp_macro_p & cpp_builtin_macro_p.
263 * include/cpplib.h (enum cpp_macro_kind): Remove trailing comma.
264 (cpp_fun_like_macro_p): Make inline, define.
265 * macro.c (cpp_define_lazily): Use UCHAR_MAX.
266 (cpp_fun_like_macro_p): Delete.
267
268 * Makefile.in (TAGS_SOURCES): Remove cpp-id-data.h.
269 * include/cpp-id-data.h: Delete.
270 * internal.h: Include cpplib.h not cpp-id-data.h.
271
272 * include/cpp-id-data.h (struct answer): Delete.
273 * include/cpplib.h (struct answer): Don't forward-declare.
274 (enum cpp_macro_kind): Add cmk_assert.
275 (struct cpp_macro): Union parms and next assert chain.
276 (union _cpp_hashnode_value): 'answer' field is cpp_macro.
277 * directives.c (parse_answer): Convert to use cpp_macro. Return
278 true on success.
279 (parse_assertion, find_answer, _cpp_test_assertion, cpp_do_assert)
280 (cpp_do_unassert): Convert to use cpp_macro.
281 * macro.c (warn_of_redefinition, _cpp_new_macro)
282 (check_trad_stringification, cpp_macro_definition): Adjust macro
283 parm access.
284 * traditional.c (_cpp_replacement_text_len)
285 (_cpp_copy_replacement_text, _cpp_create_trad_definition): Likewise.
286
2872018-08-17 Nathan Sidwell <nathan@acm.org>
288
289 * include/cpplib.h (struct cpp_callbacks): Replace
290 user_builtin_macro with user_lazy_macro.
291 (struct cpp_macro): add lazy field.
292 (enum cpp_builtin_type): Remove BT_FIRST_USER, BT_LAST_USER.
293 (cpp_define_lazily): Declare.
294 * macro.c (enter_macro_context) Use _cpp_maybe_notify_macro_use.
295 (warn_of_redefinition): Use cpp_builtin_macro_p, directly call
296 user_lazy_macro hook.
297 (_cpp_new_macro): Clear lazy field.
298 (cpp_define_lazily): Define.
299 (_cpp_notify_macro_use): Adjust lazy definition code.
300 (cpp_macro_definition): No need to do lazy definition here.
301 * pch.c (write_macdef, save_macros): Likewise.
302
303 * include/cpplib.h (enum cpp_macro_kind): New.
304 (struct cpp_macro): Make body trailing array. Add kind field,
305 delete traditional flag.
306 * internal.h (_cpp_new_macro): Declare.
307 (_cpp_reserve_room): New inline.
308 (_cpp_commit_buf): Declare.
309 (_cpp_create_trad_definition): Return new macro.
310 * lex.c (_cpp_commit_buff): New.
311 * macro.c (macro_real_token_count): Count backwards.
312 (replace_args): Pointer equality not orderedness.
313 (_cpp_save_parameter): Use _cpp_reserve_room.
314 (alloc_expansion_token): Delete.
315 (lex_expansion_token): Return macro pointer. Use _cpp_reserve_room.
316 (create_iso_definition): Allocate macro itself. Adjust for
317 different allocation ordering.
318 (_cpp_new_macro): New.
319 (_cpp_create_definition): Adjust for API changes.
320 * traditional.c (push_replacement_text): Don't set traditional
321 flag.
322 (save_replacement_text): Likewise.
323 (_cpp_create_trad_definition): Allocate macro itself, Adjust for
324 different allocation ordering.
325
326 * cpp-id-data.h (uchar, UC): Move to internal.h
327 (struct cpp_macro): Move to cpplib.h.
328 * internal.h (uchar, UC): From cpp-id-data.h.
329 * include/cpplib.h (struct cpp_macro): From cpp-id-data.h.
330
3312018-08-16 Nathan Sidwell <nathan@acm.org>
332
333 * internal.h (_cpp_save_parameter): Take parmno, not macro.
334 (_cpp_unsave_parameters): Declare.
335 * macro.c (_cpp_save_parameter): Take parm number, not macro.
336 Return true on success.
337 (_cpp_unsave_parameters): New.
338 (parse_params): Take parm_no and variadic pointers, not macro.
339 Reimplement parsing logic.
340 (create_iso_definition): Adjust parse_params changes. Call
341 _cpp_unsave_parameters here.
342 (_cpp_create_definition): Don't unsave params here.
343 * traditional.c (scan_parameters): Take n_param pointer, adjust.
344 (_cpp_create_trad_definition): Ajust scan_parameters change. Call
345 _cpp_unsave_parameters.
346
347 * include/cpplib.h (cpp_user_macro_p, cpp_builtin_macro_p)
348 (cpp_macro_p): New inlines.
349 * directives.c (do_pragma_poison): Use cpp_macro_p.
350 (do_ifdef, do_ifndef): Likewise. Use _cpp_maybe_notify_macro_use.
351 (cpp_pop_definition): Use cpp_macro_p. Move _cpp_free_definition
352 earlier. Don't zap node directly.
353 * expr.c (parse_defined): Use _cpp_maybe_notify_macro_use &
354 cpp_macro_p.
355 * files.c (should_stack_file): Use cpp_macro_p.
356 * identifiers.c (cpp_defined): Likewise.
357 * internal.h (_cpp_mark_macro): Use cpp_user_macro_p.
358 (_cpp_notify_macro_use): Declare.
359 (_cpp_maybe_notify_macro_use): New inline.
360 * lex.c (is_macro): Use cpp_macro_p.
361 * macro.c (_cpp_warn_if_unused_macro): Use cpp_user_macro_p.
362 (enter_macro_context): Likewise.
363 (_cpp_create_definition): Use cpp_builtin_macro_p,
364 cpp_user_macro_p. Move _cpp_free_definition earlier.
365 (_cpp_notify_macro_use): New, broken out of multiple call sites.
366 * traditional.c (fun_like_macro_p): Use cpp_builtin_macro_p.
367 (maybe_start_funlike, _cpp_scan_out_logical_line)
368 (push_replacement_text): Likewise.
369
3702018-08-15 David Malcolm <dmalcolm@redhat.com>
371
372 * include/line-map.h (struct location_range): Add "m_label" field.
373 (class rich_location): Add description of labels to leading
374 comment.
375 (rich_location::rich_location): Add "label" param, defaulting to
376 NULL.
377 (rich_location::add_range): Likewise.
378 (struct label_text): New struct.
379 (class range_label): New abstract base class.
380 * line-map.c (rich_location::rich_location): Add "label" param;
381 use it.
382 (rich_location::add_range): Likewise.
383
3842018-08-08 Nathan Sidwell <nathan@acm.org>
385
386 Make linemap::included_from a location
387 libcpp/
388 * include/line-map.h (struct line_map_ordinary): Replace
389 included_from map index with included_at source_location.
390 (ORDINARY_MAP_INCLUDER_FILE_INDEX): Delete.
391 (LAST_SOURCE_LINE_LOCATION): Delete.
392 (LAST_SOURCE_LINE, LAST_SOURCE_COLUMN): Delete.
393 (linemap_included_from): New.
394 (linemap_included_from_linemap): Declare.
395 (MAIN_FILE_P): Adjust.
396 * line-map.c (linemap_included_from_linemap): New.
397 (lonemap_check_files_exited): Use linemap_included_at.
398 (linemap_add): Adjust inclusion setting.
399 (linemap_dump, linemap_dump_location): Adjust.
400 * directives.c (do_linemarker): Use linemap_included_at.
401
4022018-08-07 Nathan Sidwell <nathan@acm.org>
403
404 * line-map.c: (linemap_init): Set default allocator here.
405 (new_linemap): Rather than here. Refactor allocation logic.
406
4072018-07-20 David Malcolm <dmalcolm@redhat.com>
408
409 * include/line-map.h (rich_location::set_range): Remove redundant
410 line_maps * parameter.
411 * line-map.c (rich_location::set_range): Likewise.
412
4132018-07-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
414
415 PR 69558
416 * macro.c (enter_macro_context): Change the location info for builtin
417 macros and _Pragma from location of the closing parenthesis to location
418 of the macro expansion point.
419
4202018-07-17 Jason Franklin <j_fra@fastmail.us>
421 Jakub Jelinek <jakub@redhat.com>
422
423 * lex.c (_cpp_lex_direct): Use CPP_DL_NOTE instead of CPP_DL_PEDWARN,
424 CPP_DL_WARNING or CPP_DL_ERROR for note that diagnostics for C++ style
425 comments is reported only once per file and guard those calls on the
426 preceding cpp_error returning true.
427
4282018-07-03 Nathan Sidwell <nathan@acm.org>
429
430 Reorg line_map data structures for better packing.
431 * include/line-map.h (enum lc_reason): Add LC_HWM.
432 (LINE_MAP_MAX_LOCATION): Define here.
433 (struct line_map): Move reason field to line_map_ordinary. Adjust
434 GTY tagging.
435 (struct line_map_ordinary): Reorder fields for less padding.
436 (struct line_map_macro): Likewise.
437 (MAP_ORDINARY_P): New.
438 (linemap_check_ordinary, linemap_check_macro): Adjust.
439 * line-map.c (LINE_MAP_MAX_SOURCE_LOCATION): Delete.
440 (new_linemap): Take start_location, not reason. Adjust.
441 (linemap_add, linemap_enter_macro): Adjust.
442 (linemap_line_start): Likewise.
443 (linemap_macro_expansion_map_p): Use MAP_ORDINARY_P.
444 (linemap_macro_loc_to_spelling_point): Likewise.
445 (linemap_macro_loc_to_def_point): Likewise.
446 (linemap_dump): Likewise.
447
4482018-05-23 Jason Merrill <jason@redhat.com>
449
450 * system.h: #include <new> earlier.
451
4522018-05-17 Jason Merrill <jason@redhat.com>
453
454 * line-map.c (linemap_init): Use placement new.
455 * system.h: #include <new>.
8 456
92018-03-14 David Malcolm <dmalcolm@redhat.com>4572018-03-14 David Malcolm <dmalcolm@redhat.com>
10 458
@@ -52,10 +500,10 @@ · 41 unmodified lines
52 500
532018-01-18 Boris Kolpackov <boris@codesynthesis.com>5012018-01-18 Boris Kolpackov <boris@codesynthesis.com>
54 502
55 PR other/70268503 PR other/70268
56 * include/cpplib.h (cpp_callbacks::remap_filename): New callback.504 * include/cpplib.h (cpp_callbacks::remap_filename): New callback.
57 * macro.c (_cpp_builtin_macro_text): Call remap_filename for505 * macro.c (_cpp_builtin_macro_text): Call remap_filename for
58 __FILE__ and __BASE_FILE__.506 __FILE__ and __BASE_FILE__.
59 507
602018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>5082018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
61 509
@@ -5312,7 +5760,7 @@ · 5250 unmodified lines
5312 * include/symtab.h: Moved from gcc/hashtable.h. Change header5760 * include/symtab.h: Moved from gcc/hashtable.h. Change header
5313 guard name.5761 guard name.
5314 5762
5315Copyright (C) 2004-2018 Free Software Foundation, Inc.5763Copyright (C) 2004-2019 Free Software Foundation, Inc.
5316 5764
5317Copying and distribution of this file, with or without modification,5765Copying and distribution of this file, with or without modification,
5318are permitted in any medium without royalty provided the copyright5766are permitted in any medium without royalty provided the copyright
gcc/libcpp/Makefile.in+3−4
@@ -1,7 +1,7 @@
1# @configure_input@1# @configure_input@
2# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in2# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in
3 3
4# Copyright (C) 2004-2018 Free Software Foundation, Inc.4# Copyright (C) 2004-2019 Free Software Foundation, Inc.
5 5
6#This file is part of libcpp.6#This file is part of libcpp.
7 7
@@ -261,9 +261,8 @@ po/$(PACKAGE).pot: $(libcpp_a_SOURCES) · 253 unmodified lines
261 sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot261 sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
262 rm po/$(PACKAGE).pot.tmp262 rm po/$(PACKAGE).pot.tmp
263 263
264TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h ucnid.h \264TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h system.h ucnid.h \
265 include/line-map.h include/symtab.h include/cpp-id-data.h \265 include/cpplib.h include/line-map.h include/mkdeps.h include/symtab.h
266 include/cpplib.h include/mkdeps.h system.h
267 266
268TAGS: $(TAGS_SOURCES)267TAGS: $(TAGS_SOURCES)
269 cd $(srcdir) && etags $(TAGS_SOURCES)268 cd $(srcdir) && etags $(TAGS_SOURCES)
gcc/libcpp/aclocal.m4+4−5
@@ -1,8 +1,7 @@
1# generated automatically by aclocal 1.11.6 -*- Autoconf -*-1# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
2
3# Copyright (C) 1996-2017 Free Software Foundation, Inc.
2 4
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
5# Inc.
6# This file is free software; the Free Software Foundation5# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,6# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.7# with or without modifications, as long as this notice is preserved.
@@ -12,6 +11,7 @@ · 3 unmodified lines
12# even the implied warranty of MERCHANTABILITY or FITNESS FOR A11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13# PARTICULAR PURPOSE.12# PARTICULAR PURPOSE.
14 13
14m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15m4_include([../config/acx.m4])15m4_include([../config/acx.m4])
16m4_include([../config/codeset.m4])16m4_include([../config/codeset.m4])
17m4_include([../config/depstand.m4])17m4_include([../config/depstand.m4])
@@ -21,5 +21,4 @@ m4_include([../config/lead-dot.m4]) · 3 unmodified lines
21m4_include([../config/lib-ld.m4])21m4_include([../config/lib-ld.m4])
22m4_include([../config/lib-link.m4])22m4_include([../config/lib-link.m4])
23m4_include([../config/lib-prefix.m4])23m4_include([../config/lib-prefix.m4])
24m4_include([../config/override.m4])
25m4_include([../config/warnings.m4])24m4_include([../config/warnings.m4])
gcc/libcpp/charset.c+18−16
@@ -1,5 +1,5 @@
1/* CPP Library - charsets1/* CPP Library - charsets
2 Copyright (C) 1998-2018 Free Software Foundation, Inc.2 Copyright (C) 1998-2019 Free Software Foundation, Inc.
3 3
4 Broken out of c-lex.c Apr 2003, adding valid C99 UCN ranges.4 Broken out of c-lex.c Apr 2003, adding valid C99 UCN ranges.
5 5
@@ -1693,13 +1693,14 @@ cpp_interpret_string (cpp_reader *pfile, const cpp_string *from, size_t count, · 1687 unmodified lines
1693 return cpp_interpret_string_1 (pfile, from, count, to, type, NULL, NULL);1693 return cpp_interpret_string_1 (pfile, from, count, to, type, NULL, NULL);
1694}1694}
1695 1695
1696/* A "do nothing" error-handling callback for use by1696/* A "do nothing" diagnostic-handling callback for use by
1697 cpp_interpret_string_ranges, so that it can temporarily suppress1697 cpp_interpret_string_ranges, so that it can temporarily suppress
1698 error-handling. */1698 diagnostic-handling. */
1699 1699
1700static bool1700static bool
1701noop_error_cb (cpp_reader *, int, int, rich_location *,1701noop_diagnostic_cb (cpp_reader *, enum cpp_diagnostic_level,
1702 const char *, va_list *)1702 enum cpp_warning_reason, rich_location *,
1703 const char *, va_list *)
1703{1704{
1704 /* no-op. */1705 /* no-op. */
1705 return true;1706 return true;
@@ -1737,25 +1738,26 @@ cpp_interpret_string_ranges (cpp_reader *pfile, const cpp_string *from, · 31 unmodified lines
1737 return "execution character set != source character set";1738 return "execution character set != source character set";
1738 1739
1739 /* For on-demand strings we have already lexed the strings, so there1740 /* For on-demand strings we have already lexed the strings, so there
1740 should be no errors. However, if we have bogus source location1741 should be no diagnostics. However, if we have bogus source location
1741 data (or stringified macro arguments), the attempt to lex the1742 data (or stringified macro arguments), the attempt to lex the
1742 strings could fail with an error. Temporarily install an1743 strings could fail with an diagnostic. Temporarily install an
1743 error-handler to catch the error, so that it can lead to this call1744 diagnostic-handler to catch the diagnostic, so that it can lead to this call
1744 failing, rather than being emitted as a user-visible diagnostic.1745 failing, rather than being emitted as a user-visible diagnostic.
1745 If an error does occur, we should see it via the return value of1746 If an diagnostic does occur, we should see it via the return value of
1746 cpp_interpret_string_1. */1747 cpp_interpret_string_1. */
1747 bool (*saved_error_handler) (cpp_reader *, int, int, rich_location *,1748 bool (*saved_diagnostic_handler) (cpp_reader *, enum cpp_diagnostic_level,
1748 const char *, va_list *)1749 enum cpp_warning_reason, rich_location *,
1750 const char *, va_list *)
1749 ATTRIBUTE_FPTR_PRINTF(5,0);1751 ATTRIBUTE_FPTR_PRINTF(5,0);
1750 1752
1751 saved_error_handler = pfile->cb.error;1753 saved_diagnostic_handler = pfile->cb.diagnostic;
1752 pfile->cb.error = noop_error_cb;1754 pfile->cb.diagnostic = noop_diagnostic_cb;
1753 1755
1754 bool result = cpp_interpret_string_1 (pfile, from, count, NULL, type,1756 bool result = cpp_interpret_string_1 (pfile, from, count, NULL, type,
1755 loc_readers, out);1757 loc_readers, out);
1756 1758
1757 /* Restore the saved error-handler. */1759 /* Restore the saved diagnostic-handler. */
1758 pfile->cb.error = saved_error_handler;1760 pfile->cb.diagnostic = saved_diagnostic_handler;
1759 1761
1760 if (!result)1762 if (!result)
1761 return "cpp_interpret_string_1 failed";1763 return "cpp_interpret_string_1 failed";
@@ -2133,7 +2135,7 @@ _cpp_default_encoding (void) · 371 unmodified lines
2133/* Constructor for cpp_string_location_reader. */2135/* Constructor for cpp_string_location_reader. */
2134 2136
2135cpp_string_location_reader::2137cpp_string_location_reader::
2136cpp_string_location_reader (source_location src_loc,2138cpp_string_location_reader (location_t src_loc,
2137 line_maps *line_table)2139 line_maps *line_table)
2138: m_line_table (line_table)2140: m_line_table (line_table)
2139{2141{
gcc/libcpp/config.in+5−0
@@ -318,6 +318,11 @@ · 317 unmodified lines
318# endif318# endif
319#endif319#endif
320 320
321/* Enable large inode numbers on Mac OS X 10.5. */
322#ifndef _DARWIN_USE_64_BIT_INODE
323# define _DARWIN_USE_64_BIT_INODE 1
324#endif
325
321/* Number of bits in a file offset, on hosts where this is settable. */326/* Number of bits in a file offset, on hosts where this is settable. */
322#undef _FILE_OFFSET_BITS327#undef _FILE_OFFSET_BITS
323 328
gcc/libcpp/configure+566−484
@@ -1,12 +1,12 @@
1#! /bin/sh1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles.2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.64 for cpplib .3# Generated by GNU Autoconf 2.69 for cpplib .
4#4#
5# Report bugs to <gcc-bugs@gcc.gnu.org>.5# Report bugs to <gcc-bugs@gcc.gnu.org>.
6#6#
7# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,7#
8# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software8# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
9# Foundation, Inc.9#
10#10#
11# This configure script is free software; the Free Software Foundation11# This configure script is free software; the Free Software Foundation
12# gives unlimited permission to copy, distribute and modify it.12# gives unlimited permission to copy, distribute and modify it.
@@ -89,6 +89,7 @@ fi · 76 unmodified lines
89IFS=" "" $as_nl"89IFS=" "" $as_nl"
90 90
91# Find who we are. Look in the path if we contain no directory separator.91# Find who we are. Look in the path if we contain no directory separator.
92as_myself=
92case $0 in #((93case $0 in #((
93 *[\\/]* ) as_myself=$0 ;;94 *[\\/]* ) as_myself=$0 ;;
94 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR95 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -133,6 +134,31 @@ export LANGUAGE · 38 unmodified lines
133# CDPATH.134# CDPATH.
134(unset CDPATH) >/dev/null 2>&1 && unset CDPATH135(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
135 136
137# Use a proper internal environment variable to ensure we don't fall
138 # into an infinite loop, continuously re-executing ourselves.
139 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
140 _as_can_reexec=no; export _as_can_reexec;
141 # We cannot yet assume a decent shell, so we have to provide a
142# neutralization value for shells without unset; and this also
143# works around shells that cannot unset nonexistent variables.
144# Preserve -v and -x to the replacement shell.
145BASH_ENV=/dev/null
146ENV=/dev/null
147(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
148case $- in # ((((
149 *v*x* | *x*v* ) as_opts=-vx ;;
150 *v* ) as_opts=-v ;;
151 *x* ) as_opts=-x ;;
152 * ) as_opts= ;;
153esac
154exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
155# Admittedly, this is quite paranoid, since all the known shells bail
156# out after a failed `exec'.
157$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
158as_fn_exit 255
159 fi
160 # We don't want this to propagate to other subprocesses.
161 { _as_can_reexec=; unset _as_can_reexec;}
136if test "x$CONFIG_SHELL" = x; then162if test "x$CONFIG_SHELL" = x; then
137 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :163 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
138 emulate sh164 emulate sh
@@ -166,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : · 27 unmodified lines
166else192else
167 exitcode=1; echo positional parameters were not saved.193 exitcode=1; echo positional parameters were not saved.
168fi194fi
169test x\$exitcode = x0 || exit 1"195test x\$exitcode = x0 || exit 1
196test -x / || exit 1"
170 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO197 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
171 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO198 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
172 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&199 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -211,14 +238,25 @@ IFS=$as_save_IFS · 38 unmodified lines
211 238
212 239
213 if test "x$CONFIG_SHELL" != x; then :240 if test "x$CONFIG_SHELL" != x; then :
214 # We cannot yet assume a decent shell, so we have to provide a241 export CONFIG_SHELL
215 # neutralization value for shells without unset; and this also242 # We cannot yet assume a decent shell, so we have to provide a
216 # works around shells that cannot unset nonexistent variables.243# neutralization value for shells without unset; and this also
217 BASH_ENV=/dev/null244# works around shells that cannot unset nonexistent variables.
218 ENV=/dev/null245# Preserve -v and -x to the replacement shell.
219 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV246BASH_ENV=/dev/null
220 export CONFIG_SHELL247ENV=/dev/null
221 exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}248(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
249case $- in # ((((
250 *v*x* | *x*v* ) as_opts=-vx ;;
251 *v* ) as_opts=-v ;;
252 *x* ) as_opts=-x ;;
253 * ) as_opts= ;;
254esac
255exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
256# Admittedly, this is quite paranoid, since all the known shells bail
257# out after a failed `exec'.
258$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
259exit 255
222fi260fi
223 261
224 if test x$as_have_required = xno; then :262 if test x$as_have_required = xno; then :
@@ -317,10 +355,18 @@ $as_echo X"$as_dir" | · 92 unmodified lines
317 test -d "$as_dir" && break355 test -d "$as_dir" && break
318 done356 done
319 test -z "$as_dirs" || eval "mkdir $as_dirs"357 test -z "$as_dirs" || eval "mkdir $as_dirs"
320 } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"358 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
321 359
322 360
323} # as_fn_mkdir_p361} # as_fn_mkdir_p
362
363# as_fn_executable_p FILE
364# -----------------------
365# Test if FILE is an executable regular file.
366as_fn_executable_p ()
367{
368 test -f "$1" && test -x "$1"
369} # as_fn_executable_p
324# as_fn_append VAR VALUE370# as_fn_append VAR VALUE
325# ----------------------371# ----------------------
326# Append the text in VALUE to the end of the definition contained in VAR. Take372# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -357,19 +403,19 @@ else · 30 unmodified lines
357fi # as_fn_arith403fi # as_fn_arith
358 404
359 405
360# as_fn_error ERROR [LINENO LOG_FD]406# as_fn_error STATUS ERROR [LINENO LOG_FD]
361# ---------------------------------407# ----------------------------------------
362# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are408# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
363# provided, also output the error to LOG_FD, referencing LINENO. Then exit the409# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
364# script with status $?, using 1 if that was 0.410# script with STATUS, using 1 if that was 0.
365as_fn_error ()411as_fn_error ()
366{412{
367 as_status=$?; test $as_status -eq 0 && as_status=1413 as_status=$1; test $as_status -eq 0 && as_status=1
368 if test "$3"; then414 if test "$4"; then
369 as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack415 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
370 $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3416 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
371 fi417 fi
372 $as_echo "$as_me: error: $1" >&2418 $as_echo "$as_me: error: $2" >&2
373 as_fn_exit $as_status419 as_fn_exit $as_status
374} # as_fn_error420} # as_fn_error
375 421
@@ -442,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits · 66 unmodified lines
442 chmod +x "$as_me.lineno" ||488 chmod +x "$as_me.lineno" ||
443 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }489 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
444 490
491 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
492 # already done that, so ensure we don't try to do so again and fall
493 # in an infinite loop. This has already happened in practice.
494 _as_can_reexec=no; export _as_can_reexec
445 # Don't try to exec as it changes $[0], causing all sort of problems495 # Don't try to exec as it changes $[0], causing all sort of problems
446 # (the dirname of $[0] is not the place where we might find the496 # (the dirname of $[0] is not the place where we might find the
447 # original and so on. Autoconf is especially sensitive to this).497 # original and so on. Autoconf is especially sensitive to this).
@@ -476,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then · 28 unmodified lines
476 # ... but there are two gotchas:526 # ... but there are two gotchas:
477 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.527 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
478 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.528 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
479 # In both cases, we have to default to `cp -p'.529 # In both cases, we have to default to `cp -pR'.
480 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||530 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
481 as_ln_s='cp -p'531 as_ln_s='cp -pR'
482 elif ln conf$$.file conf$$ 2>/dev/null; then532 elif ln conf$$.file conf$$ 2>/dev/null; then
483 as_ln_s=ln533 as_ln_s=ln
484 else534 else
485 as_ln_s='cp -p'535 as_ln_s='cp -pR'
486 fi536 fi
487else537else
488 as_ln_s='cp -p'538 as_ln_s='cp -pR'
489fi539fi
490rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file540rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
491rmdir conf$$.dir 2>/dev/null541rmdir conf$$.dir 2>/dev/null
@@ -497,28 +547,8 @@ else · 5 unmodified lines
497 as_mkdir_p=false547 as_mkdir_p=false
498fi548fi
499 549
500if test -x / >/dev/null 2>&1; then550as_test_x='test -x'
501 as_test_x='test -x'551as_executable_p=as_fn_executable_p
502else
503 if ls -dL / >/dev/null 2>&1; then
504 as_ls_L_option=L
505 else
506 as_ls_L_option=
507 fi
508 as_test_x='
509 eval sh -c '\''
510 if test -d "$1"; then
511 test -d "$1/.";
512 else
513 case $1 in #(
514 -*)set "./$1";;
515 esac;
516 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
517 ???[sx]*):;;*)false;;esac;fi
518 '\'' sh
519 '
520fi
521as_executable_p=$as_test_x
522 552
523# Sed expression to map a string onto a valid CPP name.553# Sed expression to map a string onto a valid CPP name.
524as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"554as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -527,10 +557,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" · 2 unmodified lines
527as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"557as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
528 558
529 559
530exec 7<&0 </dev/null 6>&1560test -n "$DJDIR" || exec 7<&0 </dev/null
561exec 6>&1
531 562
532# Name of the host.563# Name of the host.
533# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,564# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
534# so uname gets run too.565# so uname gets run too.
535ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`566ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
536 567
@@ -779,8 +810,9 @@ do · 242 unmodified lines
779 fi810 fi
780 811
781 case $ac_option in812 case $ac_option in
782 *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;813 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
783 *) ac_optarg=yes ;;814 *=) ac_optarg= ;;
815 *) ac_optarg=yes ;;
784 esac816 esac
785 817
786 # Accept the important Cygnus configure options, so we can diagnose typos.818 # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -825,7 +857,7 @@ do · 38 unmodified lines
825 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`857 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
826 # Reject names that are not valid shell variable names.858 # Reject names that are not valid shell variable names.
827 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&859 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
828 as_fn_error "invalid feature name: $ac_useropt"860 as_fn_error $? "invalid feature name: $ac_useropt"
829 ac_useropt_orig=$ac_useropt861 ac_useropt_orig=$ac_useropt
830 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`862 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
831 case $ac_user_opts in863 case $ac_user_opts in
@@ -851,7 +883,7 @@ do · 19 unmodified lines
851 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`883 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
852 # Reject names that are not valid shell variable names.884 # Reject names that are not valid shell variable names.
853 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&885 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
854 as_fn_error "invalid feature name: $ac_useropt"886 as_fn_error $? "invalid feature name: $ac_useropt"
855 ac_useropt_orig=$ac_useropt887 ac_useropt_orig=$ac_useropt
856 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`888 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
857 case $ac_user_opts in889 case $ac_user_opts in
@@ -1055,7 +1087,7 @@ do · 197 unmodified lines
1055 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`1087 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1056 # Reject names that are not valid shell variable names.1088 # Reject names that are not valid shell variable names.
1057 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&1089 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1058 as_fn_error "invalid package name: $ac_useropt"1090 as_fn_error $? "invalid package name: $ac_useropt"
1059 ac_useropt_orig=$ac_useropt1091 ac_useropt_orig=$ac_useropt
1060 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`1092 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1061 case $ac_user_opts in1093 case $ac_user_opts in
@@ -1071,7 +1103,7 @@ do · 9 unmodified lines
1071 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`1103 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1072 # Reject names that are not valid shell variable names.1104 # Reject names that are not valid shell variable names.
1073 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&1105 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1074 as_fn_error "invalid package name: $ac_useropt"1106 as_fn_error $? "invalid package name: $ac_useropt"
1075 ac_useropt_orig=$ac_useropt1107 ac_useropt_orig=$ac_useropt
1076 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`1108 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1077 case $ac_user_opts in1109 case $ac_user_opts in
@@ -1101,8 +1133,8 @@ do · 23 unmodified lines
1101 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)1133 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1102 x_libraries=$ac_optarg ;;1134 x_libraries=$ac_optarg ;;
1103 1135
1104 -*) as_fn_error "unrecognized option: \`$ac_option'1136 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1105Try \`$0 --help' for more information."1137Try \`$0 --help' for more information"
1106 ;;1138 ;;
1107 1139
1108 *=*)1140 *=*)
@@ -1110,7 +1142,7 @@ Try \`$0 --help' for more information." · 1 unmodified line
1110 # Reject names that are not valid shell variable names.1142 # Reject names that are not valid shell variable names.
1111 case $ac_envvar in #(1143 case $ac_envvar in #(
1112 '' | [0-9]* | *[!_$as_cr_alnum]* )1144 '' | [0-9]* | *[!_$as_cr_alnum]* )
1113 as_fn_error "invalid variable name: \`$ac_envvar'" ;;1145 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1114 esac1146 esac
1115 eval $ac_envvar=\$ac_optarg1147 eval $ac_envvar=\$ac_optarg
1116 export $ac_envvar ;;1148 export $ac_envvar ;;
@@ -1120,7 +1152,7 @@ Try \`$0 --help' for more information." · 3 unmodified lines
1120 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&21152 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1121 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&1153 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1122 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&21154 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1123 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}1155 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1124 ;;1156 ;;
1125 1157
1126 esac1158 esac
@@ -1128,13 +1160,13 @@ done · 1 unmodified line
1128 1160
1129if test -n "$ac_prev"; then1161if test -n "$ac_prev"; then
1130 ac_option=--`echo $ac_prev | sed 's/_/-/g'`1162 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1131 as_fn_error "missing argument to $ac_option"1163 as_fn_error $? "missing argument to $ac_option"
1132fi1164fi
1133 1165
1134if test -n "$ac_unrecognized_opts"; then1166if test -n "$ac_unrecognized_opts"; then
1135 case $enable_option_checking in1167 case $enable_option_checking in
1136 no) ;;1168 no) ;;
1137 fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;1169 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1138 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;1170 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1139 esac1171 esac
1140fi1172fi
@@ -1157,7 +1189,7 @@ do · 16 unmodified lines
1157 [\\/$]* | ?:[\\/]* ) continue;;1189 [\\/$]* | ?:[\\/]* ) continue;;
1158 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;1190 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1159 esac1191 esac
1160 as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"1192 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1161done1193done
1162 1194
1163# There might be people who depend on the old broken behavior: `$host'1195# There might be people who depend on the old broken behavior: `$host'
@@ -1171,8 +1203,6 @@ target=$target_alias · 7 unmodified lines
1171if test "x$host_alias" != x; then1203if test "x$host_alias" != x; then
1172 if test "x$build_alias" = x; then1204 if test "x$build_alias" = x; then
1173 cross_compiling=maybe1205 cross_compiling=maybe
1174 $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
1175 If a cross compiler is detected then cross compile mode will be used." >&2
1176 elif test "x$build_alias" != "x$host_alias"; then1206 elif test "x$build_alias" != "x$host_alias"; then
1177 cross_compiling=yes1207 cross_compiling=yes
1178 fi1208 fi
@@ -1187,9 +1217,9 @@ test "$silent" = yes && exec 6>/dev/null · 8 unmodified lines
1187ac_pwd=`pwd` && test -n "$ac_pwd" &&1217ac_pwd=`pwd` && test -n "$ac_pwd" &&
1188ac_ls_di=`ls -di .` &&1218ac_ls_di=`ls -di .` &&
1189ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||1219ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1190 as_fn_error "working directory cannot be determined"1220 as_fn_error $? "working directory cannot be determined"
1191test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||1221test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1192 as_fn_error "pwd does not report name of working directory"1222 as_fn_error $? "pwd does not report name of working directory"
1193 1223
1194 1224
1195# Find the source files, if location was not specified.1225# Find the source files, if location was not specified.
@@ -1228,11 +1258,11 @@ else · 32 unmodified lines
1228fi1258fi
1229if test ! -r "$srcdir/$ac_unique_file"; then1259if test ! -r "$srcdir/$ac_unique_file"; then
1230 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."1260 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1231 as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"1261 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1232fi1262fi
1233ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"1263ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1234ac_abs_confdir=`(1264ac_abs_confdir=`(
1235 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"1265 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1236 pwd)`1266 pwd)`
1237# When building in place, set srcdir=.1267# When building in place, set srcdir=.
1238if test "$ac_abs_confdir" = "$ac_pwd"; then1268if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1272,7 +1302,7 @@ Configuration: · 33 unmodified lines
1272 --help=short display options specific to this package1302 --help=short display options specific to this package
1273 --help=recursive display the short help of all the included packages1303 --help=recursive display the short help of all the included packages
1274 -V, --version display version information and exit1304 -V, --version display version information and exit
1275 -q, --quiet, --silent do not print \`checking...' messages1305 -q, --quiet, --silent do not print \`checking ...' messages
1276 --cache-file=FILE cache test results in FILE [disabled]1306 --cache-file=FILE cache test results in FILE [disabled]
1277 -C, --config-cache alias for \`--cache-file=config.cache'1307 -C, --config-cache alias for \`--cache-file=config.cache'
1278 -n, --no-create do not create output files1308 -n, --no-create do not create output files
@@ -1360,7 +1390,7 @@ Some influential environment variables: · 81 unmodified lines
1360 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a1390 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1361 nonstandard directory <lib dir>1391 nonstandard directory <lib dir>
1362 LIBS libraries to pass to the linker, e.g. -l<library>1392 LIBS libraries to pass to the linker, e.g. -l<library>
1363 CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if1393 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1364 you have headers in a nonstandard directory <include dir>1394 you have headers in a nonstandard directory <include dir>
1365 CXX C++ compiler command1395 CXX C++ compiler command
1366 CXXFLAGS C++ compiler flags1396 CXXFLAGS C++ compiler flags
@@ -1433,9 +1463,9 @@ test -n "$ac_init_help" && exit $ac_status · 66 unmodified lines
1433if $ac_init_version; then1463if $ac_init_version; then
1434 cat <<\_ACEOF1464 cat <<\_ACEOF
1435cpplib configure1465cpplib configure
1436generated by GNU Autoconf 2.641466generated by GNU Autoconf 2.69
1437 1467
1438Copyright (C) 2009 Free Software Foundation, Inc.1468Copyright (C) 2012 Free Software Foundation, Inc.
1439This configure script is free software; the Free Software Foundation1469This configure script is free software; the Free Software Foundation
1440gives unlimited permission to copy, distribute and modify it.1470gives unlimited permission to copy, distribute and modify it.
1441_ACEOF1471_ACEOF
@@ -1479,8 +1509,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 37 unmodified lines
1479 1509
1480 ac_retval=11510 ac_retval=1
1481fi1511fi
1482 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1512 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1483 return $ac_retval1513 as_fn_set_status $ac_retval
1484 1514
1485} # ac_fn_c_try_compile1515} # ac_fn_c_try_compile
1486 1516
@@ -1517,8 +1547,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 30 unmodified lines
1517 1547
1518 ac_retval=11548 ac_retval=1
1519fi1549fi
1520 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1550 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1521 return $ac_retval1551 as_fn_set_status $ac_retval
1522 1552
1523} # ac_fn_cxx_try_compile1553} # ac_fn_cxx_try_compile
1524 1554
@@ -1543,7 +1573,7 @@ $as_echo "$ac_try_echo"; } >&5 · 18 unmodified lines
1543 mv -f conftest.er1 conftest.err1573 mv -f conftest.er1 conftest.err
1544 fi1574 fi
1545 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&51575 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1546 test $ac_status = 0; } >/dev/null && {1576 test $ac_status = 0; } > conftest.i && {
1547 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||1577 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1548 test ! -s conftest.err1578 test ! -s conftest.err
1549 }; then :1579 }; then :
@@ -1554,8 +1584,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 4 unmodified lines
1554 1584
1555 ac_retval=11585 ac_retval=1
1556fi1586fi
1557 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1587 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1558 return $ac_retval1588 as_fn_set_status $ac_retval
1559 1589
1560} # ac_fn_c_try_cpp1590} # ac_fn_c_try_cpp
1561 1591
@@ -1567,10 +1597,10 @@ fi · 5 unmodified lines
1567ac_fn_c_check_header_mongrel ()1597ac_fn_c_check_header_mongrel ()
1568{1598{
1569 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1599 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1570 if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1600 if eval \${$3+:} false; then :
1571 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51601 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1572$as_echo_n "checking for $2... " >&6; }1602$as_echo_n "checking for $2... " >&6; }
1573if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1603if eval \${$3+:} false; then :
1574 $as_echo_n "(cached) " >&61604 $as_echo_n "(cached) " >&6
1575fi1605fi
1576eval ac_res=\$$31606eval ac_res=\$$3
@@ -1606,7 +1636,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : · 29 unmodified lines
1606else1636else
1607 ac_header_preproc=no1637 ac_header_preproc=no
1608fi1638fi
1609rm -f conftest.err conftest.$ac_ext1639rm -f conftest.err conftest.i conftest.$ac_ext
1610{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&51640{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1611$as_echo "$ac_header_preproc" >&6; }1641$as_echo "$ac_header_preproc" >&6; }
1612 1642
@@ -1629,17 +1659,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} · 16 unmodified lines
1629$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}1659$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
1630 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&51660 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1631$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}1661$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1632( cat <<\_ASBOX1662( $as_echo "## ----------------------------------- ##
1633## ----------------------------------- ##
1634## Report this to gcc-bugs@gcc.gnu.org ##1663## Report this to gcc-bugs@gcc.gnu.org ##
1635## ----------------------------------- ##1664## ----------------------------------- ##"
1636_ASBOX
1637 ) | sed "s/^/$as_me: WARNING: /" >&21665 ) | sed "s/^/$as_me: WARNING: /" >&2
1638 ;;1666 ;;
1639esac1667esac
1640 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51668 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1641$as_echo_n "checking for $2... " >&6; }1669$as_echo_n "checking for $2... " >&6; }
1642if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1670if eval \${$3+:} false; then :
1643 $as_echo_n "(cached) " >&61671 $as_echo_n "(cached) " >&6
1644else1672else
1645 eval "$3=\$ac_header_compiler"1673 eval "$3=\$ac_header_compiler"
@@ -1648,7 +1676,7 @@ eval ac_res=\$$3 · 2 unmodified lines
1648 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1649$as_echo "$ac_res" >&6; }1677$as_echo "$ac_res" >&6; }
1650fi1678fi
1651 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1679 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1652 1680
1653} # ac_fn_c_check_header_mongrel1681} # ac_fn_c_check_header_mongrel
1654 1682
@@ -1689,8 +1717,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 34 unmodified lines
1689 ac_retval=$ac_status1717 ac_retval=$ac_status
1690fi1718fi
1691 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1719 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1692 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1720 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1693 return $ac_retval1721 as_fn_set_status $ac_retval
1694 1722
1695} # ac_fn_c_try_run1723} # ac_fn_c_try_run
1696 1724
@@ -1703,7 +1731,7 @@ ac_fn_c_check_header_compile () · 6 unmodified lines
1703 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1731 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1704 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51732 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1705$as_echo_n "checking for $2... " >&6; }1733$as_echo_n "checking for $2... " >&6; }
1706if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1734if eval \${$3+:} false; then :
1707 $as_echo_n "(cached) " >&61735 $as_echo_n "(cached) " >&6
1708else1736else
1709 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1737 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1721,7 +1749,7 @@ fi · 11 unmodified lines
1721eval ac_res=\$$31749eval ac_res=\$$3
1722 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1723$as_echo "$ac_res" >&6; }1751$as_echo "$ac_res" >&6; }
1724 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1752 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1725 1753
1726} # ac_fn_c_check_header_compile1754} # ac_fn_c_check_header_compile
1727 1755
@@ -1752,7 +1780,7 @@ $as_echo "$ac_try_echo"; } >&5 · 24 unmodified lines
1752 test ! -s conftest.err1780 test ! -s conftest.err
1753 } && test -s conftest$ac_exeext && {1781 } && test -s conftest$ac_exeext && {
1754 test "$cross_compiling" = yes ||1782 test "$cross_compiling" = yes ||
1755 $as_test_x conftest$ac_exeext1783 test -x conftest$ac_exeext
1756 }; then :1784 }; then :
1757 ac_retval=01785 ac_retval=0
1758else1786else
@@ -1766,8 +1794,8 @@ fi · 7 unmodified lines
1766 # interfere with the next link command; also delete a directory that is1794 # interfere with the next link command; also delete a directory that is
1767 # left behind by Apple's compiler. We do this before executing the actions.1795 # left behind by Apple's compiler. We do this before executing the actions.
1768 rm -rf conftest.dSYM conftest_ipa8_conftest.oo1796 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1769 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1797 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1770 return $ac_retval1798 as_fn_set_status $ac_retval
1771 1799
1772} # ac_fn_c_try_link1800} # ac_fn_c_try_link
1773 1801
@@ -1780,7 +1808,7 @@ ac_fn_c_check_type () · 6 unmodified lines
1780 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1808 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1781 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51809 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1782$as_echo_n "checking for $2... " >&6; }1810$as_echo_n "checking for $2... " >&6; }
1783if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1811if eval \${$3+:} false; then :
1784 $as_echo_n "(cached) " >&61812 $as_echo_n "(cached) " >&6
1785else1813else
1786 eval "$3=no"1814 eval "$3=no"
@@ -1821,7 +1849,7 @@ fi · 34 unmodified lines
1821eval ac_res=\$$31849eval ac_res=\$$3
1822 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51850 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1823$as_echo "$ac_res" >&6; }1851$as_echo "$ac_res" >&6; }
1824 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1852 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1825 1853
1826} # ac_fn_c_check_type1854} # ac_fn_c_check_type
1827 1855
@@ -1834,10 +1862,12 @@ ac_fn_c_find_uintX_t () · 6 unmodified lines
1834 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack1862 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1835 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&51863 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
1836$as_echo_n "checking for uint$2_t... " >&6; }1864$as_echo_n "checking for uint$2_t... " >&6; }
1837if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :1865if eval \${$3+:} false; then :
1838 $as_echo_n "(cached) " >&61866 $as_echo_n "(cached) " >&6
1839else1867else
1840 eval "$3=no"1868 eval "$3=no"
1869 # Order is important - never check a type that is potentially smaller
1870 # than half of the expected target width.
1841 for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \1871 for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
1842 'unsigned long long int' 'unsigned short int' 'unsigned char'; do1872 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
1843 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1873 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1846,8 +1876,9 @@ $ac_includes_default · 2 unmodified lines
1846int1876int
1847main ()1877main ()
1848{1878{
1849static int test_array [1 - 2 * !(($ac_type) -1 >> ($2 - 1) == 1)];1879static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
1850test_array [0] = 01880test_array [0] = 0;
1881return test_array [0];
1851 1882
1852 ;1883 ;
1853 return 0;1884 return 0;
@@ -1862,8 +1893,7 @@ if ac_fn_c_try_compile "$LINENO"; then : · 8 unmodified lines
1862esac1893esac
1863fi1894fi
1864rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext1895rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1865 eval as_val=\$$31896 if eval test \"x\$"$3"\" = x"no"; then :
1866 if test "x$as_val" = x""no; then :
1867 1897
1868else1898else
1869 break1899 break
@@ -1873,7 +1903,7 @@ fi · 3 unmodified lines
1873eval ac_res=\$$31903eval ac_res=\$$3
1874 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51904 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1875$as_echo "$ac_res" >&6; }1905$as_echo "$ac_res" >&6; }
1876 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}1906 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1877 1907
1878} # ac_fn_c_find_uintX_t1908} # ac_fn_c_find_uintX_t
1879 1909
@@ -1894,7 +1924,8 @@ int · 14 unmodified lines
1894main ()1924main ()
1895{1925{
1896static int test_array [1 - 2 * !(($2) >= 0)];1926static int test_array [1 - 2 * !(($2) >= 0)];
1897test_array [0] = 01927test_array [0] = 0;
1928return test_array [0];
1898 1929
1899 ;1930 ;
1900 return 0;1931 return 0;
@@ -1910,7 +1941,8 @@ int · 9 unmodified lines
1910main ()1941main ()
1911{1942{
1912static int test_array [1 - 2 * !(($2) <= $ac_mid)];1943static int test_array [1 - 2 * !(($2) <= $ac_mid)];
1913test_array [0] = 01944test_array [0] = 0;
1945return test_array [0];
1914 1946
1915 ;1947 ;
1916 return 0;1948 return 0;
@@ -1936,7 +1968,8 @@ int · 19 unmodified lines
1936main ()1968main ()
1937{1969{
1938static int test_array [1 - 2 * !(($2) < 0)];1970static int test_array [1 - 2 * !(($2) < 0)];
1939test_array [0] = 01971test_array [0] = 0;
1972return test_array [0];
1940 1973
1941 ;1974 ;
1942 return 0;1975 return 0;
@@ -1952,7 +1985,8 @@ int · 9 unmodified lines
1952main ()1985main ()
1953{1986{
1954static int test_array [1 - 2 * !(($2) >= $ac_mid)];1987static int test_array [1 - 2 * !(($2) >= $ac_mid)];
1955test_array [0] = 01988test_array [0] = 0;
1989return test_array [0];
1956 1990
1957 ;1991 ;
1958 return 0;1992 return 0;
@@ -1986,7 +2020,8 @@ int · 27 unmodified lines
1986main ()2020main ()
1987{2021{
1988static int test_array [1 - 2 * !(($2) <= $ac_mid)];2022static int test_array [1 - 2 * !(($2) <= $ac_mid)];
1989test_array [0] = 02023test_array [0] = 0;
2024return test_array [0];
1990 2025
1991 ;2026 ;
1992 return 0;2027 return 0;
@@ -2050,8 +2085,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ · 57 unmodified lines
2050rm -f conftest.val2085rm -f conftest.val
2051 2086
2052 fi2087 fi
2053 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}2088 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2054 return $ac_retval2089 as_fn_set_status $ac_retval
2055 2090
2056} # ac_fn_c_compute_int2091} # ac_fn_c_compute_int
2057 2092
@@ -2063,7 +2098,7 @@ ac_fn_c_check_func () · 5 unmodified lines
2063 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack2098 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2064 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&52099 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2065$as_echo_n "checking for $2... " >&6; }2100$as_echo_n "checking for $2... " >&6; }
2066if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :2101if eval \${$3+:} false; then :
2067 $as_echo_n "(cached) " >&62102 $as_echo_n "(cached) " >&6
2068else2103else
2069 cat confdefs.h - <<_ACEOF >conftest.$ac_ext2104 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2118,13 +2153,14 @@ fi · 48 unmodified lines
2118eval ac_res=\$$32153eval ac_res=\$$3
2119 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&52154 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2120$as_echo "$ac_res" >&6; }2155$as_echo "$ac_res" >&6; }
2121 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}2156 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2122 2157
2123} # ac_fn_c_check_func2158} # ac_fn_c_check_func
2124 2159
2125# ac_fn_c_check_decl LINENO SYMBOL VAR2160# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
2126# ------------------------------------2161# ---------------------------------------------
2127# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.2162# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
2163# accordingly.
2128ac_fn_c_check_decl ()2164ac_fn_c_check_decl ()
2129{2165{
2130 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack2166 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -2132,7 +2168,7 @@ ac_fn_c_check_decl () · 1 unmodified line
2132 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`2168 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
2133 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&52169 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
2134$as_echo_n "checking whether $as_decl_name is declared... " >&6; }2170$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
2135if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :2171if eval \${$3+:} false; then :
2136 $as_echo_n "(cached) " >&62172 $as_echo_n "(cached) " >&6
2137else2173else
2138 cat confdefs.h - <<_ACEOF >conftest.$ac_ext2174 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2163,7 +2199,7 @@ fi · 24 unmodified lines
2163eval ac_res=\$$32199eval ac_res=\$$3
2164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&52200 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2165$as_echo "$ac_res" >&6; }2201$as_echo "$ac_res" >&6; }
2166 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}2202 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2167 2203
2168} # ac_fn_c_check_decl2204} # ac_fn_c_check_decl
2169 2205
@@ -2194,7 +2230,7 @@ $as_echo "$ac_try_echo"; } >&5 · 24 unmodified lines
2194 test ! -s conftest.err2230 test ! -s conftest.err
2195 } && test -s conftest$ac_exeext && {2231 } && test -s conftest$ac_exeext && {
2196 test "$cross_compiling" = yes ||2232 test "$cross_compiling" = yes ||
2197 $as_test_x conftest$ac_exeext2233 test -x conftest$ac_exeext
2198 }; then :2234 }; then :
2199 ac_retval=02235 ac_retval=0
2200else2236else
@@ -2208,8 +2244,8 @@ fi · 7 unmodified lines
2208 # interfere with the next link command; also delete a directory that is2244 # interfere with the next link command; also delete a directory that is
2209 # left behind by Apple's compiler. We do this before executing the actions.2245 # left behind by Apple's compiler. We do this before executing the actions.
2210 rm -rf conftest.dSYM conftest_ipa8_conftest.oo2246 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
2211 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}2247 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2212 return $ac_retval2248 as_fn_set_status $ac_retval
2213 2249
2214} # ac_fn_cxx_try_link2250} # ac_fn_cxx_try_link
2215cat >config.log <<_ACEOF2251cat >config.log <<_ACEOF
@@ -2217,7 +2253,7 @@ This file contains any messages produced by compilers while · 1 unmodified line
2217running configure, to aid debugging if configure makes a mistake.2253running configure, to aid debugging if configure makes a mistake.
2218 2254
2219It was created by cpplib $as_me , which was2255It was created by cpplib $as_me , which was
2220generated by GNU Autoconf 2.64. Invocation command line was2256generated by GNU Autoconf 2.69. Invocation command line was
2221 2257
2222 $ $0 $@2258 $ $0 $@
2223 2259
@@ -2327,11 +2363,9 @@ trap 'exit_status=$? · 103 unmodified lines
2327 {2363 {
2328 echo2364 echo
2329 2365
2330 cat <<\_ASBOX2366 $as_echo "## ---------------- ##
2331## ---------------- ##
2332## Cache variables. ##2367## Cache variables. ##
2333## ---------------- ##2368## ---------------- ##"
2334_ASBOX
2335 echo2369 echo
2336 # The following way of writing the cache mishandles newlines in values,2370 # The following way of writing the cache mishandles newlines in values,
2337(2371(
@@ -2365,11 +2399,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; · 27 unmodified lines
2365)2399)
2366 echo2400 echo
2367 2401
2368 cat <<\_ASBOX2402 $as_echo "## ----------------- ##
2369## ----------------- ##
2370## Output variables. ##2403## Output variables. ##
2371## ----------------- ##2404## ----------------- ##"
2372_ASBOX
2373 echo2405 echo
2374 for ac_var in $ac_subst_vars2406 for ac_var in $ac_subst_vars
2375 do2407 do
@@ -2382,11 +2414,9 @@ _ASBOX · 6 unmodified lines
2382 echo2414 echo
2383 2415
2384 if test -n "$ac_subst_files"; then2416 if test -n "$ac_subst_files"; then
2385 cat <<\_ASBOX2417 $as_echo "## ------------------- ##
2386## ------------------- ##
2387## File substitutions. ##2418## File substitutions. ##
2388## ------------------- ##2419## ------------------- ##"
2389_ASBOX
2390 echo2420 echo
2391 for ac_var in $ac_subst_files2421 for ac_var in $ac_subst_files
2392 do2422 do
@@ -2400,11 +2430,9 @@ _ASBOX · 7 unmodified lines
2400 fi2430 fi
2401 2431
2402 if test -s confdefs.h; then2432 if test -s confdefs.h; then
2403 cat <<\_ASBOX2433 $as_echo "## ----------- ##
2404## ----------- ##
2405## confdefs.h. ##2434## confdefs.h. ##
2406## ----------- ##2435## ----------- ##"
2407_ASBOX
2408 echo2436 echo
2409 cat confdefs.h2437 cat confdefs.h
2410 echo2438 echo
@@ -2459,7 +2487,12 @@ _ACEOF · 48 unmodified lines
2459ac_site_file1=NONE2487ac_site_file1=NONE
2460ac_site_file2=NONE2488ac_site_file2=NONE
2461if test -n "$CONFIG_SITE"; then2489if test -n "$CONFIG_SITE"; then
2462 ac_site_file1=$CONFIG_SITE2490 # We do not want a PATH search for config.site.
2491 case $CONFIG_SITE in #((
2492 -*) ac_site_file1=./$CONFIG_SITE;;
2493 */*) ac_site_file1=$CONFIG_SITE;;
2494 *) ac_site_file1=./$CONFIG_SITE;;
2495 esac
2463elif test "x$prefix" != xNONE; then2496elif test "x$prefix" != xNONE; then
2464 ac_site_file1=$prefix/share/config.site2497 ac_site_file1=$prefix/share/config.site
2465 ac_site_file2=$prefix/etc/config.site2498 ac_site_file2=$prefix/etc/config.site
@@ -2470,18 +2503,22 @@ fi · 4 unmodified lines
2470for ac_site_file in "$ac_site_file1" "$ac_site_file2"2503for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2471do2504do
2472 test "x$ac_site_file" = xNONE && continue2505 test "x$ac_site_file" = xNONE && continue
2473 if test -r "$ac_site_file"; then2506 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2474 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&52507 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2475$as_echo "$as_me: loading site script $ac_site_file" >&6;}2508$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2476 sed 's/^/| /' "$ac_site_file" >&52509 sed 's/^/| /' "$ac_site_file" >&5
2477 . "$ac_site_file"2510 . "$ac_site_file" \
2511 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2512$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2513as_fn_error $? "failed to load site script $ac_site_file
2514See \`config.log' for more details" "$LINENO" 5; }
2478 fi2515 fi
2479done2516done
2480 2517
2481if test -r "$cache_file"; then2518if test -r "$cache_file"; then
2482 # Some versions of bash will fail to source /dev/null (special2519 # Some versions of bash will fail to source /dev/null (special files
2483 # files actually), so we avoid doing that.2520 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2484 if test -f "$cache_file"; then2521 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2485 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&52522 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2486$as_echo "$as_me: loading cache $cache_file" >&6;}2523$as_echo "$as_me: loading cache $cache_file" >&6;}
2487 case $cache_file in2524 case $cache_file in
@@ -2550,7 +2587,7 @@ if $ac_cache_corrupted; then · 62 unmodified lines
2550$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}2587$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2551 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&52588 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2552$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}2589$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2553 as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 52590 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2554fi2591fi
2555## -------------------- ##2592## -------------------- ##
2556## Main body of script. ##2593## Main body of script. ##
@@ -2565,21 +2602,24 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu · 8 unmodified lines
2565 2602
2566 2603
2567 2604
2568
2569
2570
2571ac_aux_dir=2605ac_aux_dir=
2572for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do2606for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
2573 for ac_t in install-sh install.sh shtool; do2607 if test -f "$ac_dir/install-sh"; then
2574 if test -f "$ac_dir/$ac_t"; then2608 ac_aux_dir=$ac_dir
2575 ac_aux_dir=$ac_dir2609 ac_install_sh="$ac_aux_dir/install-sh -c"
2576 ac_install_sh="$ac_aux_dir/$ac_t -c"2610 break
2577 break 22611 elif test -f "$ac_dir/install.sh"; then
2578 fi2612 ac_aux_dir=$ac_dir
2579 done2613 ac_install_sh="$ac_aux_dir/install.sh -c"
2614 break
2615 elif test -f "$ac_dir/shtool"; then
2616 ac_aux_dir=$ac_dir
2617 ac_install_sh="$ac_aux_dir/shtool install -c"
2618 break
2619 fi
2580done2620done
2581if test -z "$ac_aux_dir"; then2621if test -z "$ac_aux_dir"; then
2582 as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 52622 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
2583fi2623fi
2584 2624
2585# These three variables are undocumented and unsupported,2625# These three variables are undocumented and unsupported,
@@ -2593,27 +2633,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. · 7 unmodified lines
2593 2633
2594# Make sure we can run config.sub.2634# Make sure we can run config.sub.
2595$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||2635$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
2596 as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 52636 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
2597 2637
2598{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&52638{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
2599$as_echo_n "checking build system type... " >&6; }2639$as_echo_n "checking build system type... " >&6; }
2600if test "${ac_cv_build+set}" = set; then :2640if ${ac_cv_build+:} false; then :
2601 $as_echo_n "(cached) " >&62641 $as_echo_n "(cached) " >&6
2602else2642else
2603 ac_build_alias=$build_alias2643 ac_build_alias=$build_alias
2604test "x$ac_build_alias" = x &&2644test "x$ac_build_alias" = x &&
2605 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`2645 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
2606test "x$ac_build_alias" = x &&2646test "x$ac_build_alias" = x &&
2607 as_fn_error "cannot guess build type; you must specify one" "$LINENO" 52647 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
2608ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||2648ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
2609 as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 52649 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
2610 2650
2611fi2651fi
2612{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&52652{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
2613$as_echo "$ac_cv_build" >&6; }2653$as_echo "$ac_cv_build" >&6; }
2614case $ac_cv_build in2654case $ac_cv_build in
2615*-*-*) ;;2655*-*-*) ;;
2616*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;2656*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
2617esac2657esac
2618build=$ac_cv_build2658build=$ac_cv_build
2619ac_save_IFS=$IFS; IFS='-'2659ac_save_IFS=$IFS; IFS='-'
@@ -2631,14 +2671,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac · 11 unmodified lines
2631 2671
2632{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&52672{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
2633$as_echo_n "checking host system type... " >&6; }2673$as_echo_n "checking host system type... " >&6; }
2634if test "${ac_cv_host+set}" = set; then :2674if ${ac_cv_host+:} false; then :
2635 $as_echo_n "(cached) " >&62675 $as_echo_n "(cached) " >&6
2636else2676else
2637 if test "x$host_alias" = x; then2677 if test "x$host_alias" = x; then
2638 ac_cv_host=$ac_cv_build2678 ac_cv_host=$ac_cv_build
2639else2679else
2640 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||2680 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
2641 as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 52681 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
2642fi2682fi
2643 2683
2644fi2684fi
@@ -2646,7 +2686,7 @@ fi · 1 unmodified line
2646$as_echo "$ac_cv_host" >&6; }2686$as_echo "$ac_cv_host" >&6; }
2647case $ac_cv_host in2687case $ac_cv_host in
2648*-*-*) ;;2688*-*-*) ;;
2649*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;2689*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
2650esac2690esac
2651host=$ac_cv_host2691host=$ac_cv_host
2652ac_save_IFS=$IFS; IFS='-'2692ac_save_IFS=$IFS; IFS='-'
@@ -2664,14 +2704,14 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac · 11 unmodified lines
2664 2704
2665{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&52705{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
2666$as_echo_n "checking target system type... " >&6; }2706$as_echo_n "checking target system type... " >&6; }
2667if test "${ac_cv_target+set}" = set; then :2707if ${ac_cv_target+:} false; then :
2668 $as_echo_n "(cached) " >&62708 $as_echo_n "(cached) " >&6
2669else2709else
2670 if test "x$target_alias" = x; then2710 if test "x$target_alias" = x; then
2671 ac_cv_target=$ac_cv_host2711 ac_cv_target=$ac_cv_host
2672else2712else
2673 ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||2713 ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
2674 as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 52714 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
2675fi2715fi
2676 2716
2677fi2717fi
@@ -2679,7 +2719,7 @@ fi · 1 unmodified line
2679$as_echo "$ac_cv_target" >&6; }2719$as_echo "$ac_cv_target" >&6; }
2680case $ac_cv_target in2720case $ac_cv_target in
2681*-*-*) ;;2721*-*-*) ;;
2682*) as_fn_error "invalid value of canonical target" "$LINENO" 5;;2722*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
2683esac2723esac
2684target=$ac_cv_target2724target=$ac_cv_target
2685ac_save_IFS=$IFS; IFS='-'2725ac_save_IFS=$IFS; IFS='-'
@@ -2708,7 +2748,7 @@ test -n "$target_alias" && · 22 unmodified lines
2708$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }2748$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
2709set x ${MAKE-make}2749set x ${MAKE-make}
2710ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`2750ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
2711if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :2751if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
2712 $as_echo_n "(cached) " >&62752 $as_echo_n "(cached) " >&6
2713else2753else
2714 cat >conftest.make <<\_ACEOF2754 cat >conftest.make <<\_ACEOF
@@ -2716,7 +2756,7 @@ SHELL = /bin/sh · 1 unmodified line
2716all:2756all:
2717 @echo '@@@%%%=$(MAKE)=@@@%%%'2757 @echo '@@@%%%=$(MAKE)=@@@%%%'
2718_ACEOF2758_ACEOF
2719# GNU make sometimes prints "make[1]: Entering...", which would confuse us.2759# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
2720case `${MAKE-make} -f conftest.make 2>/dev/null` in2760case `${MAKE-make} -f conftest.make 2>/dev/null` in
2721 *@@@%%%=?*=@@@%%%*)2761 *@@@%%%=?*=@@@%%%*)
2722 eval ac_cv_prog_make_${ac_make}_set=yes;;2762 eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2752,7 +2792,7 @@ fi · 29 unmodified lines
2752{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&52792{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
2753$as_echo_n "checking for a BSD-compatible install... " >&6; }2793$as_echo_n "checking for a BSD-compatible install... " >&6; }
2754if test -z "$INSTALL"; then2794if test -z "$INSTALL"; then
2755if test "${ac_cv_path_install+set}" = set; then :2795if ${ac_cv_path_install+:} false; then :
2756 $as_echo_n "(cached) " >&62796 $as_echo_n "(cached) " >&6
2757else2797else
2758 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR2798 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2772,7 +2812,7 @@ case $as_dir/ in #(( · 13 unmodified lines
2772 # by default.2812 # by default.
2773 for ac_prog in ginstall scoinst install; do2813 for ac_prog in ginstall scoinst install; do
2774 for ac_exec_ext in '' $ac_executable_extensions; do2814 for ac_exec_ext in '' $ac_executable_extensions; do
2775 if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then2815 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
2776 if test $ac_prog = install &&2816 if test $ac_prog = install &&
2777 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then2817 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2778 # AIX install. It has an incompatible calling convention.2818 # AIX install. It has an incompatible calling convention.
@@ -2838,7 +2878,7 @@ if test -n "$ac_tool_prefix"; then · 59 unmodified lines
2838set dummy ${ac_tool_prefix}gcc; ac_word=$22878set dummy ${ac_tool_prefix}gcc; ac_word=$2
2839{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&52879{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2840$as_echo_n "checking for $ac_word... " >&6; }2880$as_echo_n "checking for $ac_word... " >&6; }
2841if test "${ac_cv_prog_CC+set}" = set; then :2881if ${ac_cv_prog_CC+:} false; then :
2842 $as_echo_n "(cached) " >&62882 $as_echo_n "(cached) " >&6
2843else2883else
2844 if test -n "$CC"; then2884 if test -n "$CC"; then
@@ -2850,7 +2890,7 @@ do · 5 unmodified lines
2850 IFS=$as_save_IFS2890 IFS=$as_save_IFS
2851 test -z "$as_dir" && as_dir=.2891 test -z "$as_dir" && as_dir=.
2852 for ac_exec_ext in '' $ac_executable_extensions; do2892 for ac_exec_ext in '' $ac_executable_extensions; do
2853 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then2893 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2854 ac_cv_prog_CC="${ac_tool_prefix}gcc"2894 ac_cv_prog_CC="${ac_tool_prefix}gcc"
2855 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&52895 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2856 break 22896 break 2
@@ -2878,7 +2918,7 @@ if test -z "$ac_cv_prog_CC"; then · 21 unmodified lines
2878set dummy gcc; ac_word=$22918set dummy gcc; ac_word=$2
2879{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&52919{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2880$as_echo_n "checking for $ac_word... " >&6; }2920$as_echo_n "checking for $ac_word... " >&6; }
2881if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :2921if ${ac_cv_prog_ac_ct_CC+:} false; then :
2882 $as_echo_n "(cached) " >&62922 $as_echo_n "(cached) " >&6
2883else2923else
2884 if test -n "$ac_ct_CC"; then2924 if test -n "$ac_ct_CC"; then
@@ -2890,7 +2930,7 @@ do · 5 unmodified lines
2890 IFS=$as_save_IFS2930 IFS=$as_save_IFS
2891 test -z "$as_dir" && as_dir=.2931 test -z "$as_dir" && as_dir=.
2892 for ac_exec_ext in '' $ac_executable_extensions; do2932 for ac_exec_ext in '' $ac_executable_extensions; do
2893 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then2933 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2894 ac_cv_prog_ac_ct_CC="gcc"2934 ac_cv_prog_ac_ct_CC="gcc"
2895 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&52935 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2896 break 22936 break 2
@@ -2931,7 +2971,7 @@ if test -z "$CC"; then · 34 unmodified lines
2931set dummy ${ac_tool_prefix}cc; ac_word=$22971set dummy ${ac_tool_prefix}cc; ac_word=$2
2932{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&52972{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2933$as_echo_n "checking for $ac_word... " >&6; }2973$as_echo_n "checking for $ac_word... " >&6; }
2934if test "${ac_cv_prog_CC+set}" = set; then :2974if ${ac_cv_prog_CC+:} false; then :
2935 $as_echo_n "(cached) " >&62975 $as_echo_n "(cached) " >&6
2936else2976else
2937 if test -n "$CC"; then2977 if test -n "$CC"; then
@@ -2943,7 +2983,7 @@ do · 5 unmodified lines
2943 IFS=$as_save_IFS2983 IFS=$as_save_IFS
2944 test -z "$as_dir" && as_dir=.2984 test -z "$as_dir" && as_dir=.
2945 for ac_exec_ext in '' $ac_executable_extensions; do2985 for ac_exec_ext in '' $ac_executable_extensions; do
2946 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then2986 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2947 ac_cv_prog_CC="${ac_tool_prefix}cc"2987 ac_cv_prog_CC="${ac_tool_prefix}cc"
2948 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&52988 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2949 break 22989 break 2
@@ -2971,7 +3011,7 @@ if test -z "$CC"; then · 21 unmodified lines
2971set dummy cc; ac_word=$23011set dummy cc; ac_word=$2
2972{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53012{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2973$as_echo_n "checking for $ac_word... " >&6; }3013$as_echo_n "checking for $ac_word... " >&6; }
2974if test "${ac_cv_prog_CC+set}" = set; then :3014if ${ac_cv_prog_CC+:} false; then :
2975 $as_echo_n "(cached) " >&63015 $as_echo_n "(cached) " >&6
2976else3016else
2977 if test -n "$CC"; then3017 if test -n "$CC"; then
@@ -2984,7 +3024,7 @@ do · 6 unmodified lines
2984 IFS=$as_save_IFS3024 IFS=$as_save_IFS
2985 test -z "$as_dir" && as_dir=.3025 test -z "$as_dir" && as_dir=.
2986 for ac_exec_ext in '' $ac_executable_extensions; do3026 for ac_exec_ext in '' $ac_executable_extensions; do
2987 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3027 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2988 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then3028 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
2989 ac_prog_rejected=yes3029 ac_prog_rejected=yes
2990 continue3030 continue
@@ -3030,7 +3070,7 @@ if test -z "$CC"; then · 39 unmodified lines
3030set dummy $ac_tool_prefix$ac_prog; ac_word=$23070set dummy $ac_tool_prefix$ac_prog; ac_word=$2
3031{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53071{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3032$as_echo_n "checking for $ac_word... " >&6; }3072$as_echo_n "checking for $ac_word... " >&6; }
3033if test "${ac_cv_prog_CC+set}" = set; then :3073if ${ac_cv_prog_CC+:} false; then :
3034 $as_echo_n "(cached) " >&63074 $as_echo_n "(cached) " >&6
3035else3075else
3036 if test -n "$CC"; then3076 if test -n "$CC"; then
@@ -3042,7 +3082,7 @@ do · 5 unmodified lines
3042 IFS=$as_save_IFS3082 IFS=$as_save_IFS
3043 test -z "$as_dir" && as_dir=.3083 test -z "$as_dir" && as_dir=.
3044 for ac_exec_ext in '' $ac_executable_extensions; do3084 for ac_exec_ext in '' $ac_executable_extensions; do
3045 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3085 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3046 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"3086 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
3047 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53087 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3048 break 23088 break 2
@@ -3074,7 +3114,7 @@ do · 25 unmodified lines
3074set dummy $ac_prog; ac_word=$23114set dummy $ac_prog; ac_word=$2
3075{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53115{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3076$as_echo_n "checking for $ac_word... " >&6; }3116$as_echo_n "checking for $ac_word... " >&6; }
3077if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :3117if ${ac_cv_prog_ac_ct_CC+:} false; then :
3078 $as_echo_n "(cached) " >&63118 $as_echo_n "(cached) " >&6
3079else3119else
3080 if test -n "$ac_ct_CC"; then3120 if test -n "$ac_ct_CC"; then
@@ -3086,7 +3126,7 @@ do · 5 unmodified lines
3086 IFS=$as_save_IFS3126 IFS=$as_save_IFS
3087 test -z "$as_dir" && as_dir=.3127 test -z "$as_dir" && as_dir=.
3088 for ac_exec_ext in '' $ac_executable_extensions; do3128 for ac_exec_ext in '' $ac_executable_extensions; do
3089 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3129 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3090 ac_cv_prog_ac_ct_CC="$ac_prog"3130 ac_cv_prog_ac_ct_CC="$ac_prog"
3091 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53131 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3092 break 23132 break 2
@@ -3128,8 +3168,8 @@ fi · 35 unmodified lines
3128 3168
3129test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&53169test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3130$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}3170$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3131as_fn_error "no acceptable C compiler found in \$PATH3171as_fn_error $? "no acceptable C compiler found in \$PATH
3132See \`config.log' for more details." "$LINENO" 5; }3172See \`config.log' for more details" "$LINENO" 5; }
3133 3173
3134# Provide some information about the compiler.3174# Provide some information about the compiler.
3135$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&53175$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3150,8 +3190,8 @@ $as_echo "$ac_try_echo"; } >&5 · 14 unmodified lines
3150... rest of stderr output deleted ...3190... rest of stderr output deleted ...
3151 10q' conftest.err >conftest.er13191 10q' conftest.err >conftest.er1
3152 cat conftest.er1 >&53192 cat conftest.er1 >&5
3153 rm -f conftest.er1 conftest.err
3154 fi3193 fi
3194 rm -f conftest.er1 conftest.err
3155 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&53195 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3156 test $ac_status = 0; }3196 test $ac_status = 0; }
3157done3197done
@@ -3168,12 +3208,12 @@ main () · 10 unmodified lines
3168}3208}
3169_ACEOF3209_ACEOF
3170ac_clean_files_save=$ac_clean_files3210ac_clean_files_save=$ac_clean_files
3171ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"3211ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
3172# Try to create an executable without -o first, disregard a.out.3212# Try to create an executable without -o first, disregard a.out.
3173# It will help us diagnose broken compilers, and finding out an intuition3213# It will help us diagnose broken compilers, and finding out an intuition
3174# of exeext.3214# of exeext.
3175{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&53215{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
3176$as_echo_n "checking for C compiler default output file name... " >&6; }3216$as_echo_n "checking whether the C compiler works... " >&6; }
3177ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`3217ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
3178 3218
3179# The possible output files:3219# The possible output files:
@@ -3235,62 +3275,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= · 55 unmodified lines
3235else3275else
3236 ac_file=''3276 ac_file=''
3237fi3277fi
3238{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
3239$as_echo "$ac_file" >&6; }
3240if test -z "$ac_file"; then :3278if test -z "$ac_file"; then :
3241 $as_echo "$as_me: failed program was:" >&53279 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3280$as_echo "no" >&6; }
3281$as_echo "$as_me: failed program was:" >&5
3242sed 's/^/| /' conftest.$ac_ext >&53282sed 's/^/| /' conftest.$ac_ext >&5
3243 3283
3244{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&53284{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3245$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}3285$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3246{ as_fn_set_status 773286as_fn_error 77 "C compiler cannot create executables
3247as_fn_error "C compiler cannot create executables3287See \`config.log' for more details" "$LINENO" 5; }
3248See \`config.log' for more details." "$LINENO" 5; }; }3288else
3289 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3290$as_echo "yes" >&6; }
3249fi3291fi
3292{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
3293$as_echo_n "checking for C compiler default output file name... " >&6; }
3294{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
3295$as_echo "$ac_file" >&6; }
3250ac_exeext=$ac_cv_exeext3296ac_exeext=$ac_cv_exeext
3251 3297
3252# Check that the compiler produces executables we can run. If not, either3298rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
3253# the compiler is broken, or we cross compile.
3254{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
3255$as_echo_n "checking whether the C compiler works... " >&6; }
3256# If not cross compiling, check that we can run a simple program.
3257if test "$cross_compiling" != yes; then
3258 if { ac_try='./$ac_file'
3259 { { case "(($ac_try" in
3260 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3261 *) ac_try_echo=$ac_try;;
3262esac
3263eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3264$as_echo "$ac_try_echo"; } >&5
3265 (eval "$ac_try") 2>&5
3266 ac_status=$?
3267 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3268 test $ac_status = 0; }; }; then
3269 cross_compiling=no
3270 else
3271 if test "$cross_compiling" = maybe; then
3272 cross_compiling=yes
3273 else
3274 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3275$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3276as_fn_error "cannot run C compiled programs.
3277If you meant to cross compile, use \`--host'.
3278See \`config.log' for more details." "$LINENO" 5; }
3279 fi
3280 fi
3281fi
3282{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3283$as_echo "yes" >&6; }
3284
3285rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
3286ac_clean_files=$ac_clean_files_save3299ac_clean_files=$ac_clean_files_save
3287# Check that the compiler produces executables we can run. If not, either
3288# the compiler is broken, or we cross compile.
3289{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
3290$as_echo_n "checking whether we are cross compiling... " >&6; }
3291{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
3292$as_echo "$cross_compiling" >&6; }
3293
3294{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&53300{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
3295$as_echo_n "checking for suffix of executables... " >&6; }3301$as_echo_n "checking for suffix of executables... " >&6; }
3296if { { ac_try="$ac_link"3302if { { ac_try="$ac_link"
@@ -3320,19 +3326,78 @@ done · 23 unmodified lines
3320else3326else
3321 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&53327 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3322$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}3328$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3323as_fn_error "cannot compute suffix of executables: cannot compile and link3329as_fn_error $? "cannot compute suffix of executables: cannot compile and link
3324See \`config.log' for more details." "$LINENO" 5; }3330See \`config.log' for more details" "$LINENO" 5; }
3325fi3331fi
3326rm -f conftest$ac_cv_exeext3332rm -f conftest conftest$ac_cv_exeext
3327{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&53333{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
3328$as_echo "$ac_cv_exeext" >&6; }3334$as_echo "$ac_cv_exeext" >&6; }
3329 3335
3330rm -f conftest.$ac_ext3336rm -f conftest.$ac_ext
3331EXEEXT=$ac_cv_exeext3337EXEEXT=$ac_cv_exeext
3332ac_exeext=$EXEEXT3338ac_exeext=$EXEEXT
3339cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3340/* end confdefs.h. */
3341#include <stdio.h>
3342int
3343main ()
3344{
3345FILE *f = fopen ("conftest.out", "w");
3346 return ferror (f) || fclose (f) != 0;
3347
3348 ;
3349 return 0;
3350}
3351_ACEOF
3352ac_clean_files="$ac_clean_files conftest.out"
3353# Check that the compiler produces executables we can run. If not, either
3354# the compiler is broken, or we cross compile.
3355{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
3356$as_echo_n "checking whether we are cross compiling... " >&6; }
3357if test "$cross_compiling" != yes; then
3358 { { ac_try="$ac_link"
3359case "(($ac_try" in
3360 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3361 *) ac_try_echo=$ac_try;;
3362esac
3363eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3364$as_echo "$ac_try_echo"; } >&5
3365 (eval "$ac_link") 2>&5
3366 ac_status=$?
3367 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3368 test $ac_status = 0; }
3369 if { ac_try='./conftest$ac_cv_exeext'
3370 { { case "(($ac_try" in
3371 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3372 *) ac_try_echo=$ac_try;;
3373esac
3374eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3375$as_echo "$ac_try_echo"; } >&5
3376 (eval "$ac_try") 2>&5
3377 ac_status=$?
3378 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3379 test $ac_status = 0; }; }; then
3380 cross_compiling=no
3381 else
3382 if test "$cross_compiling" = maybe; then
3383 cross_compiling=yes
3384 else
3385 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3386$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3387as_fn_error $? "cannot run C compiled programs.
3388If you meant to cross compile, use \`--host'.
3389See \`config.log' for more details" "$LINENO" 5; }
3390 fi
3391 fi
3392fi
3393{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
3394$as_echo "$cross_compiling" >&6; }
3395
3396rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
3397ac_clean_files=$ac_clean_files_save
3333{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&53398{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
3334$as_echo_n "checking for suffix of object files... " >&6; }3399$as_echo_n "checking for suffix of object files... " >&6; }
3335if test "${ac_cv_objext+set}" = set; then :3400if ${ac_cv_objext+:} false; then :
3336 $as_echo_n "(cached) " >&63401 $as_echo_n "(cached) " >&6
3337else3402else
3338 cat confdefs.h - <<_ACEOF >conftest.$ac_ext3403 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3372,8 +3437,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 33 unmodified lines
3372 3437
3373{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&53438{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3374$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}3439$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3375as_fn_error "cannot compute suffix of object files: cannot compile3440as_fn_error $? "cannot compute suffix of object files: cannot compile
3376See \`config.log' for more details." "$LINENO" 5; }3441See \`config.log' for more details" "$LINENO" 5; }
3377fi3442fi
3378rm -f conftest.$ac_cv_objext conftest.$ac_ext3443rm -f conftest.$ac_cv_objext conftest.$ac_ext
3379fi3444fi
@@ -3383,7 +3448,7 @@ OBJEXT=$ac_cv_objext · 3 unmodified lines
3383ac_objext=$OBJEXT3448ac_objext=$OBJEXT
3384{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&53449{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3385$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }3450$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3386if test "${ac_cv_c_compiler_gnu+set}" = set; then :3451if ${ac_cv_c_compiler_gnu+:} false; then :
3387 $as_echo_n "(cached) " >&63452 $as_echo_n "(cached) " >&6
3388else3453else
3389 cat confdefs.h - <<_ACEOF >conftest.$ac_ext3454 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3420,7 +3485,7 @@ ac_test_CFLAGS=${CFLAGS+set} · 30 unmodified lines
3420ac_save_CFLAGS=$CFLAGS3485ac_save_CFLAGS=$CFLAGS
3421{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&53486{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3422$as_echo_n "checking whether $CC accepts -g... " >&6; }3487$as_echo_n "checking whether $CC accepts -g... " >&6; }
3423if test "${ac_cv_prog_cc_g+set}" = set; then :3488if ${ac_cv_prog_cc_g+:} false; then :
3424 $as_echo_n "(cached) " >&63489 $as_echo_n "(cached) " >&6
3425else3490else
3426 ac_save_c_werror_flag=$ac_c_werror_flag3491 ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3498,7 +3563,7 @@ else · 71 unmodified lines
3498fi3563fi
3499{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&53564{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3500$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }3565$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3501if test "${ac_cv_prog_cc_c89+set}" = set; then :3566if ${ac_cv_prog_cc_c89+:} false; then :
3502 $as_echo_n "(cached) " >&63567 $as_echo_n "(cached) " >&6
3503else3568else
3504 ac_cv_prog_cc_c89=no3569 ac_cv_prog_cc_c89=no
@@ -3507,8 +3572,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext · 2 unmodified lines
3507/* end confdefs.h. */3572/* end confdefs.h. */
3508#include <stdarg.h>3573#include <stdarg.h>
3509#include <stdio.h>3574#include <stdio.h>
3510#include <sys/types.h>3575struct stat;
3511#include <sys/stat.h>
3512/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */3576/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3513struct buf { int x; };3577struct buf { int x; };
3514FILE * (*rcsopen) (struct buf *, struct stat *, int);3578FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3609,7 +3673,7 @@ if test -z "$CXX"; then · 94 unmodified lines
3609set dummy $ac_tool_prefix$ac_prog; ac_word=$23673set dummy $ac_tool_prefix$ac_prog; ac_word=$2
3610{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53674{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3611$as_echo_n "checking for $ac_word... " >&6; }3675$as_echo_n "checking for $ac_word... " >&6; }
3612if test "${ac_cv_prog_CXX+set}" = set; then :3676if ${ac_cv_prog_CXX+:} false; then :
3613 $as_echo_n "(cached) " >&63677 $as_echo_n "(cached) " >&6
3614else3678else
3615 if test -n "$CXX"; then3679 if test -n "$CXX"; then
@@ -3621,7 +3685,7 @@ do · 5 unmodified lines
3621 IFS=$as_save_IFS3685 IFS=$as_save_IFS
3622 test -z "$as_dir" && as_dir=.3686 test -z "$as_dir" && as_dir=.
3623 for ac_exec_ext in '' $ac_executable_extensions; do3687 for ac_exec_ext in '' $ac_executable_extensions; do
3624 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3688 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3625 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"3689 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
3626 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53690 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3627 break 23691 break 2
@@ -3653,7 +3717,7 @@ do · 25 unmodified lines
3653set dummy $ac_prog; ac_word=$23717set dummy $ac_prog; ac_word=$2
3654{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53718{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3655$as_echo_n "checking for $ac_word... " >&6; }3719$as_echo_n "checking for $ac_word... " >&6; }
3656if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :3720if ${ac_cv_prog_ac_ct_CXX+:} false; then :
3657 $as_echo_n "(cached) " >&63721 $as_echo_n "(cached) " >&6
3658else3722else
3659 if test -n "$ac_ct_CXX"; then3723 if test -n "$ac_ct_CXX"; then
@@ -3665,7 +3729,7 @@ do · 5 unmodified lines
3665 IFS=$as_save_IFS3729 IFS=$as_save_IFS
3666 test -z "$as_dir" && as_dir=.3730 test -z "$as_dir" && as_dir=.
3667 for ac_exec_ext in '' $ac_executable_extensions; do3731 for ac_exec_ext in '' $ac_executable_extensions; do
3668 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3732 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3669 ac_cv_prog_ac_ct_CXX="$ac_prog"3733 ac_cv_prog_ac_ct_CXX="$ac_prog"
3670 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53734 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3671 break 23735 break 2
@@ -3723,15 +3787,15 @@ $as_echo "$ac_try_echo"; } >&5 · 51 unmodified lines
3723... rest of stderr output deleted ...3787... rest of stderr output deleted ...
3724 10q' conftest.err >conftest.er13788 10q' conftest.err >conftest.er1
3725 cat conftest.er1 >&53789 cat conftest.er1 >&5
3726 rm -f conftest.er1 conftest.err
3727 fi3790 fi
3791 rm -f conftest.er1 conftest.err
3728 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&53792 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3729 test $ac_status = 0; }3793 test $ac_status = 0; }
3730done3794done
3731 3795
3732{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&53796{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
3733$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }3797$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
3734if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :3798if ${ac_cv_cxx_compiler_gnu+:} false; then :
3735 $as_echo_n "(cached) " >&63799 $as_echo_n "(cached) " >&6
3736else3800else
3737 cat confdefs.h - <<_ACEOF >conftest.$ac_ext3801 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3768,7 +3832,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set} · 30 unmodified lines
3768ac_save_CXXFLAGS=$CXXFLAGS3832ac_save_CXXFLAGS=$CXXFLAGS
3769{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&53833{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
3770$as_echo_n "checking whether $CXX accepts -g... " >&6; }3834$as_echo_n "checking whether $CXX accepts -g... " >&6; }
3771if test "${ac_cv_prog_cxx_g+set}" = set; then :3835if ${ac_cv_prog_cxx_g+:} false; then :
3772 $as_echo_n "(cached) " >&63836 $as_echo_n "(cached) " >&6
3773else3837else
3774 ac_save_cxx_werror_flag=$ac_cxx_werror_flag3838 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -3855,7 +3919,7 @@ if test -n "$ac_tool_prefix"; then · 80 unmodified lines
3855set dummy ${ac_tool_prefix}ranlib; ac_word=$23919set dummy ${ac_tool_prefix}ranlib; ac_word=$2
3856{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53920{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3857$as_echo_n "checking for $ac_word... " >&6; }3921$as_echo_n "checking for $ac_word... " >&6; }
3858if test "${ac_cv_prog_RANLIB+set}" = set; then :3922if ${ac_cv_prog_RANLIB+:} false; then :
3859 $as_echo_n "(cached) " >&63923 $as_echo_n "(cached) " >&6
3860else3924else
3861 if test -n "$RANLIB"; then3925 if test -n "$RANLIB"; then
@@ -3867,7 +3931,7 @@ do · 5 unmodified lines
3867 IFS=$as_save_IFS3931 IFS=$as_save_IFS
3868 test -z "$as_dir" && as_dir=.3932 test -z "$as_dir" && as_dir=.
3869 for ac_exec_ext in '' $ac_executable_extensions; do3933 for ac_exec_ext in '' $ac_executable_extensions; do
3870 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3934 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3871 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"3935 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
3872 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53936 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3873 break 23937 break 2
@@ -3895,7 +3959,7 @@ if test -z "$ac_cv_prog_RANLIB"; then · 21 unmodified lines
3895set dummy ranlib; ac_word=$23959set dummy ranlib; ac_word=$2
3896{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53960{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3897$as_echo_n "checking for $ac_word... " >&6; }3961$as_echo_n "checking for $ac_word... " >&6; }
3898if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :3962if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
3899 $as_echo_n "(cached) " >&63963 $as_echo_n "(cached) " >&6
3900else3964else
3901 if test -n "$ac_ct_RANLIB"; then3965 if test -n "$ac_ct_RANLIB"; then
@@ -3907,7 +3971,7 @@ do · 5 unmodified lines
3907 IFS=$as_save_IFS3971 IFS=$as_save_IFS
3908 test -z "$as_dir" && as_dir=.3972 test -z "$as_dir" && as_dir=.
3909 for ac_exec_ext in '' $ac_executable_extensions; do3973 for ac_exec_ext in '' $ac_executable_extensions; do
3910 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then3974 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3911 ac_cv_prog_ac_ct_RANLIB="ranlib"3975 ac_cv_prog_ac_ct_RANLIB="ranlib"
3912 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&53976 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3913 break 23977 break 2
@@ -3956,7 +4020,7 @@ if test -n "$CPP" && test -d "$CPP"; then · 42 unmodified lines
3956 CPP=4020 CPP=
3957fi4021fi
3958if test -z "$CPP"; then4022if test -z "$CPP"; then
3959 if test "${ac_cv_prog_CPP+set}" = set; then :4023 if ${ac_cv_prog_CPP+:} false; then :
3960 $as_echo_n "(cached) " >&64024 $as_echo_n "(cached) " >&6
3961else4025else
3962 # Double quotes because CPP needs to be expanded4026 # Double quotes because CPP needs to be expanded
@@ -3986,7 +4050,7 @@ else · 23 unmodified lines
3986 # Broken: fails on valid input.4050 # Broken: fails on valid input.
3987continue4051continue
3988fi4052fi
3989rm -f conftest.err conftest.$ac_ext4053rm -f conftest.err conftest.i conftest.$ac_ext
3990 4054
3991 # OK, works on sane cases. Now check whether nonexistent headers4055 # OK, works on sane cases. Now check whether nonexistent headers
3992 # can be detected and how.4056 # can be detected and how.
@@ -4002,11 +4066,11 @@ else · 9 unmodified lines
4002ac_preproc_ok=:4066ac_preproc_ok=:
4003break4067break
4004fi4068fi
4005rm -f conftest.err conftest.$ac_ext4069rm -f conftest.err conftest.i conftest.$ac_ext
4006 4070
4007done4071done
4008# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.4072# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4009rm -f conftest.err conftest.$ac_ext4073rm -f conftest.i conftest.err conftest.$ac_ext
4010if $ac_preproc_ok; then :4074if $ac_preproc_ok; then :
4011 break4075 break
4012fi4076fi
@@ -4045,7 +4109,7 @@ else · 32 unmodified lines
4045 # Broken: fails on valid input.4109 # Broken: fails on valid input.
4046continue4110continue
4047fi4111fi
4048rm -f conftest.err conftest.$ac_ext4112rm -f conftest.err conftest.i conftest.$ac_ext
4049 4113
4050 # OK, works on sane cases. Now check whether nonexistent headers4114 # OK, works on sane cases. Now check whether nonexistent headers
4051 # can be detected and how.4115 # can be detected and how.
@@ -4061,18 +4125,18 @@ else · 9 unmodified lines
4061ac_preproc_ok=:4125ac_preproc_ok=:
4062break4126break
4063fi4127fi
4064rm -f conftest.err conftest.$ac_ext4128rm -f conftest.err conftest.i conftest.$ac_ext
4065 4129
4066done4130done
4067# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.4131# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4068rm -f conftest.err conftest.$ac_ext4132rm -f conftest.i conftest.err conftest.$ac_ext
4069if $ac_preproc_ok; then :4133if $ac_preproc_ok; then :
4070 4134
4071else4135else
4072 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&54136 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4073$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}4137$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4074as_fn_error "C preprocessor \"$CPP\" fails sanity check4138as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4075See \`config.log' for more details." "$LINENO" 5; }4139See \`config.log' for more details" "$LINENO" 5; }
4076fi4140fi
4077 4141
4078ac_ext=c4142ac_ext=c
@@ -4084,7 +4148,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu · 5 unmodified lines
4084 4148
4085{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&54149{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
4086$as_echo_n "checking for grep that handles long lines and -e... " >&6; }4150$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
4087if test "${ac_cv_path_GREP+set}" = set; then :4151if ${ac_cv_path_GREP+:} false; then :
4088 $as_echo_n "(cached) " >&64152 $as_echo_n "(cached) " >&6
4089else4153else
4090 if test -z "$GREP"; then4154 if test -z "$GREP"; then
@@ -4098,7 +4162,7 @@ do · 7 unmodified lines
4098 for ac_prog in grep ggrep; do4162 for ac_prog in grep ggrep; do
4099 for ac_exec_ext in '' $ac_executable_extensions; do4163 for ac_exec_ext in '' $ac_executable_extensions; do
4100 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"4164 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
4101 { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue4165 as_fn_executable_p "$ac_path_GREP" || continue
4102# Check for GNU ac_path_GREP and select it if it is found.4166# Check for GNU ac_path_GREP and select it if it is found.
4103 # Check for GNU $ac_path_GREP4167 # Check for GNU $ac_path_GREP
4104case `"$ac_path_GREP" --version 2>&1` in4168case `"$ac_path_GREP" --version 2>&1` in
@@ -4133,7 +4197,7 @@ esac · 28 unmodified lines
4133 done4197 done
4134IFS=$as_save_IFS4198IFS=$as_save_IFS
4135 if test -z "$ac_cv_path_GREP"; then4199 if test -z "$ac_cv_path_GREP"; then
4136 as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 54200 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4137 fi4201 fi
4138else4202else
4139 ac_cv_path_GREP=$GREP4203 ac_cv_path_GREP=$GREP
@@ -4147,7 +4211,7 @@ $as_echo "$ac_cv_path_GREP" >&6; } · 7 unmodified lines
4147 4211
4148{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&54212{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4149$as_echo_n "checking for egrep... " >&6; }4213$as_echo_n "checking for egrep... " >&6; }
4150if test "${ac_cv_path_EGREP+set}" = set; then :4214if ${ac_cv_path_EGREP+:} false; then :
4151 $as_echo_n "(cached) " >&64215 $as_echo_n "(cached) " >&6
4152else4216else
4153 if echo a | $GREP -E '(a|b)' >/dev/null 2>&14217 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4164,7 +4228,7 @@ do · 10 unmodified lines
4164 for ac_prog in egrep; do4228 for ac_prog in egrep; do
4165 for ac_exec_ext in '' $ac_executable_extensions; do4229 for ac_exec_ext in '' $ac_executable_extensions; do
4166 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"4230 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4167 { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue4231 as_fn_executable_p "$ac_path_EGREP" || continue
4168# Check for GNU ac_path_EGREP and select it if it is found.4232# Check for GNU ac_path_EGREP and select it if it is found.
4169 # Check for GNU $ac_path_EGREP4233 # Check for GNU $ac_path_EGREP
4170case `"$ac_path_EGREP" --version 2>&1` in4234case `"$ac_path_EGREP" --version 2>&1` in
@@ -4199,7 +4263,7 @@ esac · 28 unmodified lines
4199 done4263 done
4200IFS=$as_save_IFS4264IFS=$as_save_IFS
4201 if test -z "$ac_cv_path_EGREP"; then4265 if test -z "$ac_cv_path_EGREP"; then
4202 as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 54266 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4203 fi4267 fi
4204else4268else
4205 ac_cv_path_EGREP=$EGREP4269 ac_cv_path_EGREP=$EGREP
@@ -4214,7 +4278,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } · 8 unmodified lines
4214 4278
4215{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&54279{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
4216$as_echo_n "checking for ANSI C header files... " >&6; }4280$as_echo_n "checking for ANSI C header files... " >&6; }
4217if test "${ac_cv_header_stdc+set}" = set; then :4281if ${ac_cv_header_stdc+:} false; then :
4218 $as_echo_n "(cached) " >&64282 $as_echo_n "(cached) " >&6
4219else4283else
4220 cat confdefs.h - <<_ACEOF >conftest.$ac_ext4284 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4331,8 +4395,7 @@ do : · 110 unmodified lines
4331 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`4395 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
4332ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default4396ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
4333"4397"
4334eval as_val=\$$as_ac_Header4398if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
4335 if test "x$as_val" = x""yes; then :
4336 cat >>confdefs.h <<_ACEOF4399 cat >>confdefs.h <<_ACEOF
4337#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 14400#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
4338_ACEOF4401_ACEOF
@@ -4344,7 +4407,7 @@ done · 5 unmodified lines
4344 4407
4345 4408
4346 ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"4409 ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
4347if test "x$ac_cv_header_minix_config_h" = x""yes; then :4410if test "x$ac_cv_header_minix_config_h" = xyes; then :
4348 MINIX=yes4411 MINIX=yes
4349else4412else
4350 MINIX=4413 MINIX=
@@ -4366,14 +4429,14 @@ $as_echo "#define _MINIX 1" >>confdefs.h · 15 unmodified lines
4366 4429
4367 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&54430 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
4368$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }4431$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
4369if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :4432if ${ac_cv_safe_to_define___extensions__+:} false; then :
4370 $as_echo_n "(cached) " >&64433 $as_echo_n "(cached) " >&6
4371else4434else
4372 cat confdefs.h - <<_ACEOF >conftest.$ac_ext4435 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4373/* end confdefs.h. */4436/* end confdefs.h. */
4374 4437
4375# define __EXTENSIONS__ 14438# define __EXTENSIONS__ 1
4376 $ac_includes_default4439 $ac_includes_default
4377int4440int
4378main ()4441main ()
4379{4442{
@@ -4412,7 +4475,7 @@ if test "$enable_largefile" != no; then · 32 unmodified lines
4412 4475
4413 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&54476 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
4414$as_echo_n "checking for special C compiler options needed for large files... " >&6; }4477$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
4415if test "${ac_cv_sys_largefile_CC+set}" = set; then :4478if ${ac_cv_sys_largefile_CC+:} false; then :
4416 $as_echo_n "(cached) " >&64479 $as_echo_n "(cached) " >&6
4417else4480else
4418 ac_cv_sys_largefile_CC=no4481 ac_cv_sys_largefile_CC=no
@@ -4463,7 +4526,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; } · 44 unmodified lines
4463 4526
4464 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&54527 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
4465$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }4528$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
4466if test "${ac_cv_sys_file_offset_bits+set}" = set; then :4529if ${ac_cv_sys_file_offset_bits+:} false; then :
4467 $as_echo_n "(cached) " >&64530 $as_echo_n "(cached) " >&6
4468else4531else
4469 while :; do4532 while :; do
@@ -4532,7 +4595,7 @@ rm -rf conftest* · 62 unmodified lines
4532 if test $ac_cv_sys_file_offset_bits = unknown; then4595 if test $ac_cv_sys_file_offset_bits = unknown; then
4533 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&54596 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
4534$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }4597$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
4535if test "${ac_cv_sys_large_files+set}" = set; then :4598if ${ac_cv_sys_large_files+:} false; then :
4536 $as_echo_n "(cached) " >&64599 $as_echo_n "(cached) " >&6
4537else4600else
4538 while :; do4601 while :; do
@@ -4599,6 +4662,8 @@ _ACEOF · 60 unmodified lines
4599esac4662esac
4600rm -rf conftest*4663rm -rf conftest*
4601 fi4664 fi
4665
4666
4602fi4667fi
4603 4668
4604 4669
@@ -4609,7 +4674,7 @@ do · 4 unmodified lines
4609set dummy $ac_prog; ac_word=$24674set dummy $ac_prog; ac_word=$2
4610{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54675{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4611$as_echo_n "checking for $ac_word... " >&6; }4676$as_echo_n "checking for $ac_word... " >&6; }
4612if test "${ac_cv_prog_ACLOCAL+set}" = set; then :4677if ${ac_cv_prog_ACLOCAL+:} false; then :
4613 $as_echo_n "(cached) " >&64678 $as_echo_n "(cached) " >&6
4614else4679else
4615 if test -n "$ACLOCAL"; then4680 if test -n "$ACLOCAL"; then
@@ -4621,7 +4686,7 @@ do · 5 unmodified lines
4621 IFS=$as_save_IFS4686 IFS=$as_save_IFS
4622 test -z "$as_dir" && as_dir=.4687 test -z "$as_dir" && as_dir=.
4623 for ac_exec_ext in '' $ac_executable_extensions; do4688 for ac_exec_ext in '' $ac_executable_extensions; do
4624 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then4689 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4625 ac_cv_prog_ACLOCAL="$ac_prog"4690 ac_cv_prog_ACLOCAL="$ac_prog"
4626 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54691 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4627 break 24692 break 2
@@ -4652,7 +4717,7 @@ do · 24 unmodified lines
4652set dummy $ac_prog; ac_word=$24717set dummy $ac_prog; ac_word=$2
4653{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54718{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4654$as_echo_n "checking for $ac_word... " >&6; }4719$as_echo_n "checking for $ac_word... " >&6; }
4655if test "${ac_cv_prog_AUTOCONF+set}" = set; then :4720if ${ac_cv_prog_AUTOCONF+:} false; then :
4656 $as_echo_n "(cached) " >&64721 $as_echo_n "(cached) " >&6
4657else4722else
4658 if test -n "$AUTOCONF"; then4723 if test -n "$AUTOCONF"; then
@@ -4664,7 +4729,7 @@ do · 5 unmodified lines
4664 IFS=$as_save_IFS4729 IFS=$as_save_IFS
4665 test -z "$as_dir" && as_dir=.4730 test -z "$as_dir" && as_dir=.
4666 for ac_exec_ext in '' $ac_executable_extensions; do4731 for ac_exec_ext in '' $ac_executable_extensions; do
4667 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then4732 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4668 ac_cv_prog_AUTOCONF="$ac_prog"4733 ac_cv_prog_AUTOCONF="$ac_prog"
4669 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54734 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4670 break 24735 break 2
@@ -4695,7 +4760,7 @@ do · 24 unmodified lines
4695set dummy $ac_prog; ac_word=$24760set dummy $ac_prog; ac_word=$2
4696{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54761{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4697$as_echo_n "checking for $ac_word... " >&6; }4762$as_echo_n "checking for $ac_word... " >&6; }
4698if test "${ac_cv_prog_AUTOHEADER+set}" = set; then :4763if ${ac_cv_prog_AUTOHEADER+:} false; then :
4699 $as_echo_n "(cached) " >&64764 $as_echo_n "(cached) " >&6
4700else4765else
4701 if test -n "$AUTOHEADER"; then4766 if test -n "$AUTOHEADER"; then
@@ -4707,7 +4772,7 @@ do · 5 unmodified lines
4707 IFS=$as_save_IFS4772 IFS=$as_save_IFS
4708 test -z "$as_dir" && as_dir=.4773 test -z "$as_dir" && as_dir=.
4709 for ac_exec_ext in '' $ac_executable_extensions; do4774 for ac_exec_ext in '' $ac_executable_extensions; do
4710 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then4775 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4711 ac_cv_prog_AUTOHEADER="$ac_prog"4776 ac_cv_prog_AUTOHEADER="$ac_prog"
4712 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54777 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4713 break 24778 break 2
@@ -4756,7 +4821,7 @@ for real_option in -W -Wall -Wno-narrowing -Wwrite-strings \ · 42 unmodified lines
4756 4821
4757 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&54822 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
4758$as_echo_n "checking whether $CC supports $option... " >&6; }4823$as_echo_n "checking whether $CC supports $option... " >&6; }
4759if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :4824if eval \${$as_acx_Woption+:} false; then :
4760 $as_echo_n "(cached) " >&64825 $as_echo_n "(cached) " >&6
4761else4826else
4762 CFLAGS="$option"4827 CFLAGS="$option"
@@ -4814,7 +4879,7 @@ for real_option in -Wstrict-prototypes -Wmissing-prototypes \ · 51 unmodified lines
4814 4879
4815 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&54880 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
4816$as_echo_n "checking whether $CC supports $option... " >&6; }4881$as_echo_n "checking whether $CC supports $option... " >&6; }
4817if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :4882if eval \${$as_acx_Woption+:} false; then :
4818 $as_echo_n "(cached) " >&64883 $as_echo_n "(cached) " >&6
4819else4884else
4820 CFLAGS="$option"4885 CFLAGS="$option"
@@ -4864,7 +4929,7 @@ WARN_PEDANTIC= · 43 unmodified lines
4864if test "$GCC" = yes; then :4929if test "$GCC" = yes; then :
4865 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&54930 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5
4866$as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; }4931$as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; }
4867if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then :4932if ${acx_cv_prog_cc_pedantic__Wlong_long+:} false; then :
4868 $as_echo_n "(cached) " >&64933 $as_echo_n "(cached) " >&6
4869else4934else
4870 save_CFLAGS="$CFLAGS"4935 save_CFLAGS="$CFLAGS"
@@ -4923,7 +4988,7 @@ for real_option in -fno-exceptions -fno-rtti; do · 52 unmodified lines
4923 4988
4924 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&54989 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
4925$as_echo_n "checking whether $CC supports $option... " >&6; }4990$as_echo_n "checking whether $CC supports $option... " >&6; }
4926if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :4991if eval \${$as_acx_Woption+:} false; then :
4927 $as_echo_n "(cached) " >&64992 $as_echo_n "(cached) " >&6
4928else4993else
4929 CFLAGS="$option"4994 CFLAGS="$option"
@@ -5019,7 +5084,7 @@ _ACEOF · 89 unmodified lines
5019if ac_fn_cxx_try_compile "$LINENO"; then :5084if ac_fn_cxx_try_compile "$LINENO"; then :
5020 5085
5021else5086else
5022 as_fn_error "C++ compiler missing or inoperational" "$LINENO" 55087 as_fn_error $? "C++ compiler missing or inoperational" "$LINENO" 5
5023fi5088fi
5024rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext5089rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5025ac_ext=c5090ac_ext=c
@@ -5033,7 +5098,7 @@ depcc="$CXX" am_compiler_list= · 7 unmodified lines
5033am_depcomp=$ac_aux_dir/depcomp5098am_depcomp=$ac_aux_dir/depcomp
5034{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&55099{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
5035$as_echo_n "checking dependency style of $depcc... " >&6; }5100$as_echo_n "checking dependency style of $depcc... " >&6; }
5036if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :5101if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
5037 $as_echo_n "(cached) " >&65102 $as_echo_n "(cached) " >&6
5038else5103else
5039 if test -f "$am_depcomp"; then5104 if test -f "$am_depcomp"; then
@@ -5119,7 +5184,7 @@ fi · 79 unmodified lines
5119{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&55184{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
5120$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }5185$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
5121if test x${am_cv_CXX_dependencies_compiler_type-none} = xnone5186if test x${am_cv_CXX_dependencies_compiler_type-none} = xnone
5122then as_fn_error "no usable dependency style found" "$LINENO" 55187then as_fn_error $? "no usable dependency style found" "$LINENO" 5
5123else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type5188else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
5124 5189
5125fi5190fi
@@ -5128,7 +5193,7 @@ fi · 2 unmodified lines
5128# Checks for header files.5193# Checks for header files.
5129{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&55194{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
5130$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }5195$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
5131if test "${ac_cv_header_time+set}" = set; then :5196if ${ac_cv_header_time+:} false; then :
5132 $as_echo_n "(cached) " >&65197 $as_echo_n "(cached) " >&6
5133else5198else
5134 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5199 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5163,7 +5228,7 @@ fi · 28 unmodified lines
5163 5228
5164{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&55229{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
5165$as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }5230$as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
5166if test "${gcc_cv_header_string+set}" = set; then :5231if ${gcc_cv_header_string+:} false; then :
5167 $as_echo_n "(cached) " >&65232 $as_echo_n "(cached) " >&6
5168else5233else
5169 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5234 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5199,8 +5264,7 @@ for ac_header in locale.h fcntl.h limits.h stddef.h \ · 29 unmodified lines
5199do :5264do :
5200 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`5265 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
5201ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"5266ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
5202eval as_val=\$$as_ac_Header5267if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
5203 if test "x$as_val" = x""yes; then :
5204 cat >>confdefs.h <<_ACEOF5268 cat >>confdefs.h <<_ACEOF
5205#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 15269#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
5206_ACEOF5270_ACEOF
@@ -5213,7 +5277,7 @@ done · 6 unmodified lines
5213# Checks for typedefs, structures, and compiler characteristics.5277# Checks for typedefs, structures, and compiler characteristics.
5214 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&55278 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
5215$as_echo_n "checking whether byte ordering is bigendian... " >&6; }5279$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
5216if test "${ac_cv_c_bigendian+set}" = set; then :5280if ${ac_cv_c_bigendian+:} false; then :
5217 $as_echo_n "(cached) " >&65281 $as_echo_n "(cached) " >&6
5218else5282else
5219 ac_cv_c_bigendian=unknown5283 ac_cv_c_bigendian=unknown
@@ -5431,13 +5495,13 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h · 211 unmodified lines
5431 5495
5432 ;; #(5496 ;; #(
5433 *)5497 *)
5434 as_fn_error "unknown endianness5498 as_fn_error $? "unknown endianness
5435 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;5499 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
5436 esac5500 esac
5437 5501
5438{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&55502{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
5439$as_echo_n "checking for an ANSI C-conforming const... " >&6; }5503$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
5440if test "${ac_cv_c_const+set}" = set; then :5504if ${ac_cv_c_const+:} false; then :
5441 $as_echo_n "(cached) " >&65505 $as_echo_n "(cached) " >&6
5442else5506else
5443 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5507 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5446,11 +5510,11 @@ else · 2 unmodified lines
5446int5510int
5447main ()5511main ()
5448{5512{
5449/* FIXME: Include the comments suggested by Paul. */5513
5450#ifndef __cplusplus5514#ifndef __cplusplus
5451 /* Ultrix mips cc rejects this. */5515 /* Ultrix mips cc rejects this sort of thing. */
5452 typedef int charset[2];5516 typedef int charset[2];
5453 const charset cs;5517 const charset cs = { 0, 0 };
5454 /* SunOS 4.1.1 cc rejects this. */5518 /* SunOS 4.1.1 cc rejects this. */
5455 char const *const *pcpcc;5519 char const *const *pcpcc;
5456 char **ppc;5520 char **ppc;
@@ -5467,8 +5531,9 @@ main () · 10 unmodified lines
5467 ++pcpcc;5531 ++pcpcc;
5468 ppc = (char**) pcpcc;5532 ppc = (char**) pcpcc;
5469 pcpcc = (char const *const *) ppc;5533 pcpcc = (char const *const *) ppc;
5470 { /* SCO 3.2v4 cc rejects this. */5534 { /* SCO 3.2v4 cc rejects this sort of thing. */
5471 char *t;5535 char tx;
5536 char *t = &tx;
5472 char const *s = 0 ? (char *) 0 : (char const *) 0;5537 char const *s = 0 ? (char *) 0 : (char const *) 0;
5473 5538
5474 *t++ = 0;5539 *t++ = 0;
@@ -5484,10 +5549,10 @@ main () · 9 unmodified lines
5484 iptr p = 0;5549 iptr p = 0;
5485 ++p;5550 ++p;
5486 }5551 }
5487 { /* AIX XL C 1.02.0.0 rejects this saying5552 { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
5488 "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */5553 "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
5489 struct s { int j; const int *ap[3]; };5554 struct s { int j; const int *ap[3]; } bx;
5490 struct s *b; b->j = 5;5555 struct s *b = &bx; b->j = 5;
5491 }5556 }
5492 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */5557 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
5493 const int foo = 10;5558 const int foo = 10;
@@ -5517,7 +5582,7 @@ fi · 23 unmodified lines
5517 5582
5518{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&55583{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
5519$as_echo_n "checking for inline... " >&6; }5584$as_echo_n "checking for inline... " >&6; }
5520if test "${ac_cv_c_inline+set}" = set; then :5585if ${ac_cv_c_inline+:} false; then :
5521 $as_echo_n "(cached) " >&65586 $as_echo_n "(cached) " >&6
5522else5587else
5523 ac_cv_c_inline=no5588 ac_cv_c_inline=no
@@ -5559,7 +5624,7 @@ esac · 35 unmodified lines
5559 5624
5560{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&55625{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5
5561$as_echo_n "checking for obstacks... " >&6; }5626$as_echo_n "checking for obstacks... " >&6; }
5562if test "${ac_cv_func_obstack+set}" = set; then :5627if ${ac_cv_func_obstack+:} false; then :
5563 $as_echo_n "(cached) " >&65628 $as_echo_n "(cached) " >&6
5564else5629else
5565 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5630 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5602,7 +5667,7 @@ esac · 36 unmodified lines
5602fi5667fi
5603 5668
5604ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"5669ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
5605if test "x$ac_cv_type_off_t" = x""yes; then :5670if test "x$ac_cv_type_off_t" = xyes; then :
5606 5671
5607else5672else
5608 5673
@@ -5613,7 +5678,7 @@ _ACEOF · 4 unmodified lines
5613fi5678fi
5614 5679
5615ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"5680ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
5616if test "x$ac_cv_type_size_t" = x""yes; then :5681if test "x$ac_cv_type_size_t" = xyes; then :
5617 5682
5618else5683else
5619 5684
@@ -5624,7 +5689,7 @@ _ACEOF · 4 unmodified lines
5624fi5689fi
5625 5690
5626ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"5691ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
5627if test "x$ac_cv_type_ssize_t" = x""yes; then :5692if test "x$ac_cv_type_ssize_t" = xyes; then :
5628 5693
5629else5694else
5630 5695
@@ -5636,7 +5701,7 @@ fi · 5 unmodified lines
5636 5701
5637 5702
5638 ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"5703 ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
5639if test "x$ac_cv_type_uintptr_t" = x""yes; then :5704if test "x$ac_cv_type_uintptr_t" = xyes; then :
5640 5705
5641$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h5706$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
5642 5707
@@ -5650,7 +5715,8 @@ int · 7 unmodified lines
5650main ()5715main ()
5651{5716{
5652static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];5717static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
5653test_array [0] = 05718test_array [0] = 0;
5719return test_array [0];
5654 5720
5655 ;5721 ;
5656 return 0;5722 return 0;
@@ -5671,7 +5737,7 @@ fi · 14 unmodified lines
5671 5737
5672 5738
5673ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"5739ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
5674if test "x$ac_cv_type_ptrdiff_t" = x""yes; then :5740if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
5675 5741
5676else5742else
5677 5743
@@ -5696,11 +5762,11 @@ _ACEOF · 18 unmodified lines
5696 esac5762 esac
5697 5763
5698if test x"$ac_cv_c_uint64_t" = x"no"; then5764if test x"$ac_cv_c_uint64_t" = x"no"; then
5699 as_fn_error "uint64_t not found" "$LINENO" 55765 as_fn_error $? "uint64_t not found" "$LINENO" 5
5700fi5766fi
5701{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&55767{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
5702$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }5768$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
5703if test "${ac_cv_struct_tm+set}" = set; then :5769if ${ac_cv_struct_tm+:} false; then :
5704 $as_echo_n "(cached) " >&65770 $as_echo_n "(cached) " >&6
5705else5771else
5706 cat confdefs.h - <<_ACEOF >conftest.$ac_ext5772 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5739,7 +5805,7 @@ fi · 32 unmodified lines
5739# This bug is HP SR number 8606223364.5805# This bug is HP SR number 8606223364.
5740{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&55806{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
5741$as_echo_n "checking size of int... " >&6; }5807$as_echo_n "checking size of int... " >&6; }
5742if test "${ac_cv_sizeof_int+set}" = set; then :5808if ${ac_cv_sizeof_int+:} false; then :
5743 $as_echo_n "(cached) " >&65809 $as_echo_n "(cached) " >&6
5744else5810else
5745 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :5811 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
@@ -5748,9 +5814,8 @@ else · 2 unmodified lines
5748 if test "$ac_cv_type_int" = yes; then5814 if test "$ac_cv_type_int" = yes; then
5749 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&55815 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
5750$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}5816$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
5751{ as_fn_set_status 775817as_fn_error 77 "cannot compute sizeof (int)
5752as_fn_error "cannot compute sizeof (int)5818See \`config.log' for more details" "$LINENO" 5; }
5753See \`config.log' for more details." "$LINENO" 5; }; }
5754 else5819 else
5755 ac_cv_sizeof_int=05820 ac_cv_sizeof_int=0
5756 fi5821 fi
@@ -5773,7 +5838,7 @@ _ACEOF · 16 unmodified lines
5773# This bug is HP SR number 8606223364.5838# This bug is HP SR number 8606223364.
5774{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&55839{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
5775$as_echo_n "checking size of long... " >&6; }5840$as_echo_n "checking size of long... " >&6; }
5776if test "${ac_cv_sizeof_long+set}" = set; then :5841if ${ac_cv_sizeof_long+:} false; then :
5777 $as_echo_n "(cached) " >&65842 $as_echo_n "(cached) " >&6
5778else5843else
5779 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :5844 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
@@ -5782,9 +5847,8 @@ else · 2 unmodified lines
5782 if test "$ac_cv_type_long" = yes; then5847 if test "$ac_cv_type_long" = yes; then
5783 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&55848 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
5784$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}5849$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
5785{ as_fn_set_status 775850as_fn_error 77 "cannot compute sizeof (long)
5786as_fn_error "cannot compute sizeof (long)5851See \`config.log' for more details" "$LINENO" 5; }
5787See \`config.log' for more details." "$LINENO" 5; }; }
5788 else5852 else
5789 ac_cv_sizeof_long=05853 ac_cv_sizeof_long=0
5790 fi5854 fi
@@ -5806,8 +5870,7 @@ for ac_func in clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked · 15 unmodified lines
5806do :5870do :
5807 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`5871 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
5808ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"5872ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
5809eval as_val=\$$as_ac_var5873if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
5810 if test "x$as_val" = x""yes; then :
5811 cat >>confdefs.h <<_ACEOF5874 cat >>confdefs.h <<_ACEOF
5812#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 15875#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
5813_ACEOF5876_ACEOF
@@ -5816,7 +5879,7 @@ fi · 2 unmodified lines
5816done5879done
5817 5880
5818ac_fn_c_check_decl "$LINENO" "abort" "ac_cv_have_decl_abort" "$ac_includes_default"5881ac_fn_c_check_decl "$LINENO" "abort" "ac_cv_have_decl_abort" "$ac_includes_default"
5819if test "x$ac_cv_have_decl_abort" = x""yes; then :5882if test "x$ac_cv_have_decl_abort" = xyes; then :
5820 ac_have_decl=15883 ac_have_decl=1
5821else5884else
5822 ac_have_decl=05885 ac_have_decl=0
@@ -5826,7 +5889,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5826#define HAVE_DECL_ABORT $ac_have_decl5889#define HAVE_DECL_ABORT $ac_have_decl
5827_ACEOF5890_ACEOF
5828ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"5891ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
5829if test "x$ac_cv_have_decl_asprintf" = x""yes; then :5892if test "x$ac_cv_have_decl_asprintf" = xyes; then :
5830 ac_have_decl=15893 ac_have_decl=1
5831else5894else
5832 ac_have_decl=05895 ac_have_decl=0
@@ -5835,8 +5898,9 @@ fi · 2 unmodified lines
5835cat >>confdefs.h <<_ACEOF5898cat >>confdefs.h <<_ACEOF
5836#define HAVE_DECL_ASPRINTF $ac_have_decl5899#define HAVE_DECL_ASPRINTF $ac_have_decl
5837_ACEOF5900_ACEOF
5838ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default"5901as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
5839if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then :5902ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
5903if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
5840 ac_have_decl=15904 ac_have_decl=1
5841else5905else
5842 ac_have_decl=05906 ac_have_decl=0
@@ -5846,7 +5910,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5846#define HAVE_DECL_BASENAME $ac_have_decl5910#define HAVE_DECL_BASENAME $ac_have_decl
5847_ACEOF5911_ACEOF
5848ac_fn_c_check_decl "$LINENO" "errno" "ac_cv_have_decl_errno" "$ac_includes_default"5912ac_fn_c_check_decl "$LINENO" "errno" "ac_cv_have_decl_errno" "$ac_includes_default"
5849if test "x$ac_cv_have_decl_errno" = x""yes; then :5913if test "x$ac_cv_have_decl_errno" = xyes; then :
5850 ac_have_decl=15914 ac_have_decl=1
5851else5915else
5852 ac_have_decl=05916 ac_have_decl=0
@@ -5856,7 +5920,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5856#define HAVE_DECL_ERRNO $ac_have_decl5920#define HAVE_DECL_ERRNO $ac_have_decl
5857_ACEOF5921_ACEOF
5858ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default"5922ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default"
5859if test "x$ac_cv_have_decl_getopt" = x""yes; then :5923if test "x$ac_cv_have_decl_getopt" = xyes; then :
5860 ac_have_decl=15924 ac_have_decl=1
5861else5925else
5862 ac_have_decl=05926 ac_have_decl=0
@@ -5866,7 +5930,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5866#define HAVE_DECL_GETOPT $ac_have_decl5930#define HAVE_DECL_GETOPT $ac_have_decl
5867_ACEOF5931_ACEOF
5868ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"5932ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
5869if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :5933if test "x$ac_cv_have_decl_vasprintf" = xyes; then :
5870 ac_have_decl=15934 ac_have_decl=1
5871else5935else
5872 ac_have_decl=05936 ac_have_decl=0
@@ -5877,7 +5941,7 @@ cat >>confdefs.h <<_ACEOF · 4 unmodified lines
5877_ACEOF5941_ACEOF
5878 5942
5879ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"5943ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
5880if test "x$ac_cv_have_decl_clearerr_unlocked" = x""yes; then :5944if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then :
5881 ac_have_decl=15945 ac_have_decl=1
5882else5946else
5883 ac_have_decl=05947 ac_have_decl=0
@@ -5887,7 +5951,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5887#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl5951#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl
5888_ACEOF5952_ACEOF
5889ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"5953ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
5890if test "x$ac_cv_have_decl_feof_unlocked" = x""yes; then :5954if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then :
5891 ac_have_decl=15955 ac_have_decl=1
5892else5956else
5893 ac_have_decl=05957 ac_have_decl=0
@@ -5897,7 +5961,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5897#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl5961#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl
5898_ACEOF5962_ACEOF
5899ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"5963ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
5900if test "x$ac_cv_have_decl_ferror_unlocked" = x""yes; then :5964if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then :
5901 ac_have_decl=15965 ac_have_decl=1
5902else5966else
5903 ac_have_decl=05967 ac_have_decl=0
@@ -5907,7 +5971,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5907#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl5971#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl
5908_ACEOF5972_ACEOF
5909ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"5973ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
5910if test "x$ac_cv_have_decl_fflush_unlocked" = x""yes; then :5974if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then :
5911 ac_have_decl=15975 ac_have_decl=1
5912else5976else
5913 ac_have_decl=05977 ac_have_decl=0
@@ -5917,7 +5981,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5917#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl5981#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl
5918_ACEOF5982_ACEOF
5919ac_fn_c_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default"5983ac_fn_c_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default"
5920if test "x$ac_cv_have_decl_fgetc_unlocked" = x""yes; then :5984if test "x$ac_cv_have_decl_fgetc_unlocked" = xyes; then :
5921 ac_have_decl=15985 ac_have_decl=1
5922else5986else
5923 ac_have_decl=05987 ac_have_decl=0
@@ -5927,7 +5991,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5927#define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl5991#define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl
5928_ACEOF5992_ACEOF
5929ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"5993ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
5930if test "x$ac_cv_have_decl_fgets_unlocked" = x""yes; then :5994if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then :
5931 ac_have_decl=15995 ac_have_decl=1
5932else5996else
5933 ac_have_decl=05997 ac_have_decl=0
@@ -5937,7 +6001,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5937#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl6001#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl
5938_ACEOF6002_ACEOF
5939ac_fn_c_check_decl "$LINENO" "fileno_unlocked" "ac_cv_have_decl_fileno_unlocked" "$ac_includes_default"6003ac_fn_c_check_decl "$LINENO" "fileno_unlocked" "ac_cv_have_decl_fileno_unlocked" "$ac_includes_default"
5940if test "x$ac_cv_have_decl_fileno_unlocked" = x""yes; then :6004if test "x$ac_cv_have_decl_fileno_unlocked" = xyes; then :
5941 ac_have_decl=16005 ac_have_decl=1
5942else6006else
5943 ac_have_decl=06007 ac_have_decl=0
@@ -5947,7 +6011,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5947#define HAVE_DECL_FILENO_UNLOCKED $ac_have_decl6011#define HAVE_DECL_FILENO_UNLOCKED $ac_have_decl
5948_ACEOF6012_ACEOF
5949ac_fn_c_check_decl "$LINENO" "fprintf_unlocked" "ac_cv_have_decl_fprintf_unlocked" "$ac_includes_default"6013ac_fn_c_check_decl "$LINENO" "fprintf_unlocked" "ac_cv_have_decl_fprintf_unlocked" "$ac_includes_default"
5950if test "x$ac_cv_have_decl_fprintf_unlocked" = x""yes; then :6014if test "x$ac_cv_have_decl_fprintf_unlocked" = xyes; then :
5951 ac_have_decl=16015 ac_have_decl=1
5952else6016else
5953 ac_have_decl=06017 ac_have_decl=0
@@ -5957,7 +6021,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5957#define HAVE_DECL_FPRINTF_UNLOCKED $ac_have_decl6021#define HAVE_DECL_FPRINTF_UNLOCKED $ac_have_decl
5958_ACEOF6022_ACEOF
5959ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"6023ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
5960if test "x$ac_cv_have_decl_fputc_unlocked" = x""yes; then :6024if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then :
5961 ac_have_decl=16025 ac_have_decl=1
5962else6026else
5963 ac_have_decl=06027 ac_have_decl=0
@@ -5967,7 +6031,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5967#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl6031#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl
5968_ACEOF6032_ACEOF
5969ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"6033ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
5970if test "x$ac_cv_have_decl_fputs_unlocked" = x""yes; then :6034if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then :
5971 ac_have_decl=16035 ac_have_decl=1
5972else6036else
5973 ac_have_decl=06037 ac_have_decl=0
@@ -5977,7 +6041,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5977#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl6041#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl
5978_ACEOF6042_ACEOF
5979ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"6043ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
5980if test "x$ac_cv_have_decl_fread_unlocked" = x""yes; then :6044if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then :
5981 ac_have_decl=16045 ac_have_decl=1
5982else6046else
5983 ac_have_decl=06047 ac_have_decl=0
@@ -5987,7 +6051,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5987#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl6051#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl
5988_ACEOF6052_ACEOF
5989ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"6053ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
5990if test "x$ac_cv_have_decl_fwrite_unlocked" = x""yes; then :6054if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then :
5991 ac_have_decl=16055 ac_have_decl=1
5992else6056else
5993 ac_have_decl=06057 ac_have_decl=0
@@ -5997,7 +6061,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
5997#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl6061#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl
5998_ACEOF6062_ACEOF
5999ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"6063ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
6000if test "x$ac_cv_have_decl_getchar_unlocked" = x""yes; then :6064if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then :
6001 ac_have_decl=16065 ac_have_decl=1
6002else6066else
6003 ac_have_decl=06067 ac_have_decl=0
@@ -6007,7 +6071,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
6007#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl6071#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl
6008_ACEOF6072_ACEOF
6009ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"6073ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
6010if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then :6074if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
6011 ac_have_decl=16075 ac_have_decl=1
6012else6076else
6013 ac_have_decl=06077 ac_have_decl=0
@@ -6017,7 +6081,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
6017#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl6081#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
6018_ACEOF6082_ACEOF
6019ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"6083ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
6020if test "x$ac_cv_have_decl_putchar_unlocked" = x""yes; then :6084if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then :
6021 ac_have_decl=16085 ac_have_decl=1
6022else6086else
6023 ac_have_decl=06087 ac_have_decl=0
@@ -6027,7 +6091,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines
6027#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl6091#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl
6028_ACEOF6092_ACEOF
6029ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"6093ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
6030if test "x$ac_cv_have_decl_putc_unlocked" = x""yes; then :6094if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then :
6031 ac_have_decl=16095 ac_have_decl=1
6032else6096else
6033 ac_have_decl=06097 ac_have_decl=0
@@ -6043,7 +6107,7 @@ _ACEOF · 9 unmodified lines
6043# for constant arguments. Useless!6107# for constant arguments. Useless!
6044{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&56108{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
6045$as_echo_n "checking for working alloca.h... " >&6; }6109$as_echo_n "checking for working alloca.h... " >&6; }
6046if test "${ac_cv_working_alloca_h+set}" = set; then :6110if ${ac_cv_working_alloca_h+:} false; then :
6047 $as_echo_n "(cached) " >&66111 $as_echo_n "(cached) " >&6
6048else6112else
6049 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6113 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6076,7 +6140,7 @@ fi · 26 unmodified lines
6076 6140
6077{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&56141{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
6078$as_echo_n "checking for alloca... " >&6; }6142$as_echo_n "checking for alloca... " >&6; }
6079if test "${ac_cv_func_alloca_works+set}" = set; then :6143if ${ac_cv_func_alloca_works+:} false; then :
6080 $as_echo_n "(cached) " >&66144 $as_echo_n "(cached) " >&6
6081else6145else
6082 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6146 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6095,7 +6159,7 @@ else · 12 unmodified lines
6095 #pragma alloca6159 #pragma alloca
6096# else6160# else
6097# ifndef alloca /* predefined by HP cc +Olibcalls */6161# ifndef alloca /* predefined by HP cc +Olibcalls */
6098char *alloca ();6162void *alloca (size_t);
6099# endif6163# endif
6100# endif6164# endif
6101# endif6165# endif
@@ -6139,7 +6203,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h · 37 unmodified lines
6139 6203
6140{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&56204{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
6141$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }6205$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
6142if test "${ac_cv_os_cray+set}" = set; then :6206if ${ac_cv_os_cray+:} false; then :
6143 $as_echo_n "(cached) " >&66207 $as_echo_n "(cached) " >&6
6144else6208else
6145 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6209 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6166,8 +6230,7 @@ if test $ac_cv_os_cray = yes; then · 20 unmodified lines
6166 for ac_func in _getb67 GETB67 getb67; do6230 for ac_func in _getb67 GETB67 getb67; do
6167 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`6231 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
6168ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"6232ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
6169eval as_val=\$$as_ac_var6233if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
6170 if test "x$as_val" = x""yes; then :
6171 6234
6172cat >>confdefs.h <<_ACEOF6235cat >>confdefs.h <<_ACEOF
6173#define CRAY_STACKSEG_END $ac_func6236#define CRAY_STACKSEG_END $ac_func
@@ -6181,7 +6244,7 @@ fi · 7 unmodified lines
6181 6244
6182{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&56245{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
6183$as_echo_n "checking stack direction for C alloca... " >&6; }6246$as_echo_n "checking stack direction for C alloca... " >&6; }
6184if test "${ac_cv_c_stack_direction+set}" = set; then :6247if ${ac_cv_c_stack_direction+:} false; then :
6185 $as_echo_n "(cached) " >&66248 $as_echo_n "(cached) " >&6
6186else6249else
6187 if test "$cross_compiling" = yes; then :6250 if test "$cross_compiling" = yes; then :
@@ -6191,23 +6254,20 @@ else · 3 unmodified lines
6191/* end confdefs.h. */6254/* end confdefs.h. */
6192$ac_includes_default6255$ac_includes_default
6193int6256int
6194find_stack_direction ()6257find_stack_direction (int *addr, int depth)
6195{6258{
6196 static char *addr = 0;6259 int dir, dummy = 0;
6197 auto char dummy;6260 if (! addr)
6198 if (addr == 0)6261 addr = &dummy;
6199 {6262 *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
6200 addr = &dummy;6263 dir = depth ? find_stack_direction (addr, depth - 1) : 0;
6201 return find_stack_direction ();6264 return dir + dummy;
6202 }
6203 else
6204 return (&dummy > addr) ? 1 : -1;
6205}6265}
6206 6266
6207int6267int
6208main ()6268main (int argc, char **argv)
6209{6269{
6210 return find_stack_direction () < 0;6270 return find_stack_direction (0, argc + !argv + 20) < 0;
6211}6271}
6212_ACEOF6272_ACEOF
6213if ac_fn_c_try_run "$LINENO"; then :6273if ac_fn_c_try_run "$LINENO"; then :
@@ -6231,7 +6291,7 @@ fi · 17 unmodified lines
6231 6291
6232{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&56292{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
6233$as_echo_n "checking for ANSI C header files... " >&6; }6293$as_echo_n "checking for ANSI C header files... " >&6; }
6234if test "${ac_cv_header_stdc+set}" = set; then :6294if ${ac_cv_header_stdc+:} false; then :
6235 $as_echo_n "(cached) " >&66295 $as_echo_n "(cached) " >&6
6236else6296else
6237 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6297 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6344,7 +6404,7 @@ fi · 106 unmodified lines
6344 6404
6345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&56405 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
6346$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }6406$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
6347if test "${am_cv_langinfo_codeset+set}" = set; then :6407if ${am_cv_langinfo_codeset+:} false; then :
6348 $as_echo_n "(cached) " >&66408 $as_echo_n "(cached) " >&6
6349else6409else
6350 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6410 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6448,7 +6508,7 @@ fi · 97 unmodified lines
6448 6508
6449{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uchar" >&56509{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uchar" >&5
6450$as_echo_n "checking for uchar... " >&6; }6510$as_echo_n "checking for uchar... " >&6; }
6451if test "${gcc_cv_type_uchar+set}" = set; then :6511if ${gcc_cv_type_uchar+:} false; then :
6452 $as_echo_n "(cached) " >&66512 $as_echo_n "(cached) " >&6
6453else6513else
6454 cat confdefs.h - <<_ACEOF >conftest.$ac_ext6514 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6564,7 +6624,7 @@ else · 109 unmodified lines
6564 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&56624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
6565$as_echo_n "checking for non-GNU ld... " >&6; }6625$as_echo_n "checking for non-GNU ld... " >&6; }
6566fi6626fi
6567if test "${acl_cv_path_LD+set}" = set; then :6627if ${acl_cv_path_LD+:} false; then :
6568 $as_echo_n "(cached) " >&66628 $as_echo_n "(cached) " >&6
6569else6629else
6570 if test -z "$LD"; then6630 if test -z "$LD"; then
@@ -6597,10 +6657,10 @@ else · 26 unmodified lines
6597 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&56657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6598$as_echo "no" >&6; }6658$as_echo "no" >&6; }
6599fi6659fi
6600test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 56660test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
6601{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&56661{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
6602$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }6662$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
6603if test "${acl_cv_prog_gnu_ld+set}" = set; then :6663if ${acl_cv_prog_gnu_ld+:} false; then :
6604 $as_echo_n "(cached) " >&66664 $as_echo_n "(cached) " >&6
6605else6665else
6606 # I'd rather use --version here, but apparently some GNU ld's only accept -v.6666 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
@@ -6618,7 +6678,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld · 11 unmodified lines
6618 6678
6619 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&56679 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
6620$as_echo_n "checking for shared library run path origin... " >&6; }6680$as_echo_n "checking for shared library run path origin... " >&6; }
6621if test "${acl_cv_rpath+set}" = set; then :6681if ${acl_cv_rpath+:} false; then :
6622 $as_echo_n "(cached) " >&66682 $as_echo_n "(cached) " >&6
6623else6683else
6624 6684
@@ -7036,7 +7096,7 @@ fi · 411 unmodified lines
7036 7096
7037 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&57097 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
7038$as_echo_n "checking for iconv... " >&6; }7098$as_echo_n "checking for iconv... " >&6; }
7039if test "${am_cv_func_iconv+set}" = set; then :7099if ${am_cv_func_iconv+:} false; then :
7040 $as_echo_n "(cached) " >&67100 $as_echo_n "(cached) " >&6
7041else7101else
7042 7102
@@ -7105,7 +7165,7 @@ rm -f core conftest.err conftest.$ac_objext \ · 62 unmodified lines
7105 if test "$am_cv_func_iconv" != yes; then7165 if test "$am_cv_func_iconv" != yes; then
7106 am_save_CPPFLAGS="$CPPFLAGS"7166 am_save_CPPFLAGS="$CPPFLAGS"
7107 am_save_LIBS="$LIBS"7167 am_save_LIBS="$LIBS"
7108 CPPFLAGS="$LIBS $INCICONV"7168 CPPFLAGS="$CPPFLAGS $INCICONV"
7109 LIBS="$LIBS $LIBICONV"7169 LIBS="$LIBS $LIBICONV"
7110 cat confdefs.h - <<_ACEOF >conftest.$ac_ext7170 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7111/* end confdefs.h. */7171/* end confdefs.h. */
@@ -7177,7 +7237,7 @@ $as_echo "$LIBICONV" >&6; } · 65 unmodified lines
7177 if test "$am_cv_func_iconv" = yes; then7237 if test "$am_cv_func_iconv" = yes; then
7178 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&57238 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
7179$as_echo_n "checking for iconv declaration... " >&6; }7239$as_echo_n "checking for iconv declaration... " >&6; }
7180 if test "${am_cv_proto_iconv+set}" = set; then :7240 if ${am_cv_proto_iconv+:} false; then :
7181 $as_echo_n "(cached) " >&67241 $as_echo_n "(cached) " >&6
7182else7242else
7183 7243
@@ -7378,7 +7438,7 @@ if test x$enable_valgrind_annotations != xno \ · 194 unmodified lines
7378 if (test $have_valgrind_h = no \7438 if (test $have_valgrind_h = no \
7379 && test $gcc_cv_header_memcheck_h = no \7439 && test $gcc_cv_header_memcheck_h = no \
7380 && test $gcc_cv_header_valgrind_memcheck_h = no); then7440 && test $gcc_cv_header_valgrind_memcheck_h = no); then
7381 as_fn_error "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 57441 as_fn_error $? "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 5
7382 fi7442 fi
7383 7443
7384$as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h7444$as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h
@@ -7455,10 +7515,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; · 70 unmodified lines
7455 :end' >>confcache7515 :end' >>confcache
7456if diff "$cache_file" confcache >/dev/null 2>&1; then :; else7516if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
7457 if test -w "$cache_file"; then7517 if test -w "$cache_file"; then
7458 test "x$cache_file" != "x/dev/null" &&7518 if test "x$cache_file" != "x/dev/null"; then
7459 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&57519 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
7460$as_echo "$as_me: updating cache $cache_file" >&6;}7520$as_echo "$as_me: updating cache $cache_file" >&6;}
7461 cat confcache >$cache_file7521 if test ! -f "$cache_file" || test -h "$cache_file"; then
7522 cat confcache >"$cache_file"
7523 else
7524 case $cache_file in #(
7525 */* | ?:*)
7526 mv -f confcache "$cache_file"$$ &&
7527 mv -f "$cache_file"$$ "$cache_file" ;; #(
7528 *)
7529 mv -f confcache "$cache_file" ;;
7530 esac
7531 fi
7532 fi
7462 else7533 else
7463 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&57534 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
7464$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}7535$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -7474,6 +7545,7 @@ DEFS=-DHAVE_CONFIG_H · 9 unmodified lines
7474 7545
7475ac_libobjs=7546ac_libobjs=
7476ac_ltlibobjs=7547ac_ltlibobjs=
7548U=
7477for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue7549for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
7478 # 1. Remove the extension, and $U if already installed.7550 # 1. Remove the extension, and $U if already installed.
7479 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'7551 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -7490,7 +7562,7 @@ LTLIBOBJS=$ac_ltlibobjs · 10 unmodified lines
7490 7562
7491 7563
7492 7564
7493: ${CONFIG_STATUS=./config.status}7565: "${CONFIG_STATUS=./config.status}"
7494ac_write_fail=07566ac_write_fail=0
7495ac_clean_files_save=$ac_clean_files7567ac_clean_files_save=$ac_clean_files
7496ac_clean_files="$ac_clean_files $CONFIG_STATUS"7568ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -7591,6 +7663,7 @@ fi · 94 unmodified lines
7591IFS=" "" $as_nl"7663IFS=" "" $as_nl"
7592 7664
7593# Find who we are. Look in the path if we contain no directory separator.7665# Find who we are. Look in the path if we contain no directory separator.
7666as_myself=
7594case $0 in #((7667case $0 in #((
7595 *[\\/]* ) as_myself=$0 ;;7668 *[\\/]* ) as_myself=$0 ;;
7596 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR7669 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -7636,19 +7709,19 @@ export LANGUAGE · 39 unmodified lines
7636(unset CDPATH) >/dev/null 2>&1 && unset CDPATH7709(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
7637 7710
7638 7711
7639# as_fn_error ERROR [LINENO LOG_FD]7712# as_fn_error STATUS ERROR [LINENO LOG_FD]
7640# ---------------------------------7713# ----------------------------------------
7641# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are7714# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
7642# provided, also output the error to LOG_FD, referencing LINENO. Then exit the7715# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
7643# script with status $?, using 1 if that was 0.7716# script with STATUS, using 1 if that was 0.
7644as_fn_error ()7717as_fn_error ()
7645{7718{
7646 as_status=$?; test $as_status -eq 0 && as_status=17719 as_status=$1; test $as_status -eq 0 && as_status=1
7647 if test "$3"; then7720 if test "$4"; then
7648 as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack7721 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
7649 $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$37722 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
7650 fi7723 fi
7651 $as_echo "$as_me: error: $1" >&27724 $as_echo "$as_me: error: $2" >&2
7652 as_fn_exit $as_status7725 as_fn_exit $as_status
7653} # as_fn_error7726} # as_fn_error
7654 7727
@@ -7786,16 +7859,16 @@ if (echo >conf$$.file) 2>/dev/null; then · 131 unmodified lines
7786 # ... but there are two gotchas:7859 # ... but there are two gotchas:
7787 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.7860 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
7788 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.7861 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
7789 # In both cases, we have to default to `cp -p'.7862 # In both cases, we have to default to `cp -pR'.
7790 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||7863 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
7791 as_ln_s='cp -p'7864 as_ln_s='cp -pR'
7792 elif ln conf$$.file conf$$ 2>/dev/null; then7865 elif ln conf$$.file conf$$ 2>/dev/null; then
7793 as_ln_s=ln7866 as_ln_s=ln
7794 else7867 else
7795 as_ln_s='cp -p'7868 as_ln_s='cp -pR'
7796 fi7869 fi
7797else7870else
7798 as_ln_s='cp -p'7871 as_ln_s='cp -pR'
7799fi7872fi
7800rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file7873rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
7801rmdir conf$$.dir 2>/dev/null7874rmdir conf$$.dir 2>/dev/null
@@ -7844,7 +7917,7 @@ $as_echo X"$as_dir" | · 42 unmodified lines
7844 test -d "$as_dir" && break7917 test -d "$as_dir" && break
7845 done7918 done
7846 test -z "$as_dirs" || eval "mkdir $as_dirs"7919 test -z "$as_dirs" || eval "mkdir $as_dirs"
7847 } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"7920 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
7848 7921
7849 7922
7850} # as_fn_mkdir_p7923} # as_fn_mkdir_p
@@ -7855,28 +7928,16 @@ else · 4 unmodified lines
7855 as_mkdir_p=false7928 as_mkdir_p=false
7856fi7929fi
7857 7930
7858if test -x / >/dev/null 2>&1; then7931
7859 as_test_x='test -x'7932# as_fn_executable_p FILE
7860else7933# -----------------------
7861 if ls -dL / >/dev/null 2>&1; then7934# Test if FILE is an executable regular file.
7862 as_ls_L_option=L7935as_fn_executable_p ()
7863 else7936{
7864 as_ls_L_option=7937 test -f "$1" && test -x "$1"
7865 fi7938} # as_fn_executable_p
7866 as_test_x='7939as_test_x='test -x'
7867 eval sh -c '\''7940as_executable_p=as_fn_executable_p
7868 if test -d "$1"; then
7869 test -d "$1/.";
7870 else
7871 case $1 in #(
7872 -*)set "./$1";;
7873 esac;
7874 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
7875 ???[sx]*):;;*)false;;esac;fi
7876 '\'' sh
7877 '
7878fi
7879as_executable_p=$as_test_x
7880 7941
7881# Sed expression to map a string onto a valid CPP name.7942# Sed expression to map a string onto a valid CPP name.
7882as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"7943as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -7898,7 +7959,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 · 15 unmodified lines
7898# values after options handling.7959# values after options handling.
7899ac_log="7960ac_log="
7900This file was extended by cpplib $as_me , which was7961This file was extended by cpplib $as_me , which was
7901generated by GNU Autoconf 2.64. Invocation command line was7962generated by GNU Autoconf 2.69. Invocation command line was
7902 7963
7903 CONFIG_FILES = $CONFIG_FILES7964 CONFIG_FILES = $CONFIG_FILES
7904 CONFIG_HEADERS = $CONFIG_HEADERS7965 CONFIG_HEADERS = $CONFIG_HEADERS
@@ -7938,6 +7999,7 @@ Usage: $0 [OPTION]... [TAG]... · 33 unmodified lines
7938 7999
7939 -h, --help print this help, then exit8000 -h, --help print this help, then exit
7940 -V, --version print version number and configuration settings, then exit8001 -V, --version print version number and configuration settings, then exit
8002 --config print configuration, then exit
7941 -q, --quiet, --silent8003 -q, --quiet, --silent
7942 do not print progress messages8004 do not print progress messages
7943 -d, --debug don't remove temporary files8005 -d, --debug don't remove temporary files
@@ -7960,12 +8022,13 @@ Report bugs to <gcc-bugs@gcc.gnu.org>." · 16 unmodified lines
7960 8022
7961_ACEOF8023_ACEOF
7962cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=18024cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
8025ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
7963ac_cs_version="\\8026ac_cs_version="\\
7964cpplib config.status8027cpplib config.status
7965configured by $0, generated by GNU Autoconf 2.64,8028configured by $0, generated by GNU Autoconf 2.69,
7966 with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"8029 with options \\"\$ac_cs_config\\"
7967 8030
7968Copyright (C) 2009 Free Software Foundation, Inc.8031Copyright (C) 2012 Free Software Foundation, Inc.
7969This config.status script is free software; the Free Software Foundation8032This config.status script is free software; the Free Software Foundation
7970gives unlimited permission to copy, distribute and modify it."8033gives unlimited permission to copy, distribute and modify it."
7971 8034
@@ -7981,11 +8044,16 @@ ac_need_defaults=: · 9 unmodified lines
7981while test $# != 08044while test $# != 0
7982do8045do
7983 case $1 in8046 case $1 in
7984 --*=*)8047 --*=?*)
7985 ac_option=`expr "X$1" : 'X\([^=]*\)='`8048 ac_option=`expr "X$1" : 'X\([^=]*\)='`
7986 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`8049 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
7987 ac_shift=:8050 ac_shift=:
7988 ;;8051 ;;
8052 --*=)
8053 ac_option=`expr "X$1" : 'X\([^=]*\)='`
8054 ac_optarg=
8055 ac_shift=:
8056 ;;
7989 *)8057 *)
7990 ac_option=$18058 ac_option=$1
7991 ac_optarg=$28059 ac_optarg=$2
@@ -7999,12 +8067,15 @@ do · 7 unmodified lines
7999 ac_cs_recheck=: ;;8067 ac_cs_recheck=: ;;
8000 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )8068 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
8001 $as_echo "$ac_cs_version"; exit ;;8069 $as_echo "$ac_cs_version"; exit ;;
8070 --config | --confi | --conf | --con | --co | --c )
8071 $as_echo "$ac_cs_config"; exit ;;
8002 --debug | --debu | --deb | --de | --d | -d )8072 --debug | --debu | --deb | --de | --d | -d )
8003 debug=: ;;8073 debug=: ;;
8004 --file | --fil | --fi | --f )8074 --file | --fil | --fi | --f )
8005 $ac_shift8075 $ac_shift
8006 case $ac_optarg in8076 case $ac_optarg in
8007 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;8077 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
8078 '') as_fn_error $? "missing file argument" ;;
8008 esac8079 esac
8009 as_fn_append CONFIG_FILES " '$ac_optarg'"8080 as_fn_append CONFIG_FILES " '$ac_optarg'"
8010 ac_need_defaults=false;;8081 ac_need_defaults=false;;
@@ -8017,7 +8088,7 @@ do · 6 unmodified lines
8017 ac_need_defaults=false;;8088 ac_need_defaults=false;;
8018 --he | --h)8089 --he | --h)
8019 # Conflict between --help and --header8090 # Conflict between --help and --header
8020 as_fn_error "ambiguous option: \`$1'8091 as_fn_error $? "ambiguous option: \`$1'
8021Try \`$0 --help' for more information.";;8092Try \`$0 --help' for more information.";;
8022 --help | --hel | -h )8093 --help | --hel | -h )
8023 $as_echo "$ac_cs_usage"; exit ;;8094 $as_echo "$ac_cs_usage"; exit ;;
@@ -8026,7 +8097,7 @@ Try \`$0 --help' for more information.";; · 2 unmodified lines
8026 ac_cs_silent=: ;;8097 ac_cs_silent=: ;;
8027 8098
8028 # This is an error.8099 # This is an error.
8029 -*) as_fn_error "unrecognized option: \`$1'8100 -*) as_fn_error $? "unrecognized option: \`$1'
8030Try \`$0 --help' for more information." ;;8101Try \`$0 --help' for more information." ;;
8031 8102
8032 *) as_fn_append ac_config_targets " $1"8103 *) as_fn_append ac_config_targets " $1"
@@ -8046,7 +8117,7 @@ fi · 13 unmodified lines
8046_ACEOF8117_ACEOF
8047cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=18118cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
8048if \$ac_cs_recheck; then8119if \$ac_cs_recheck; then
8049 set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion8120 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
8050 shift8121 shift
8051 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&68122 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
8052 CONFIG_SHELL='$SHELL'8123 CONFIG_SHELL='$SHELL'
@@ -8084,7 +8155,7 @@ do · 31 unmodified lines
8084 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;8155 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
8085 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;8156 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
8086 8157
8087 *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;8158 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
8088 esac8159 esac
8089done8160done
8090 8161
@@ -8107,9 +8178,10 @@ fi · 16 unmodified lines
8107# after its creation but before its name has been assigned to `$tmp'.8178# after its creation but before its name has been assigned to `$tmp'.
8108$debug ||8179$debug ||
8109{8180{
8110 tmp=8181 tmp= ac_tmp=
8111 trap 'exit_status=$?8182 trap 'exit_status=$?
8112 { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status8183 : "${ac_tmp:=$tmp}"
8184 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
8113' 08185' 0
8114 trap 'as_fn_exit 1' 1 2 13 158186 trap 'as_fn_exit 1' 1 2 13 15
8115}8187}
@@ -8117,12 +8189,13 @@ $debug || · 1 unmodified line
8117 8189
8118{8190{
8119 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&8191 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
8120 test -n "$tmp" && test -d "$tmp"8192 test -d "$tmp"
8121} ||8193} ||
8122{8194{
8123 tmp=./conf$$-$RANDOM8195 tmp=./conf$$-$RANDOM
8124 (umask 077 && mkdir "$tmp")8196 (umask 077 && mkdir "$tmp")
8125} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 58197} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
8198ac_tmp=$tmp
8126 8199
8127# Set up the scripts for CONFIG_FILES section.8200# Set up the scripts for CONFIG_FILES section.
8128# No need to generate them if there are no CONFIG_FILES.8201# No need to generate them if there are no CONFIG_FILES.
@@ -8139,12 +8212,12 @@ if test "x$ac_cr" = x; then · 10 unmodified lines
8139fi8212fi
8140ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`8213ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
8141if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then8214if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
8142 ac_cs_awk_cr='\r'8215 ac_cs_awk_cr='\\r'
8143else8216else
8144 ac_cs_awk_cr=$ac_cr8217 ac_cs_awk_cr=$ac_cr
8145fi8218fi
8146 8219
8147echo 'BEGIN {' >"$tmp/subs1.awk" &&8220echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
8148_ACEOF8221_ACEOF
8149 8222
8150 8223
@@ -8153,18 +8226,18 @@ _ACEOF · 2 unmodified lines
8153 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&8226 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
8154 echo "_ACEOF"8227 echo "_ACEOF"
8155} >conf$$subs.sh ||8228} >conf$$subs.sh ||
8156 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 58229 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
8157ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`8230ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
8158ac_delim='%!_!# '8231ac_delim='%!_!# '
8159for ac_last_try in false false false false false :; do8232for ac_last_try in false false false false false :; do
8160 . ./conf$$subs.sh ||8233 . ./conf$$subs.sh ||
8161 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 58234 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
8162 8235
8163 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`8236 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
8164 if test $ac_delim_n = $ac_delim_num; then8237 if test $ac_delim_n = $ac_delim_num; then
8165 break8238 break
8166 elif $ac_last_try; then8239 elif $ac_last_try; then
8167 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 58240 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
8168 else8241 else
8169 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "8242 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
8170 fi8243 fi
@@ -8172,7 +8245,7 @@ done · 1 unmodified line
8172rm -f conf$$subs.sh8245rm -f conf$$subs.sh
8173 8246
8174cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=18247cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
8175cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&8248cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
8176_ACEOF8249_ACEOF
8177sed -n '8250sed -n '
8178h8251h
@@ -8186,7 +8259,7 @@ s/'"$ac_delim"'$// · 7 unmodified lines
8186t delim8259t delim
8187:nl8260:nl
8188h8261h
8189s/\(.\{148\}\).*/\1/8262s/\(.\{148\}\)..*/\1/
8190t more18263t more1
8191s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/8264s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
8192p8265p
@@ -8200,7 +8273,7 @@ s/.\{148\}// · 7 unmodified lines
8200t nl8273t nl
8201:delim8274:delim
8202h8275h
8203s/\(.\{148\}\).*/\1/8276s/\(.\{148\}\)..*/\1/
8204t more28277t more2
8205s/["\\]/\\&/g; s/^/"/; s/$/"/8278s/["\\]/\\&/g; s/^/"/; s/$/"/
8206p8279p
@@ -8220,7 +8293,7 @@ t delim · 13 unmodified lines
8220rm -f conf$$subs.awk8293rm -f conf$$subs.awk
8221cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=18294cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
8222_ACAWK8295_ACAWK
8223cat >>"\$tmp/subs1.awk" <<_ACAWK &&8296cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
8224 for (key in S) S_is_set[key] = 18297 for (key in S) S_is_set[key] = 1
8225 FS = ""8298 FS = ""
8226 8299
@@ -8252,21 +8325,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then · 25 unmodified lines
8252 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"8325 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
8253else8326else
8254 cat8327 cat
8255fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \8328fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
8256 || as_fn_error "could not setup config files machinery" "$LINENO" 58329 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
8257_ACEOF8330_ACEOF
8258 8331
8259# VPATH may cause trouble with some makes, so we remove $(srcdir),8332# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
8260# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and8333# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
8261# trailing colons and then remove the whole line if VPATH becomes empty8334# trailing colons and then remove the whole line if VPATH becomes empty
8262# (actually we leave an empty line to preserve line numbers).8335# (actually we leave an empty line to preserve line numbers).
8263if test "x$srcdir" = x.; then8336if test "x$srcdir" = x.; then
8264 ac_vpsub='/^[ ]*VPATH[ ]*=/{8337 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
8265s/:*\$(srcdir):*/:/8338h
8266s/:*\${srcdir}:*/:/8339s///
8267s/:*@srcdir@:*/:/8340s/^/:/
8268s/^\([^=]*=[ ]*\):*/\1/8341s/[ ]*$/:/
8342s/:\$(srcdir):/:/g
8343s/:\${srcdir}:/:/g
8344s/:@srcdir@:/:/g
8345s/^:*//
8269s/:*$//8346s/:*$//
8347x
8348s/\(=[ ]*\).*/\1/
8349G
8350s/\n//
8270s/^[^=]*=[ ]*$//8351s/^[^=]*=[ ]*$//
8271}'8352}'
8272fi8353fi
@@ -8278,7 +8359,7 @@ fi # test -n "$CONFIG_FILES" · 5 unmodified lines
8278# No need to generate them if there are no CONFIG_HEADERS.8359# No need to generate them if there are no CONFIG_HEADERS.
8279# This happens for instance with `./config.status Makefile'.8360# This happens for instance with `./config.status Makefile'.
8280if test -n "$CONFIG_HEADERS"; then8361if test -n "$CONFIG_HEADERS"; then
8281cat >"$tmp/defines.awk" <<\_ACAWK ||8362cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
8282BEGIN {8363BEGIN {
8283_ACEOF8364_ACEOF
8284 8365
@@ -8290,11 +8371,11 @@ _ACEOF · 5 unmodified lines
8290# handling of long lines.8371# handling of long lines.
8291ac_delim='%!_!# '8372ac_delim='%!_!# '
8292for ac_last_try in false false :; do8373for ac_last_try in false false :; do
8293 ac_t=`sed -n "/$ac_delim/p" confdefs.h`8374 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
8294 if test -z "$ac_t"; then8375 if test -z "$ac_tt"; then
8295 break8376 break
8296 elif $ac_last_try; then8377 elif $ac_last_try; then
8297 as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 58378 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
8298 else8379 else
8299 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "8380 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
8300 fi8381 fi
@@ -8379,7 +8460,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 · 78 unmodified lines
8379_ACAWK8460_ACAWK
8380_ACEOF8461_ACEOF
8381cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=18462cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
8382 as_fn_error "could not setup config headers machinery" "$LINENO" 58463 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
8383fi # test -n "$CONFIG_HEADERS"8464fi # test -n "$CONFIG_HEADERS"
8384 8465
8385 8466
@@ -8392,7 +8473,7 @@ do · 6 unmodified lines
8392 esac8473 esac
8393 case $ac_mode$ac_tag in8474 case $ac_mode$ac_tag in
8394 :[FHL]*:*);;8475 :[FHL]*:*);;
8395 :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;8476 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
8396 :[FH]-) ac_tag=-:-;;8477 :[FH]-) ac_tag=-:-;;
8397 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;8478 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
8398 esac8479 esac
@@ -8411,7 +8492,7 @@ do · 12 unmodified lines
8411 for ac_f8492 for ac_f
8412 do8493 do
8413 case $ac_f in8494 case $ac_f in
8414 -) ac_f="$tmp/stdin";;8495 -) ac_f="$ac_tmp/stdin";;
8415 *) # Look for the file first in the build tree, then in the source tree8496 *) # Look for the file first in the build tree, then in the source tree
8416 # (if the path is not absolute). The absolute path cannot be DOS-style,8497 # (if the path is not absolute). The absolute path cannot be DOS-style,
8417 # because $ac_f cannot contain `:'.8498 # because $ac_f cannot contain `:'.
@@ -8420,7 +8501,7 @@ do · 2 unmodified lines
8420 [\\/$]*) false;;8501 [\\/$]*) false;;
8421 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;8502 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
8422 esac ||8503 esac ||
8423 as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;8504 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
8424 esac8505 esac
8425 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac8506 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
8426 as_fn_append ac_file_inputs " '$ac_f'"8507 as_fn_append ac_file_inputs " '$ac_f'"
@@ -8446,8 +8527,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} · 19 unmodified lines
8446 esac8527 esac
8447 8528
8448 case $ac_tag in8529 case $ac_tag in
8449 *:-:* | *:-) cat >"$tmp/stdin" \8530 *:-:* | *:-) cat >"$ac_tmp/stdin" \
8450 || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;8531 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
8451 esac8532 esac
8452 ;;8533 ;;
8453 esac8534 esac
@@ -8577,23 +8658,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t · 123 unmodified lines
8577s&@INSTALL@&$ac_INSTALL&;t t8658s&@INSTALL@&$ac_INSTALL&;t t
8578$ac_datarootdir_hack8659$ac_datarootdir_hack
8579"8660"
8580eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \8661eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
8581 || as_fn_error "could not create $ac_file" "$LINENO" 58662 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
8582 8663
8583test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&8664test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
8584 { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&8665 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
8585 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&8666 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
8667 "$ac_tmp/out"`; test -z "$ac_out"; } &&
8586 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'8668 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
8587which seems to be undefined. Please make sure it is defined." >&58669which seems to be undefined. Please make sure it is defined" >&5
8588$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'8670$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
8589which seems to be undefined. Please make sure it is defined." >&2;}8671which seems to be undefined. Please make sure it is defined" >&2;}
8590 8672
8591 rm -f "$tmp/stdin"8673 rm -f "$ac_tmp/stdin"
8592 case $ac_file in8674 case $ac_file in
8593 -) cat "$tmp/out" && rm -f "$tmp/out";;8675 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
8594 *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;8676 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
8595 esac \8677 esac \
8596 || as_fn_error "could not create $ac_file" "$LINENO" 58678 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
8597 ;;8679 ;;
8598 :H)8680 :H)
8599 #8681 #
@@ -8602,21 +8684,21 @@ which seems to be undefined. Please make sure it is defined." >&2;} · 2 unmodified lines
8602 if test x"$ac_file" != x-; then8684 if test x"$ac_file" != x-; then
8603 {8685 {
8604 $as_echo "/* $configure_input */" \8686 $as_echo "/* $configure_input */" \
8605 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"8687 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
8606 } >"$tmp/config.h" \8688 } >"$ac_tmp/config.h" \
8607 || as_fn_error "could not create $ac_file" "$LINENO" 58689 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
8608 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then8690 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
8609 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&58691 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
8610$as_echo "$as_me: $ac_file is unchanged" >&6;}8692$as_echo "$as_me: $ac_file is unchanged" >&6;}
8611 else8693 else
8612 rm -f "$ac_file"8694 rm -f "$ac_file"
8613 mv "$tmp/config.h" "$ac_file" \8695 mv "$ac_tmp/config.h" "$ac_file" \
8614 || as_fn_error "could not create $ac_file" "$LINENO" 58696 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
8615 fi8697 fi
8616 else8698 else
8617 $as_echo "/* $configure_input */" \8699 $as_echo "/* $configure_input */" \
8618 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \8700 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
8619 || as_fn_error "could not create -" "$LINENO" 58701 || as_fn_error $? "could not create -" "$LINENO" 5
8620 fi8702 fi
8621 ;;8703 ;;
8622 8704
@@ -8639,7 +8721,7 @@ _ACEOF · 16 unmodified lines
8639ac_clean_files=$ac_clean_files_save8721ac_clean_files=$ac_clean_files_save
8640 8722
8641test $ac_write_fail = 0 ||8723test $ac_write_fail = 0 ||
8642 as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 58724 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
8643 8725
8644 8726
8645# configure is writing to config.log, and then calls config.status.8727# configure is writing to config.log, and then calls config.status.
@@ -8660,7 +8742,7 @@ if test "$no_create" != yes; then · 14 unmodified lines
8660 exec 5>>config.log8742 exec 5>>config.log
8661 # Use ||, not &&, to avoid exiting from the if with $? = 1, which8743 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
8662 # would make configure fail if this is the last instruction.8744 # would make configure fail if this is the last instruction.
8663 $ac_cs_success || as_fn_exit $?8745 $ac_cs_success || as_fn_exit 1
8664fi8746fi
8665if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then8747if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
8666 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&58748 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
gcc/libcpp/configure.ac+1−2
@@ -1,7 +1,6 @@
1# -*- Autoconf -*-1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.2# Process this file with autoconf to produce a configure script.
3 3
4AC_PREREQ(2.64)
5AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib)4AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib)
6AC_CONFIG_SRCDIR(ucnid.h)5AC_CONFIG_SRCDIR(ucnid.h)
7AC_CONFIG_MACRO_DIR(../config)6AC_CONFIG_MACRO_DIR(../config)
@@ -42,7 +41,7 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) · 34 unmodified lines
42# Dependency checking.41# Dependency checking.
43ZW_CREATE_DEPDIR42ZW_CREATE_DEPDIR
44AC_LANG_PUSH([C++])43AC_LANG_PUSH([C++])
45AC_COMPILE_IFELSE([[int i;]], [],44AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [],
46 [AC_MSG_ERROR([C++ compiler missing or inoperational])])45 [AC_MSG_ERROR([C++ compiler missing or inoperational])])
47AC_LANG_POP([C++])46AC_LANG_POP([C++])
48ZW_PROG_COMPILER_DEPENDENCIES([CXX])47ZW_PROG_COMPILER_DEPENDENCIES([CXX])
gcc/libcpp/directives-only.c+2−2
@@ -1,5 +1,5 @@
1/* CPP Library - directive only preprocessing for distributed compilation.1/* CPP Library - directive only preprocessing for distributed compilation.
2 Copyright (C) 2007-2018 Free Software Foundation, Inc.2 Copyright (C) 2007-2019 Free Software Foundation, Inc.
3 Contributed by Ollie Wild <aaw@google.com>.3 Contributed by Ollie Wild <aaw@google.com>.
4 4
5This program is free software; you can redistribute it and/or modify it5This program is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@ _cpp_preprocess_dir_only (cpp_reader *pfile, · 37 unmodified lines
43 unsigned flags;43 unsigned flags;
44 linenum_type lines;44 linenum_type lines;
45 int col;45 int col;
46 source_location loc;46 location_t loc;
47 47
48 restart:48 restart:
49 /* Buffer initialization ala _cpp_clean_line(). */49 /* Buffer initialization ala _cpp_clean_line(). */
gcc/libcpp/directives.c+142−209
@@ -1,5 +1,5 @@
1/* CPP Library. (Directive handling.)1/* CPP Library. (Directive handling.)
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Contributed by Per Bothner, 1994-95.3 Contributed by Per Bothner, 1994-95.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -30,7 +30,7 @@ along with this program; see the file COPYING3. If not see · 24 unmodified lines
30struct if_stack30struct if_stack
31{31{
32 struct if_stack *next;32 struct if_stack *next;
33 source_location line; /* Line where condition started. */33 location_t line; /* Line where condition started. */
34 const cpp_hashnode *mi_cmacro;/* macro name for #ifndef around entire file */34 const cpp_hashnode *mi_cmacro;/* macro name for #ifndef around entire file */
35 bool skip_elses; /* Can future #else / #elif be skipped? */35 bool skip_elses; /* Can future #else / #elif be skipped? */
36 bool was_skipping; /* If were skipping on entry. */36 bool was_skipping; /* If were skipping on entry. */
@@ -98,11 +98,12 @@ static void directive_diagnostics (cpp_reader *, const directive *, int); · 61 unmodified lines
98static void run_directive (cpp_reader *, int, const char *, size_t);98static void run_directive (cpp_reader *, int, const char *, size_t);
99static char *glue_header_name (cpp_reader *);99static char *glue_header_name (cpp_reader *);
100static const char *parse_include (cpp_reader *, int *, const cpp_token ***,100static const char *parse_include (cpp_reader *, int *, const cpp_token ***,
101 source_location *);101 location_t *);
102static void push_conditional (cpp_reader *, int, int, const cpp_hashnode *);102static void push_conditional (cpp_reader *, int, int, const cpp_hashnode *);
103static unsigned int read_flag (cpp_reader *, unsigned int);103static unsigned int read_flag (cpp_reader *, unsigned int);
104static bool strtolinenum (const uchar *, size_t, linenum_type *, bool *);104static bool strtolinenum (const uchar *, size_t, linenum_type *, bool *);
105static void do_diagnostic (cpp_reader *, int, int, int);105static void do_diagnostic (cpp_reader *, enum cpp_diagnostic_level code,
106 enum cpp_warning_reason reason, int);
106static cpp_hashnode *lex_macro_node (cpp_reader *, bool);107static cpp_hashnode *lex_macro_node (cpp_reader *, bool);
107static int undefine_macros (cpp_reader *, cpp_hashnode *, void *);108static int undefine_macros (cpp_reader *, cpp_hashnode *, void *);
108static void do_include_common (cpp_reader *, enum include_type);109static void do_include_common (cpp_reader *, enum include_type);
@@ -123,44 +124,39 @@ static void do_linemarker (cpp_reader *); · 14 unmodified lines
123static const cpp_token *get_token_no_padding (cpp_reader *);124static const cpp_token *get_token_no_padding (cpp_reader *);
124static const cpp_token *get__Pragma_string (cpp_reader *);125static const cpp_token *get__Pragma_string (cpp_reader *);
125static void destringize_and_run (cpp_reader *, const cpp_string *,126static void destringize_and_run (cpp_reader *, const cpp_string *,
126 source_location);127 location_t);
127static int parse_answer (cpp_reader *, struct answer **, int, source_location);128static bool parse_answer (cpp_reader *, int, location_t, cpp_macro **);
128static cpp_hashnode *parse_assertion (cpp_reader *, struct answer **, int);129static cpp_hashnode *parse_assertion (cpp_reader *, int, cpp_macro **);
129static struct answer ** find_answer (cpp_hashnode *, const struct answer *);130static cpp_macro **find_answer (cpp_hashnode *, const cpp_macro *);
130static void handle_assertion (cpp_reader *, const char *, int);131static void handle_assertion (cpp_reader *, const char *, int);
131static void do_pragma_push_macro (cpp_reader *);132static void do_pragma_push_macro (cpp_reader *);
132static void do_pragma_pop_macro (cpp_reader *);133static void do_pragma_pop_macro (cpp_reader *);
133static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *);134static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *);
134 135
135/* This is the table of directive handlers. It is ordered by136/* This is the table of directive handlers. All extensions other than
136 frequency of occurrence; the numbers at the end are directive137 #warning, #include_next, and #import are deprecated. The name is
137 counts from all the source code I have lying around (egcs and libc138 where the extension appears to have come from. */
138 CVS as of 1999-05-18, plus grub-0.5.91, linux-2.2.9, and
139 pcmcia-cs-3.0.9). This is no longer important as directive lookup
140 is now O(1). All extensions other than #warning, #include_next,
141 and #import are deprecated. The name is where the extension
142 appears to have come from. */
143 139
144#define DIRECTIVE_TABLE \140#define DIRECTIVE_TABLE \
145D(define, T_DEFINE = 0, KANDR, IN_I) /* 270554 */ \141 D(define, T_DEFINE = 0, KANDR, IN_I) \
146D(include, T_INCLUDE, KANDR, INCL | EXPAND) /* 52262 */ \142 D(include, T_INCLUDE, KANDR, INCL | EXPAND) \
147D(endif, T_ENDIF, KANDR, COND) /* 45855 */ \143 D(endif, T_ENDIF, KANDR, COND) \
148D(ifdef, T_IFDEF, KANDR, COND | IF_COND) /* 22000 */ \144 D(ifdef, T_IFDEF, KANDR, COND | IF_COND) \
149D(if, T_IF, KANDR, COND | IF_COND | EXPAND) /* 18162 */ \145 D(if, T_IF, KANDR, COND | IF_COND | EXPAND) \
150D(else, T_ELSE, KANDR, COND) /* 9863 */ \146 D(else, T_ELSE, KANDR, COND) \
151D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) /* 9675 */ \147 D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) \
152D(undef, T_UNDEF, KANDR, IN_I) /* 4837 */ \148 D(undef, T_UNDEF, KANDR, IN_I) \
153D(line, T_LINE, KANDR, EXPAND) /* 2465 */ \149 D(line, T_LINE, KANDR, EXPAND) \
154D(elif, T_ELIF, STDC89, COND | EXPAND) /* 610 */ \150 D(elif, T_ELIF, STDC89, COND | EXPAND) \
155D(error, T_ERROR, STDC89, 0) /* 475 */ \151 D(error, T_ERROR, STDC89, 0) \
156D(pragma, T_PRAGMA, STDC89, IN_I) /* 195 */ \152 D(pragma, T_PRAGMA, STDC89, IN_I) \
157D(warning, T_WARNING, EXTENSION, 0) /* 22 */ \153 D(warning, T_WARNING, EXTENSION, 0) \
158D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) /* 19 */ \154 D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) \
159D(ident, T_IDENT, EXTENSION, IN_I) /* 11 */ \155 D(ident, T_IDENT, EXTENSION, IN_I) \
160D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* 0 ObjC */ \156 D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* ObjC */ \
161D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \157 D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \
162D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \158 D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \
163D(sccs, T_SCCS, EXTENSION, IN_I) /* 0 SVR4? */159 D(sccs, T_SCCS, EXTENSION, IN_I) /* SVR4? */
164 160
165/* #sccs is synonymous with #ident. */161/* #sccs is synonymous with #ident. */
166#define do_sccs do_ident162#define do_sccs do_ident
@@ -208,8 +204,6 @@ static const directive linemarker_dir = · 41 unmodified lines
208 do_linemarker, UC"#", 1, KANDR, IN_I204 do_linemarker, UC"#", 1, KANDR, IN_I
209};205};
210 206
211#define SEEN_EOL() (pfile->cur_token[-1].type == CPP_EOF)
212
213/* Skip any remaining tokens in a directive. */207/* Skip any remaining tokens in a directive. */
214static void208static void
215skip_rest_of_line (cpp_reader *pfile)209skip_rest_of_line (cpp_reader *pfile)
@@ -227,7 +221,7 @@ skip_rest_of_line (cpp_reader *pfile) · 11 unmodified lines
227/* Helper function for check_oel. */221/* Helper function for check_oel. */
228 222
229static void223static void
230check_eol_1 (cpp_reader *pfile, bool expand, int reason)224check_eol_1 (cpp_reader *pfile, bool expand, enum cpp_warning_reason reason)
231{225{
232 if (! SEEN_EOL () && (expand226 if (! SEEN_EOL () && (expand
233 ? cpp_get_token (pfile)227 ? cpp_get_token (pfile)
@@ -665,12 +659,12 @@ do_undef (cpp_reader *pfile) · 431 unmodified lines
665 659
666 /* 6.10.3.5 paragraph 2: [#undef] is ignored if the specified660 /* 6.10.3.5 paragraph 2: [#undef] is ignored if the specified
667 identifier is not currently defined as a macro name. */661 identifier is not currently defined as a macro name. */
668 if (node->type == NT_MACRO)662 if (cpp_macro_p (node))
669 {663 {
670 if (node->flags & NODE_WARN)664 if (node->flags & NODE_WARN)
671 cpp_error (pfile, CPP_DL_WARNING,665 cpp_error (pfile, CPP_DL_WARNING,
672 "undefining \"%s\"", NODE_NAME (node));666 "undefining \"%s\"", NODE_NAME (node));
673 else if ((node->flags & NODE_BUILTIN)667 else if (cpp_builtin_macro_p (node)
674 && CPP_OPTION (pfile, warn_builtin_macro_redefined))668 && CPP_OPTION (pfile, warn_builtin_macro_redefined))
675 cpp_warning_with_line (pfile, CPP_W_BUILTIN_MACRO_REDEFINED,669 cpp_warning_with_line (pfile, CPP_W_BUILTIN_MACRO_REDEFINED,
676 pfile->directive_line, 0,670 pfile->directive_line, 0,
@@ -695,7 +689,8 @@ undefine_macros (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *h, · 18 unmodified lines
695 /* Body of _cpp_free_definition inlined here for speed.689 /* Body of _cpp_free_definition inlined here for speed.
696 Macros and assertions no longer have anything to free. */690 Macros and assertions no longer have anything to free. */
697 h->type = NT_VOID;691 h->type = NT_VOID;
698 h->flags &= ~(NODE_POISONED|NODE_BUILTIN|NODE_DISABLED|NODE_USED);692 h->value.answers = NULL;
693 h->flags &= ~(NODE_POISONED|NODE_DISABLED|NODE_USED);
699 return 1;694 return 1;
700}695}
701 696
@@ -759,7 +754,7 @@ glue_header_name (cpp_reader *pfile) · 57 unmodified lines
759 754
760static const char *755static const char *
761parse_include (cpp_reader *pfile, int *pangle_brackets,756parse_include (cpp_reader *pfile, int *pangle_brackets,
762 const cpp_token ***buf, source_location *location)757 const cpp_token ***buf, location_t *location)
763{758{
764 char *fname;759 char *fname;
765 const cpp_token *header;760 const cpp_token *header;
@@ -817,7 +812,7 @@ do_include_common (cpp_reader *pfile, enum include_type type) · 51 unmodified lines
817 const char *fname;812 const char *fname;
818 int angle_brackets;813 int angle_brackets;
819 const cpp_token **buf = NULL;814 const cpp_token **buf = NULL;
820 source_location location;815 location_t location;
821 816
822 /* Re-enable saving of comments if requested, so that the include817 /* Re-enable saving of comments if requested, so that the include
823 callback can dump comments which follow #include. */818 callback can dump comments which follow #include. */
@@ -825,22 +820,15 @@ do_include_common (cpp_reader *pfile, enum include_type type) · 1 unmodified line
825 820
826 fname = parse_include (pfile, &angle_brackets, &buf, &location);821 fname = parse_include (pfile, &angle_brackets, &buf, &location);
827 if (!fname)822 if (!fname)
828 {823 goto done;
829 if (buf)
830 XDELETEVEC (buf);
831 return;
832 }
833 824
834 if (!*fname)825 if (!*fname)
835 {826 {
836 cpp_error_with_line (pfile, CPP_DL_ERROR, location, 0,827 cpp_error_with_line (pfile, CPP_DL_ERROR, location, 0,
837 "empty filename in #%s",828 "empty filename in #%s",
838 pfile->directive->name);829 pfile->directive->name);
839 XDELETEVEC (fname);830 goto done;
840 if (buf)831 }
841 XDELETEVEC (buf);
842 return;
843 }
844 832
845 /* Prevent #include recursion. */833 /* Prevent #include recursion. */
846 if (pfile->line_table->depth >= CPP_STACK_MAX)834 if (pfile->line_table->depth >= CPP_STACK_MAX)
@@ -858,6 +846,7 @@ do_include_common (cpp_reader *pfile, enum include_type type) · 11 unmodified lines
858 _cpp_stack_include (pfile, fname, angle_brackets, type, location);846 _cpp_stack_include (pfile, fname, angle_brackets, type, location);
859 }847 }
860 848
849 done:
861 XDELETEVEC (fname);850 XDELETEVEC (fname);
862 if (buf)851 if (buf)
863 XDELETEVEC (buf);852 XDELETEVEC (buf);
@@ -1088,10 +1077,10 @@ do_linemarker (cpp_reader *pfile) · 224 unmodified lines
1088 /* Reread map since cpp_get_token can invalidate it with a1077 /* Reread map since cpp_get_token can invalidate it with a
1089 reallocation. */1078 reallocation. */
1090 map = LINEMAPS_LAST_ORDINARY_MAP (line_table);1079 map = LINEMAPS_LAST_ORDINARY_MAP (line_table);
1091 const line_map_ordinary *from; 1080 const line_map_ordinary *from
1081 = linemap_included_from_linemap (line_table, map);
1092 if (MAIN_FILE_P (map)1082 if (MAIN_FILE_P (map)
1093 || (new_file1083 || (from
1094 && (from = INCLUDED_FROM (pfile->line_table, map)) != NULL
1095 && filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))1084 && filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))
1096 {1085 {
1097 cpp_warning (pfile, CPP_W_NONE,1086 cpp_warning (pfile, CPP_W_NONE,
@@ -1102,7 +1091,7 @@ do_linemarker (cpp_reader *pfile) · 4 unmodified lines
1102 }1091 }
1103 /* Compensate for the increment in linemap_add that occurs in1092 /* Compensate for the increment in linemap_add that occurs in
1104 _cpp_do_file_change. We're currently at the start of the line1093 _cpp_do_file_change. We're currently at the start of the line
1105 *following* the #line directive. A separate source_location for this1094 *following* the #line directive. A separate location_t for this
1106 location makes no sense (until we do the LC_LEAVE), and1095 location makes no sense (until we do the LC_LEAVE), and
1107 complicates LAST_SOURCE_LINE_LOCATION. */1096 complicates LAST_SOURCE_LINE_LOCATION. */
1108 pfile->line_table->highest_location--;1097 pfile->line_table->highest_location--;
@@ -1139,11 +1128,12 @@ _cpp_do_file_change (cpp_reader *pfile, enum lc_reason reason, · 30 unmodified lines
1139/* Report a warning or error detected by the program we are1128/* Report a warning or error detected by the program we are
1140 processing. Use the directive's tokens in the error message. */1129 processing. Use the directive's tokens in the error message. */
1141static void1130static void
1142do_diagnostic (cpp_reader *pfile, int code, int reason, int print_dir)1131do_diagnostic (cpp_reader *pfile, enum cpp_diagnostic_level code,
1132 enum cpp_warning_reason reason, int print_dir)
1143{1133{
1144 const unsigned char *dir_name;1134 const unsigned char *dir_name;
1145 unsigned char *line;1135 unsigned char *line;
1146 source_location src_loc = pfile->cur_token[-1].src_loc;1136 location_t src_loc = pfile->cur_token[-1].src_loc;
1147 1137
1148 if (print_dir)1138 if (print_dir)
1149 dir_name = pfile->directive->name;1139 dir_name = pfile->directive->name;
@@ -1165,7 +1155,7 @@ do_diagnostic (cpp_reader *pfile, int code, int reason, int print_dir) · 15 unmodified lines
1165static void1155static void
1166do_error (cpp_reader *pfile)1156do_error (cpp_reader *pfile)
1167{1157{
1168 do_diagnostic (pfile, CPP_DL_ERROR, 0, 1);1158 do_diagnostic (pfile, CPP_DL_ERROR, CPP_W_NONE, 1);
1169}1159}
1170 1160
1171static void1161static void
@@ -1440,7 +1430,7 @@ do_pragma (cpp_reader *pfile) · 268 unmodified lines
1440{1430{
1441 const struct pragma_entry *p = NULL;1431 const struct pragma_entry *p = NULL;
1442 const cpp_token *token, *pragma_token;1432 const cpp_token *token, *pragma_token;
1443 source_location pragma_token_virt_loc = 0;1433 location_t pragma_token_virt_loc = 0;
1444 cpp_token ns_token;1434 cpp_token ns_token;
1445 unsigned int count = 1;1435 unsigned int count = 1;
1446 1436
@@ -1546,7 +1536,7 @@ do_pragma_push_macro (cpp_reader *pfile) · 99 unmodified lines
1546 txt = get__Pragma_string (pfile);1536 txt = get__Pragma_string (pfile);
1547 if (!txt)1537 if (!txt)
1548 {1538 {
1549 source_location src_loc = pfile->cur_token[-1].src_loc;1539 location_t src_loc = pfile->cur_token[-1].src_loc;
1550 cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,1540 cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,
1551 "invalid #pragma push_macro directive");1541 "invalid #pragma push_macro directive");
1552 check_eol (pfile, false);1542 check_eol (pfile, false);
@@ -1601,7 +1591,7 @@ do_pragma_pop_macro (cpp_reader *pfile) · 48 unmodified lines
1601 txt = get__Pragma_string (pfile);1591 txt = get__Pragma_string (pfile);
1602 if (!txt)1592 if (!txt)
1603 {1593 {
1604 source_location src_loc = pfile->cur_token[-1].src_loc;1594 location_t src_loc = pfile->cur_token[-1].src_loc;
1605 cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,1595 cpp_error_with_line (pfile, CPP_DL_ERROR, src_loc, 0,
1606 "invalid #pragma pop_macro directive");1596 "invalid #pragma pop_macro directive");
1607 check_eol (pfile, false);1597 check_eol (pfile, false);
@@ -1666,7 +1656,7 @@ do_pragma_poison (cpp_reader *pfile) · 58 unmodified lines
1666 if (hp->flags & NODE_POISONED)1656 if (hp->flags & NODE_POISONED)
1667 continue;1657 continue;
1668 1658
1669 if (hp->type == NT_MACRO)1659 if (cpp_macro_p (hp))
1670 cpp_error (pfile, CPP_DL_WARNING, "poisoning existing macro \"%s\"",1660 cpp_error (pfile, CPP_DL_WARNING, "poisoning existing macro \"%s\"",
1671 NODE_NAME (hp));1661 NODE_NAME (hp));
1672 _cpp_free_definition (hp);1662 _cpp_free_definition (hp);
@@ -1703,7 +1693,7 @@ do_pragma_dependency (cpp_reader *pfile) · 30 unmodified lines
1703{1693{
1704 const char *fname;1694 const char *fname;
1705 int angle_brackets, ordering;1695 int angle_brackets, ordering;
1706 source_location location;1696 location_t location;
1707 1697
1708 fname = parse_include (pfile, &angle_brackets, NULL, &location);1698 fname = parse_include (pfile, &angle_brackets, NULL, &location);
1709 if (!fname)1699 if (!fname)
@@ -1719,7 +1709,7 @@ do_pragma_dependency (cpp_reader *pfile) · 9 unmodified lines
1719 if (cpp_get_token (pfile)->type != CPP_EOF)1709 if (cpp_get_token (pfile)->type != CPP_EOF)
1720 {1710 {
1721 _cpp_backup_tokens (pfile, 1);1711 _cpp_backup_tokens (pfile, 1);
1722 do_diagnostic (pfile, CPP_DL_WARNING, 0, 0);1712 do_diagnostic (pfile, CPP_DL_WARNING, CPP_W_NONE, 0);
1723 }1713 }
1724 }1714 }
1725 1715
@@ -1809,7 +1799,7 @@ get__Pragma_string (cpp_reader *pfile) · 83 unmodified lines
1809 \" and \\ sequences, and process the result as a #pragma directive. */1799 \" and \\ sequences, and process the result as a #pragma directive. */
1810static void1800static void
1811destringize_and_run (cpp_reader *pfile, const cpp_string *in,1801destringize_and_run (cpp_reader *pfile, const cpp_string *in,
1812 source_location expansion_loc)1802 location_t expansion_loc)
1813{1803{
1814 const unsigned char *src, *limit;1804 const unsigned char *src, *limit;
1815 char *dest, *result;1805 char *dest, *result;
@@ -1929,7 +1919,7 @@ destringize_and_run (cpp_reader *pfile, const cpp_string *in, · 113 unmodified lines
1929 1919
1930/* Handle the _Pragma operator. Return 0 on error, 1 if ok. */1920/* Handle the _Pragma operator. Return 0 on error, 1 if ok. */
1931int1921int
1932_cpp_do__Pragma (cpp_reader *pfile, source_location expansion_loc)1922_cpp_do__Pragma (cpp_reader *pfile, location_t expansion_loc)
1933{1923{
1934 const cpp_token *string = get__Pragma_string (pfile);1924 const cpp_token *string = get__Pragma_string (pfile);
1935 pfile->directive_result.type = CPP_PADDING;1925 pfile->directive_result.type = CPP_PADDING;
@@ -1960,26 +1950,9 @@ do_ifdef (cpp_reader *pfile) · 24 unmodified lines
1960 the powerpc and spu ports using conditional macros for 'vector',1950 the powerpc and spu ports using conditional macros for 'vector',
1961 'bool', and 'pixel' to act as conditional keywords. This messes1951 'bool', and 'pixel' to act as conditional keywords. This messes
1962 up tests like #ifndef bool. */1952 up tests like #ifndef bool. */
1963 skip = (node->type != NT_MACRO1953 skip = !cpp_macro_p (node) || (node->flags & NODE_CONDITIONAL);
1964 || ((node->flags & NODE_CONDITIONAL) != 0));
1965 _cpp_mark_macro_used (node);1954 _cpp_mark_macro_used (node);
1966 if (!(node->flags & NODE_USED))1955 _cpp_maybe_notify_macro_use (pfile, node);
1967 {
1968 node->flags |= NODE_USED;
1969 if (node->type == NT_MACRO)
1970 {
1971 if ((node->flags & NODE_BUILTIN)
1972 && pfile->cb.user_builtin_macro)
1973 pfile->cb.user_builtin_macro (pfile, node);
1974 if (pfile->cb.used_define)
1975 pfile->cb.used_define (pfile, pfile->directive_line, node);
1976 }
1977 else
1978 {
1979 if (pfile->cb.used_undef)
1980 pfile->cb.used_undef (pfile, pfile->directive_line, node);
1981 }
1982 }
1983 if (pfile->cb.used)1956 if (pfile->cb.used)
1984 pfile->cb.used (pfile, pfile->directive_line, node);1957 pfile->cb.used (pfile, pfile->directive_line, node);
1985 check_eol (pfile, false);1958 check_eol (pfile, false);
@@ -2006,26 +1979,10 @@ do_ifndef (cpp_reader *pfile) · 20 unmodified lines
2006 the powerpc and spu ports using conditional macros for 'vector',1979 the powerpc and spu ports using conditional macros for 'vector',
2007 'bool', and 'pixel' to act as conditional keywords. This messes1980 'bool', and 'pixel' to act as conditional keywords. This messes
2008 up tests like #ifndef bool. */1981 up tests like #ifndef bool. */
2009 skip = (node->type == NT_MACRO1982 skip = (cpp_macro_p (node)
2010 && ((node->flags & NODE_CONDITIONAL) == 0));1983 && !(node->flags & NODE_CONDITIONAL));
2011 _cpp_mark_macro_used (node);1984 _cpp_mark_macro_used (node);
2012 if (!(node->flags & NODE_USED))1985 _cpp_maybe_notify_macro_use (pfile, node);
2013 {
2014 node->flags |= NODE_USED;
2015 if (node->type == NT_MACRO)
2016 {
2017 if ((node->flags & NODE_BUILTIN)
2018 && pfile->cb.user_builtin_macro)
2019 pfile->cb.user_builtin_macro (pfile, node);
2020 if (pfile->cb.used_define)
2021 pfile->cb.used_define (pfile, pfile->directive_line, node);
2022 }
2023 else
2024 {
2025 if (pfile->cb.used_undef)
2026 pfile->cb.used_undef (pfile, pfile->directive_line, node);
2027 }
2028 }
2029 if (pfile->cb.used)1986 if (pfile->cb.used)
2030 pfile->cb.used (pfile, pfile->directive_line, node);1987 pfile->cb.used (pfile, pfile->directive_line, node);
2031 check_eol (pfile, false);1988 check_eol (pfile, false);
@@ -2182,17 +2139,13 @@ push_conditional (cpp_reader *pfile, int skip, int type, · 150 unmodified lines
2182 storage, i.e. the #assert case. Returns 0 on success, and sets2139 storage, i.e. the #assert case. Returns 0 on success, and sets
2183 ANSWERP to point to the answer. PRED_LOC is the location of the2140 ANSWERP to point to the answer. PRED_LOC is the location of the
2184 predicate. */2141 predicate. */
2185static int2142static bool
2186parse_answer (cpp_reader *pfile, struct answer **answerp, int type,2143parse_answer (cpp_reader *pfile, int type, location_t pred_loc,
2187 source_location pred_loc)2144 cpp_macro **answer_ptr)
2188{2145{
2189 const cpp_token *paren;
2190 struct answer *answer;
2191 unsigned int acount;
2192
2193 /* In a conditional, it is legal to not have an open paren. We2146 /* In a conditional, it is legal to not have an open paren. We
2194 should save the following token in this case. */2147 should save the following token in this case. */
2195 paren = cpp_get_token (pfile);2148 const cpp_token *paren = cpp_get_token (pfile);
2196 2149
2197 /* If not a paren, see if we're OK. */2150 /* If not a paren, see if we're OK. */
2198 if (paren->type != CPP_OPEN_PAREN)2151 if (paren->type != CPP_OPEN_PAREN)
@@ -2202,23 +2155,26 @@ parse_answer (cpp_reader *pfile, struct answer **answerp, int type, · 3 unmodified lines
2202 if (type == T_IF)2155 if (type == T_IF)
2203 {2156 {
2204 _cpp_backup_tokens (pfile, 1);2157 _cpp_backup_tokens (pfile, 1);
2205 return 0;2158 return true;
2206 }2159 }
2207 2160
2208 /* #unassert with no answer is valid - it removes all answers. */2161 /* #unassert with no answer is valid - it removes all answers. */
2209 if (type == T_UNASSERT && paren->type == CPP_EOF)2162 if (type == T_UNASSERT && paren->type == CPP_EOF)
2210 return 0;2163 return true;
2211 2164
2212 cpp_error_with_line (pfile, CPP_DL_ERROR, pred_loc, 0,2165 cpp_error_with_line (pfile, CPP_DL_ERROR, pred_loc, 0,
2213 "missing '(' after predicate");2166 "missing '(' after predicate");
2214 return 1;2167 return false;
2215 }2168 }
2216 2169
2217 for (acount = 0;; acount++)2170 cpp_macro *answer = _cpp_new_macro (pfile, cmk_assert,
2171 _cpp_reserve_room (pfile, 0,
2172 sizeof (cpp_macro)));
2173 answer->parm.next = NULL;
2174 unsigned count = 0;
2175 for (;;)
2218 {2176 {
2219 size_t room_needed;
2220 const cpp_token *token = cpp_get_token (pfile);2177 const cpp_token *token = cpp_get_token (pfile);
2221 cpp_token *dest;
2222 2178
2223 if (token->type == CPP_CLOSE_PAREN)2179 if (token->type == CPP_CLOSE_PAREN)
2224 break;2180 break;
@@ -2226,57 +2182,52 @@ parse_answer (cpp_reader *pfile, struct answer **answerp, int type, · 1 unmodified line
2226 if (token->type == CPP_EOF)2182 if (token->type == CPP_EOF)
2227 {2183 {
2228 cpp_error (pfile, CPP_DL_ERROR, "missing ')' to complete answer");2184 cpp_error (pfile, CPP_DL_ERROR, "missing ')' to complete answer");
2229 return 1;2185 return false;
2230 }2186 }
2231 2187
2232 /* struct answer includes the space for one token. */2188 answer = (cpp_macro *)_cpp_reserve_room
2233 room_needed = (sizeof (struct answer) + acount * sizeof (cpp_token));2189 (pfile, sizeof (cpp_macro) + count * sizeof (cpp_token),
2234 2190 sizeof (cpp_token));
2235 if (BUFF_ROOM (pfile->a_buff) < room_needed)2191 answer->exp.tokens[count++] = *token;
2236 _cpp_extend_buff (pfile, &pfile->a_buff, sizeof (struct answer));
2237
2238 dest = &((struct answer *) BUFF_FRONT (pfile->a_buff))->first[acount];
2239 *dest = *token;
2240
2241 /* Drop whitespace at start, for answer equivalence purposes. */
2242 if (acount == 0)
2243 dest->flags &= ~PREV_WHITE;
2244 }2192 }
2245 2193
2246 if (acount == 0)2194 if (!count)
2247 {2195 {
2248 cpp_error (pfile, CPP_DL_ERROR, "predicate's answer is empty");2196 cpp_error (pfile, CPP_DL_ERROR, "predicate's answer is empty");
2249 return 1;2197 return false;
2250 }2198 }
2251 2199
2252 answer = (struct answer *) BUFF_FRONT (pfile->a_buff);2200 /* Drop whitespace at start, for answer equivalence purposes. */
2253 answer->count = acount;2201 answer->exp.tokens[0].flags &= ~PREV_WHITE;
2254 answer->next = NULL;
2255 *answerp = answer;
2256 2202
2257 return 0;2203 answer->count = count;
2204 *answer_ptr = answer;
2205
2206 return true;
2258}2207}
2259 2208
2260/* Parses an assertion directive of type TYPE, returning a pointer to2209/* Parses an assertion directive of type TYPE, returning a pointer to
2261 the hash node of the predicate, or 0 on error. If an answer was2210 the hash node of the predicate, or 0 on error. The node is
2262 supplied, it is placed in ANSWERP, otherwise it is set to 0. */2211 guaranteed to be disjoint from the macro namespace, so can only
2212 have type 'NT_VOID'. If an answer was supplied, it is placed in
2213 *ANSWER_PTR, which is otherwise set to 0. */
2263static cpp_hashnode *2214static cpp_hashnode *
2264parse_assertion (cpp_reader *pfile, struct answer **answerp, int type)2215parse_assertion (cpp_reader *pfile, int type, cpp_macro **answer_ptr)
2265{2216{
2266 cpp_hashnode *result = 0;2217 cpp_hashnode *result = 0;
2267 const cpp_token *predicate;
2268 2218
2269 /* We don't expand predicates or answers. */2219 /* We don't expand predicates or answers. */
2270 pfile->state.prevent_expansion++;2220 pfile->state.prevent_expansion++;
2271 2221
2272 *answerp = 0;2222 *answer_ptr = NULL;
2273 predicate = cpp_get_token (pfile);2223
2224 const cpp_token *predicate = cpp_get_token (pfile);
2274 if (predicate->type == CPP_EOF)2225 if (predicate->type == CPP_EOF)
2275 cpp_error (pfile, CPP_DL_ERROR, "assertion without predicate");2226 cpp_error (pfile, CPP_DL_ERROR, "assertion without predicate");
2276 else if (predicate->type != CPP_NAME)2227 else if (predicate->type != CPP_NAME)
2277 cpp_error_with_line (pfile, CPP_DL_ERROR, predicate->src_loc, 0,2228 cpp_error_with_line (pfile, CPP_DL_ERROR, predicate->src_loc, 0,
2278 "predicate must be an identifier");2229 "predicate must be an identifier");
2279 else if (parse_answer (pfile, answerp, type, predicate->src_loc) == 0)2230 else if (parse_answer (pfile, type, predicate->src_loc, answer_ptr))
2280 {2231 {
2281 unsigned int len = NODE_LEN (predicate->val.node.node);2232 unsigned int len = NODE_LEN (predicate->val.node.node);
2282 unsigned char *sym = (unsigned char *) alloca (len + 1);2233 unsigned char *sym = (unsigned char *) alloca (len + 1);
@@ -2288,25 +2239,27 @@ parse_assertion (cpp_reader *pfile, struct answer **answerp, int type) · 5 unmodified lines
2288 }2239 }
2289 2240
2290 pfile->state.prevent_expansion--;2241 pfile->state.prevent_expansion--;
2242
2291 return result;2243 return result;
2292}2244}
2293 2245
2294/* Returns a pointer to the pointer to CANDIDATE in the answer chain,2246/* Returns a pointer to the pointer to CANDIDATE in the answer chain,
2295 or a pointer to NULL if the answer is not in the chain. */2247 or a pointer to NULL if the answer is not in the chain. */
2296static struct answer **2248static cpp_macro **
2297find_answer (cpp_hashnode *node, const struct answer *candidate)2249find_answer (cpp_hashnode *node, const cpp_macro *candidate)
2298{2250{
2299 unsigned int i;2251 unsigned int i;
2300 struct answer **result;2252 cpp_macro **result = NULL;
2301 2253
2302 for (result = &node->value.answers; *result; result = &(*result)->next)2254 for (result = &node->value.answers; *result; result = &(*result)->parm.next)
2303 {2255 {
2304 struct answer *answer = *result;2256 cpp_macro *answer = *result;
2305 2257
2306 if (answer->count == candidate->count)2258 if (answer->count == candidate->count)
2307 {2259 {
2308 for (i = 0; i < answer->count; i++)2260 for (i = 0; i < answer->count; i++)
2309 if (! _cpp_equiv_tokens (&answer->first[i], &candidate->first[i]))2261 if (!_cpp_equiv_tokens (&answer->exp.tokens[i],
2262 &candidate->exp.tokens[i]))
2310 break;2263 break;
2311 2264
2312 if (i == answer->count)2265 if (i == answer->count)
@@ -2323,18 +2276,18 @@ find_answer (cpp_hashnode *node, const struct answer *candidate) · 10 unmodified lines
2323int2276int
2324_cpp_test_assertion (cpp_reader *pfile, unsigned int *value)2277_cpp_test_assertion (cpp_reader *pfile, unsigned int *value)
2325{2278{
2326 struct answer *answer;2279 cpp_macro *answer;
2327 cpp_hashnode *node;2280 cpp_hashnode *node = parse_assertion (pfile, T_IF, &answer);
2328
2329 node = parse_assertion (pfile, &answer, T_IF);
2330 2281
2331 /* For recovery, an erroneous assertion expression is handled as a2282 /* For recovery, an erroneous assertion expression is handled as a
2332 failing assertion. */2283 failing assertion. */
2333 *value = 0;2284 *value = 0;
2334 2285
2335 if (node)2286 if (node)
2336 *value = (node->type == NT_ASSERTION &&2287 {
2337 (answer == 0 || *find_answer (node, answer) != 0));2288 if (node->value.answers)
2289 *value = !answer || *find_answer (node, answer);
2290 }
2338 else if (pfile->cur_token[-1].type == CPP_EOF)2291 else if (pfile->cur_token[-1].type == CPP_EOF)
2339 _cpp_backup_tokens (pfile, 1);2292 _cpp_backup_tokens (pfile, 1);
2340 2293
@@ -2346,43 +2299,29 @@ _cpp_test_assertion (cpp_reader *pfile, unsigned int *value) · 5 unmodified lines
2346static void2299static void
2347do_assert (cpp_reader *pfile)2300do_assert (cpp_reader *pfile)
2348{2301{
2349 struct answer *new_answer;2302 cpp_macro *answer;
2350 cpp_hashnode *node;2303 cpp_hashnode *node = parse_assertion (pfile, T_ASSERT, &answer);
2351 2304
2352 node = parse_assertion (pfile, &new_answer, T_ASSERT);
2353 if (node)2305 if (node)
2354 {2306 {
2355 size_t answer_size;
2356
2357 /* Place the new answer in the answer list. First check there2307 /* Place the new answer in the answer list. First check there
2358 is not a duplicate. */2308 is not a duplicate. */
2359 new_answer->next = 0;2309 if (*find_answer (node, answer))
2360 if (node->type == NT_ASSERTION)
2361 {2310 {
2362 if (*find_answer (node, new_answer))2311 cpp_error (pfile, CPP_DL_WARNING, "\"%s\" re-asserted",
2363 {2312 NODE_NAME (node) + 1);
2364 cpp_error (pfile, CPP_DL_WARNING, "\"%s\" re-asserted",2313 return;
2365 NODE_NAME (node) + 1);
2366 return;
2367 }
2368 new_answer->next = node->value.answers;
2369 }2314 }
2370 2315
2371 answer_size = sizeof (struct answer) + ((new_answer->count - 1)2316 /* Commit or allocate storage for the answer. */
2372 * sizeof (cpp_token));2317 answer = (cpp_macro *)_cpp_commit_buff
2373 /* Commit or allocate storage for the object. */2318 (pfile, sizeof (cpp_macro) - sizeof (cpp_token)
2374 if (pfile->hash_table->alloc_subobject)2319 + sizeof (cpp_token) * answer->count);
2375 {2320
2376 struct answer *temp_answer = new_answer;2321 /* Chain into the list. */
2377 new_answer = (struct answer *) pfile->hash_table->alloc_subobject2322 answer->parm.next = node->value.answers;
2378 (answer_size);2323 node->value.answers = answer;
2379 memcpy (new_answer, temp_answer, answer_size);
2380 }
2381 else
2382 BUFF_FRONT (pfile->a_buff) += answer_size;
2383 2324
2384 node->type = NT_ASSERTION;
2385 node->value.answers = new_answer;
2386 check_eol (pfile, false);2325 check_eol (pfile, false);
2387 }2326 }
2388}2327}
@@ -2391,25 +2330,19 @@ do_assert (cpp_reader *pfile) · 2 unmodified lines
2391static void2330static void
2392do_unassert (cpp_reader *pfile)2331do_unassert (cpp_reader *pfile)
2393{2332{
2394 cpp_hashnode *node;2333 cpp_macro *answer;
2395 struct answer *answer;2334 cpp_hashnode *node = parse_assertion (pfile, T_UNASSERT, &answer);
2396 2335
2397 node = parse_assertion (pfile, &answer, T_UNASSERT);
2398 /* It isn't an error to #unassert something that isn't asserted. */2336 /* It isn't an error to #unassert something that isn't asserted. */
2399 if (node && node->type == NT_ASSERTION)2337 if (node)
2400 {2338 {
2401 if (answer)2339 if (answer)
2402 {2340 {
2403 struct answer **p = find_answer (node, answer), *temp;2341 cpp_macro **p = find_answer (node, answer);
2404
2405 /* Remove the answer from the list. */
2406 temp = *p;
2407 if (temp)
2408 *p = temp->next;
2409 2342
2410 /* Did we free the last answer? */2343 /* Remove the assert from the list. */
2411 if (node->value.answers == 0)2344 if (cpp_macro *temp = *p)
2412 node->type = NT_VOID;2345 *p = temp->parm.next;
2413 2346
2414 check_eol (pfile, false);2347 check_eol (pfile, false);
2415 }2348 }
@@ -2508,18 +2441,18 @@ cpp_pop_definition (cpp_reader *pfile, struct def_pragma_macro *c) · 92 unmodified lines
2508 if (pfile->cb.before_define)2441 if (pfile->cb.before_define)
2509 pfile->cb.before_define (pfile);2442 pfile->cb.before_define (pfile);
2510 2443
2511 if (node->type == NT_MACRO)2444 if (cpp_macro_p (node))
2512 {2445 {
2513 if (pfile->cb.undef)2446 if (pfile->cb.undef)
2514 pfile->cb.undef (pfile, pfile->directive_line, node);2447 pfile->cb.undef (pfile, pfile->directive_line, node);
2515 if (CPP_OPTION (pfile, warn_unused_macros))2448 if (CPP_OPTION (pfile, warn_unused_macros))
2516 _cpp_warn_if_unused_macro (pfile, node, NULL);2449 _cpp_warn_if_unused_macro (pfile, node, NULL);
2450 _cpp_free_definition (node);
2517 }2451 }
2518 if (node->type != NT_VOID)
2519 _cpp_free_definition (node);
2520 2452
2521 if (c->is_undef)2453 if (c->is_undef)
2522 return;2454 return;
2455
2523 {2456 {
2524 size_t namelen;2457 size_t namelen;
2525 const uchar *dn;2458 const uchar *dn;
@@ -2530,8 +2463,6 @@ cpp_pop_definition (cpp_reader *pfile, struct def_pragma_macro *c) · 4 unmodified lines
2530 h = cpp_lookup (pfile, c->definition, namelen);2463 h = cpp_lookup (pfile, c->definition, namelen);
2531 dn = c->definition + namelen;2464 dn = c->definition + namelen;
2532 2465
2533 h->type = NT_VOID;
2534 h->flags &= ~(NODE_POISONED|NODE_BUILTIN|NODE_DISABLED|NODE_USED);
2535 nbuf = cpp_push_buffer (pfile, dn, ustrchr (dn, '\n') - dn, true);2466 nbuf = cpp_push_buffer (pfile, dn, ustrchr (dn, '\n') - dn, true);
2536 if (nbuf != NULL)2467 if (nbuf != NULL)
2537 {2468 {
@@ -2674,6 +2605,8 @@ _cpp_pop_buffer (cpp_reader *pfile) · 136 unmodified lines
2674 2605
2675 _cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);2606 _cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
2676 }2607 }
2608 else if (to_free)
2609 free ((void *)to_free);
2677}2610}
2678 2611
2679/* Enter all recognized directives in the hash table. */2612/* Enter all recognized directives in the hash table. */
gcc/libcpp/errors.c+42−34
@@ -1,5 +1,5 @@
1/* Default error handlers for CPP Library.1/* Default error handlers for CPP Library.
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Written by Per Bothner, 1994.3 Written by Per Bothner, 1994.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -31,15 +31,15 @@ along with this program; see the file COPYING3. If not see · 25 unmodified lines
31 31
32ATTRIBUTE_FPTR_PRINTF(5,0)32ATTRIBUTE_FPTR_PRINTF(5,0)
33static bool33static bool
34cpp_diagnostic_at (cpp_reader * pfile, int level, int reason,34cpp_diagnostic_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
35 rich_location *richloc,35 enum cpp_warning_reason reason, rich_location *richloc,
36 const char *msgid, va_list *ap)36 const char *msgid, va_list *ap)
37{37{
38 bool ret;38 bool ret;
39 39
40 if (!pfile->cb.error)40 if (!pfile->cb.diagnostic)
41 abort ();41 abort ();
42 ret = pfile->cb.error (pfile, level, reason, richloc, _(msgid), ap);42 ret = pfile->cb.diagnostic (pfile, level, reason, richloc, _(msgid), ap);
43 43
44 return ret;44 return ret;
45}45}
@@ -48,10 +48,11 @@ cpp_diagnostic_at (cpp_reader * pfile, int level, int reason, · 2 unmodified lines
48 48
49ATTRIBUTE_FPTR_PRINTF(4,0)49ATTRIBUTE_FPTR_PRINTF(4,0)
50static bool50static bool
51cpp_diagnostic (cpp_reader * pfile, int level, int reason,51cpp_diagnostic (cpp_reader * pfile, enum cpp_diagnostic_level level,
52 const char *msgid, va_list *ap)52 enum cpp_warning_reason reason,
53 const char *msgid, va_list *ap)
53{54{
54 source_location src_loc;55 location_t src_loc;
55 56
56 if (CPP_OPTION (pfile, traditional))57 if (CPP_OPTION (pfile, traditional))
57 {58 {
@@ -77,7 +78,8 @@ cpp_diagnostic (cpp_reader * pfile, int level, int reason, · 19 unmodified lines
77/* Print a warning or error, depending on the value of LEVEL. */78/* Print a warning or error, depending on the value of LEVEL. */
78 79
79bool80bool
80cpp_error (cpp_reader * pfile, int level, const char *msgid, ...)81cpp_error (cpp_reader * pfile, enum cpp_diagnostic_level level,
82 const char *msgid, ...)
81{83{
82 va_list ap;84 va_list ap;
83 bool ret;85 bool ret;
@@ -93,7 +95,8 @@ cpp_error (cpp_reader * pfile, int level, const char *msgid, ...) · 9 unmodified lines
93/* Print a warning. The warning reason may be given in REASON. */95/* Print a warning. The warning reason may be given in REASON. */
94 96
95bool97bool
96cpp_warning (cpp_reader * pfile, int reason, const char *msgid, ...)98cpp_warning (cpp_reader * pfile, enum cpp_warning_reason reason,
99 const char *msgid, ...)
97{100{
98 va_list ap;101 va_list ap;
99 bool ret;102 bool ret;
@@ -109,7 +112,8 @@ cpp_warning (cpp_reader * pfile, int reason, const char *msgid, ...) · 9 unmodified lines
109/* Print a pedantic warning. The warning reason may be given in REASON. */112/* Print a pedantic warning. The warning reason may be given in REASON. */
110 113
111bool114bool
112cpp_pedwarning (cpp_reader * pfile, int reason, const char *msgid, ...)115cpp_pedwarning (cpp_reader * pfile, enum cpp_warning_reason reason,
116 const char *msgid, ...)
113{117{
114 va_list ap;118 va_list ap;
115 bool ret;119 bool ret;
@@ -126,7 +130,8 @@ cpp_pedwarning (cpp_reader * pfile, int reason, const char *msgid, ...) · 10 unmodified lines
126 given in REASON. */130 given in REASON. */
127 131
128bool132bool
129cpp_warning_syshdr (cpp_reader * pfile, int reason, const char *msgid, ...)133cpp_warning_syshdr (cpp_reader * pfile, enum cpp_warning_reason reason,
134 const char *msgid, ...)
130{135{
131 va_list ap;136 va_list ap;
132 bool ret;137 bool ret;
@@ -143,18 +148,19 @@ cpp_warning_syshdr (cpp_reader * pfile, int reason, const char *msgid, ...) · 10 unmodified lines
143 148
144ATTRIBUTE_FPTR_PRINTF(6,0)149ATTRIBUTE_FPTR_PRINTF(6,0)
145static bool150static bool
146cpp_diagnostic_with_line (cpp_reader * pfile, int level, int reason,151cpp_diagnostic_with_line (cpp_reader * pfile, enum cpp_diagnostic_level level,
147 source_location src_loc, unsigned int column,152 enum cpp_warning_reason reason,
148 const char *msgid, va_list *ap)153 location_t src_loc, unsigned int column,
154 const char *msgid, va_list *ap)
149{155{
150 bool ret;156 bool ret;
151 157
152 if (!pfile->cb.error)158 if (!pfile->cb.diagnostic)
153 abort ();159 abort ();
154 rich_location richloc (pfile->line_table, src_loc);160 rich_location richloc (pfile->line_table, src_loc);
155 if (column)161 if (column)
156 richloc.override_column (column);162 richloc.override_column (column);
157 ret = pfile->cb.error (pfile, level, reason, &richloc, _(msgid), ap);163 ret = pfile->cb.diagnostic (pfile, level, reason, &richloc, _(msgid), ap);
158 164
159 return ret;165 return ret;
160}166}
@@ -162,8 +168,8 @@ cpp_diagnostic_with_line (cpp_reader * pfile, int level, int reason, · 1 unmodified line
162/* Print a warning or error, depending on the value of LEVEL. */168/* Print a warning or error, depending on the value of LEVEL. */
163 169
164bool170bool
165cpp_error_with_line (cpp_reader *pfile, int level,171cpp_error_with_line (cpp_reader *pfile, enum cpp_diagnostic_level level,
166 source_location src_loc, unsigned int column,172 location_t src_loc, unsigned int column,
167 const char *msgid, ...)173 const char *msgid, ...)
168{174{
169 va_list ap;175 va_list ap;
@@ -181,8 +187,8 @@ cpp_error_with_line (cpp_reader *pfile, int level, · 11 unmodified lines
181/* Print a warning. The warning reason may be given in REASON. */187/* Print a warning. The warning reason may be given in REASON. */
182 188
183bool189bool
184cpp_warning_with_line (cpp_reader *pfile, int reason,190cpp_warning_with_line (cpp_reader *pfile, enum cpp_warning_reason reason,
185 source_location src_loc, unsigned int column,191 location_t src_loc, unsigned int column,
186 const char *msgid, ...)192 const char *msgid, ...)
187{193{
188 va_list ap;194 va_list ap;
@@ -200,9 +206,9 @@ cpp_warning_with_line (cpp_reader *pfile, int reason, · 11 unmodified lines
200/* Print a pedantic warning. The warning reason may be given in REASON. */206/* Print a pedantic warning. The warning reason may be given in REASON. */
201 207
202bool208bool
203cpp_pedwarning_with_line (cpp_reader *pfile, int reason,209cpp_pedwarning_with_line (cpp_reader *pfile, enum cpp_warning_reason reason,
204 source_location src_loc, unsigned int column,210 location_t src_loc, unsigned int column,
205 const char *msgid, ...)211 const char *msgid, ...)
206{212{
207 va_list ap;213 va_list ap;
208 bool ret;214 bool ret;
@@ -220,9 +226,9 @@ cpp_pedwarning_with_line (cpp_reader *pfile, int reason, · 11 unmodified lines
220 given in REASON. */226 given in REASON. */
221 227
222bool228bool
223cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason,229cpp_warning_with_line_syshdr (cpp_reader *pfile, enum cpp_warning_reason reason,
224 source_location src_loc, unsigned int column,230 location_t src_loc, unsigned int column,
225 const char *msgid, ...)231 const char *msgid, ...)
226{232{
227 va_list ap;233 va_list ap;
228 bool ret;234 bool ret;
@@ -240,8 +246,8 @@ cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason, · 11 unmodified lines
240 a column override. */246 a column override. */
241 247
242bool248bool
243cpp_error_at (cpp_reader * pfile, int level, source_location src_loc,249cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
244 const char *msgid, ...)250 location_t src_loc, const char *msgid, ...)
245{251{
246 va_list ap;252 va_list ap;
247 bool ret;253 bool ret;
@@ -260,8 +266,8 @@ cpp_error_at (cpp_reader * pfile, int level, source_location src_loc, · 12 unmodified lines
260 a column override. */266 a column override. */
261 267
262bool268bool
263cpp_error_at (cpp_reader * pfile, int level, rich_location *richloc,269cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level level,
264 const char *msgid, ...)270 rich_location *richloc, const char *msgid, ...)
265{271{
266 va_list ap;272 va_list ap;
267 bool ret;273 bool ret;
@@ -279,7 +285,8 @@ cpp_error_at (cpp_reader * pfile, int level, rich_location *richloc, · 11 unmodified lines
279 information from errno. */285 information from errno. */
280 286
281bool287bool
282cpp_errno (cpp_reader *pfile, int level, const char *msgid)288cpp_errno (cpp_reader *pfile, enum cpp_diagnostic_level level,
289 const char *msgid)
283{290{
284 return cpp_error (pfile, level, "%s: %s", _(msgid), xstrerror (errno));291 return cpp_error (pfile, level, "%s: %s", _(msgid), xstrerror (errno));
285}292}
@@ -289,8 +296,9 @@ cpp_errno (cpp_reader *pfile, int level, const char *msgid) · 3 unmodified lines
289 that is not localized, but "" is replaced with localized "stdout". */296 that is not localized, but "" is replaced with localized "stdout". */
290 297
291bool298bool
292cpp_errno_filename (cpp_reader *pfile, int level, const char *filename,299cpp_errno_filename (cpp_reader *pfile, enum cpp_diagnostic_level level,
293 source_location loc)300 const char *filename,
301 location_t loc)
294{302{
295 if (filename[0] == '\0')303 if (filename[0] == '\0')
296 filename = _("stdout");304 filename = _("stdout");
gcc/libcpp/expr.c+12−28
@@ -1,5 +1,5 @@
1/* Parse C expressions for cpplib.1/* Parse C expressions for cpplib.
2 Copyright (C) 1987-2018 Free Software Foundation, Inc.2 Copyright (C) 1987-2019 Free Software Foundation, Inc.
3 Contributed by Per Bothner, 1994.3 Contributed by Per Bothner, 1994.
4 4
5This program is free software; you can redistribute it and/or modify it5This program is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@ struct op · 24 unmodified lines
30{30{
31 const cpp_token *token; /* The token forming op (for diagnostics). */31 const cpp_token *token; /* The token forming op (for diagnostics). */
32 cpp_num value; /* The value logically "right" of op. */32 cpp_num value; /* The value logically "right" of op. */
33 source_location loc; /* The location of this value. */33 location_t loc; /* The location of this value. */
34 enum cpp_ttype op;34 enum cpp_ttype op;
35};35};
36 36
@@ -52,13 +52,13 @@ static cpp_num num_equality_op (cpp_reader *, cpp_num, cpp_num, · 15 unmodified lines
52 enum cpp_ttype);52 enum cpp_ttype);
53static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num);53static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num);
54static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype,54static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype,
55 source_location);55 location_t);
56static cpp_num num_lshift (cpp_num, size_t, size_t);56static cpp_num num_lshift (cpp_num, size_t, size_t);
57static cpp_num num_rshift (cpp_num, size_t, size_t);57static cpp_num num_rshift (cpp_num, size_t, size_t);
58 58
59static cpp_num append_digit (cpp_num, int, int, size_t);59static cpp_num append_digit (cpp_num, int, int, size_t);
60static cpp_num parse_defined (cpp_reader *);60static cpp_num parse_defined (cpp_reader *);
61static cpp_num eval_token (cpp_reader *, const cpp_token *, source_location);61static cpp_num eval_token (cpp_reader *, const cpp_token *, location_t);
62static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype);62static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype);
63static unsigned int interpret_float_suffix (cpp_reader *, const uchar *, size_t);63static unsigned int interpret_float_suffix (cpp_reader *, const uchar *, size_t);
64static unsigned int interpret_int_suffix (cpp_reader *, const uchar *, size_t);64static unsigned int interpret_int_suffix (cpp_reader *, const uchar *, size_t);
@@ -505,7 +505,7 @@ cpp_get_userdef_suffix (const cpp_token *tok) · 440 unmodified lines
505 VIRTUAL_LOCATION is the virtual location for TOKEN. */505 VIRTUAL_LOCATION is the virtual location for TOKEN. */
506unsigned int506unsigned int
507cpp_classify_number (cpp_reader *pfile, const cpp_token *token,507cpp_classify_number (cpp_reader *pfile, const cpp_token *token,
508 const char **ud_suffix, source_location virtual_location)508 const char **ud_suffix, location_t virtual_location)
509{509{
510 const uchar *str = token->val.str.text;510 const uchar *str = token->val.str.text;
511 const uchar *limit;511 const uchar *limit;
@@ -1065,23 +1065,7 @@ parse_defined (cpp_reader *pfile) · 553 unmodified lines
1065 "this use of \"defined\" may not be portable");1065 "this use of \"defined\" may not be portable");
1066 1066
1067 _cpp_mark_macro_used (node);1067 _cpp_mark_macro_used (node);
1068 if (!(node->flags & NODE_USED))1068 _cpp_maybe_notify_macro_use (pfile, node);
1069 {
1070 node->flags |= NODE_USED;
1071 if (node->type == NT_MACRO)
1072 {
1073 if ((node->flags & NODE_BUILTIN)
1074 && pfile->cb.user_builtin_macro)
1075 pfile->cb.user_builtin_macro (pfile, node);
1076 if (pfile->cb.used_define)
1077 pfile->cb.used_define (pfile, pfile->directive_line, node);
1078 }
1079 else
1080 {
1081 if (pfile->cb.used_undef)
1082 pfile->cb.used_undef (pfile, pfile->directive_line, node);
1083 }
1084 }
1085 1069
1086 /* A possible controlling macro of the form #if !defined ().1070 /* A possible controlling macro of the form #if !defined ().
1087 _cpp_parse_expr checks there was no other junk on the line. */1071 _cpp_parse_expr checks there was no other junk on the line. */
@@ -1097,8 +1081,8 @@ parse_defined (cpp_reader *pfile) · 9 unmodified lines
1097 result.unsignedp = false;1081 result.unsignedp = false;
1098 result.high = 0;1082 result.high = 0;
1099 result.overflow = false;1083 result.overflow = false;
1100 result.low = (node && node->type == NT_MACRO1084 result.low = (node && cpp_macro_p (node)
1101 && (node->flags & NODE_CONDITIONAL) == 0);1085 && !(node->flags & NODE_CONDITIONAL));
1102 return result;1086 return result;
1103}1087}
1104 1088
@@ -1107,7 +1091,7 @@ parse_defined (cpp_reader *pfile) · 2 unmodified lines
1107 operators). */1091 operators). */
1108static cpp_num1092static cpp_num
1109eval_token (cpp_reader *pfile, const cpp_token *token,1093eval_token (cpp_reader *pfile, const cpp_token *token,
1110 source_location virtual_location)1094 location_t virtual_location)
1111{1095{
1112 cpp_num result;1096 cpp_num result;
1113 unsigned int temp;1097 unsigned int temp;
@@ -1304,7 +1288,7 @@ _cpp_parse_expr (cpp_reader *pfile, bool is_if) · 190 unmodified lines
1304 struct op *top = pfile->op_stack;1288 struct op *top = pfile->op_stack;
1305 unsigned int lex_count;1289 unsigned int lex_count;
1306 bool saw_leading_not, want_value = true;1290 bool saw_leading_not, want_value = true;
1307 source_location virtual_location = 0;1291 location_t virtual_location = 0;
1308 1292
1309 pfile->state.skip_eval = 0;1293 pfile->state.skip_eval = 0;
1310 1294
@@ -2102,7 +2086,7 @@ num_mul (cpp_reader *pfile, cpp_num lhs, cpp_num rhs) · 791 unmodified lines
2102 2086
2103static cpp_num2087static cpp_num
2104num_div_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op,2088num_div_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op,
2105 source_location location)2089 location_t location)
2106{2090{
2107 cpp_num result, sub;2091 cpp_num result, sub;
2108 cpp_num_part mask;2092 cpp_num_part mask;
@@ -2254,7 +2238,7 @@ parse_has_include (cpp_reader *pfile, enum include_type type) · 145 unmodified lines
2254 XDELETEVEC (fname);2238 XDELETEVEC (fname);
2255 }2239 }
2256 2240
2257 if (paren && cpp_get_token (pfile)->type != CPP_CLOSE_PAREN)2241 if (paren && !SEEN_EOL () && cpp_get_token (pfile)->type != CPP_CLOSE_PAREN)
2258 cpp_error (pfile, CPP_DL_ERROR,2242 cpp_error (pfile, CPP_DL_ERROR,
2259 "missing ')' after \"__has_include__\"");2243 "missing ')' after \"__has_include__\"");
2260 2244
gcc/libcpp/files.c+42−28
@@ -1,5 +1,5 @@
1/* Part of CPP library. File handling.1/* Part of CPP library. File handling.
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Written by Per Bothner, 1994.3 Written by Per Bothner, 1994.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -144,7 +144,7 @@ struct cpp_file_hash_entry · 138 unmodified lines
144{144{
145 struct cpp_file_hash_entry *next;145 struct cpp_file_hash_entry *next;
146 cpp_dir *start_dir;146 cpp_dir *start_dir;
147 source_location location;147 location_t location;
148 union148 union
149 {149 {
150 _cpp_file *file;150 _cpp_file *file;
@@ -171,18 +171,18 @@ static bool open_file (_cpp_file *file); · 20 unmodified lines
171static bool pch_open_file (cpp_reader *pfile, _cpp_file *file,171static bool pch_open_file (cpp_reader *pfile, _cpp_file *file,
172 bool *invalid_pch);172 bool *invalid_pch);
173static bool find_file_in_dir (cpp_reader *pfile, _cpp_file *file,173static bool find_file_in_dir (cpp_reader *pfile, _cpp_file *file,
174 bool *invalid_pch, source_location loc);174 bool *invalid_pch, location_t loc);
175static bool read_file_guts (cpp_reader *pfile, _cpp_file *file,175static bool read_file_guts (cpp_reader *pfile, _cpp_file *file,
176 source_location loc);176 location_t loc);
177static bool read_file (cpp_reader *pfile, _cpp_file *file,177static bool read_file (cpp_reader *pfile, _cpp_file *file,
178 source_location loc);178 location_t loc);
179static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import,179static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import,
180 source_location loc);180 location_t loc);
181static struct cpp_dir *search_path_head (cpp_reader *, const char *fname,181static struct cpp_dir *search_path_head (cpp_reader *, const char *fname,
182 int angle_brackets, enum include_type);182 int angle_brackets, enum include_type);
183static const char *dir_name_of_file (_cpp_file *file);183static const char *dir_name_of_file (_cpp_file *file);
184static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int,184static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int,
185 source_location);185 location_t);
186static struct cpp_file_hash_entry *search_cache (struct cpp_file_hash_entry *head,186static struct cpp_file_hash_entry *search_cache (struct cpp_file_hash_entry *head,
187 const cpp_dir *start_dir);187 const cpp_dir *start_dir);
188static _cpp_file *make_cpp_file (cpp_reader *, cpp_dir *, const char *fname);188static _cpp_file *make_cpp_file (cpp_reader *, cpp_dir *, const char *fname);
@@ -377,7 +377,7 @@ maybe_shorter_path (const char * file) · 188 unmodified lines
377 377
378static bool378static bool
379find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch,379find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch,
380 source_location loc)380 location_t loc)
381{381{
382 char *path;382 char *path;
383 383
@@ -455,7 +455,7 @@ find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch, · 71 unmodified lines
455 return false;455 return false;
456}456}
457 457
458/* Return tue iff the missing_header callback found the given HEADER. */458/* Return true iff the missing_header callback found the given HEADER. */
459static bool459static bool
460search_path_exhausted (cpp_reader *pfile, const char *header, _cpp_file *file)460search_path_exhausted (cpp_reader *pfile, const char *header, _cpp_file *file)
461{461{
@@ -507,7 +507,7 @@ _cpp_find_failed (_cpp_file *file) · 45 unmodified lines
507_cpp_file *507_cpp_file *
508_cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,508_cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
509 bool fake, int angle_brackets, bool implicit_preinclude,509 bool fake, int angle_brackets, bool implicit_preinclude,
510 source_location loc)510 location_t loc)
511{511{
512 struct cpp_file_hash_entry *entry;512 struct cpp_file_hash_entry *entry;
513 void **hash_slot;513 void **hash_slot;
@@ -671,7 +671,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, · 157 unmodified lines
671 671
672 FIXME: Flush file cache and try again if we run out of memory. */672 FIXME: Flush file cache and try again if we run out of memory. */
673static bool673static bool
674read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc)674read_file_guts (cpp_reader *pfile, _cpp_file *file, location_t loc)
675{675{
676 ssize_t size, total, count;676 ssize_t size, total, count;
677 uchar *buf;677 uchar *buf;
@@ -755,7 +755,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc) · 77 unmodified lines
755 have been passed through find_file() at some stage. Use LOC for755 have been passed through find_file() at some stage. Use LOC for
756 any diagnostics. */756 any diagnostics. */
757static bool757static bool
758read_file (cpp_reader *pfile, _cpp_file *file, source_location loc)758read_file (cpp_reader *pfile, _cpp_file *file, location_t loc)
759{759{
760 /* If we already have its contents in memory, succeed immediately. */760 /* If we already have its contents in memory, succeed immediately. */
761 if (file->buffer_valid)761 if (file->buffer_valid)
@@ -783,7 +783,7 @@ read_file (cpp_reader *pfile, _cpp_file *file, source_location loc) · 21 unmodified lines
783 Use LOC for any diagnostics. */783 Use LOC for any diagnostics. */
784static bool784static bool
785should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,785should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
786 source_location loc)786 location_t loc)
787{787{
788 _cpp_file *f;788 _cpp_file *f;
789 789
@@ -805,7 +805,7 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import, · 15 unmodified lines
805 805
806 /* Skip if the file had a header guard and the macro is defined.806 /* Skip if the file had a header guard and the macro is defined.
807 PCH relies on this appearing before the PCH handler below. */807 PCH relies on this appearing before the PCH handler below. */
808 if (file->cmacro && file->cmacro->type == NT_MACRO)808 if (file->cmacro && cpp_macro_p (file->cmacro))
809 return false;809 return false;
810 810
811 /* Handle PCH files immediately; don't stack them. */811 /* Handle PCH files immediately; don't stack them. */
@@ -892,13 +892,13 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import, · 80 unmodified lines
892 stacked. Use LOC for any diagnostics. */892 stacked. Use LOC for any diagnostics. */
893bool893bool
894_cpp_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,894_cpp_stack_file (cpp_reader *pfile, _cpp_file *file, bool import,
895 source_location loc)895 location_t loc)
896{896{
897 cpp_buffer *buffer;897 cpp_buffer *buffer;
898 int sysp;898 int sysp;
899 899
900 if (!should_stack_file (pfile, file, import, loc))900 if (!should_stack_file (pfile, file, import, loc))
901 return false;901 return false;
902 902
903 if (pfile->buffer == NULL || file->dir == NULL)903 if (pfile->buffer == NULL || file->dir == NULL)
904 sysp = 0;904 sysp = 0;
@@ -1007,11 +1007,12 @@ dir_name_of_file (_cpp_file *file) · 102 unmodified lines
1007 Returns true if a buffer was stacked. */1007 Returns true if a buffer was stacked. */
1008bool1008bool
1009_cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,1009_cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets,
1010 enum include_type type, source_location loc)1010 enum include_type type, location_t loc)
1011{1011{
1012 struct cpp_dir *dir;1012 struct cpp_dir *dir;
1013 _cpp_file *file;1013 _cpp_file *file;
1014 bool stacked;1014 bool stacked;
1015 bool decremented = false;
1015 1016
1016 /* For -include command-line flags we have type == IT_CMDLINE.1017 /* For -include command-line flags we have type == IT_CMDLINE.
1017 When the first -include file is processed we have the case, where1018 When the first -include file is processed we have the case, where
@@ -1035,20 +1036,33 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets, · 17 unmodified lines
1035 return false;1036 return false;
1036 1037
1037 /* Compensate for the increment in linemap_add that occurs if1038 /* Compensate for the increment in linemap_add that occurs if
1038 _cpp_stack_file actually stacks the file. In the case of a1039 _cpp_stack_file actually stacks the file. In the case of a normal
1039 normal #include, we're currently at the start of the line1040 #include, we're currently at the start of the line *following* the
1040 *following* the #include. A separate source_location for this1041 #include. A separate location_t for this location makes no
1041 location makes no sense (until we do the LC_LEAVE), and1042 sense (until we do the LC_LEAVE), and complicates
1042 complicates LAST_SOURCE_LINE_LOCATION. This does not apply if we1043 LAST_SOURCE_LINE_LOCATION. This does not apply if we found a PCH
1043 found a PCH file (in which case linemap_add is not called) or we1044 file (in which case linemap_add is not called) or we were included
1044 were included from the command-line. */1045 from the command-line. In the case that the #include is the last
1046 line in the file, highest_location still points to the current
1047 line, not the start of the next line, so we do not decrement in
1048 this case. See plugin/location-overflow-test-pr83173.h for an
1049 example. */
1045 if (file->pchname == NULL && file->err_no == 01050 if (file->pchname == NULL && file->err_no == 0
1046 && type != IT_CMDLINE && type != IT_DEFAULT)1051 && type != IT_CMDLINE && type != IT_DEFAULT)
1047 pfile->line_table->highest_location--;1052 {
1053 int highest_line = linemap_get_expansion_line (pfile->line_table,
1054 pfile->line_table->highest_location);
1055 int source_line = linemap_get_expansion_line (pfile->line_table, loc);
1056 if (highest_line > source_line)
1057 {
1058 pfile->line_table->highest_location--;
1059 decremented = true;
1060 }
1061 }
1048 1062
1049 stacked = _cpp_stack_file (pfile, file, type == IT_IMPORT, loc);1063 stacked = _cpp_stack_file (pfile, file, type == IT_IMPORT, loc);
1050 1064
1051 if (!stacked)1065 if (decremented && !stacked)
1052 /* _cpp_stack_file didn't stack the file, so let's rollback the1066 /* _cpp_stack_file didn't stack the file, so let's rollback the
1053 compensation dance we performed above. */1067 compensation dance we performed above. */
1054 pfile->line_table->highest_location++;1068 pfile->line_table->highest_location++;
@@ -1059,7 +1073,7 @@ _cpp_stack_include (cpp_reader *pfile, const char *fname, int angle_brackets, · 4 unmodified lines
1059/* Could not open FILE. The complication is dependency output. */1073/* Could not open FILE. The complication is dependency output. */
1060static void1074static void
1061open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets,1075open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets,
1062 source_location loc)1076 location_t loc)
1063{1077{
1064 int sysp = pfile->line_table->highest_line > 1 && pfile->buffer ? pfile->buffer->sysp : 0;1078 int sysp = pfile->line_table->highest_line > 1 && pfile->buffer ? pfile->buffer->sysp : 0;
1065 bool print_dep = CPP_OPTION (pfile, deps.style) > (angle_brackets || !!sysp);1079 bool print_dep = CPP_OPTION (pfile, deps.style) > (angle_brackets || !!sysp);
@@ -1247,7 +1261,7 @@ cpp_included (cpp_reader *pfile, const char *fname) · 181 unmodified lines
1247 filenames aliased by links or redundant . or .. traversals etc. */1261 filenames aliased by links or redundant . or .. traversals etc. */
1248bool1262bool
1249cpp_included_before (cpp_reader *pfile, const char *fname,1263cpp_included_before (cpp_reader *pfile, const char *fname,
1250 source_location location)1264 location_t location)
1251{1265{
1252 struct cpp_file_hash_entry *entry1266 struct cpp_file_hash_entry *entry
1253 = (struct cpp_file_hash_entry *)1267 = (struct cpp_file_hash_entry *)
gcc/libcpp/identifiers.c+3−3
@@ -1,5 +1,5 @@
1/* Hash tables for the CPP library.1/* Hash tables for the CPP library.
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Written by Per Bothner, 1994.3 Written by Per Bothner, 1994.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -104,8 +104,8 @@ cpp_defined (cpp_reader *pfile, const unsigned char *str, int len) · 98 unmodified lines
104 104
105 node = CPP_HASHNODE (ht_lookup (pfile->hash_table, str, len, HT_NO_INSERT));105 node = CPP_HASHNODE (ht_lookup (pfile->hash_table, str, len, HT_NO_INSERT));
106 106
107 /* If it's of type NT_MACRO, it cannot be poisoned. */107 /* If it's a macro, it cannot have been poisoned. */
108 return node && node->type == NT_MACRO;108 return node && cpp_macro_p (node);
109}109}
110 110
111/* We don't need a proxy since the hash table's identifier comes first111/* We don't need a proxy since the hash table's identifier comes first
gcc/libcpp/include/cpp-id-data.h+0−82
@@ -1,82 +0,0 @@
1/* Structures that hang off cpp_identifier, for PCH.
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.
3
4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the
6Free Software Foundation; either version 3, or (at your option) any
7later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; see the file COPYING3. If not see
16<http://www.gnu.org/licenses/>. */
17
18#include "cpplib.h"
19
20#if !defined (HAVE_UCHAR) && !defined (IN_GCC)
21typedef unsigned char uchar;
22#endif
23
24#define UC (const unsigned char *) /* Intended use: UC"string" */
25
26/* Chained list of answers to an assertion. */
27struct GTY(()) answer {
28 struct answer *next;
29 unsigned int count;
30 cpp_token GTY ((length ("%h.count"))) first[1];
31};
32
33/* Each macro definition is recorded in a cpp_macro structure.
34 Variadic macros cannot occur with traditional cpp. */
35struct GTY(()) cpp_macro {
36 /* Parameters, if any. If parameter names use extended identifiers,
37 the original spelling of those identifiers, not the canonical
38 UTF-8 spelling, goes here. */
39 cpp_hashnode ** GTY ((nested_ptr (union tree_node,
40 "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL",
41 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"),
42 length ("%h.paramc")))
43 params;
44
45 /* Replacement tokens (ISO) or replacement text (traditional). See
46 comment at top of cpptrad.c for how traditional function-like
47 macros are encoded. */
48 union cpp_macro_u
49 {
50 cpp_token * GTY ((tag ("0"), length ("%0.count"))) tokens;
51 const unsigned char * GTY ((tag ("1"))) text;
52 } GTY ((desc ("%1.traditional"))) exp;
53
54 /* Definition line number. */
55 source_location line;
56
57 /* Number of tokens in expansion, or bytes for traditional macros. */
58 unsigned int count;
59
60 /* Number of parameters. */
61 unsigned short paramc;
62
63 /* If a function-like macro. */
64 unsigned int fun_like : 1;
65
66 /* If a variadic macro. */
67 unsigned int variadic : 1;
68
69 /* If macro defined in system header. */
70 unsigned int syshdr : 1;
71
72 /* Nonzero if it has been expanded or had its existence tested. */
73 unsigned int used : 1;
74
75 /* Indicate which field of 'exp' is in use. */
76 unsigned int traditional : 1;
77
78 /* Indicate whether the tokens include extra CPP_PASTE tokens at the
79 end to track invalid redefinitions with consecutive CPP_PASTE
80 tokens. */
81 unsigned int extra_tokens : 1;
82};
gcc/libcpp/include/cpplib.h+238−150
@@ -1,5 +1,5 @@
1/* Definitions for CPP library.1/* Definitions for CPP library.
2 Copyright (C) 1995-2018 Free Software Foundation, Inc.2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
3 Written by Per Bothner, 1994-95.3 Written by Per Bothner, 1994-95.
4 4
5This program is free software; you can redistribute it and/or modify it5This program is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@ typedef struct cpp_macro cpp_macro; · 30 unmodified lines
36typedef struct cpp_callbacks cpp_callbacks;36typedef struct cpp_callbacks cpp_callbacks;
37typedef struct cpp_dir cpp_dir;37typedef struct cpp_dir cpp_dir;
38 38
39struct answer;
40struct _cpp_file;39struct _cpp_file;
41 40
42/* The first three groups, apart from '=', can appear in preprocessor41/* The first three groups, apart from '=', can appear in preprocessor
@@ -168,8 +167,9 @@ enum cpp_ttype · 125 unmodified lines
168#undef TK167#undef TK
169 168
170/* C language kind, used when calling cpp_create_reader. */169/* C language kind, used when calling cpp_create_reader. */
171enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17,170enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X,
172 CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_STDC17,171 CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_STDC17,
172 CLK_STDC2X,
173 CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,173 CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11,
174 CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,174 CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17,
175 CLK_GNUCXX2A, CLK_CXX2A, CLK_ASM};175 CLK_GNUCXX2A, CLK_CXX2A, CLK_ASM};
@@ -240,8 +240,10 @@ struct GTY(()) cpp_identifier { · 64 unmodified lines
240/* A preprocessing token. This has been carefully packed and should240/* A preprocessing token. This has been carefully packed and should
241 occupy 16 bytes on 32-bit hosts and 24 bytes on 64-bit hosts. */241 occupy 16 bytes on 32-bit hosts and 24 bytes on 64-bit hosts. */
242struct GTY(()) cpp_token {242struct GTY(()) cpp_token {
243 source_location src_loc; /* Location of first char of token,243
244 together with range of full token. */244 /* Location of first char of token, together with range of full token. */
245 location_t src_loc;
246
245 ENUM_BITFIELD(cpp_ttype) type : CHAR_BIT; /* token type */247 ENUM_BITFIELD(cpp_ttype) type : CHAR_BIT; /* token type */
246 unsigned short flags; /* flags - see above */248 unsigned short flags; /* flags - see above */
247 249
@@ -550,6 +552,59 @@ struct cpp_options · 302 unmodified lines
550 bool canonical_system_headers;552 bool canonical_system_headers;
551};553};
552 554
555/* Diagnostic levels. To get a diagnostic without associating a
556 position in the translation unit with it, use cpp_error_with_line
557 with a line number of zero. */
558
559enum cpp_diagnostic_level {
560 /* Warning, an error with -Werror. */
561 CPP_DL_WARNING = 0,
562 /* Same as CPP_DL_WARNING, except it is not suppressed in system headers. */
563 CPP_DL_WARNING_SYSHDR,
564 /* Warning, an error with -pedantic-errors or -Werror. */
565 CPP_DL_PEDWARN,
566 /* An error. */
567 CPP_DL_ERROR,
568 /* An internal consistency check failed. Prints "internal error: ",
569 otherwise the same as CPP_DL_ERROR. */
570 CPP_DL_ICE,
571 /* An informative note following a warning. */
572 CPP_DL_NOTE,
573 /* A fatal error. */
574 CPP_DL_FATAL
575};
576
577/* Warning reason codes. Use a reason code of CPP_W_NONE for unclassified
578 warnings and diagnostics that are not warnings. */
579
580enum cpp_warning_reason {
581 CPP_W_NONE = 0,
582 CPP_W_DEPRECATED,
583 CPP_W_COMMENTS,
584 CPP_W_MISSING_INCLUDE_DIRS,
585 CPP_W_TRIGRAPHS,
586 CPP_W_MULTICHAR,
587 CPP_W_TRADITIONAL,
588 CPP_W_LONG_LONG,
589 CPP_W_ENDIF_LABELS,
590 CPP_W_NUM_SIGN_CHANGE,
591 CPP_W_VARIADIC_MACROS,
592 CPP_W_BUILTIN_MACRO_REDEFINED,
593 CPP_W_DOLLARS,
594 CPP_W_UNDEF,
595 CPP_W_UNUSED_MACROS,
596 CPP_W_CXX_OPERATOR_NAMES,
597 CPP_W_NORMALIZE,
598 CPP_W_INVALID_PCH,
599 CPP_W_WARNING_DIRECTIVE,
600 CPP_W_LITERAL_SUFFIX,
601 CPP_W_DATE_TIME,
602 CPP_W_PEDANTIC,
603 CPP_W_C90_C99_COMPAT,
604 CPP_W_CXX11_COMPAT,
605 CPP_W_EXPANSION_TO_DEFINED
606};
607
553/* Callback for header lookup for HEADER, which is the name of a608/* Callback for header lookup for HEADER, which is the name of a
554 source file. It is used as a method of last resort to find headers609 source file. It is used as a method of last resort to find headers
555 that are not otherwise found during the normal include processing.610 that are not otherwise found during the normal include processing.
@@ -571,12 +626,12 @@ struct cpp_callbacks · 15 unmodified lines
571 void (*file_change) (cpp_reader *, const line_map_ordinary *);626 void (*file_change) (cpp_reader *, const line_map_ordinary *);
572 627
573 void (*dir_change) (cpp_reader *, const char *);628 void (*dir_change) (cpp_reader *, const char *);
574 void (*include) (cpp_reader *, source_location, const unsigned char *,629 void (*include) (cpp_reader *, location_t, const unsigned char *,
575 const char *, int, const cpp_token **);630 const char *, int, const cpp_token **);
576 void (*define) (cpp_reader *, source_location, cpp_hashnode *);631 void (*define) (cpp_reader *, location_t, cpp_hashnode *);
577 void (*undef) (cpp_reader *, source_location, cpp_hashnode *);632 void (*undef) (cpp_reader *, location_t, cpp_hashnode *);
578 void (*ident) (cpp_reader *, source_location, const cpp_string *);633 void (*ident) (cpp_reader *, location_t, const cpp_string *);
579 void (*def_pragma) (cpp_reader *, source_location);634 void (*def_pragma) (cpp_reader *, location_t);
580 int (*valid_pch) (cpp_reader *, const char *, int);635 int (*valid_pch) (cpp_reader *, const char *, int);
581 void (*read_pch) (cpp_reader *, const char *, int, const char *);636 void (*read_pch) (cpp_reader *, const char *, int, const char *);
582 missing_header_cb missing_header;637 missing_header_cb missing_header;
@@ -587,26 +642,29 @@ struct cpp_callbacks · 4 unmodified lines
587 642
588 /* Called to emit a diagnostic. This callback receives the643 /* Called to emit a diagnostic. This callback receives the
589 translated message. */644 translated message. */
590 bool (*error) (cpp_reader *, int, int, rich_location *,645 bool (*diagnostic) (cpp_reader *,
591 const char *, va_list *)646 enum cpp_diagnostic_level,
647 enum cpp_warning_reason,
648 rich_location *,
649 const char *, va_list *)
592 ATTRIBUTE_FPTR_PRINTF(5,0);650 ATTRIBUTE_FPTR_PRINTF(5,0);
593 651
594 /* Callbacks for when a macro is expanded, or tested (whether652 /* Callbacks for when a macro is expanded, or tested (whether
595 defined or not at the time) in #ifdef, #ifndef or "defined". */653 defined or not at the time) in #ifdef, #ifndef or "defined". */
596 void (*used_define) (cpp_reader *, source_location, cpp_hashnode *);654 void (*used_define) (cpp_reader *, location_t, cpp_hashnode *);
597 void (*used_undef) (cpp_reader *, source_location, cpp_hashnode *);655 void (*used_undef) (cpp_reader *, location_t, cpp_hashnode *);
598 /* Called before #define and #undef or other macro definition656 /* Called before #define and #undef or other macro definition
599 changes are processed. */657 changes are processed. */
600 void (*before_define) (cpp_reader *);658 void (*before_define) (cpp_reader *);
601 /* Called whenever a macro is expanded or tested.659 /* Called whenever a macro is expanded or tested.
602 Second argument is the location of the start of the current expansion. */660 Second argument is the location of the start of the current expansion. */
603 void (*used) (cpp_reader *, source_location, cpp_hashnode *);661 void (*used) (cpp_reader *, location_t, cpp_hashnode *);
604 662
605 /* Callback to identify whether an attribute exists. */663 /* Callback to identify whether an attribute exists. */
606 int (*has_attribute) (cpp_reader *);664 int (*has_attribute) (cpp_reader *);
607 665
608 /* Callback that can change a user builtin into normal macro. */666 /* Callback that can change a user lazy into normal macro. */
609 bool (*user_builtin_macro) (cpp_reader *, cpp_hashnode *);667 void (*user_lazy_macro) (cpp_reader *, cpp_macro *, unsigned);
610 668
611 /* Callback to parse SOURCE_DATE_EPOCH from environment. */669 /* Callback to parse SOURCE_DATE_EPOCH from environment. */
612 time_t (*get_source_date_epoch) (cpp_reader *);670 time_t (*get_source_date_epoch) (cpp_reader *);
@@ -620,7 +678,7 @@ struct cpp_callbacks · 7 unmodified lines
620 The content contains the opening slash-star (or slash-slash),678 The content contains the opening slash-star (or slash-slash),
621 and for C-style comments contains the closing star-slash. For679 and for C-style comments contains the closing star-slash. For
622 C++-style comments it does not include the terminating newline. */680 C++-style comments it does not include the terminating newline. */
623 void (*comment) (cpp_reader *, source_location, const unsigned char *,681 void (*comment) (cpp_reader *, location_t, const unsigned char *,
624 size_t);682 size_t);
625 683
626 /* Callback for filename remapping in __FILE__ and __BASE_FILE__ macro684 /* Callback for filename remapping in __FILE__ and __BASE_FILE__ macro
@@ -671,14 +729,81 @@ struct cpp_dir · 44 unmodified lines
671 dev_t dev;729 dev_t dev;
672};730};
673 731
674/* The structure of a node in the hash table. The hash table has732/* The kind of the cpp_macro. */
675 entries for all identifiers: either macros defined by #define733enum cpp_macro_kind {
676 commands (type NT_MACRO), assertions created with #assert734 cmk_macro, /* An ISO macro (token expansion). */
677 (NT_ASSERTION), or neither of the above (NT_VOID). Builtin macros735 cmk_assert, /* An assertion. */
678 like __LINE__ are flagged NODE_BUILTIN. Poisoned identifiers are736 cmk_traditional /* A traditional macro (text expansion). */
679 flagged NODE_POISONED. NODE_OPERATOR (C++ only) indicates an737};
680 identifier that behaves like an operator such as "xor".738
681 NODE_DIAGNOSTIC is for speed in lex_token: it indicates a739/* Each macro definition is recorded in a cpp_macro structure.
740 Variadic macros cannot occur with traditional cpp. */
741struct GTY(()) cpp_macro {
742 union cpp_parm_u
743 {
744 /* Parameters, if any. If parameter names use extended identifiers,
745 the original spelling of those identifiers, not the canonical
746 UTF-8 spelling, goes here. */
747 cpp_hashnode ** GTY ((tag ("false"),
748 nested_ptr (union tree_node,
749 "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL",
750 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"),
751 length ("%1.paramc"))) params;
752
753 /* If this is an assertion, the next one in the chain. */
754 cpp_macro *GTY ((tag ("true"))) next;
755 } GTY ((desc ("%1.kind == cmk_assert"))) parm;
756
757 /* Definition line number. */
758 location_t line;
759
760 /* Number of tokens in body, or bytes for traditional macros. */
761 /* Do we really need 2^32-1 range here? */
762 unsigned int count;
763
764 /* Number of parameters. */
765 unsigned short paramc;
766
767 /* Non-zero if this is a user-lazy macro, value provided by user. */
768 unsigned char lazy;
769
770 /* The kind of this macro (ISO, trad or assert) */
771 unsigned kind : 2;
772
773 /* If a function-like macro. */
774 unsigned int fun_like : 1;
775
776 /* If a variadic macro. */
777 unsigned int variadic : 1;
778
779 /* If macro defined in system header. */
780 unsigned int syshdr : 1;
781
782 /* Nonzero if it has been expanded or had its existence tested. */
783 unsigned int used : 1;
784
785 /* Indicate whether the tokens include extra CPP_PASTE tokens at the
786 end to track invalid redefinitions with consecutive CPP_PASTE
787 tokens. */
788 unsigned int extra_tokens : 1;
789
790 /* 1 bits spare (32-bit). 33 on 64-bit target. */
791
792 union cpp_exp_u
793 {
794 /* Trailing array of replacement tokens (ISO), or assertion body value. */
795 cpp_token GTY ((tag ("false"), length ("%1.count"))) tokens[1];
796
797 /* Pointer to replacement text (traditional). See comment at top
798 of cpptrad.c for how traditional function-like macros are
799 encoded. */
800 const unsigned char *GTY ((tag ("true"))) text;
801 } GTY ((desc ("%1.kind == cmk_traditional"))) exp;
802};
803
804/* Poisoned identifiers are flagged NODE_POISONED. NODE_OPERATOR (C++
805 only) indicates an identifier that behaves like an operator such as
806 "xor". NODE_DIAGNOSTIC is for speed in lex_token: it indicates a
682 diagnostic may be required for this node. Currently this only807 diagnostic may be required for this node. Currently this only
683 applies to __VA_ARGS__, poisoned identifiers, and -Wc++-compat808 applies to __VA_ARGS__, poisoned identifiers, and -Wc++-compat
684 warnings about NODE_OPERATOR. */809 warnings about NODE_OPERATOR. */
@@ -686,21 +811,21 @@ struct cpp_dir · 1 unmodified line
686/* Hash node flags. */811/* Hash node flags. */
687#define NODE_OPERATOR (1 << 0) /* C++ named operator. */812#define NODE_OPERATOR (1 << 0) /* C++ named operator. */
688#define NODE_POISONED (1 << 1) /* Poisoned identifier. */813#define NODE_POISONED (1 << 1) /* Poisoned identifier. */
689#define NODE_BUILTIN (1 << 2) /* Builtin macro. */814#define NODE_DIAGNOSTIC (1 << 2) /* Possible diagnostic when lexed. */
690#define NODE_DIAGNOSTIC (1 << 3) /* Possible diagnostic when lexed. */815#define NODE_WARN (1 << 3) /* Warn if redefined or undefined. */
691#define NODE_WARN (1 << 4) /* Warn if redefined or undefined. */816#define NODE_DISABLED (1 << 4) /* A disabled macro. */
692#define NODE_DISABLED (1 << 5) /* A disabled macro. */817#define NODE_USED (1 << 5) /* Dumped with -dU. */
693#define NODE_MACRO_ARG (1 << 6) /* Used during #define processing. */818#define NODE_CONDITIONAL (1 << 6) /* Conditional macro */
694#define NODE_USED (1 << 7) /* Dumped with -dU. */819#define NODE_WARN_OPERATOR (1 << 7) /* Warn about C++ named operator. */
695#define NODE_CONDITIONAL (1 << 8) /* Conditional macro */
696#define NODE_WARN_OPERATOR (1 << 9) /* Warn about C++ named operator. */
697 820
698/* Different flavors of hash node. */821/* Different flavors of hash node. */
699enum node_type822enum node_type
700{823{
701 NT_VOID = 0, /* No definition yet. */824 NT_VOID = 0, /* Maybe an assert? */
702 NT_MACRO, /* A macro of some form. */825 NT_MACRO_ARG, /* A macro arg. */
703 NT_ASSERTION /* Predicate for #assert. */826 NT_USER_MACRO, /* A user macro. */
827 NT_BUILTIN_MACRO, /* A builtin macro. */
828 NT_MACRO_MASK = NT_USER_MACRO /* Mask for either macro kind. */
704};829};
705 830
706/* Different flavors of builtin macro. _Pragma is an operator, but we831/* Different flavors of builtin macro. _Pragma is an operator, but we
@@ -717,46 +842,27 @@ enum cpp_builtin_type · 10 unmodified lines
717 BT_PRAGMA, /* `_Pragma' operator */842 BT_PRAGMA, /* `_Pragma' operator */
718 BT_TIMESTAMP, /* `__TIMESTAMP__' */843 BT_TIMESTAMP, /* `__TIMESTAMP__' */
719 BT_COUNTER, /* `__COUNTER__' */844 BT_COUNTER, /* `__COUNTER__' */
720 BT_HAS_ATTRIBUTE, /* `__has_attribute__(x)' */845 BT_HAS_ATTRIBUTE /* `__has_attribute__(x)' */
721 BT_FIRST_USER, /* User defined builtin macros. */
722 BT_LAST_USER = BT_FIRST_USER + 63
723};846};
724 847
725#define CPP_HASHNODE(HNODE) ((cpp_hashnode *) (HNODE))848#define CPP_HASHNODE(HNODE) ((cpp_hashnode *) (HNODE))
726#define HT_NODE(NODE) ((ht_identifier *) (NODE))849#define HT_NODE(NODE) (&(NODE)->ident)
727#define NODE_LEN(NODE) HT_LEN (&(NODE)->ident)850#define NODE_LEN(NODE) HT_LEN (HT_NODE (NODE))
728#define NODE_NAME(NODE) HT_STR (&(NODE)->ident)851#define NODE_NAME(NODE) HT_STR (HT_NODE (NODE))
729
730/* Specify which field, if any, of the union is used. */
731
732enum {
733 NTV_MACRO,
734 NTV_ANSWER,
735 NTV_BUILTIN,
736 NTV_ARGUMENT,
737 NTV_NONE
738};
739
740#define CPP_HASHNODE_VALUE_IDX(HNODE) \
741 ((HNODE.flags & NODE_MACRO_ARG) ? NTV_ARGUMENT \
742 : HNODE.type == NT_MACRO ? ((HNODE.flags & NODE_BUILTIN) \
743 ? NTV_BUILTIN : NTV_MACRO) \
744 : HNODE.type == NT_ASSERTION ? NTV_ANSWER \
745 : NTV_NONE)
746 852
747/* The common part of an identifier node shared amongst all 3 C front853/* The common part of an identifier node shared amongst all 3 C front
748 ends. Also used to store CPP identifiers, which are a superset of854 ends. Also used to store CPP identifiers, which are a superset of
749 identifiers in the grammatical sense. */855 identifiers in the grammatical sense. */
750 856
751union GTY(()) _cpp_hashnode_value {857union GTY(()) _cpp_hashnode_value {
752 /* If a macro. */858 /* Assert (maybe NULL) */
753 cpp_macro * GTY((tag ("NTV_MACRO"))) macro;859 cpp_macro * GTY((tag ("NT_VOID"))) answers;
754 /* Answers to an assertion. */860 /* Macro (never NULL) */
755 struct answer * GTY ((tag ("NTV_ANSWER"))) answers;861 cpp_macro * GTY((tag ("NT_USER_MACRO"))) macro;
756 /* Code for a builtin macro. */862 /* Code for a builtin macro. */
757 enum cpp_builtin_type GTY ((tag ("NTV_BUILTIN"))) builtin;863 enum cpp_builtin_type GTY ((tag ("NT_BUILTIN_MACRO"))) builtin;
758 /* Macro argument index. */864 /* Macro argument index. */
759 unsigned short GTY ((tag ("NTV_ARGUMENT"))) arg_index;865 unsigned short GTY ((tag ("NT_MACRO_ARG"))) arg_index;
760};866};
761 867
762struct GTY(()) cpp_hashnode {868struct GTY(()) cpp_hashnode {
@@ -766,10 +872,12 @@ struct GTY(()) cpp_hashnode { · 3 unmodified lines
766 then index into directive table.872 then index into directive table.
767 Otherwise, a NODE_OPERATOR. */873 Otherwise, a NODE_OPERATOR. */
768 unsigned char rid_code; /* Rid code - for front ends. */874 unsigned char rid_code; /* Rid code - for front ends. */
769 ENUM_BITFIELD(node_type) type : 6; /* CPP node type. */875 ENUM_BITFIELD(node_type) type : 2; /* CPP node type. */
770 unsigned int flags : 10; /* CPP flags. */876 unsigned int flags : 8; /* CPP flags. */
877
878 /* 6 bits spare (plus another 32 on 64-bit hosts). */
771 879
772 union _cpp_hashnode_value GTY ((desc ("CPP_HASHNODE_VALUE_IDX (%1)"))) value;880 union _cpp_hashnode_value GTY ((desc ("%1.type"))) value;
773};881};
774 882
775/* A class for iterating through the source locations within a883/* A class for iterating through the source locations within a
@@ -778,13 +886,13 @@ struct GTY(()) cpp_hashnode { · 2 unmodified lines
778 886
779class cpp_string_location_reader {887class cpp_string_location_reader {
780 public:888 public:
781 cpp_string_location_reader (source_location src_loc,889 cpp_string_location_reader (location_t src_loc,
782 line_maps *line_table);890 line_maps *line_table);
783 891
784 source_range get_next ();892 source_range get_next ();
785 893
786 private:894 private:
787 source_location m_loc;895 location_t m_loc;
788 int m_offset_per_column;896 int m_offset_per_column;
789 line_maps *m_line_table;897 line_maps *m_line_table;
790};898};
@@ -889,11 +997,32 @@ extern int cpp_avoid_paste (cpp_reader *, const cpp_token *, · 98 unmodified lines
889 const cpp_token *);997 const cpp_token *);
890extern const cpp_token *cpp_get_token (cpp_reader *);998extern const cpp_token *cpp_get_token (cpp_reader *);
891extern const cpp_token *cpp_get_token_with_location (cpp_reader *,999extern const cpp_token *cpp_get_token_with_location (cpp_reader *,
892 source_location *);1000 location_t *);
893extern bool cpp_fun_like_macro_p (cpp_hashnode *);1001inline bool cpp_user_macro_p (const cpp_hashnode *node)
1002{
1003 return node->type == NT_USER_MACRO;
1004}
1005inline bool cpp_builtin_macro_p (const cpp_hashnode *node)
1006{
1007 return node->type == NT_BUILTIN_MACRO;
1008}
1009inline bool cpp_macro_p (const cpp_hashnode *node)
1010{
1011 return node->type & NT_MACRO_MASK;
1012}
1013
1014/* Returns true if NODE is a function-like user macro. */
1015inline bool cpp_fun_like_macro_p (cpp_hashnode *node)
1016{
1017 return cpp_user_macro_p (node) && node->value.macro->fun_like;
1018}
1019
894extern const unsigned char *cpp_macro_definition (cpp_reader *,1020extern const unsigned char *cpp_macro_definition (cpp_reader *,
895 cpp_hashnode *);1021 cpp_hashnode *);
896extern source_location cpp_macro_definition_location (cpp_hashnode *);1022inline location_t cpp_macro_definition_location (cpp_hashnode *node)
1023{
1024 return node->value.macro->line;
1025}
897extern void _cpp_backup_tokens (cpp_reader *, unsigned int);1026extern void _cpp_backup_tokens (cpp_reader *, unsigned int);
898extern const cpp_token *cpp_peek_token (cpp_reader *, int);1027extern const cpp_token *cpp_peek_token (cpp_reader *, int);
899 1028
@@ -926,6 +1055,9 @@ extern void cpp_assert (cpp_reader *, const char *); · 26 unmodified lines
926extern void cpp_undef (cpp_reader *, const char *);1055extern void cpp_undef (cpp_reader *, const char *);
927extern void cpp_unassert (cpp_reader *, const char *);1056extern void cpp_unassert (cpp_reader *, const char *);
928 1057
1058/* Mark a node as a lazily defined macro. */
1059extern void cpp_define_lazily (cpp_reader *, cpp_hashnode *node, unsigned N);
1060
929/* Undefine all macros and assertions. */1061/* Undefine all macros and assertions. */
930extern void cpp_undef_all (cpp_reader *);1062extern void cpp_undef_all (cpp_reader *);
931 1063
@@ -996,7 +1128,7 @@ struct cpp_num · 64 unmodified lines
996/* Classify a CPP_NUMBER token. The return value is a combination of1128/* Classify a CPP_NUMBER token. The return value is a combination of
997 the flags from the above sets. */1129 the flags from the above sets. */
998extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *,1130extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *,
999 const char **, source_location);1131 const char **, location_t);
1000 1132
1001/* Return the classification flags for a float suffix. */1133/* Return the classification flags for a float suffix. */
1002extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *,1134extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *,
@@ -1014,99 +1146,55 @@ extern cpp_num cpp_interpret_integer (cpp_reader *, const cpp_token *, · 11 unmodified lines
1014 others assumed clear, to fill out a cpp_num structure. */1146 others assumed clear, to fill out a cpp_num structure. */
1015cpp_num cpp_num_sign_extend (cpp_num, size_t);1147cpp_num cpp_num_sign_extend (cpp_num, size_t);
1016 1148
1017/* Diagnostic levels. To get a diagnostic without associating a
1018 position in the translation unit with it, use cpp_error_with_line
1019 with a line number of zero. */
1020
1021enum {
1022 /* Warning, an error with -Werror. */
1023 CPP_DL_WARNING = 0,
1024 /* Same as CPP_DL_WARNING, except it is not suppressed in system headers. */
1025 CPP_DL_WARNING_SYSHDR,
1026 /* Warning, an error with -pedantic-errors or -Werror. */
1027 CPP_DL_PEDWARN,
1028 /* An error. */
1029 CPP_DL_ERROR,
1030 /* An internal consistency check failed. Prints "internal error: ",
1031 otherwise the same as CPP_DL_ERROR. */
1032 CPP_DL_ICE,
1033 /* An informative note following a warning. */
1034 CPP_DL_NOTE,
1035 /* A fatal error. */
1036 CPP_DL_FATAL
1037};
1038
1039/* Warning reason codes. Use a reason code of zero for unclassified warnings
1040 and errors that are not warnings. */
1041enum {
1042 CPP_W_NONE = 0,
1043 CPP_W_DEPRECATED,
1044 CPP_W_COMMENTS,
1045 CPP_W_MISSING_INCLUDE_DIRS,
1046 CPP_W_TRIGRAPHS,
1047 CPP_W_MULTICHAR,
1048 CPP_W_TRADITIONAL,
1049 CPP_W_LONG_LONG,
1050 CPP_W_ENDIF_LABELS,
1051 CPP_W_NUM_SIGN_CHANGE,
1052 CPP_W_VARIADIC_MACROS,
1053 CPP_W_BUILTIN_MACRO_REDEFINED,
1054 CPP_W_DOLLARS,
1055 CPP_W_UNDEF,
1056 CPP_W_UNUSED_MACROS,
1057 CPP_W_CXX_OPERATOR_NAMES,
1058 CPP_W_NORMALIZE,
1059 CPP_W_INVALID_PCH,
1060 CPP_W_WARNING_DIRECTIVE,
1061 CPP_W_LITERAL_SUFFIX,
1062 CPP_W_DATE_TIME,
1063 CPP_W_PEDANTIC,
1064 CPP_W_C90_C99_COMPAT,
1065 CPP_W_CXX11_COMPAT,
1066 CPP_W_EXPANSION_TO_DEFINED
1067};
1068
1069/* Output a diagnostic of some kind. */1149/* Output a diagnostic of some kind. */
1070extern bool cpp_error (cpp_reader *, int, const char *msgid, ...)1150extern bool cpp_error (cpp_reader *, enum cpp_diagnostic_level,
1151 const char *msgid, ...)
1071 ATTRIBUTE_PRINTF_3;1152 ATTRIBUTE_PRINTF_3;
1072extern bool cpp_warning (cpp_reader *, int, const char *msgid, ...)1153extern bool cpp_warning (cpp_reader *, enum cpp_warning_reason,
1154 const char *msgid, ...)
1073 ATTRIBUTE_PRINTF_3;1155 ATTRIBUTE_PRINTF_3;
1074extern bool cpp_pedwarning (cpp_reader *, int, const char *msgid, ...)1156extern bool cpp_pedwarning (cpp_reader *, enum cpp_warning_reason,
1157 const char *msgid, ...)
1075 ATTRIBUTE_PRINTF_3;1158 ATTRIBUTE_PRINTF_3;
1076extern bool cpp_warning_syshdr (cpp_reader *, int, const char *msgid, ...)1159extern bool cpp_warning_syshdr (cpp_reader *, enum cpp_warning_reason reason,
1160 const char *msgid, ...)
1077 ATTRIBUTE_PRINTF_3;1161 ATTRIBUTE_PRINTF_3;
1078 1162
1079/* Output a diagnostic with "MSGID: " preceding the1163/* Output a diagnostic with "MSGID: " preceding the
1080 error string of errno. No location is printed. */1164 error string of errno. No location is printed. */
1081extern bool cpp_errno (cpp_reader *, int, const char *msgid);1165extern bool cpp_errno (cpp_reader *, enum cpp_diagnostic_level,
1166 const char *msgid);
1082/* Similarly, but with "FILENAME: " instead of "MSGID: ", where1167/* Similarly, but with "FILENAME: " instead of "MSGID: ", where
1083 the filename is not localized. */1168 the filename is not localized. */
1084extern bool cpp_errno_filename (cpp_reader *, int, const char *filename,1169extern bool cpp_errno_filename (cpp_reader *, enum cpp_diagnostic_level,
1085 source_location loc);1170 const char *filename, location_t loc);
1086 1171
1087/* Same as cpp_error, except additionally specifies a position as a1172/* Same as cpp_error, except additionally specifies a position as a
1088 (translation unit) physical line and physical column. If the line is1173 (translation unit) physical line and physical column. If the line is
1089 zero, then no location is printed. */1174 zero, then no location is printed. */
1090extern bool cpp_error_with_line (cpp_reader *, int, source_location,1175extern bool cpp_error_with_line (cpp_reader *, enum cpp_diagnostic_level,
1091 unsigned, const char *msgid, ...)1176 location_t, unsigned,
1177 const char *msgid, ...)
1092 ATTRIBUTE_PRINTF_5;1178 ATTRIBUTE_PRINTF_5;
1093extern bool cpp_warning_with_line (cpp_reader *, int, source_location,1179extern bool cpp_warning_with_line (cpp_reader *, enum cpp_warning_reason,
1094 unsigned, const char *msgid, ...)1180 location_t, unsigned,
1181 const char *msgid, ...)
1095 ATTRIBUTE_PRINTF_5;1182 ATTRIBUTE_PRINTF_5;
1096extern bool cpp_pedwarning_with_line (cpp_reader *, int, source_location,1183extern bool cpp_pedwarning_with_line (cpp_reader *, enum cpp_warning_reason,
1097 unsigned, const char *msgid, ...)1184 location_t, unsigned,
1185 const char *msgid, ...)
1098 ATTRIBUTE_PRINTF_5;1186 ATTRIBUTE_PRINTF_5;
1099extern bool cpp_warning_with_line_syshdr (cpp_reader *, int, source_location,1187extern bool cpp_warning_with_line_syshdr (cpp_reader *, enum cpp_warning_reason,
1100 unsigned, const char *msgid, ...)1188 location_t, unsigned,
1189 const char *msgid, ...)
1101 ATTRIBUTE_PRINTF_5;1190 ATTRIBUTE_PRINTF_5;
1102 1191
1103extern bool cpp_error_at (cpp_reader * pfile, int level,1192extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level,
1104 source_location src_loc, const char *msgid, ...)1193 location_t src_loc, const char *msgid, ...)
1105 ATTRIBUTE_PRINTF_4;1194 ATTRIBUTE_PRINTF_4;
1106 1195
1107extern bool cpp_error_at (cpp_reader * pfile, int level,1196extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level,
1108 rich_location *richloc, const char *msgid,1197 rich_location *richloc, const char *msgid, ...)
1109 ...)
1110 ATTRIBUTE_PRINTF_4;1198 ATTRIBUTE_PRINTF_4;
1111 1199
1112/* In lex.c */1200/* In lex.c */
@@ -1133,7 +1221,7 @@ typedef struct · 20 unmodified lines
1133 char *comment;1221 char *comment;
1134 1222
1135 /* source location for the given comment. */1223 /* source location for the given comment. */
1136 source_location sloc;1224 location_t sloc;
1137} cpp_comment;1225} cpp_comment;
1138 1226
1139/* Structure holding all comments for a given cpp_reader. */1227/* Structure holding all comments for a given cpp_reader. */
@@ -1172,7 +1260,7 @@ extern unsigned char *cpp_quote_string (unsigned char *, const unsigned char *, · 32 unmodified lines
1172 1260
1173/* In files.c */1261/* In files.c */
1174extern bool cpp_included (cpp_reader *, const char *);1262extern bool cpp_included (cpp_reader *, const char *);
1175extern bool cpp_included_before (cpp_reader *, const char *, source_location);1263extern bool cpp_included_before (cpp_reader *, const char *, location_t);
1176extern void cpp_make_system_header (cpp_reader *, int, int);1264extern void cpp_make_system_header (cpp_reader *, int, int);
1177extern bool cpp_push_include (cpp_reader *, const char *);1265extern bool cpp_push_include (cpp_reader *, const char *);
1178extern bool cpp_push_default_include (cpp_reader *, const char *);1266extern bool cpp_push_default_include (cpp_reader *, const char *);
@@ -1195,7 +1283,7 @@ extern int cpp_read_state (cpp_reader *, const char *, FILE *, · 16 unmodified lines
1195 struct save_macro_data *);1283 struct save_macro_data *);
1196 1284
1197/* In lex.c */1285/* In lex.c */
1198extern void cpp_force_token_locations (cpp_reader *, source_location *);1286extern void cpp_force_token_locations (cpp_reader *, location_t);
1199extern void cpp_stop_forcing_token_locations (cpp_reader *);1287extern void cpp_stop_forcing_token_locations (cpp_reader *);
1200 1288
1201/* In expr.c */1289/* In expr.c */
gcc/libcpp/include/line-map.h+310−210
@@ -1,5 +1,5 @@
1/* Map (unsigned int) keys to (source file, line, column) triples.1/* Map (unsigned int) keys to (source file, line, column) triples.
2 Copyright (C) 2001-2018 Free Software Foundation, Inc.2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
@@ -49,36 +49,34 @@ along with this program; see the file COPYING3. If not see · 43 unmodified lines
49/* The type of line numbers. */49/* The type of line numbers. */
50typedef unsigned int linenum_type;50typedef unsigned int linenum_type;
51 51
52/* A type for doing arithmetic on line numbers. */
53typedef long long linenum_arith_t;
54
52/* A function for for use by qsort for comparing line numbers. */55/* A function for for use by qsort for comparing line numbers. */
53 56
54inline int compare (linenum_type lhs, linenum_type rhs)57inline int compare (linenum_type lhs, linenum_type rhs)
55{58{
56 /* Avoid truncation issues by using long long for the comparison,59 /* Avoid truncation issues by using linenum_arith_t for the comparison,
57 and only consider the sign of the result. */60 and only consider the sign of the result. */
58 long long diff = (long long)lhs - (long long)rhs;61 linenum_arith_t diff = (linenum_arith_t)lhs - (linenum_arith_t)rhs;
59 if (diff)62 if (diff)
60 return diff > 0 ? 1 : -1;63 return diff > 0 ? 1 : -1;
61 return 0;64 return 0;
62}65}
63 66
64/* Reason for creating a new line map with linemap_add. LC_ENTER is67/* Reason for creating a new line map with linemap_add. */
65 when including a new file, e.g. a #include directive in C.
66 LC_LEAVE is when reaching a file's end. LC_RENAME is when a file
67 name or line number changes for neither of the above reasons
68 (e.g. a #line directive in C); LC_RENAME_VERBATIM is like LC_RENAME
69 but a filename of "" is not specially interpreted as standard
70 input. LC_ENTER_MACRO is when a macro expansion is about to start. */
71enum lc_reason68enum lc_reason
72{69{
73 LC_ENTER = 0,70 LC_ENTER = 0, /* Begin #include. */
74 LC_LEAVE,71 LC_LEAVE, /* Return to including file. */
75 LC_RENAME,72 LC_RENAME, /* Other reason for name change. */
76 LC_RENAME_VERBATIM,73 LC_RENAME_VERBATIM, /* Likewise, but "" != stdin. */
77 LC_ENTER_MACRO74 LC_ENTER_MACRO, /* Begin macro expansion. */
78 /* FIXME: add support for stringize and paste. */75 /* FIXME: add support for stringize and paste. */
76 LC_HWM /* High Water Mark. */
79};77};
80 78
81/* The typedef "source_location" is a key within the location database,79/* The typedef "location_t" is a key within the location database,
82 identifying a source location or macro expansion, along with range80 identifying a source location or macro expansion, along with range
83 information, and (optionally) a pointer for use by gcc.81 information, and (optionally) a pointer for use by gcc.
84 82
@@ -168,7 +166,7 @@ enum lc_reason · 83 unmodified lines
168 | Beyond this point, ordinary linemaps have 0 bits per column:166 | Beyond this point, ordinary linemaps have 0 bits per column:
169 | each increment of the value corresponds to a new source line.167 | each increment of the value corresponds to a new source line.
170 |168 |
171 0x70000000 | LINE_MAP_MAX_SOURCE_LOCATION169 0x70000000 | LINE_MAP_MAX_LOCATION
172 | Beyond the point, we give up on ordinary maps; attempts to170 | Beyond the point, we give up on ordinary maps; attempts to
173 | create locations in them lead to UNKNOWN_LOCATION (0).171 | create locations in them lead to UNKNOWN_LOCATION (0).
174 |172 |
@@ -187,7 +185,7 @@ enum lc_reason · 12 unmodified lines
187 | macromap[1]->start_location | Start of macro map 1185 | macromap[1]->start_location | Start of macro map 1
188 -----------+-------------------------------+-------------------------------186 -----------+-------------------------------+-------------------------------
189 | macromap[0]->start_location | Start of macro map 0187 | macromap[0]->start_location | Start of macro map 0
190 0x7fffffff | MAX_SOURCE_LOCATION | Also used as a mask for188 0x7fffffff | MAX_LOCATION_T | Also used as a mask for
191 | | accessing the ad-hoc data table189 | | accessing the ad-hoc data table
192 -----------+-------------------------------+-------------------------------190 -----------+-------------------------------+-------------------------------
193 0x80000000 | Start of ad-hoc values; the lower 31 bits are used as an index191 0x80000000 | Start of ad-hoc values; the lower 31 bits are used as an index
@@ -288,9 +286,9 @@ enum lc_reason · 94 unmodified lines
288 finish == ordmap->start + (23 << 12) + (19 << 5)286 finish == ordmap->start + (23 << 12) + (19 << 5)
289 == ordmap->start + 0x17260287 == ordmap->start + 0x17260
290 288
291 To further see how source_location works in practice, see the289 To further see how location_t works in practice, see the
292 worked example in libcpp/location-example.txt. */290 worked example in libcpp/location-example.txt. */
293typedef unsigned int source_location;291typedef unsigned int location_t;
294 292
295/* Do not track column numbers higher than this one. As a result, the293/* Do not track column numbers higher than this one. As a result, the
296 range of column_bits is [12, 18] (or 0 if column numbers are294 range of column_bits is [12, 18] (or 0 if column numbers are
@@ -300,12 +298,15 @@ const unsigned int LINE_MAP_MAX_COLUMN_NUMBER = (1U << 12); · 3 unmodified lines
300/* Do not pack ranges if locations get higher than this.298/* Do not pack ranges if locations get higher than this.
301 If you change this, update:299 If you change this, update:
302 gcc.dg/plugin/location-overflow-test-*.c. */300 gcc.dg/plugin/location-overflow-test-*.c. */
303const source_location LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000;301const location_t LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000;
304 302
305/* Do not track column numbers if locations get higher than this.303/* Do not track column numbers if locations get higher than this.
306 If you change this, update:304 If you change this, update:
307 gcc.dg/plugin/location-overflow-test-*.c. */305 gcc.dg/plugin/location-overflow-test-*.c. */
308const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;306const location_t LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;
307
308/* Highest possible source location encoded within an ordinary map. */
309const location_t LINE_MAP_MAX_LOCATION = 0x70000000;
309 310
310/* A range of source locations.311/* A range of source locations.
311 312
@@ -317,15 +318,15 @@ const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000; · 5 unmodified lines
317 let's do it the simple way, as a pair. */318 let's do it the simple way, as a pair. */
318struct GTY(()) source_range319struct GTY(()) source_range
319{320{
320 source_location m_start;321 location_t m_start;
321 source_location m_finish;322 location_t m_finish;
322 323
323 /* We avoid using constructors, since various structs that324 /* We avoid using constructors, since various structs that
324 don't yet have constructors will embed instances of325 don't yet have constructors will embed instances of
325 source_range. */326 source_range. */
326 327
327 /* Make a source_range from a source_location. */328 /* Make a source_range from a location_t. */
328 static source_range from_location (source_location loc)329 static source_range from_location (location_t loc)
329 {330 {
330 source_range result;331 source_range result;
331 result.m_start = loc;332 result.m_start = loc;
@@ -333,9 +334,9 @@ struct GTY(()) source_range · 1 unmodified line
333 return result;334 return result;
334 }335 }
335 336
336 /* Make a source_range from a pair of source_location. */337 /* Make a source_range from a pair of location_t. */
337 static source_range from_locations (source_location start,338 static source_range from_locations (location_t start,
338 source_location finish)339 location_t finish)
339 {340 {
340 source_range result;341 source_range result;
341 result.m_start = start;342 result.m_start = start;
@@ -377,11 +378,13 @@ typedef size_t (*line_map_round_alloc_size_func) (size_t); · 35 unmodified lines
377 location of the expansion point of PLUS. That location is mapped in378 location of the expansion point of PLUS. That location is mapped in
378 the map that is active right before the location of the invocation379 the map that is active right before the location of the invocation
379 of PLUS. */380 of PLUS. */
380struct GTY((tag ("0"), desc ("%h.reason == LC_ENTER_MACRO ? 2 : 1"))) line_map {
381 source_location start_location;
382 381
383 /* The reason for creation of this line map. */382/* This contains GTY mark-up to support precompiled headers.
384 ENUM_BITFIELD (lc_reason) reason : CHAR_BIT;383 line_map is an abstract class, only derived objects exist. */
384struct GTY((tag ("0"), desc ("MAP_ORDINARY_P (&%h) ? 1 : 2"))) line_map {
385 location_t start_location;
386
387 /* Size and alignment is (usually) 4 bytes. */
385};388};
386 389
387/* An ordinary line map encodes physical source locations. Those390/* An ordinary line map encodes physical source locations. Those
@@ -395,15 +398,14 @@ struct GTY((tag ("0"), desc ("%h.reason == LC_ENTER_MACRO ? 2 : 1"))) line_map { · 7 unmodified lines
395 (The top line is line 1 and the leftmost column is column 1; line/column 0398 (The top line is line 1 and the leftmost column is column 1; line/column 0
396 means "entire file/line" or "unknown line/column" or "not applicable".)399 means "entire file/line" or "unknown line/column" or "not applicable".)
397 400
398 The highest possible source location is MAX_SOURCE_LOCATION. */401 The highest possible source location is MAX_LOCATION_T. */
399struct GTY((tag ("1"))) line_map_ordinary : public line_map {402struct GTY((tag ("1"))) line_map_ordinary : public line_map {
400 const char *to_file;403 /* Base class is 4 bytes. */
401 linenum_type to_line;
402 404
403 /* An index into the set that gives the line mapping at whose end405 /* 4 bytes of integers, each 1 byte for easy extraction/insertion. */
404 the current one was included. File(s) at the bottom of the406
405 include stack have this set to -1. */407 /* The reason for creation of this line map. */
406 int included_from;408 ENUM_BITFIELD (lc_reason) reason : 8;
407 409
408 /* SYSP is one for a system header, two for a C system header file410 /* SYSP is one for a system header, two for a C system header file
409 that therefore needs to be extern "C" protected in C++, and zero411 that therefore needs to be extern "C" protected in C++, and zero
@@ -411,7 +413,7 @@ struct GTY((tag ("1"))) line_map_ordinary : public line_map { · 1 unmodified line
411 cpp_buffer. */413 cpp_buffer. */
412 unsigned char sysp;414 unsigned char sysp;
413 415
414 /* Number of the low-order source_location bits used for column numbers416 /* Number of the low-order location_t bits used for column numbers
415 and ranges. */417 and ranges. */
416 unsigned int m_column_and_range_bits : 8;418 unsigned int m_column_and_range_bits : 8;
417 419
@@ -429,11 +431,23 @@ struct GTY((tag ("1"))) line_map_ordinary : public line_map { · 11 unmodified lines
429 | | (e.g. 7) | (e.g. 5) |431 | | (e.g. 7) | (e.g. 5) |
430 +-------------------------+-----------------------+-------------------+ */432 +-------------------------+-----------------------+-------------------+ */
431 unsigned int m_range_bits : 8;433 unsigned int m_range_bits : 8;
434
435 /* Pointer alignment boundary on both 32 and 64-bit systems. */
436
437 const char *to_file;
438 linenum_type to_line;
439
440 /* Location from whence this line map was included. For regular
441 #includes, this location will be the last location of a map. For
442 outermost file, this is 0. */
443 location_t included_from;
444
445 /* Size is 20 or 24 bytes, no padding */
432};446};
433 447
434/* This is the highest possible source location encoded within an448/* This is the highest possible source location encoded within an
435 ordinary or macro map. */449 ordinary or macro map. */
436const source_location MAX_SOURCE_LOCATION = 0x7FFFFFFF;450const location_t MAX_LOCATION_T = 0x7FFFFFFF;
437 451
438struct cpp_hashnode;452struct cpp_hashnode;
439 453
@@ -443,15 +457,20 @@ struct cpp_hashnode; · 3 unmodified lines
443 The offset from START_LOCATION is used to index into457 The offset from START_LOCATION is used to index into
444 MACRO_LOCATIONS; this holds the original location of the token. */458 MACRO_LOCATIONS; this holds the original location of the token. */
445struct GTY((tag ("2"))) line_map_macro : public line_map {459struct GTY((tag ("2"))) line_map_macro : public line_map {
446 /* The cpp macro which expansion gave birth to this macro map. */460 /* Base is 4 bytes. */
447 struct cpp_hashnode * GTY ((nested_ptr (union tree_node,
448 "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL",
449 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL")))
450 macro;
451 461
452 /* The number of tokens inside the replacement-list of MACRO. */462 /* The number of tokens inside the replacement-list of MACRO. */
453 unsigned int n_tokens;463 unsigned int n_tokens;
454 464
465 /* Pointer alignment boundary. */
466
467 /* The cpp macro whose expansion gave birth to this macro map. */
468 struct cpp_hashnode *
469 GTY ((nested_ptr (union tree_node,
470 "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL",
471 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL")))
472 macro;
473
455 /* This array of location is actually an array of pairs of474 /* This array of location is actually an array of pairs of
456 locations. The elements inside it thus look like:475 locations. The elements inside it thus look like:
457 476
@@ -505,14 +524,16 @@ struct GTY((tag ("2"))) line_map_macro : public line_map { · 47 unmodified lines
505 In the example above x1 (for token "+") is going to be the same524 In the example above x1 (for token "+") is going to be the same
506 as y1. x0 is the spelling location for the argument token "1",525 as y1. x0 is the spelling location for the argument token "1",
507 and x2 is the spelling location for the argument token "2". */526 and x2 is the spelling location for the argument token "2". */
508 source_location * GTY((atomic)) macro_locations;527 location_t * GTY((atomic)) macro_locations;
509 528
510 /* This is the location of the expansion point of the current macro529 /* This is the location of the expansion point of the current macro
511 map. It's the location of the macro name. That location is held530 map. It's the location of the macro name. That location is held
512 by the map that was current right before the current one. It531 by the map that was current right before the current one. It
513 could have been either a macro or an ordinary map, depending on532 could have been either a macro or an ordinary map, depending on
514 if we are in a nested expansion context not. */533 if we are in a nested expansion context not. */
515 source_location expansion;534 location_t expansion;
535
536 /* Size is 20 or 32 (4 bytes padding on 64-bit). */
516};537};
517 538
518#if CHECKING_P && (GCC_VERSION >= 2007)539#if CHECKING_P && (GCC_VERSION >= 2007)
@@ -540,6 +561,34 @@ struct GTY((tag ("2"))) line_map_macro : public line_map { · 21 unmodified lines
540#define linemap_assert_fails(EXPR) (! (EXPR))561#define linemap_assert_fails(EXPR) (! (EXPR))
541#endif562#endif
542 563
564/* Get whether location LOC is an ad-hoc, ordinary or macro location. */
565
566inline bool
567IS_ORDINARY_LOC (location_t loc)
568{
569 return loc < LINE_MAP_MAX_LOCATION;
570}
571
572inline bool
573IS_ADHOC_LOC (location_t loc)
574{
575 return loc > MAX_LOCATION_T;
576}
577
578inline bool
579IS_MACRO_LOC (location_t loc)
580{
581 return !IS_ORDINARY_LOC (loc) && !IS_ADHOC_LOC (loc);
582}
583
584/* Categorize line map kinds. */
585
586inline bool
587MAP_ORDINARY_P (const line_map *map)
588{
589 return IS_ORDINARY_LOC (map->start_location);
590}
591
543/* Return TRUE if MAP encodes locations coming from a macro592/* Return TRUE if MAP encodes locations coming from a macro
544 replacement-list at macro expansion point. */593 replacement-list at macro expansion point. */
545bool594bool
@@ -552,7 +601,7 @@ linemap_macro_expansion_map_p (const struct line_map *); · 6 unmodified lines
552inline line_map_ordinary *601inline line_map_ordinary *
553linemap_check_ordinary (struct line_map *map)602linemap_check_ordinary (struct line_map *map)
554{603{
555 linemap_assert (!linemap_macro_expansion_map_p (map));604 linemap_assert (MAP_ORDINARY_P (map));
556 return (line_map_ordinary *)map;605 return (line_map_ordinary *)map;
557}606}
558 607
@@ -563,7 +612,7 @@ linemap_check_ordinary (struct line_map *map) · 4 unmodified lines
563inline const line_map_ordinary *612inline const line_map_ordinary *
564linemap_check_ordinary (const struct line_map *map)613linemap_check_ordinary (const struct line_map *map)
565{614{
566 linemap_assert (!linemap_macro_expansion_map_p (map));615 linemap_assert (MAP_ORDINARY_P (map));
567 return (const line_map_ordinary *)map;616 return (const line_map_ordinary *)map;
568}617}
569 618
@@ -572,7 +621,7 @@ linemap_check_ordinary (const struct line_map *map) · 2 unmodified lines
572 621
573inline line_map_macro *linemap_check_macro (line_map *map)622inline line_map_macro *linemap_check_macro (line_map *map)
574{623{
575 linemap_assert (linemap_macro_expansion_map_p (map));624 linemap_assert (!MAP_ORDINARY_P (map));
576 return (line_map_macro *)map;625 return (line_map_macro *)map;
577}626}
578 627
@@ -582,13 +631,13 @@ inline line_map_macro *linemap_check_macro (line_map *map) · 3 unmodified lines
582inline const line_map_macro *631inline const line_map_macro *
583linemap_check_macro (const line_map *map)632linemap_check_macro (const line_map *map)
584{633{
585 linemap_assert (linemap_macro_expansion_map_p (map));634 linemap_assert (!MAP_ORDINARY_P (map));
586 return (const line_map_macro *)map;635 return (const line_map_macro *)map;
587}636}
588 637
589/* Read the start location of MAP. */638/* Read the start location of MAP. */
590 639
591inline source_location640inline location_t
592MAP_START_LOCATION (const line_map *map)641MAP_START_LOCATION (const line_map *map)
593{642{
594 return map->start_location;643 return map->start_location;
@@ -602,17 +651,6 @@ ORDINARY_MAP_STARTING_LINE_NUMBER (const line_map_ordinary *ord_map) · 7 unmodified lines
602 return ord_map->to_line;651 return ord_map->to_line;
603}652}
604 653
605/* Get the index of the ordinary map at whose end
606 ordinary map MAP was included.
607
608 File(s) at the bottom of the include stack have this set. */
609
610inline int
611ORDINARY_MAP_INCLUDER_FILE_INDEX (const line_map_ordinary *ord_map)
612{
613 return ord_map->included_from;
614}
615
616/* Return a positive value if map encodes locations from a system654/* Return a positive value if map encodes locations from a system
617 header, 0 otherwise. Returns 1 if ordinary map MAP encodes locations655 header, 0 otherwise. Returns 1 if ordinary map MAP encodes locations
618 in a system header and 2 if it encodes locations in a C system header656 in a system header and 2 if it encodes locations in a C system header
@@ -652,7 +690,7 @@ MACRO_MAP_NUM_MACRO_TOKENS (const line_map_macro *macro_map) · 33 unmodified lines
652/* Get the array of pairs of locations within macro map MAP.690/* Get the array of pairs of locations within macro map MAP.
653 See the declaration of line_map_macro for more information. */691 See the declaration of line_map_macro for more information. */
654 692
655inline source_location *693inline location_t *
656MACRO_MAP_LOCATIONS (const line_map_macro *macro_map)694MACRO_MAP_LOCATIONS (const line_map_macro *macro_map)
657{695{
658 return macro_map->macro_locations;696 return macro_map->macro_locations;
@@ -660,7 +698,7 @@ MACRO_MAP_LOCATIONS (const line_map_macro *macro_map) · 1 unmodified line
660 698
661/* Get the location of the expansion point of the macro map MAP. */699/* Get the location of the expansion point of the macro map MAP. */
662 700
663inline source_location701inline location_t
664MACRO_MAP_EXPANSION_POINT_LOCATION (const line_map_macro *macro_map)702MACRO_MAP_EXPANSION_POINT_LOCATION (const line_map_macro *macro_map)
665{703{
666 return macro_map->expansion;704 return macro_map->expansion;
@@ -707,7 +745,7 @@ struct GTY(()) maps_info_macro { · 40 unmodified lines
707/* Data structure to associate a source_range together with an arbitrary745/* Data structure to associate a source_range together with an arbitrary
708 data pointer with a source location. */746 data pointer with a source location. */
709struct GTY(()) location_adhoc_data {747struct GTY(()) location_adhoc_data {
710 source_location locus;748 location_t locus;
711 source_range src_range;749 source_range src_range;
712 void * GTY((skip)) data;750 void * GTY((skip)) data;
713};751};
@@ -726,7 +764,7 @@ struct htab; · 12 unmodified lines
726 764
727struct GTY(()) location_adhoc_data_map {765struct GTY(()) location_adhoc_data_map {
728 struct htab * GTY((skip)) htab;766 struct htab * GTY((skip)) htab;
729 source_location curr_loc;767 location_t curr_loc;
730 unsigned int allocated;768 unsigned int allocated;
731 struct location_adhoc_data GTY((length ("%h.allocated"))) *data;769 struct location_adhoc_data GTY((length ("%h.allocated"))) *data;
732};770};
@@ -746,18 +784,17 @@ struct GTY(()) line_maps { · 13 unmodified lines
746 /* If true, prints an include trace a la -H. */784 /* If true, prints an include trace a la -H. */
747 bool trace_includes;785 bool trace_includes;
748 786
749 /* Highest source_location "given out". */787 /* Highest location_t "given out". */
750 source_location highest_location;788 location_t highest_location;
751 789
752 /* Start of line of highest source_location "given out". */790 /* Start of line of highest location_t "given out". */
753 source_location highest_line;791 location_t highest_line;
754 792
755 /* The maximum column number we can quickly allocate. Higher numbers793 /* The maximum column number we can quickly allocate. Higher numbers
756 may require allocating a new line_map. */794 may require allocating a new line_map. */
757 unsigned int max_column_hint;795 unsigned int max_column_hint;
758 796
759 /* If non-null, the allocator to use when resizing 'maps'. If null,797 /* The allocator to use when resizing 'maps', defaults to xrealloc. */
760 xrealloc is used. */
761 line_map_realloc reallocator;798 line_map_realloc reallocator;
762 799
763 /* The allocators' function used to know the actual size it800 /* The allocators' function used to know the actual size it
@@ -768,7 +805,7 @@ struct GTY(()) line_maps { · 4 unmodified lines
768 805
769 /* The special location value that is used as spelling location for806 /* The special location value that is used as spelling location for
770 built-in tokens. */807 built-in tokens. */
771 source_location builtin_location;808 location_t builtin_location;
772 809
773 /* True if we've seen a #line or # 44 "file" directive. */810 /* True if we've seen a #line or # 44 "file" directive. */
774 bool seen_line_directive;811 bool seen_line_directive;
@@ -998,12 +1035,12 @@ LINEMAPS_LAST_MACRO_MAP (const line_maps *set) · 223 unmodified lines
998 1035
999/* Returns the lowest location [of a token resulting from macro1036/* Returns the lowest location [of a token resulting from macro
1000 expansion] encoded in this line table. */1037 expansion] encoded in this line table. */
1001inline source_location1038inline location_t
1002LINEMAPS_MACRO_LOWEST_LOCATION (const line_maps *set)1039LINEMAPS_MACRO_LOWEST_LOCATION (const line_maps *set)
1003{1040{
1004 return LINEMAPS_MACRO_USED (set)1041 return LINEMAPS_MACRO_USED (set)
1005 ? MAP_START_LOCATION (LINEMAPS_LAST_MACRO_MAP (set))1042 ? MAP_START_LOCATION (LINEMAPS_LAST_MACRO_MAP (set))
1006 : MAX_SOURCE_LOCATION;1043 : MAX_LOCATION_T + 1;
1007}1044}
1008 1045
1009/* Returns the last macro map allocated in the line table SET. */1046/* Returns the last macro map allocated in the line table SET. */
@@ -1013,41 +1050,33 @@ LINEMAPS_LAST_ALLOCATED_MACRO_MAP (const line_maps *set) · 3 unmodified lines
1013 return (line_map_macro *)LINEMAPS_LAST_ALLOCATED_MAP (set, true);1050 return (line_map_macro *)LINEMAPS_LAST_ALLOCATED_MAP (set, true);
1014}1051}
1015 1052
1016extern source_location get_combined_adhoc_loc (struct line_maps *,1053extern location_t get_combined_adhoc_loc (struct line_maps *,
1017 source_location,1054 location_t,
1018 source_range,1055 source_range,
1019 void *);1056 void *);
1020extern void *get_data_from_adhoc_loc (struct line_maps *, source_location);1057extern void *get_data_from_adhoc_loc (struct line_maps *, location_t);
1021extern source_location get_location_from_adhoc_loc (struct line_maps *,1058extern location_t get_location_from_adhoc_loc (struct line_maps *,
1022 source_location);1059 location_t);
1023 1060
1024extern source_range get_range_from_loc (line_maps *set, source_location loc);1061extern source_range get_range_from_loc (line_maps *set, location_t loc);
1025
1026/* Get whether location LOC is an ad-hoc location. */
1027
1028inline bool
1029IS_ADHOC_LOC (source_location loc)
1030{
1031 return (loc & MAX_SOURCE_LOCATION) != loc;
1032}
1033 1062
1034/* Get whether location LOC is a "pure" location, or1063/* Get whether location LOC is a "pure" location, or
1035 whether it is an ad-hoc location, or embeds range information. */1064 whether it is an ad-hoc location, or embeds range information. */
1036 1065
1037bool1066bool
1038pure_location_p (line_maps *set, source_location loc);1067pure_location_p (line_maps *set, location_t loc);
1039 1068
1040/* Given location LOC within SET, strip away any packed range information1069/* Given location LOC within SET, strip away any packed range information
1041 or ad-hoc information. */1070 or ad-hoc information. */
1042 1071
1043extern source_location get_pure_location (line_maps *set,1072extern location_t get_pure_location (line_maps *set,
1044 source_location loc);1073 location_t loc);
1045 1074
1046/* Combine LOC and BLOCK, giving a combined adhoc location. */1075/* Combine LOC and BLOCK, giving a combined adhoc location. */
1047 1076
1048inline source_location1077inline location_t
1049COMBINE_LOCATION_DATA (struct line_maps *set,1078COMBINE_LOCATION_DATA (struct line_maps *set,
1050 source_location loc,1079 location_t loc,
1051 source_range src_range,1080 source_range src_range,
1052 void *block)1081 void *block)
1053{1082{
@@ -1061,19 +1090,19 @@ extern void rebuild_location_adhoc_htab (struct line_maps *); · 7 unmodified lines
1061 spelling location for built-in tokens. This BUILTIN_LOCATION has1090 spelling location for built-in tokens. This BUILTIN_LOCATION has
1062 to be strictly less than RESERVED_LOCATION_COUNT. */1091 to be strictly less than RESERVED_LOCATION_COUNT. */
1063extern void linemap_init (struct line_maps *set,1092extern void linemap_init (struct line_maps *set,
1064 source_location builtin_location);1093 location_t builtin_location);
1065 1094
1066/* Check for and warn about line_maps entered but not exited. */1095/* Check for and warn about line_maps entered but not exited. */
1067 1096
1068extern void linemap_check_files_exited (struct line_maps *);1097extern void linemap_check_files_exited (struct line_maps *);
1069 1098
1070/* Return a source_location for the start (i.e. column==0) of1099/* Return a location_t for the start (i.e. column==0) of
1071 (physical) line TO_LINE in the current source file (as in the1100 (physical) line TO_LINE in the current source file (as in the
1072 most recent linemap_add). MAX_COLUMN_HINT is the highest column1101 most recent linemap_add). MAX_COLUMN_HINT is the highest column
1073 number we expect to use in this line (but it does not change1102 number we expect to use in this line (but it does not change
1074 the highest_location). */1103 the highest_location). */
1075 1104
1076extern source_location linemap_line_start1105extern location_t linemap_line_start
1077(struct line_maps *set, linenum_type to_line, unsigned int max_column_hint);1106(struct line_maps *set, linenum_type to_line, unsigned int max_column_hint);
1078 1107
1079/* Add a mapping of logical source line to physical source file and1108/* Add a mapping of logical source line to physical source file and
@@ -1100,7 +1129,7 @@ extern const struct line_map *linemap_add · 20 unmodified lines
1100 binary search. If no line map have been allocated yet, this1129 binary search. If no line map have been allocated yet, this
1101 function returns NULL. */1130 function returns NULL. */
1102extern const struct line_map *linemap_lookup1131extern const struct line_map *linemap_lookup
1103 (struct line_maps *, source_location);1132 (struct line_maps *, location_t);
1104 1133
1105/* Returns TRUE if the line table set tracks token locations across1134/* Returns TRUE if the line table set tracks token locations across
1106 macro expansion, FALSE otherwise. */1135 macro expansion, FALSE otherwise. */
@@ -1119,114 +1148,86 @@ const char* linemap_map_get_macro_name (const line_map_macro *); · 12 unmodified lines
1119 that is part of a macro replacement-list defined in a system1148 that is part of a macro replacement-list defined in a system
1120 header, but expanded in a non-system file. */1149 header, but expanded in a non-system file. */
1121int linemap_location_in_system_header_p (struct line_maps *,1150int linemap_location_in_system_header_p (struct line_maps *,
1122 source_location);1151 location_t);
1123 1152
1124/* Return TRUE if LOCATION is a source code location of a token that is part of1153/* Return TRUE if LOCATION is a source code location of a token that is part of
1125 a macro expansion, FALSE otherwise. */1154 a macro expansion, FALSE otherwise. */
1126bool linemap_location_from_macro_expansion_p (const struct line_maps *,1155bool linemap_location_from_macro_expansion_p (const struct line_maps *,
1127 source_location);1156 location_t);
1128 1157
1129/* TRUE if LOCATION is a source code location of a token that is part of the1158/* TRUE if LOCATION is a source code location of a token that is part of the
1130 definition of a macro, FALSE otherwise. */1159 definition of a macro, FALSE otherwise. */
1131bool linemap_location_from_macro_definition_p (struct line_maps *,1160bool linemap_location_from_macro_definition_p (struct line_maps *,
1132 source_location);1161 location_t);
1133 1162
1134/* With the precondition that LOCATION is the locus of a token that is1163/* With the precondition that LOCATION is the locus of a token that is
1135 an argument of a function-like macro MACRO_MAP and appears in the1164 an argument of a function-like macro MACRO_MAP and appears in the
1136 expansion of MACRO_MAP, return the locus of that argument in the1165 expansion of MACRO_MAP, return the locus of that argument in the
1137 context of the caller of MACRO_MAP. */1166 context of the caller of MACRO_MAP. */
1138 1167
1139extern source_location linemap_macro_map_loc_unwind_toward_spelling1168extern location_t linemap_macro_map_loc_unwind_toward_spelling
1140 (line_maps *set, const line_map_macro *macro_map, source_location location);1169 (line_maps *set, const line_map_macro *macro_map, location_t location);
1141 1170
1142/* source_location values from 0 to RESERVED_LOCATION_COUNT-1 will1171/* location_t values from 0 to RESERVED_LOCATION_COUNT-1 will
1143 be reserved for libcpp user as special values, no token from libcpp1172 be reserved for libcpp user as special values, no token from libcpp
1144 will contain any of those locations. */1173 will contain any of those locations. */
1145const source_location RESERVED_LOCATION_COUNT = 2;1174const location_t RESERVED_LOCATION_COUNT = 2;
1146 1175
1147/* Converts a map and a source_location to source line. */1176/* Converts a map and a location_t to source line. */
1148inline linenum_type1177inline linenum_type
1149SOURCE_LINE (const line_map_ordinary *ord_map, source_location loc)1178SOURCE_LINE (const line_map_ordinary *ord_map, location_t loc)
1150{1179{
1151 return ((loc - ord_map->start_location)1180 return ((loc - ord_map->start_location)
1152 >> ord_map->m_column_and_range_bits) + ord_map->to_line;1181 >> ord_map->m_column_and_range_bits) + ord_map->to_line;
1153}1182}
1154 1183
1155/* Convert a map and source_location to source column number. */1184/* Convert a map and location_t to source column number. */
1156inline linenum_type1185inline linenum_type
1157SOURCE_COLUMN (const line_map_ordinary *ord_map, source_location loc)1186SOURCE_COLUMN (const line_map_ordinary *ord_map, location_t loc)
1158{1187{
1159 return ((loc - ord_map->start_location)1188 return ((loc - ord_map->start_location)
1160 & ((1 << ord_map->m_column_and_range_bits) - 1)) >> ord_map->m_range_bits;1189 & ((1 << ord_map->m_column_and_range_bits) - 1)) >> ord_map->m_range_bits;
1161}1190}
1162 1191
1163/* Return the location of the last source line within an ordinary
1164 map. */
1165inline source_location
1166LAST_SOURCE_LINE_LOCATION (const line_map_ordinary *map)
1167{
1168 return (((map[1].start_location - 1
1169 - map->start_location)
1170 & ~((1 << map->m_column_and_range_bits) - 1))
1171 + map->start_location);
1172}
1173
1174/* Returns the last source line number within an ordinary map. This
1175 is the (last) line of the #include, or other directive, that caused
1176 a map change. */
1177inline linenum_type
1178LAST_SOURCE_LINE (const line_map_ordinary *map)
1179{
1180 return SOURCE_LINE (map, LAST_SOURCE_LINE_LOCATION (map));
1181}
1182
1183/* Return the last column number within an ordinary map. */
1184 1192
1185inline linenum_type1193inline location_t
1186LAST_SOURCE_COLUMN (const line_map_ordinary *map)1194linemap_included_from (const line_map_ordinary *ord_map)
1187{1195{
1188 return SOURCE_COLUMN (map, LAST_SOURCE_LINE_LOCATION (map));1196 return ord_map->included_from;
1189}1197}
1190 1198
1191/* Returns the map a given map was included from, or NULL if the map1199/* The linemap containing the included-from location of MAP. */
1192 belongs to the main file, i.e, a file that wasn't included by1200const line_map_ordinary *linemap_included_from_linemap
1193 another one. */1201 (line_maps *set, const line_map_ordinary *map);
1194inline line_map_ordinary *
1195INCLUDED_FROM (struct line_maps *set, const line_map_ordinary *ord_map)
1196{
1197 return ((ord_map->included_from == -1)
1198 ? NULL
1199 : LINEMAPS_ORDINARY_MAP_AT (set, ord_map->included_from));
1200}
1201 1202
1202/* True if the map is at the bottom of the include stack. */1203/* True if the map is at the bottom of the include stack. */
1203 1204
1204inline bool1205inline bool
1205MAIN_FILE_P (const line_map_ordinary *ord_map)1206MAIN_FILE_P (const line_map_ordinary *ord_map)
1206{1207{
1207 return ord_map->included_from < 0;1208 return ord_map->included_from == 0;
1208}1209}
1209 1210
1210/* Encode and return a source_location from a column number. The1211/* Encode and return a location_t from a column number. The
1211 source line considered is the last source line used to call1212 source line considered is the last source line used to call
1212 linemap_line_start, i.e, the last source line which a location was1213 linemap_line_start, i.e, the last source line which a location was
1213 encoded from. */1214 encoded from. */
1214extern source_location1215extern location_t
1215linemap_position_for_column (struct line_maps *, unsigned int);1216linemap_position_for_column (struct line_maps *, unsigned int);
1216 1217
1217/* Encode and return a source location from a given line and1218/* Encode and return a source location from a given line and
1218 column. */1219 column. */
1219source_location1220location_t
1220linemap_position_for_line_and_column (line_maps *set,1221linemap_position_for_line_and_column (line_maps *set,
1221 const line_map_ordinary *,1222 const line_map_ordinary *,
1222 linenum_type, unsigned int);1223 linenum_type, unsigned int);
1223 1224
1224/* Encode and return a source_location starting from location LOC and1225/* Encode and return a location_t starting from location LOC and
1225 shifting it by OFFSET columns. This function does not support1226 shifting it by OFFSET columns. This function does not support
1226 virtual locations. */1227 virtual locations. */
1227source_location1228location_t
1228linemap_position_for_loc_and_offset (struct line_maps *set,1229linemap_position_for_loc_and_offset (struct line_maps *set,
1229 source_location loc,1230 location_t loc,
1230 unsigned int offset);1231 unsigned int offset);
1231 1232
1232/* Return the file this map is for. */1233/* Return the file this map is for. */
@@ -1258,16 +1259,16 @@ LINEMAP_SYSP (const line_map_ordinary *ord_map) · 25 unmodified lines
1258 the same token as the token for POST, and a negative value1259 the same token as the token for POST, and a negative value
1259 otherwise. */1260 otherwise. */
1260int linemap_compare_locations (struct line_maps *set,1261int linemap_compare_locations (struct line_maps *set,
1261 source_location pre,1262 location_t pre,
1262 source_location post);1263 location_t post);
1263 1264
1264/* Return TRUE if LOC_A denotes the location a token that comes1265/* Return TRUE if LOC_A denotes the location a token that comes
1265 topogically before the token denoted by location LOC_B, or if they1266 topogically before the token denoted by location LOC_B, or if they
1266 are equal. */1267 are equal. */
1267inline bool1268inline bool
1268linemap_location_before_p (struct line_maps *set,1269linemap_location_before_p (struct line_maps *set,
1269 source_location loc_a,1270 location_t loc_a,
1270 source_location loc_b)1271 location_t loc_b)
1271{1272{
1272 return linemap_compare_locations (set, loc_a, loc_b) >= 0;1273 return linemap_compare_locations (set, loc_a, loc_b) >= 0;
1273}1274}
@@ -1288,23 +1289,50 @@ typedef struct · 14 unmodified lines
1288 bool sysp;1289 bool sysp;
1289} expanded_location;1290} expanded_location;
1290 1291
1291/* A location within a rich_location: a caret&range, with1292class range_label;
1292 the caret potentially flagged for display. */
1293 1293
1294struct location_range1294/* A hint to diagnostic_show_locus on how to print a source range within a
1295{1295 rich_location.
1296 source_location m_loc;
1297 1296
1298 /* Should a caret be drawn for this range? Typically this is1297 Typically this is SHOW_RANGE_WITH_CARET for the 0th range, and
1299 true for the 0th range, and false for subsequent ranges,1298 SHOW_RANGE_WITHOUT_CARET for subsequent ranges,
1300 but the Fortran frontend overrides this for rendering things like:1299 but the Fortran frontend uses SHOW_RANGE_WITH_CARET repeatedly for
1300 printing things like:
1301 1301
1302 x = x + y1302 x = x + y
1303 1 21303 1 2
1304 Error: Shapes for operands at (1) and (2) are not conformable1304 Error: Shapes for operands at (1) and (2) are not conformable
1305 1305
1306 where "1" and "2" are notionally carets. */1306 where "1" and "2" are notionally carets. */
1307 bool m_show_caret_p;1307
1308enum range_display_kind
1309{
1310 /* Show the pertinent source line(s), the caret, and underline(s). */
1311 SHOW_RANGE_WITH_CARET,
1312
1313 /* Show the pertinent source line(s) and underline(s), but don't
1314 show the caret (just an underline). */
1315 SHOW_RANGE_WITHOUT_CARET,
1316
1317 /* Just show the source lines; don't show the range itself.
1318 This is for use when displaying some line-insertion fix-it hints (for
1319 showing the user context on the change, for when it doesn't make sense
1320 to highlight the first column on the next line). */
1321 SHOW_LINES_WITHOUT_RANGE
1322};
1323
1324/* A location within a rich_location: a caret&range, with
1325 the caret potentially flagged for display, and an optional
1326 label. */
1327
1328struct location_range
1329{
1330 location_t m_loc;
1331
1332 enum range_display_kind m_range_display_kind;
1333
1334 /* If non-NULL, the label for this range. */
1335 const range_label *m_label;
1308};1336};
1309 1337
1310/* A partially-embedded vec for use within rich_location for storing1338/* A partially-embedded vec for use within rich_location for storing
@@ -1446,6 +1474,8 @@ class fixit_hint; · 135 unmodified lines
1446 Additional ranges may be added to help the user identify other1474 Additional ranges may be added to help the user identify other
1447 pertinent clauses in a diagnostic.1475 pertinent clauses in a diagnostic.
1448 1476
1477 Ranges can (optionally) be given labels via class range_label.
1478
1449 rich_location instances are intended to be allocated on the stack1479 rich_location instances are intended to be allocated on the stack
1450 when generating diagnostics, and to be short-lived.1480 when generating diagnostics, and to be short-lived.
1451 1481
@@ -1491,18 +1521,22 @@ class fixit_hint; · 39 unmodified lines
1491 equal to their caret point. The frontend overrides the diagnostic1521 equal to their caret point. The frontend overrides the diagnostic
1492 context's default caret character for these ranges.1522 context's default caret character for these ranges.
1493 1523
1494 Example E1524 Example E (range labels)
1495 *********1525 ************************
1496 printf ("arg0: %i arg1: %s arg2: %i",1526 printf ("arg0: %i arg1: %s arg2: %i",
1497 ^~1527 ^~
1528 |
1529 const char *
1498 100, 101, 102);1530 100, 101, 102);
1499 ~~~1531 ~~~
1532 |
1533 int
1500 This rich location has two ranges:1534 This rich location has two ranges:
1501 - range 0 is at the "%s" with start = caret = "%" and finish at1535 - range 0 is at the "%s" with start = caret = "%" and finish at
1502 the "s".1536 the "s". It has a range_label ("const char *").
1503 - range 1 has start/finish covering the "101" and is not flagged for1537 - range 1 has start/finish covering the "101" and is not flagged for
1504 caret printing; it is perhaps at the start of "101".1538 caret printing. The caret is at the start of "101", where its
1505 1539 range_label is printed ("int").
1506 1540
1507 Fix-it hints1541 Fix-it hints
1508 ------------1542 ------------
@@ -1562,9 +1596,21 @@ class fixit_hint; · 53 unmodified lines
1562 added via1596 added via
1563 richloc.add_fixit_replace ("color");1597 richloc.add_fixit_replace ("color");
1564 1598
1599 Example J: fix-it hint: line insertion
1600 **************************************
1601
1602 3 | #include <stddef.h>
1603 + |+#include <stdio.h>
1604 4 | int the_next_line;
1605
1606 This rich location has a single range at line 4 column 1, marked
1607 with SHOW_LINES_WITHOUT_RANGE (to avoid printing a meaningless caret
1608 on the "i" of int). It has a insertion fix-it hint of the string
1609 "#include <stdio.h>\n".
1610
1565 Adding a fix-it hint can fail: for example, attempts to insert content1611 Adding a fix-it hint can fail: for example, attempts to insert content
1566 at the transition between two line maps may fail due to there being no1612 at the transition between two line maps may fail due to there being no
1567 source_location (aka location_t) value to express the new location.1613 location_t value to express the new location.
1568 1614
1569 Attempts to add a fix-it hint within a macro expansion will fail.1615 Attempts to add a fix-it hint within a macro expansion will fail.
1570 1616
@@ -1594,21 +1640,25 @@ class rich_location · 23 unmodified lines
1594 /* Constructors. */1640 /* Constructors. */
1595 1641
1596 /* Constructing from a location. */1642 /* Constructing from a location. */
1597 rich_location (line_maps *set, source_location loc);1643 rich_location (line_maps *set, location_t loc,
1644 const range_label *label = NULL);
1598 1645
1599 /* Destructor. */1646 /* Destructor. */
1600 ~rich_location ();1647 ~rich_location ();
1601 1648
1602 /* Accessors. */1649 /* Accessors. */
1603 source_location get_loc () const { return get_loc (0); }1650 location_t get_loc () const { return get_loc (0); }
1604 source_location get_loc (unsigned int idx) const;1651 location_t get_loc (unsigned int idx) const;
1605 1652
1606 void1653 void
1607 add_range (source_location loc, bool show_caret_p);1654 add_range (location_t loc,
1655 enum range_display_kind range_display_kind
1656 = SHOW_RANGE_WITHOUT_CARET,
1657 const range_label *label = NULL);
1608 1658
1609 void1659 void
1610 set_range (line_maps *set, unsigned int idx, source_location loc,1660 set_range (unsigned int idx, location_t loc,
1611 bool show_caret_p);1661 enum range_display_kind range_display_kind);
1612 1662
1613 unsigned int get_num_locations () const { return m_ranges.count (); }1663 unsigned int get_num_locations () const { return m_ranges.count (); }
1614 1664
@@ -1631,7 +1681,7 @@ class rich_location · 16 unmodified lines
1631 1681
1632 /* Suggest inserting NEW_CONTENT immediately before the start of WHERE. */1682 /* Suggest inserting NEW_CONTENT immediately before the start of WHERE. */
1633 void1683 void
1634 add_fixit_insert_before (source_location where,1684 add_fixit_insert_before (location_t where,
1635 const char *new_content);1685 const char *new_content);
1636 1686
1637 /* Suggest inserting NEW_CONTENT immediately after the end of the primary1687 /* Suggest inserting NEW_CONTENT immediately after the end of the primary
@@ -1641,7 +1691,7 @@ class rich_location · 3 unmodified lines
1641 1691
1642 /* Suggest inserting NEW_CONTENT immediately after the end of WHERE. */1692 /* Suggest inserting NEW_CONTENT immediately after the end of WHERE. */
1643 void1693 void
1644 add_fixit_insert_after (source_location where,1694 add_fixit_insert_after (location_t where,
1645 const char *new_content);1695 const char *new_content);
1646 1696
1647 /* Methods for adding removal fix-it hints. */1697 /* Methods for adding removal fix-it hints. */
@@ -1653,7 +1703,7 @@ class rich_location · 5 unmodified lines
1653 /* Suggest removing the content covered between the start and finish1703 /* Suggest removing the content covered between the start and finish
1654 of WHERE. */1704 of WHERE. */
1655 void1705 void
1656 add_fixit_remove (source_location where);1706 add_fixit_remove (location_t where);
1657 1707
1658 /* Suggest removing the content covered by SRC_RANGE. */1708 /* Suggest removing the content covered by SRC_RANGE. */
1659 void1709 void
@@ -1668,7 +1718,7 @@ class rich_location · 8 unmodified lines
1668 /* Suggest replacing the content between the start and finish of1718 /* Suggest replacing the content between the start and finish of
1669 WHERE with NEW_CONTENT. */1719 WHERE with NEW_CONTENT. */
1670 void1720 void
1671 add_fixit_replace (source_location where,1721 add_fixit_replace (location_t where,
1672 const char *new_content);1722 const char *new_content);
1673 1723
1674 /* Suggest replacing the content covered by SRC_RANGE with1724 /* Suggest replacing the content covered by SRC_RANGE with
@@ -1704,10 +1754,10 @@ class rich_location · 29 unmodified lines
1704 }1754 }
1705 1755
1706private:1756private:
1707 bool reject_impossible_fixit (source_location where);1757 bool reject_impossible_fixit (location_t where);
1708 void stop_supporting_fixits ();1758 void stop_supporting_fixits ();
1709 void maybe_add_fixit (source_location start,1759 void maybe_add_fixit (location_t start,
1710 source_location next_loc,1760 location_t next_loc,
1711 const char *new_content);1761 const char *new_content);
1712 1762
1713public:1763public:
@@ -1729,6 +1779,56 @@ protected: · 15 unmodified lines
1729 bool m_fixits_cannot_be_auto_applied;1779 bool m_fixits_cannot_be_auto_applied;
1730};1780};
1731 1781
1782/* A struct for the result of range_label::get_text: a NUL-terminated buffer
1783 of localized text, and a flag to determine if the caller should "free" the
1784 buffer. */
1785
1786struct label_text
1787{
1788 label_text ()
1789 : m_buffer (NULL), m_caller_owned (false)
1790 {}
1791
1792 label_text (char *buffer, bool caller_owned)
1793 : m_buffer (buffer), m_caller_owned (caller_owned)
1794 {}
1795
1796 void maybe_free ()
1797 {
1798 if (m_caller_owned)
1799 free (m_buffer);
1800 }
1801
1802 char *m_buffer;
1803 bool m_caller_owned;
1804};
1805
1806/* Abstract base class for labelling a range within a rich_location
1807 (e.g. for labelling expressions with their type).
1808
1809 Generating the text could require non-trivial work, so this work
1810 is delayed (via the "get_text" virtual function) until the diagnostic
1811 printing code "knows" it needs it, thus avoiding doing it e.g. for
1812 warnings that are filtered by command-line flags. This virtual
1813 function also isolates libcpp and the diagnostics subsystem from
1814 the front-end and middle-end-specific code for generating the text
1815 for the labels.
1816
1817 Like the rich_location instances they annotate, range_label instances
1818 are intended to be allocated on the stack when generating diagnostics,
1819 and to be short-lived. */
1820
1821class range_label
1822{
1823 public:
1824 virtual ~range_label () {}
1825
1826 /* Get localized text for the label.
1827 The RANGE_IDX is provided, allowing for range_label instances to be
1828 shared by multiple ranges if need be (the "flyweight" design pattern). */
1829 virtual label_text get_text (unsigned range_idx) const = 0;
1830};
1831
1732/* A fix-it hint: a suggested insertion, replacement, or deletion of text.1832/* A fix-it hint: a suggested insertion, replacement, or deletion of text.
1733 We handle these three types of edit with one class, by representing1833 We handle these three types of edit with one class, by representing
1734 them as replacement of a half-open range:1834 them as replacement of a half-open range:
@@ -1746,16 +1846,16 @@ protected: · 11 unmodified lines
1746class fixit_hint1846class fixit_hint
1747{1847{
1748 public:1848 public:
1749 fixit_hint (source_location start,1849 fixit_hint (location_t start,
1750 source_location next_loc,1850 location_t next_loc,
1751 const char *new_content);1851 const char *new_content);
1752 ~fixit_hint () { free (m_bytes); }1852 ~fixit_hint () { free (m_bytes); }
1753 1853
1754 bool affects_line_p (const char *file, int line) const;1854 bool affects_line_p (const char *file, int line) const;
1755 source_location get_start_loc () const { return m_start; }1855 location_t get_start_loc () const { return m_start; }
1756 source_location get_next_loc () const { return m_next_loc; }1856 location_t get_next_loc () const { return m_next_loc; }
1757 bool maybe_append (source_location start,1857 bool maybe_append (location_t start,
1758 source_location next_loc,1858 location_t next_loc,
1759 const char *new_content);1859 const char *new_content);
1760 1860
1761 const char *get_string () const { return m_bytes; }1861 const char *get_string () const { return m_bytes; }
@@ -1770,8 +1870,8 @@ class fixit_hint · 8 unmodified lines
1770 this is a half-open/half-closed range:1870 this is a half-open/half-closed range:
1771 [start, next_loc)1871 [start, next_loc)
1772 so that we can support insertion via start == next_loc. */1872 so that we can support insertion via start == next_loc. */
1773 source_location m_start;1873 location_t m_start;
1774 source_location m_next_loc;1874 location_t m_next_loc;
1775 char *m_bytes;1875 char *m_bytes;
1776 size_t m_len;1876 size_t m_len;
1777};1877};
@@ -1835,10 +1935,10 @@ enum location_resolution_kind · 57 unmodified lines
1835 resolves to a location reserved for the client code, like1935 resolves to a location reserved for the client code, like
1836 UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */1936 UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */
1837 1937
1838source_location linemap_resolve_location (struct line_maps *,1938location_t linemap_resolve_location (struct line_maps *,
1839 source_location loc,1939 location_t loc,
1840 enum location_resolution_kind lrk,1940 enum location_resolution_kind lrk,
1841 const line_map_ordinary **loc_map);1941 const line_map_ordinary **loc_map);
1842 1942
1843/* Suppose that LOC is the virtual location of a token coming from the1943/* Suppose that LOC is the virtual location of a token coming from the
1844 expansion of a macro M. This function then steps up to get the1944 expansion of a macro M. This function then steps up to get the
@@ -1847,9 +1947,9 @@ source_location linemap_resolve_location (struct line_maps *, · 2 unmodified lines
1847 the point where M' was expanded. LOC_MAP is an output parameter.1947 the point where M' was expanded. LOC_MAP is an output parameter.
1848 When non-NULL, *LOC_MAP is set to the map of the returned1948 When non-NULL, *LOC_MAP is set to the map of the returned
1849 location. */1949 location. */
1850source_location linemap_unwind_toward_expansion (struct line_maps *,1950location_t linemap_unwind_toward_expansion (struct line_maps *,
1851 source_location loc,1951 location_t loc,
1852 const struct line_map **loc_map);1952 const struct line_map **loc_map);
1853 1953
1854/* If LOC is the virtual location of a token coming from the expansion1954/* If LOC is the virtual location of a token coming from the expansion
1855 of a macro M and if its spelling location is reserved (e.g, a1955 of a macro M and if its spelling location is reserved (e.g, a
@@ -1865,9 +1965,9 @@ source_location linemap_unwind_toward_expansion (struct line_maps *, · 9 unmodified lines
1865 1965
1866 *MAP is set to the map of the returned location if the later is1966 *MAP is set to the map of the returned location if the later is
1867 different from LOC. */1967 different from LOC. */
1868source_location linemap_unwind_to_first_non_reserved_loc (struct line_maps *,1968location_t linemap_unwind_to_first_non_reserved_loc (struct line_maps *,
1869 source_location loc,1969 location_t loc,
1870 const struct line_map **map);1970 const struct line_map **map);
1871 1971
1872/* Expand source code location LOC and return a user readable source1972/* Expand source code location LOC and return a user readable source
1873 code location. LOC must be a spelling (non-virtual) location. If1973 code location. LOC must be a spelling (non-virtual) location. If
@@ -1875,7 +1975,7 @@ source_location linemap_unwind_to_first_non_reserved_loc (struct line_maps *, · 1 unmodified line
1875 location is returned. */1975 location is returned. */
1876expanded_location linemap_expand_location (struct line_maps *,1976expanded_location linemap_expand_location (struct line_maps *,
1877 const struct line_map *,1977 const struct line_map *,
1878 source_location loc);1978 location_t loc);
1879 1979
1880/* Statistics about maps allocation and usage as returned by1980/* Statistics about maps allocation and usage as returned by
1881 linemap_get_statistics. */1981 linemap_get_statistics. */
@@ -1902,7 +2002,7 @@ struct linemap_stats · 20 unmodified lines
1902 location emitted for that file. */2002 location emitted for that file. */
1903bool linemap_get_file_highest_location (struct line_maps * set,2003bool linemap_get_file_highest_location (struct line_maps * set,
1904 const char *file_name,2004 const char *file_name,
1905 source_location *loc);2005 location_t *loc);
1906 2006
1907/* Compute and return statistics about the memory consumption of some2007/* Compute and return statistics about the memory consumption of some
1908 parts of the line table SET. */2008 parts of the line table SET. */
@@ -1910,7 +2010,7 @@ void linemap_get_statistics (struct line_maps *, struct linemap_stats *); · 1 unmodified line
1910 2010
1911/* Dump debugging information about source location LOC into the file2011/* Dump debugging information about source location LOC into the file
1912 stream STREAM. SET is the line map set LOC comes from. */2012 stream STREAM. SET is the line map set LOC comes from. */
1913void linemap_dump_location (struct line_maps *, source_location, FILE *);2013void linemap_dump_location (struct line_maps *, location_t, FILE *);
1914 2014
1915/* Dump line map at index IX in line table SET to STREAM. If STREAM2015/* Dump line map at index IX in line table SET to STREAM. If STREAM
1916 is NULL, use stderr. IS_MACRO is true if the caller wants to2016 is NULL, use stderr. IS_MACRO is true if the caller wants to
@@ -1922,7 +2022,7 @@ void linemap_dump (FILE *, struct line_maps *, unsigned, bool); · 5 unmodified lines
1922 specifies how many macro maps to dump. */2022 specifies how many macro maps to dump. */
1923void line_table_dump (FILE *, struct line_maps *, unsigned int, unsigned int);2023void line_table_dump (FILE *, struct line_maps *, unsigned int, unsigned int);
1924 2024
1925/* An enum for distinguishing the various parts within a source_location. */2025/* An enum for distinguishing the various parts within a location_t. */
1926 2026
1927enum location_aspect2027enum location_aspect
1928{2028{
@@ -1931,14 +2031,14 @@ enum location_aspect · 2 unmodified lines
1931 LOCATION_ASPECT_FINISH2031 LOCATION_ASPECT_FINISH
1932};2032};
1933 2033
1934/* The rich_location class requires a way to expand source_location instances.2034/* The rich_location class requires a way to expand location_t instances.
1935 We would directly use expand_location_to_spelling_point, which is2035 We would directly use expand_location_to_spelling_point, which is
1936 implemented in gcc/input.c, but we also need to use it for rich_location2036 implemented in gcc/input.c, but we also need to use it for rich_location
1937 within genmatch.c.2037 within genmatch.c.
1938 Hence we require client code of libcpp to implement the following2038 Hence we require client code of libcpp to implement the following
1939 symbol. */2039 symbol. */
1940extern expanded_location2040extern expanded_location
1941linemap_client_expand_location_to_spelling_point (source_location,2041linemap_client_expand_location_to_spelling_point (location_t,
1942 enum location_aspect);2042 enum location_aspect);
1943 2043
1944#endif /* !LIBCPP_LINE_MAP_H */2044#endif /* !LIBCPP_LINE_MAP_H */
gcc/libcpp/include/mkdeps.h+1−1
@@ -1,5 +1,5 @@
1/* Dependency generator for Makefile fragments.1/* Dependency generator for Makefile fragments.
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
3 Contributed by Zack Weinberg, Mar 20003 Contributed by Zack Weinberg, Mar 2000
4 4
5This program is free software; you can redistribute it and/or modify it5This program is free software; you can redistribute it and/or modify it
gcc/libcpp/include/symtab.h+1−1
@@ -1,5 +1,5 @@
1/* Hash tables.1/* Hash tables.
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
gcc/libcpp/init.c+9−5
@@ -1,5 +1,5 @@
1/* CPP Library.1/* CPP Library.
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Contributed by Per Bothner, 1994-95.3 Contributed by Per Bothner, 1994-95.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -100,11 +100,13 @@ static const struct lang_flags lang_defaults[] = · 94 unmodified lines
100 /* GNUC99 */ { 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },100 /* GNUC99 */ { 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
101 /* GNUC11 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },101 /* GNUC11 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
102 /* GNUC17 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },102 /* GNUC17 */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
103 /* GNUC2X */ { 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
103 /* STDC89 */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 },104 /* STDC89 */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
104 /* STDC94 */ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },105 /* STDC94 */ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
105 /* STDC99 */ { 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },106 /* STDC99 */ { 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
106 /* STDC11 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },107 /* STDC11 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
107 /* STDC17 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },108 /* STDC17 */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
109 /* STDC2X */ { 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0 },
108 /* GNUCXX */ { 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },110 /* GNUCXX */ { 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
109 /* CXX98 */ { 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },111 /* CXX98 */ { 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
110 /* GNUCXX11 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1 },112 /* GNUCXX11 */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1 },
@@ -262,7 +264,7 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table, · 151 unmodified lines
262 pfile->pushed_macros = 0;264 pfile->pushed_macros = 0;
263 265
264 /* Do not force token locations by default. */266 /* Do not force token locations by default. */
265 pfile->forced_token_location_p = NULL;267 pfile->forced_token_location = 0;
266 268
267 /* Initialize source_date_epoch to -2 (not yet set). */269 /* Initialize source_date_epoch to -2 (not yet set). */
268 pfile->source_date_epoch = (time_t) -2;270 pfile->source_date_epoch = (time_t) -2;
@@ -480,8 +482,7 @@ cpp_init_special_builtins (cpp_reader *pfile) · 211 unmodified lines
480 || pfile->cb.has_attribute == NULL))482 || pfile->cb.has_attribute == NULL))
481 continue;483 continue;
482 cpp_hashnode *hp = cpp_lookup (pfile, b->name, b->len);484 cpp_hashnode *hp = cpp_lookup (pfile, b->name, b->len);
483 hp->type = NT_MACRO;485 hp->type = NT_BUILTIN_MACRO;
484 hp->flags |= NODE_BUILTIN;
485 if (b->always_warn_if_redefined)486 if (b->always_warn_if_redefined)
486 hp->flags |= NODE_WARN;487 hp->flags |= NODE_WARN;
487 hp->value.builtin = (enum cpp_builtin_type) b->value;488 hp->value.builtin = (enum cpp_builtin_type) b->value;
@@ -522,6 +523,9 @@ cpp_init_builtins (cpp_reader *pfile, int hosted) · 34 unmodified lines
522 _cpp_define_builtin (pfile, "__ASSEMBLER__ 1");523 _cpp_define_builtin (pfile, "__ASSEMBLER__ 1");
523 else if (CPP_OPTION (pfile, lang) == CLK_STDC94)524 else if (CPP_OPTION (pfile, lang) == CLK_STDC94)
524 _cpp_define_builtin (pfile, "__STDC_VERSION__ 199409L");525 _cpp_define_builtin (pfile, "__STDC_VERSION__ 199409L");
526 else if (CPP_OPTION (pfile, lang) == CLK_STDC2X
527 || CPP_OPTION (pfile, lang) == CLK_GNUC2X)
528 _cpp_define_builtin (pfile, "__STDC_VERSION__ 202000L");
525 else if (CPP_OPTION (pfile, lang) == CLK_STDC17529 else if (CPP_OPTION (pfile, lang) == CLK_STDC17
526 || CPP_OPTION (pfile, lang) == CLK_GNUC17)530 || CPP_OPTION (pfile, lang) == CLK_GNUC17)
527 _cpp_define_builtin (pfile, "__STDC_VERSION__ 201710L");531 _cpp_define_builtin (pfile, "__STDC_VERSION__ 201710L");
@@ -629,7 +633,7 @@ cpp_post_options (cpp_reader *pfile) · 101 unmodified lines
629const char *633const char *
630cpp_read_main_file (cpp_reader *pfile, const char *fname)634cpp_read_main_file (cpp_reader *pfile, const char *fname)
631{635{
632 const source_location loc = 0;636 const location_t loc = 0;
633 637
634 if (CPP_OPTION (pfile, deps.style) != DEPS_NONE)638 if (CPP_OPTION (pfile, deps.style) != DEPS_NONE)
635 {639 {
gcc/libcpp/internal.h+51−28
@@ -1,5 +1,5 @@
1/* Part of CPP library.1/* Part of CPP library.
2 Copyright (C) 1997-2018 Free Software Foundation, Inc.2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
@@ -23,7 +23,7 @@ along with this program; see the file COPYING3. If not see · 17 unmodified lines
23#define LIBCPP_INTERNAL_H23#define LIBCPP_INTERNAL_H
24 24
25#include "symtab.h"25#include "symtab.h"
26#include "cpp-id-data.h"26#include "cpplib.h"
27 27
28#if HAVE_ICONV28#if HAVE_ICONV
29#include <iconv.h>29#include <iconv.h>
@@ -93,9 +93,8 @@ struct dummy · 63 unmodified lines
93#define CPP_ALIGN2(size, align) (((size) + ((align) - 1)) & ~((align) - 1))93#define CPP_ALIGN2(size, align) (((size) + ((align) - 1)) & ~((align) - 1))
94#define CPP_ALIGN(size) CPP_ALIGN2 (size, DEFAULT_ALIGNMENT)94#define CPP_ALIGN(size) CPP_ALIGN2 (size, DEFAULT_ALIGNMENT)
95 95
96#define _cpp_mark_macro_used(NODE) do { \96#define _cpp_mark_macro_used(NODE) \
97 if ((NODE)->type == NT_MACRO && !((NODE)->flags & NODE_BUILTIN)) \97 (cpp_user_macro_p (NODE) ? (NODE)->value.macro->used = 1 : 0)
98 (NODE)->value.macro->used = 1; } while (0)
99 98
100/* A generic memory buffer, and operations on it. */99/* A generic memory buffer, and operations on it. */
101typedef struct _cpp_buff _cpp_buff;100typedef struct _cpp_buff _cpp_buff;
@@ -151,11 +150,11 @@ typedef struct · 49 unmodified lines
151 location at index 0 is the virtual location of the token at index150 location at index 0 is the virtual location of the token at index
152 0 in the current instance of cpp_context; similarly for all the151 0 in the current instance of cpp_context; similarly for all the
153 other virtual locations. */152 other virtual locations. */
154 source_location *virt_locs;153 location_t *virt_locs;
155 /* This is a pointer to the current virtual location. This is used154 /* This is a pointer to the current virtual location. This is used
156 to iterate over the virtual locations while we iterate over the155 to iterate over the virtual locations while we iterate over the
157 tokens they belong to. */156 tokens they belong to. */
158 source_location *cur_virt_loc;157 location_t *cur_virt_loc;
159} macro_context;158} macro_context;
160 159
161/* The kind of tokens carried by a cpp_context. */160/* The kind of tokens carried by a cpp_context. */
@@ -373,7 +372,7 @@ struct def_pragma_macro { · 211 unmodified lines
373 unsigned char *definition;372 unsigned char *definition;
374 373
375 /* Definition line number. */374 /* Definition line number. */
376 source_location line;375 location_t line;
377 /* If macro defined in system header. */376 /* If macro defined in system header. */
378 unsigned int syshdr : 1;377 unsigned int syshdr : 1;
379 /* Nonzero if it has been expanded or had its existence tested. */378 /* Nonzero if it has been expanded or had its existence tested. */
@@ -401,7 +400,7 @@ struct cpp_reader · 21 unmodified lines
401 struct line_maps *line_table;400 struct line_maps *line_table;
402 401
403 /* The line of the '#' of the current directive. */402 /* The line of the '#' of the current directive. */
404 source_location directive_line;403 location_t directive_line;
405 404
406 /* Memory buffers. */405 /* Memory buffers. */
407 _cpp_buff *a_buff; /* Aligned permanent storage. */406 _cpp_buff *a_buff; /* Aligned permanent storage. */
@@ -420,7 +419,7 @@ struct cpp_reader · 12 unmodified lines
420 419
421 /* When expanding a macro at top-level, this is the location of the420 /* When expanding a macro at top-level, this is the location of the
422 macro invocation. */421 macro invocation. */
423 source_location invocation_location;422 location_t invocation_location;
424 423
425 /* This is the node representing the macro being expanded at424 /* This is the node representing the macro being expanded at
426 top-level. The value of this data member is valid iff425 top-level. The value of this data member is valid iff
@@ -552,7 +551,7 @@ struct cpp_reader · 125 unmodified lines
552 unsigned char *base;551 unsigned char *base;
553 unsigned char *limit;552 unsigned char *limit;
554 unsigned char *cur;553 unsigned char *cur;
555 source_location first_line;554 location_t first_line;
556 } out;555 } out;
557 556
558 /* Used for buffer overlays by traditional.c. */557 /* Used for buffer overlays by traditional.c. */
@@ -571,9 +570,9 @@ struct cpp_reader · 12 unmodified lines
571 /* List of saved macros by push_macro. */570 /* List of saved macros by push_macro. */
572 struct def_pragma_macro *pushed_macros;571 struct def_pragma_macro *pushed_macros;
573 572
574 /* If non-null, the lexer will use this location for the next token573 /* If non-zero, the lexer will use this location for the next token
575 instead of getting a location from the linemap. */574 instead of getting a location from the linemap. */
576 source_location *forced_token_location_p;575 location_t forced_token_location;
577};576};
578 577
579/* Character classes. Based on the more primitive macros in safe-ctype.h.578/* Character classes. Based on the more primitive macros in safe-ctype.h.
@@ -594,6 +593,8 @@ struct cpp_reader · 14 unmodified lines
594#define is_nvspace(x) IS_NVSPACE(x)593#define is_nvspace(x) IS_NVSPACE(x)
595#define is_space(x) IS_SPACE_OR_NUL(x)594#define is_space(x) IS_SPACE_OR_NUL(x)
596 595
596#define SEEN_EOL() (pfile->cur_token[-1].type == CPP_EOF)
597
597/* This table is constant if it can be initialized at compile time,598/* This table is constant if it can be initialized at compile time,
598 which is the case if cpp was compiled with GCC >=2.7, or another599 which is the case if cpp was compiled with GCC >=2.7, or another
599 compiler that supports C99. */600 compiler that supports C99. */
@@ -603,6 +604,12 @@ extern const unsigned char _cpp_trigraph_map[UCHAR_MAX + 1]; · 3 unmodified lines
603extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];604extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];
604#endif605#endif
605 606
607#if !defined (HAVE_UCHAR) && !defined (IN_GCC)
608typedef unsigned char uchar;
609#endif
610
611#define UC (const uchar *) /* Intended use: UC"string" */
612
606/* Macros. */613/* Macros. */
607 614
608static inline int cpp_in_system_header (cpp_reader *);615static inline int cpp_in_system_header (cpp_reader *);
@@ -622,18 +629,26 @@ cpp_in_primary_file (cpp_reader *pfile) · 13 unmodified lines
622}629}
623 630
624/* In macro.c */631/* In macro.c */
632extern void _cpp_notify_macro_use (cpp_reader *pfile, cpp_hashnode *node);
633inline void _cpp_maybe_notify_macro_use (cpp_reader *pfile, cpp_hashnode *node)
634{
635 if (!(node->flags & NODE_USED))
636 _cpp_notify_macro_use (pfile, node);
637}
638extern cpp_macro *_cpp_new_macro (cpp_reader *, cpp_macro_kind, void *);
625extern void _cpp_free_definition (cpp_hashnode *);639extern void _cpp_free_definition (cpp_hashnode *);
626extern bool _cpp_create_definition (cpp_reader *, cpp_hashnode *);640extern bool _cpp_create_definition (cpp_reader *, cpp_hashnode *);
627extern void _cpp_pop_context (cpp_reader *);641extern void _cpp_pop_context (cpp_reader *);
628extern void _cpp_push_text_context (cpp_reader *, cpp_hashnode *,642extern void _cpp_push_text_context (cpp_reader *, cpp_hashnode *,
629 const unsigned char *, size_t);643 const unsigned char *, size_t);
630extern bool _cpp_save_parameter (cpp_reader *, cpp_macro *, cpp_hashnode *,644extern bool _cpp_save_parameter (cpp_reader *, unsigned, cpp_hashnode *,
631 cpp_hashnode *);645 cpp_hashnode *);
646extern void _cpp_unsave_parameters (cpp_reader *, unsigned);
632extern bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *,647extern bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *,
633 unsigned int);648 unsigned int);
634extern const unsigned char *_cpp_builtin_macro_text (cpp_reader *,649extern const unsigned char *_cpp_builtin_macro_text (cpp_reader *,
635 cpp_hashnode *,650 cpp_hashnode *,
636 source_location = 0);651 location_t = 0);
637extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *);652extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *);
638extern void _cpp_push_token_context (cpp_reader *, cpp_hashnode *,653extern void _cpp_push_token_context (cpp_reader *, cpp_hashnode *,
639 const cpp_token *, unsigned int);654 const cpp_token *, unsigned int);
@@ -646,14 +661,14 @@ extern void _cpp_destroy_hashtable (cpp_reader *); · 6 unmodified lines
646/* In files.c */661/* In files.c */
647typedef struct _cpp_file _cpp_file;662typedef struct _cpp_file _cpp_file;
648extern _cpp_file *_cpp_find_file (cpp_reader *, const char *, cpp_dir *,663extern _cpp_file *_cpp_find_file (cpp_reader *, const char *, cpp_dir *,
649 bool, int, bool, source_location);664 bool, int, bool, location_t);
650extern bool _cpp_find_failed (_cpp_file *);665extern bool _cpp_find_failed (_cpp_file *);
651extern void _cpp_mark_file_once_only (cpp_reader *, struct _cpp_file *);666extern void _cpp_mark_file_once_only (cpp_reader *, struct _cpp_file *);
652extern void _cpp_fake_include (cpp_reader *, const char *);667extern void _cpp_fake_include (cpp_reader *, const char *);
653extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool,668extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool,
654 source_location);669 location_t);
655extern bool _cpp_stack_include (cpp_reader *, const char *, int,670extern bool _cpp_stack_include (cpp_reader *, const char *, int,
656 enum include_type, source_location);671 enum include_type, location_t);
657extern int _cpp_compare_file_date (cpp_reader *, const char *, int);672extern int _cpp_compare_file_date (cpp_reader *, const char *, int);
658extern void _cpp_report_missing_guards (cpp_reader *);673extern void _cpp_report_missing_guards (cpp_reader *);
659extern void _cpp_init_files (cpp_reader *);674extern void _cpp_init_files (cpp_reader *);
@@ -685,6 +700,14 @@ extern void _cpp_init_tokenrun (tokenrun *, unsigned int); · 25 unmodified lines
685extern cpp_hashnode *_cpp_lex_identifier (cpp_reader *, const char *);700extern cpp_hashnode *_cpp_lex_identifier (cpp_reader *, const char *);
686extern int _cpp_remaining_tokens_num_in_context (cpp_context *);701extern int _cpp_remaining_tokens_num_in_context (cpp_context *);
687extern void _cpp_init_lexer (void);702extern void _cpp_init_lexer (void);
703static inline void *_cpp_reserve_room (cpp_reader *pfile, size_t have,
704 size_t extra)
705{
706 if (BUFF_ROOM (pfile->a_buff) < (have + extra))
707 _cpp_extend_buff (pfile, &pfile->a_buff, extra);
708 return BUFF_FRONT (pfile->a_buff);
709}
710extern void *_cpp_commit_buff (cpp_reader *pfile, size_t size);
688 711
689/* In init.c. */712/* In init.c. */
690extern void _cpp_maybe_push_include_file (cpp_reader *);713extern void _cpp_maybe_push_include_file (cpp_reader *);
@@ -696,7 +719,7 @@ extern int _cpp_handle_directive (cpp_reader *, int); · 5 unmodified lines
696extern void _cpp_define_builtin (cpp_reader *, const char *);719extern void _cpp_define_builtin (cpp_reader *, const char *);
697extern char ** _cpp_save_pragma_names (cpp_reader *);720extern char ** _cpp_save_pragma_names (cpp_reader *);
698extern void _cpp_restore_pragma_names (cpp_reader *, char **);721extern void _cpp_restore_pragma_names (cpp_reader *, char **);
699extern int _cpp_do__Pragma (cpp_reader *, source_location);722extern int _cpp_do__Pragma (cpp_reader *, location_t);
700extern void _cpp_init_directives (cpp_reader *);723extern void _cpp_init_directives (cpp_reader *);
701extern void _cpp_init_internal_pragmas (cpp_reader *);724extern void _cpp_init_internal_pragmas (cpp_reader *);
702extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *,725extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *,
@@ -709,7 +732,7 @@ struct _cpp_dir_only_callbacks · 6 unmodified lines
709{732{
710 /* Called to print a block of lines. */733 /* Called to print a block of lines. */
711 void (*print_lines) (int, const void *, size_t);734 void (*print_lines) (int, const void *, size_t);
712 bool (*maybe_print_line) (source_location);735 bool (*maybe_print_line) (location_t);
713};736};
714 737
715extern void _cpp_preprocess_dir_only (cpp_reader *,738extern void _cpp_preprocess_dir_only (cpp_reader *,
@@ -721,7 +744,7 @@ extern bool _cpp_read_logical_line_trad (cpp_reader *); · 5 unmodified lines
721extern void _cpp_overlay_buffer (cpp_reader *pfile, const unsigned char *,744extern void _cpp_overlay_buffer (cpp_reader *pfile, const unsigned char *,
722 size_t);745 size_t);
723extern void _cpp_remove_overlay (cpp_reader *);746extern void _cpp_remove_overlay (cpp_reader *);
724extern bool _cpp_create_trad_definition (cpp_reader *, cpp_macro *);747extern cpp_macro *_cpp_create_trad_definition (cpp_reader *);
725extern bool _cpp_expansions_different_trad (const cpp_macro *,748extern bool _cpp_expansions_different_trad (const cpp_macro *,
726 const cpp_macro *);749 const cpp_macro *);
727extern unsigned char *_cpp_copy_replacement_text (const cpp_macro *,750extern unsigned char *_cpp_copy_replacement_text (const cpp_macro *,
@@ -846,7 +869,7 @@ ufputs (const unsigned char *s, FILE *f) · 118 unmodified lines
846 the replacement-list of MACRO. */869 the replacement-list of MACRO. */
847const line_map_macro *linemap_enter_macro (struct line_maps *,870const line_map_macro *linemap_enter_macro (struct line_maps *,
848 struct cpp_hashnode*,871 struct cpp_hashnode*,
849 source_location,872 location_t,
850 unsigned int);873 unsigned int);
851 874
852/* Create and return a virtual location for a token that is part of a875/* Create and return a virtual location for a token that is part of a
@@ -871,10 +894,10 @@ const line_map_macro *linemap_enter_macro (struct line_maps *, · 18 unmodified lines
871 MACRO_DEFINITION_LOC is the location in the macro definition,894 MACRO_DEFINITION_LOC is the location in the macro definition,
872 either of the token itself or of a macro parameter that it895 either of the token itself or of a macro parameter that it
873 replaces. */896 replaces. */
874source_location linemap_add_macro_token (const line_map_macro *,897location_t linemap_add_macro_token (const line_map_macro *,
875 unsigned int,898 unsigned int,
876 source_location,899 location_t,
877 source_location);900 location_t);
878 901
879/* Return the source line number corresponding to source location902/* Return the source line number corresponding to source location
880 LOCATION. SET is the line map set LOCATION comes from. If903 LOCATION. SET is the line map set LOCATION comes from. If
@@ -882,7 +905,7 @@ source_location linemap_add_macro_token (const line_map_macro *, · 1 unmodified line
882 expansion-list of a macro expansion return the line number of the905 expansion-list of a macro expansion return the line number of the
883 macro expansion point. */906 macro expansion point. */
884int linemap_get_expansion_line (struct line_maps *,907int linemap_get_expansion_line (struct line_maps *,
885 source_location);908 location_t);
886 909
887/* Return the path of the file corresponding to source code location910/* Return the path of the file corresponding to source code location
888 LOCATION.911 LOCATION.
@@ -893,7 +916,7 @@ int linemap_get_expansion_line (struct line_maps *, · 4 unmodified lines
893 916
894 SET is the line map set LOCATION comes from. */917 SET is the line map set LOCATION comes from. */
895const char* linemap_get_expansion_filename (struct line_maps *,918const char* linemap_get_expansion_filename (struct line_maps *,
896 source_location);919 location_t);
897 920
898#ifdef __cplusplus921#ifdef __cplusplus
899}922}
gcc/libcpp/lex.c+44−24
@@ -1,5 +1,5 @@
1/* CPP Library - lexical analysis.1/* CPP Library - lexical analysis.
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
3 Contributed by Per Bothner, 1994-95.3 Contributed by Per Bothner, 1994-95.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -1232,7 +1232,7 @@ static int · 1226 unmodified lines
1232skip_line_comment (cpp_reader *pfile)1232skip_line_comment (cpp_reader *pfile)
1233{1233{
1234 cpp_buffer *buffer = pfile->buffer;1234 cpp_buffer *buffer = pfile->buffer;
1235 source_location orig_line = pfile->line_table->highest_line;1235 location_t orig_line = pfile->line_table->highest_line;
1236 1236
1237 while (*buffer->cur != '\n')1237 while (*buffer->cur != '\n')
1238 buffer->cur++;1238 buffer->cur++;
@@ -1627,7 +1627,7 @@ is_macro(cpp_reader *pfile, const uchar *base) · 388 unmodified lines
1627 cpp_hashnode *result = CPP_HASHNODE (ht_lookup_with_hash (pfile->hash_table,1627 cpp_hashnode *result = CPP_HASHNODE (ht_lookup_with_hash (pfile->hash_table,
1628 base, cur - base, hash, HT_NO_INSERT));1628 base, cur - base, hash, HT_NO_INSERT));
1629 1629
1630 return !result ? false : (result->type == NT_MACRO);1630 return result && cpp_macro_p (result);
1631}1631}
1632 1632
1633/* Returns true if a literal suffix does not have the expected form1633/* Returns true if a literal suffix does not have the expected form
@@ -1894,7 +1894,7 @@ lex_raw_string (cpp_reader *pfile, cpp_token *token, const uchar *base, · 260 unmodified lines
1894 _cpp_process_line_notes (pfile, false);1894 _cpp_process_line_notes (pfile, false);
1895 if (!_cpp_get_fresh_line (pfile))1895 if (!_cpp_get_fresh_line (pfile))
1896 {1896 {
1897 source_location src_loc = token->src_loc;1897 location_t src_loc = token->src_loc;
1898 token->type = CPP_EOF;1898 token->type = CPP_EOF;
1899 /* Tell the compiler the line number of the EOF token. */1899 /* Tell the compiler the line number of the EOF token. */
1900 token->src_loc = pfile->line_table->highest_line;1900 token->src_loc = pfile->line_table->highest_line;
@@ -2757,8 +2757,8 @@ _cpp_lex_direct (cpp_reader *pfile) · 856 unmodified lines
2757 }2757 }
2758 c = *buffer->cur++;2758 c = *buffer->cur++;
2759 2759
2760 if (pfile->forced_token_location_p)2760 if (pfile->forced_token_location)
2761 result->src_loc = *pfile->forced_token_location_p;2761 result->src_loc = pfile->forced_token_location;
2762 else2762 else
2763 result->src_loc = linemap_position_for_column (pfile->line_table,2763 result->src_loc = linemap_position_for_column (pfile->line_table,
2764 CPP_BUF_COLUMN (buffer, buffer->cur));2764 CPP_BUF_COLUMN (buffer, buffer->cur));
@@ -2872,10 +2872,10 @@ _cpp_lex_direct (cpp_reader *pfile) · 107 unmodified lines
2872 && CPP_PEDANTIC (pfile)2872 && CPP_PEDANTIC (pfile)
2873 && ! buffer->warned_cplusplus_comments)2873 && ! buffer->warned_cplusplus_comments)
2874 {2874 {
2875 cpp_error (pfile, CPP_DL_PEDWARN,2875 if (cpp_error (pfile, CPP_DL_PEDWARN,
2876 "C++ style comments are not allowed in ISO C90");2876 "C++ style comments are not allowed in ISO C90"))
2877 cpp_error (pfile, CPP_DL_PEDWARN,2877 cpp_error (pfile, CPP_DL_NOTE,
2878 "(this will be reported only once per input file)");2878 "(this will be reported only once per input file)");
2879 buffer->warned_cplusplus_comments = 1;2879 buffer->warned_cplusplus_comments = 1;
2880 }2880 }
2881 /* Or if specifically desired via -Wc90-c99-compat. */2881 /* Or if specifically desired via -Wc90-c99-compat. */
@@ -2883,10 +2883,10 @@ _cpp_lex_direct (cpp_reader *pfile) · 1 unmodified line
2883 && ! CPP_OPTION (pfile, cplusplus)2883 && ! CPP_OPTION (pfile, cplusplus)
2884 && ! buffer->warned_cplusplus_comments)2884 && ! buffer->warned_cplusplus_comments)
2885 {2885 {
2886 cpp_error (pfile, CPP_DL_WARNING,2886 if (cpp_error (pfile, CPP_DL_WARNING,
2887 "C++ style comments are incompatible with C90");2887 "C++ style comments are incompatible with C90"))
2888 cpp_error (pfile, CPP_DL_WARNING,2888 cpp_error (pfile, CPP_DL_NOTE,
2889 "(this will be reported only once per input file)");2889 "(this will be reported only once per input file)");
2890 buffer->warned_cplusplus_comments = 1;2890 buffer->warned_cplusplus_comments = 1;
2891 }2891 }
2892 /* In C89/C94, C++ style comments are forbidden. */2892 /* In C89/C94, C++ style comments are forbidden. */
@@ -2906,11 +2906,12 @@ _cpp_lex_direct (cpp_reader *pfile) · 13 unmodified lines
2906 }2906 }
2907 else if (! buffer->warned_cplusplus_comments)2907 else if (! buffer->warned_cplusplus_comments)
2908 {2908 {
2909 cpp_error (pfile, CPP_DL_ERROR,2909 if (cpp_error (pfile, CPP_DL_ERROR,
2910 "C++ style comments are not allowed in ISO C90");2910 "C++ style comments are not allowed in "
2911 cpp_error (pfile, CPP_DL_ERROR,2911 "ISO C90"))
2912 "(this will be reported only once per input "2912 cpp_error (pfile, CPP_DL_NOTE,
2913 "file)");2913 "(this will be reported only once per input "
2914 "file)");
2914 buffer->warned_cplusplus_comments = 1;2915 buffer->warned_cplusplus_comments = 1;
2915 }2916 }
2916 }2917 }
@@ -3724,6 +3725,25 @@ _cpp_aligned_alloc (cpp_reader *pfile, size_t len) · 807 unmodified lines
3724 return result;3725 return result;
3725}3726}
3726 3727
3728/* Commit or allocate storage from a buffer. */
3729
3730void *
3731_cpp_commit_buff (cpp_reader *pfile, size_t size)
3732{
3733 void *ptr = BUFF_FRONT (pfile->a_buff);
3734
3735 if (pfile->hash_table->alloc_subobject)
3736 {
3737 void *copy = pfile->hash_table->alloc_subobject (size);
3738 memcpy (copy, ptr, size);
3739 ptr = copy;
3740 }
3741 else
3742 BUFF_FRONT (pfile->a_buff) += size;
3743
3744 return ptr;
3745}
3746
3727/* Say which field of TOK is in use. */3747/* Say which field of TOK is in use. */
3728 3748
3729enum cpp_token_fld_kind3749enum cpp_token_fld_kind
@@ -3753,14 +3773,14 @@ cpp_token_val_index (const cpp_token *tok) · 23 unmodified lines
3753 }3773 }
3754}3774}
3755 3775
3756/* All tokens lexed in R after calling this function will be forced to have3776/* All tokens lexed in R after calling this function will be forced to
3757 their source_location the same as the location referenced by P, until3777 have their location_t to be P, until
3758 cpp_stop_forcing_token_locations is called for R. */3778 cpp_stop_forcing_token_locations is called for R. */
3759 3779
3760void3780void
3761cpp_force_token_locations (cpp_reader *r, source_location *p)3781cpp_force_token_locations (cpp_reader *r, location_t loc)
3762{3782{
3763 r->forced_token_location_p = p;3783 r->forced_token_location = loc;
3764}3784}
3765 3785
3766/* Go back to assigning locations naturally for lexed tokens. */3786/* Go back to assigning locations naturally for lexed tokens. */
@@ -3768,5 +3788,5 @@ cpp_force_token_locations (cpp_reader *r, source_location *p) · 1 unmodified line
3768void3788void
3769cpp_stop_forcing_token_locations (cpp_reader *r)3789cpp_stop_forcing_token_locations (cpp_reader *r)
3770{3790{
3771 r->forced_token_location_p = NULL;3791 r->forced_token_location = 0;
3772}3792}
gcc/libcpp/line-map.c+293−305
@@ -1,5 +1,5 @@
1/* Map (unsigned int) keys to (source file, line, column) triples.1/* Map (unsigned int) keys to (source file, line, column) triples.
2 Copyright (C) 2001-2018 Free Software Foundation, Inc.2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
@@ -26,27 +26,23 @@ along with this program; see the file COPYING3. If not see · 20 unmodified lines
26#include "internal.h"26#include "internal.h"
27#include "hashtab.h"27#include "hashtab.h"
28 28
29/* Highest possible source location encoded within an ordinary or
30 macro map. */
31const source_location LINE_MAP_MAX_SOURCE_LOCATION = 0x70000000;
32
33static void trace_include (const struct line_maps *, const line_map_ordinary *);29static void trace_include (const struct line_maps *, const line_map_ordinary *);
34static const line_map_ordinary * linemap_ordinary_map_lookup (struct line_maps *,30static const line_map_ordinary * linemap_ordinary_map_lookup (struct line_maps *,
35 source_location);31 location_t);
36static const line_map_macro* linemap_macro_map_lookup (struct line_maps *,32static const line_map_macro* linemap_macro_map_lookup (struct line_maps *,
37 source_location);33 location_t);
38static source_location linemap_macro_map_loc_to_def_point34static location_t linemap_macro_map_loc_to_def_point
39(const line_map_macro *, source_location);35(const line_map_macro *, location_t);
40static source_location linemap_macro_map_loc_to_exp_point36static location_t linemap_macro_map_loc_to_exp_point
41(const line_map_macro *, source_location);37(const line_map_macro *, location_t);
42static source_location linemap_macro_loc_to_spelling_point38static location_t linemap_macro_loc_to_spelling_point
43(struct line_maps *, source_location, const line_map_ordinary **);39(struct line_maps *, location_t, const line_map_ordinary **);
44static source_location linemap_macro_loc_to_def_point (struct line_maps *,40static location_t linemap_macro_loc_to_def_point (line_maps *,
45 source_location,41 location_t,
46 const line_map_ordinary **);42 const line_map_ordinary **);
47static source_location linemap_macro_loc_to_exp_point (struct line_maps *,43static location_t linemap_macro_loc_to_exp_point (line_maps *,
48 source_location,44 location_t,
49 const line_map_ordinary **);45 const line_map_ordinary **);
50 46
51/* Counters defined in macro.c. */47/* Counters defined in macro.c. */
52extern unsigned num_expanded_macros_counter;48extern unsigned num_expanded_macros_counter;
@@ -114,16 +110,16 @@ rebuild_location_adhoc_htab (struct line_maps *set) · 61 unmodified lines
114 110
115/* Helper function for get_combined_adhoc_loc.111/* Helper function for get_combined_adhoc_loc.
116 Can the given LOCUS + SRC_RANGE and DATA pointer be stored compactly112 Can the given LOCUS + SRC_RANGE and DATA pointer be stored compactly
117 within a source_location, without needing to use an ad-hoc location. */113 within a location_t, without needing to use an ad-hoc location. */
118 114
119static bool115static bool
120can_be_stored_compactly_p (struct line_maps *set,116can_be_stored_compactly_p (struct line_maps *set,
121 source_location locus,117 location_t locus,
122 source_range src_range,118 source_range src_range,
123 void *data)119 void *data)
124{120{
125 /* If there's an ad-hoc pointer, we can't store it directly in the121 /* If there's an ad-hoc pointer, we can't store it directly in the
126 source_location, we need the lookaside. */122 location_t, we need the lookaside. */
127 if (data)123 if (data)
128 return false;124 return false;
129 125
@@ -143,7 +139,7 @@ can_be_stored_compactly_p (struct line_maps *set, · 13 unmodified lines
143 139
144 /* All 3 locations must be within ordinary maps, typically, the same140 /* All 3 locations must be within ordinary maps, typically, the same
145 ordinary map. */141 ordinary map. */
146 source_location lowest_macro_loc = LINEMAPS_MACRO_LOWEST_LOCATION (set);142 location_t lowest_macro_loc = LINEMAPS_MACRO_LOWEST_LOCATION (set);
147 if (locus >= lowest_macro_loc)143 if (locus >= lowest_macro_loc)
148 return false;144 return false;
149 if (src_range.m_start >= lowest_macro_loc)145 if (src_range.m_start >= lowest_macro_loc)
@@ -157,9 +153,9 @@ can_be_stored_compactly_p (struct line_maps *set, · 7 unmodified lines
157 153
158/* Combine LOCUS and DATA to a combined adhoc loc. */154/* Combine LOCUS and DATA to a combined adhoc loc. */
159 155
160source_location156location_t
161get_combined_adhoc_loc (struct line_maps *set,157get_combined_adhoc_loc (struct line_maps *set,
162 source_location locus,158 location_t locus,
163 source_range src_range,159 source_range src_range,
164 void *data)160 void *data)
165{161{
@@ -168,7 +164,7 @@ get_combined_adhoc_loc (struct line_maps *set, · 2 unmodified lines
168 164
169 if (IS_ADHOC_LOC (locus))165 if (IS_ADHOC_LOC (locus))
170 locus166 locus
171 = set->location_adhoc_data_map.data[locus & MAX_SOURCE_LOCATION].locus;167 = set->location_adhoc_data_map.data[locus & MAX_LOCATION_T].locus;
172 if (locus == 0 && data == NULL)168 if (locus == 0 && data == NULL)
173 return 0;169 return 0;
174 170
@@ -190,7 +186,7 @@ get_combined_adhoc_loc (struct line_maps *set, · 15 unmodified lines
190 unsigned int col_diff = (int_diff >> ordmap->m_range_bits);186 unsigned int col_diff = (int_diff >> ordmap->m_range_bits);
191 if (col_diff < (1U << ordmap->m_range_bits))187 if (col_diff < (1U << ordmap->m_range_bits))
192 {188 {
193 source_location packed = locus | col_diff;189 location_t packed = locus | col_diff;
194 set->num_optimized_ranges++;190 set->num_optimized_ranges++;
195 return packed;191 return packed;
196 }192 }
@@ -247,28 +243,28 @@ get_combined_adhoc_loc (struct line_maps *set, · 50 unmodified lines
247/* Return the data for the adhoc loc. */243/* Return the data for the adhoc loc. */
248 244
249void *245void *
250get_data_from_adhoc_loc (struct line_maps *set, source_location loc)246get_data_from_adhoc_loc (struct line_maps *set, location_t loc)
251{247{
252 linemap_assert (IS_ADHOC_LOC (loc));248 linemap_assert (IS_ADHOC_LOC (loc));
253 return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].data;249 return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
254}250}
255 251
256/* Return the location for the adhoc loc. */252/* Return the location for the adhoc loc. */
257 253
258source_location254location_t
259get_location_from_adhoc_loc (struct line_maps *set, source_location loc)255get_location_from_adhoc_loc (struct line_maps *set, location_t loc)
260{256{
261 linemap_assert (IS_ADHOC_LOC (loc));257 linemap_assert (IS_ADHOC_LOC (loc));
262 return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;258 return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
263}259}
264 260
265/* Return the source_range for adhoc location LOC. */261/* Return the source_range for adhoc location LOC. */
266 262
267static source_range263static source_range
268get_range_from_adhoc_loc (struct line_maps *set, source_location loc)264get_range_from_adhoc_loc (struct line_maps *set, location_t loc)
269{265{
270 linemap_assert (IS_ADHOC_LOC (loc));266 linemap_assert (IS_ADHOC_LOC (loc));
271 return set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].src_range;267 return set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].src_range;
272}268}
273 269
274/* Get the source_range of location LOC, either from the ad-hoc270/* Get the source_range of location LOC, either from the ad-hoc
@@ -276,7 +272,7 @@ get_range_from_adhoc_loc (struct line_maps *set, source_location loc) · 1 unmodified line
276 272
277source_range273source_range
278get_range_from_loc (struct line_maps *set,274get_range_from_loc (struct line_maps *set,
279 source_location loc)275 location_t loc)
280{276{
281 if (IS_ADHOC_LOC (loc))277 if (IS_ADHOC_LOC (loc))
282 return get_range_from_adhoc_loc (set, loc);278 return get_range_from_adhoc_loc (set, loc);
@@ -302,12 +298,14 @@ get_range_from_loc (struct line_maps *set, · 19 unmodified lines
302 whether it is an ad-hoc location, or embeds range information. */298 whether it is an ad-hoc location, or embeds range information. */
303 299
304bool300bool
305pure_location_p (line_maps *set, source_location loc)301pure_location_p (line_maps *set, location_t loc)
306{302{
307 if (IS_ADHOC_LOC (loc))303 if (IS_ADHOC_LOC (loc))
308 return false;304 return false;
309 305
310 const line_map *map = linemap_lookup (set, loc);306 const line_map *map = linemap_lookup (set, loc);
307 if (map == NULL)
308 return true;
311 const line_map_ordinary *ordmap = linemap_check_ordinary (map);309 const line_map_ordinary *ordmap = linemap_check_ordinary (map);
312 310
313 if (loc & ((1U << ordmap->m_range_bits) - 1))311 if (loc & ((1U << ordmap->m_range_bits) - 1))
@@ -319,12 +317,12 @@ pure_location_p (line_maps *set, source_location loc) · 5 unmodified lines
319/* Given location LOC within SET, strip away any packed range information317/* Given location LOC within SET, strip away any packed range information
320 or ad-hoc information. */318 or ad-hoc information. */
321 319
322source_location320location_t
323get_pure_location (line_maps *set, source_location loc)321get_pure_location (line_maps *set, location_t loc)
324{322{
325 if (IS_ADHOC_LOC (loc))323 if (IS_ADHOC_LOC (loc))
326 loc324 loc
327 = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;325 = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
328 326
329 if (loc >= LINEMAPS_MACRO_LOWEST_LOCATION (set))327 if (loc >= LINEMAPS_MACRO_LOWEST_LOCATION (set))
330 return loc;328 return loc;
@@ -342,14 +340,16 @@ get_pure_location (line_maps *set, source_location loc) · 11 unmodified lines
342 340
343void341void
344linemap_init (struct line_maps *set,342linemap_init (struct line_maps *set,
345 source_location builtin_location)343 location_t builtin_location)
346{344{
347#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && !defined (__clang__)345#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && !defined (__clang__)
348 /* PR33916, needed to fix PR82939. */346 /* PR33916, needed to fix PR82939. */
349 memset (set, 0, sizeof (struct line_maps));347 memset (set, 0, sizeof (struct line_maps));
350#else348#else
351 *set = line_maps ();349 new (set) line_maps();
352#endif350#endif
351 /* Set default reallocator (used for initial alloc too). */
352 set->reallocator = xrealloc;
353 set->highest_location = RESERVED_LOCATION_COUNT - 1;353 set->highest_location = RESERVED_LOCATION_COUNT - 1;
354 set->highest_line = RESERVED_LOCATION_COUNT - 1;354 set->highest_line = RESERVED_LOCATION_COUNT - 1;
355 set->location_adhoc_data_map.htab =355 set->location_adhoc_data_map.htab =
@@ -357,17 +357,25 @@ linemap_init (struct line_maps *set, · 1 unmodified line
357 set->builtin_location = builtin_location;357 set->builtin_location = builtin_location;
358}358}
359 359
360/* Return the ordinary line map from whence MAP was included. Returns
361 NULL if MAP was not an include. */
362
363const line_map_ordinary *
364linemap_included_from_linemap (line_maps *set, const line_map_ordinary *map)
365{
366 return linemap_ordinary_map_lookup (set, linemap_included_from (map));
367}
368
360/* Check for and warn about line_maps entered but not exited. */369/* Check for and warn about line_maps entered but not exited. */
361 370
362void371void
363linemap_check_files_exited (struct line_maps *set)372linemap_check_files_exited (struct line_maps *set)
364{373{
365 const line_map_ordinary *map;
366 /* Depending upon whether we are handling preprocessed input or374 /* Depending upon whether we are handling preprocessed input or
367 not, this can be a user error or an ICE. */375 not, this can be a user error or an ICE. */
368 for (map = LINEMAPS_LAST_ORDINARY_MAP (set);376 for (const line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);
369 ! MAIN_FILE_P (map);377 ! MAIN_FILE_P (map);
370 map = INCLUDED_FROM (set, map))378 map = linemap_included_from_linemap (set, map))
371 fprintf (stderr, "line-map.c: file \"%s\" entered but not left\n",379 fprintf (stderr, "line-map.c: file \"%s\" entered but not left\n",
372 ORDINARY_MAP_FILE_NAME (map));380 ORDINARY_MAP_FILE_NAME (map));
373}381}
@@ -378,86 +386,62 @@ linemap_check_files_exited (struct line_maps *set) · 4 unmodified lines
378 macro maps are allocated in different memory location. */386 macro maps are allocated in different memory location. */
379 387
380static struct line_map *388static struct line_map *
381new_linemap (struct line_maps *set,389new_linemap (struct line_maps *set, location_t start_location)
382 enum lc_reason reason)
383{390{
384 /* Depending on this variable, a macro map would be allocated in a391 bool macro_p = start_location >= LINE_MAP_MAX_LOCATION;
385 different memory location than an ordinary map. */392 unsigned num_maps_allocated = LINEMAPS_ALLOCATED (set, macro_p);
386 bool macro_map_p = (reason == LC_ENTER_MACRO);393 unsigned num_maps_used = LINEMAPS_USED (set, macro_p);
387 struct line_map *result;
388 394
389 if (LINEMAPS_USED (set, macro_map_p) == LINEMAPS_ALLOCATED (set, macro_map_p))395 if (num_maps_used == num_maps_allocated)
390 {396 {
391 /* We ran out of allocated line maps. Let's allocate more. */397 /* We need more space! */
392 size_t alloc_size;398 if (!num_maps_allocated)
393 399 num_maps_allocated = 128;
394 /* Cast away extern "C" from the type of xrealloc. */400 num_maps_allocated *= 2;
395 line_map_realloc reallocator = (set->reallocator401
396 ? set->reallocator402 size_t size_of_a_map;
397 : (line_map_realloc) xrealloc);403 void *buffer;
398 line_map_round_alloc_size_func round_alloc_size =404 if (macro_p)
399 set->round_alloc_size;405 {
400 406 size_of_a_map = sizeof (line_map_macro);
401 size_t map_size = (macro_map_p407 buffer = set->info_macro.maps;
402 ? sizeof (line_map_macro)408 }
403 : sizeof (line_map_ordinary));409 else
410 {
411 size_of_a_map = sizeof (line_map_ordinary);
412 buffer = set->info_ordinary.maps;
413 }
404 414
405 /* We are going to execute some dance to try to reduce the415 /* We are going to execute some dance to try to reduce the
406 overhead of the memory allocator, in case we are using the416 overhead of the memory allocator, in case we are using the
407 ggc-page.c one.417 ggc-page.c one.
408 418
409 The actual size of memory we are going to get back from the419 The actual size of memory we are going to get back from the
410 allocator is the smallest power of 2 that is greater than the420 allocator may well be larger than what we ask for. Use this
411 size we requested. So let's consider that size then. */421 hook to find what that size is. */
412 422 size_t alloc_size
413 alloc_size =423 = set->round_alloc_size (num_maps_allocated * size_of_a_map);
414 (2 * LINEMAPS_ALLOCATED (set, macro_map_p) + 256)
415 * map_size;
416
417 /* Get the actual size of memory that is going to be allocated
418 by the allocator. */
419 alloc_size = round_alloc_size (alloc_size);
420 424
421 /* Now alloc_size contains the exact memory size we would get if425 /* Now alloc_size contains the exact memory size we would get if
422 we have asked for the initial alloc_size amount of memory.426 we have asked for the initial alloc_size amount of memory.
423 Let's get back to the number of macro map that amounts427 Let's get back to the number of map that amounts to. */
424 to. */428 unsigned num_maps = alloc_size / size_of_a_map;
425 LINEMAPS_ALLOCATED (set, macro_map_p) =429 buffer = set->reallocator (buffer, num_maps * size_of_a_map);
426 alloc_size / map_size;430 memset ((char *)buffer + num_maps_used * size_of_a_map, 0,
427 431 (num_maps - num_maps_used) * size_of_a_map);
428 /* And now let's really do the re-allocation. */432 if (macro_p)
429 if (macro_map_p)433 set->info_macro.maps = (line_map_macro *)buffer;
430 {
431 set->info_macro.maps
432 = (line_map_macro *) (*reallocator) (set->info_macro.maps,
433 (LINEMAPS_ALLOCATED (set, macro_map_p)
434 * map_size));
435 result = &set->info_macro.maps[LINEMAPS_USED (set, macro_map_p)];
436 }
437 else434 else
438 {435 set->info_ordinary.maps = (line_map_ordinary *)buffer;
439 set->info_ordinary.maps =436 LINEMAPS_ALLOCATED (set, macro_p) = num_maps;
440 (line_map_ordinary *) (*reallocator) (set->info_ordinary.maps,
441 (LINEMAPS_ALLOCATED (set, macro_map_p)
442 * map_size));
443 result = &set->info_ordinary.maps[LINEMAPS_USED (set, macro_map_p)];
444 }
445 memset (result, 0,
446 ((LINEMAPS_ALLOCATED (set, macro_map_p)
447 - LINEMAPS_USED (set, macro_map_p))
448 * map_size));
449 }
450 else
451 {
452 if (macro_map_p)
453 result = &set->info_macro.maps[LINEMAPS_USED (set, macro_map_p)];
454 else
455 result = &set->info_ordinary.maps[LINEMAPS_USED (set, macro_map_p)];
456 }437 }
457 438
458 LINEMAPS_USED (set, macro_map_p)++;439 line_map *result = (macro_p ? (line_map *)&set->info_macro.maps[num_maps_used]
440 : (line_map *)&set->info_ordinary.maps[num_maps_used]);
441 LINEMAPS_USED (set, macro_p)++;
442
443 result->start_location = start_location;
459 444
460 result->reason = reason;
461 return result;445 return result;
462}446}
463 447
@@ -480,7 +464,7 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 16 unmodified lines
480{464{
481 /* Generate a start_location above the current highest_location.465 /* Generate a start_location above the current highest_location.
482 If possible, make the low range bits be zero. */466 If possible, make the low range bits be zero. */
483 source_location start_location;467 location_t start_location;
484 if (set->highest_location < LINE_MAP_MAX_LOCATION_WITH_COLS)468 if (set->highest_location < LINE_MAP_MAX_LOCATION_WITH_COLS)
485 {469 {
486 start_location = set->highest_location + (1 << set->default_range_bits);470 start_location = set->highest_location + (1 << set->default_range_bits);
@@ -492,9 +476,9 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 5 unmodified lines
492 else476 else
493 start_location = set->highest_location + 1;477 start_location = set->highest_location + 1;
494 478
495 linemap_assert (!(LINEMAPS_ORDINARY_USED (set)479 linemap_assert (!LINEMAPS_ORDINARY_USED (set)
496 && (start_location480 || (start_location
497 < MAP_START_LOCATION (LINEMAPS_LAST_ORDINARY_MAP (set)))));481 >= MAP_START_LOCATION (LINEMAPS_LAST_ORDINARY_MAP (set))));
498 482
499 /* When we enter the file for the first time reason cannot be483 /* When we enter the file for the first time reason cannot be
500 LC_RENAME. */484 LC_RENAME. */
@@ -510,7 +494,14 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 9 unmodified lines
510 }494 }
511 495
512 linemap_assert (reason != LC_ENTER_MACRO);496 linemap_assert (reason != LC_ENTER_MACRO);
513 line_map_ordinary *map = linemap_check_ordinary (new_linemap (set, reason));497
498 if (start_location >= LINE_MAP_MAX_LOCATION)
499 /* We ran out of line map space. */
500 start_location = 0;
501
502 line_map_ordinary *map
503 = linemap_check_ordinary (new_linemap (set, start_location));
504 map->reason = reason;
514 505
515 if (to_file && *to_file == '\0' && reason != LC_RENAME_VERBATIM)506 if (to_file && *to_file == '\0' && reason != LC_RENAME_VERBATIM)
516 to_file = "<stdin>";507 to_file = "<stdin>";
@@ -518,19 +509,19 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 1 unmodified line
518 if (reason == LC_RENAME_VERBATIM)509 if (reason == LC_RENAME_VERBATIM)
519 reason = LC_RENAME;510 reason = LC_RENAME;
520 511
512 const line_map_ordinary *from = NULL;
521 if (reason == LC_LEAVE)513 if (reason == LC_LEAVE)
522 {514 {
523 /* When we are just leaving an "included" file, and jump to the next515 /* When we are just leaving an "included" file, and jump to the next
524 location inside the "includer" right after the #include516 location inside the "includer" right after the #include
525 "included", this variable points the map in use right before the517 "included", this variable points the map in use right before the
526 #include "included", inside the same "includer" file. */518 #include "included", inside the same "includer" file. */
527 line_map_ordinary *from;
528 519
529 linemap_assert (!MAIN_FILE_P (map - 1));520 linemap_assert (!MAIN_FILE_P (map - 1));
530 /* (MAP - 1) points to the map we are leaving. The521 /* (MAP - 1) points to the map we are leaving. The
531 map from which (MAP - 1) got included should be the map522 map from which (MAP - 1) got included should be the map
532 that comes right before MAP in the same file. */523 that comes right before MAP in the same file. */
533 from = INCLUDED_FROM (set, map - 1);524 from = linemap_included_from_linemap (set, map - 1);
534 525
535 /* A TO_FILE of NULL is special - we use the natural values. */526 /* A TO_FILE of NULL is special - we use the natural values. */
536 if (to_file == NULL)527 if (to_file == NULL)
@@ -545,7 +536,6 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 8 unmodified lines
545 }536 }
546 537
547 map->sysp = sysp;538 map->sysp = sysp;
548 map->start_location = start_location;
549 map->to_file = to_file;539 map->to_file = to_file;
550 map->to_line = to_line;540 map->to_line = to_line;
551 LINEMAPS_ORDINARY_CACHE (set) = LINEMAPS_ORDINARY_USED (set) - 1;541 LINEMAPS_ORDINARY_CACHE (set) = LINEMAPS_ORDINARY_USED (set) - 1;
@@ -563,19 +553,24 @@ linemap_add (struct line_maps *set, enum lc_reason reason, · 11 unmodified lines
563 553
564 if (reason == LC_ENTER)554 if (reason == LC_ENTER)
565 {555 {
566 map->included_from =556 if (set->depth == 0)
567 set->depth == 0 ? -1 : (int) (LINEMAPS_ORDINARY_USED (set) - 2);557 map->included_from = 0;
558 else
559 /* The location of the end of the just-closed map. */
560 map->included_from
561 = (((map[0].start_location - 1 - map[-1].start_location)
562 & ~((1 << map[-1].m_column_and_range_bits) - 1))
563 + map[-1].start_location);
568 set->depth++;564 set->depth++;
569 if (set->trace_includes)565 if (set->trace_includes)
570 trace_include (set, map);566 trace_include (set, map);
571 }567 }
572 else if (reason == LC_RENAME)568 else if (reason == LC_RENAME)
573 map->included_from = ORDINARY_MAP_INCLUDER_FILE_INDEX (&map[-1]);569 map->included_from = linemap_included_from (&map[-1]);
574 else if (reason == LC_LEAVE)570 else if (reason == LC_LEAVE)
575 {571 {
576 set->depth--;572 set->depth--;
577 map->included_from =573 map->included_from = linemap_included_from (from);
578 ORDINARY_MAP_INCLUDER_FILE_INDEX (INCLUDED_FROM (set, map - 1));
579 }574 }
580 575
581 return map;576 return map;
@@ -615,34 +610,26 @@ linemap_tracks_macro_expansion_locs_p (struct line_maps *set) · 33 unmodified lines
615 610
616const line_map_macro *611const line_map_macro *
617linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node,612linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node,
618 source_location expansion, unsigned int num_tokens)613 location_t expansion, unsigned int num_tokens)
619{614{
620 line_map_macro *map;615 location_t start_location
621 source_location start_location;616 = LINEMAPS_MACRO_LOWEST_LOCATION (set) - num_tokens;
622 /* Cast away extern "C" from the type of xrealloc. */
623 line_map_realloc reallocator = (set->reallocator
624 ? set->reallocator
625 : (line_map_realloc) xrealloc);
626 617
627 start_location = LINEMAPS_MACRO_LOWEST_LOCATION (set) - num_tokens;618 if (start_location < LINE_MAP_MAX_LOCATION)
628
629 if (start_location <= set->highest_line
630 || start_location > LINEMAPS_MACRO_LOWEST_LOCATION (set))
631 /* We ran out of macro map space. */619 /* We ran out of macro map space. */
632 return NULL;620 return NULL;
633 621
634 map = linemap_check_macro (new_linemap (set, LC_ENTER_MACRO));622 line_map_macro *map = linemap_check_macro (new_linemap (set, start_location));
635 623
636 map->start_location = start_location;
637 map->macro = macro_node;624 map->macro = macro_node;
638 map->n_tokens = num_tokens;625 map->n_tokens = num_tokens;
639 map->macro_locations626 map->macro_locations
640 = (source_location*) reallocator (NULL,627 = (location_t*) set->reallocator (NULL,
641 2 * num_tokens628 2 * num_tokens
642 * sizeof (source_location));629 * sizeof (location_t));
643 map->expansion = expansion;630 map->expansion = expansion;
644 memset (MACRO_MAP_LOCATIONS (map), 0,631 memset (MACRO_MAP_LOCATIONS (map), 0,
645 num_tokens * sizeof (source_location));632 2 * num_tokens * sizeof (location_t));
646 633
647 LINEMAPS_MACRO_CACHE (set) = LINEMAPS_MACRO_USED (set) - 1;634 LINEMAPS_MACRO_CACHE (set) = LINEMAPS_MACRO_USED (set) - 1;
648 635
@@ -672,13 +659,13 @@ linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node, · 23 unmodified lines
672 either of the token itself or of a macro parameter that it659 either of the token itself or of a macro parameter that it
673 replaces. */660 replaces. */
674 661
675source_location662location_t
676linemap_add_macro_token (const line_map_macro *map,663linemap_add_macro_token (const line_map_macro *map,
677 unsigned int token_no,664 unsigned int token_no,
678 source_location orig_loc,665 location_t orig_loc,
679 source_location orig_parm_replacement_loc)666 location_t orig_parm_replacement_loc)
680{667{
681 source_location result;668 location_t result;
682 669
683 linemap_assert (linemap_macro_expansion_map_p (map));670 linemap_assert (linemap_macro_expansion_map_p (map));
684 linemap_assert (token_no < MACRO_MAP_NUM_MACRO_TOKENS (map));671 linemap_assert (token_no < MACRO_MAP_NUM_MACRO_TOKENS (map));
@@ -690,19 +677,19 @@ linemap_add_macro_token (const line_map_macro *map, · 5 unmodified lines
690 return result;677 return result;
691}678}
692 679
693/* Return a source_location for the start (i.e. column==0) of680/* Return a location_t for the start (i.e. column==0) of
694 (physical) line TO_LINE in the current source file (as in the681 (physical) line TO_LINE in the current source file (as in the
695 most recent linemap_add). MAX_COLUMN_HINT is the highest column682 most recent linemap_add). MAX_COLUMN_HINT is the highest column
696 number we expect to use in this line (but it does not change683 number we expect to use in this line (but it does not change
697 the highest_location). */684 the highest_location). */
698 685
699source_location686location_t
700linemap_line_start (struct line_maps *set, linenum_type to_line,687linemap_line_start (struct line_maps *set, linenum_type to_line,
701 unsigned int max_column_hint)688 unsigned int max_column_hint)
702{689{
703 line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);690 line_map_ordinary *map = LINEMAPS_LAST_ORDINARY_MAP (set);
704 source_location highest = set->highest_location;691 location_t highest = set->highest_location;
705 source_location r;692 location_t r;
706 linenum_type last_line =693 linenum_type last_line =
707 SOURCE_LINE (map, set->highest_line);694 SOURCE_LINE (map, set->highest_line);
708 int line_delta = to_line - last_line;695 int line_delta = to_line - last_line;
@@ -718,7 +705,7 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 9 unmodified lines
718 || (highest > LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES705 || (highest > LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
719 && map->m_range_bits > 0)706 && map->m_range_bits > 0)
720 || (highest > LINE_MAP_MAX_LOCATION_WITH_COLS707 || (highest > LINE_MAP_MAX_LOCATION_WITH_COLS
721 && (set->max_column_hint || highest >= LINE_MAP_MAX_SOURCE_LOCATION)))708 && (set->max_column_hint || highest >= LINE_MAP_MAX_LOCATION)))
722 add_map = true;709 add_map = true;
723 else710 else
724 max_column_hint = set->max_column_hint;711 max_column_hint = set->max_column_hint;
@@ -730,12 +717,12 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 5 unmodified lines
730 || highest > LINE_MAP_MAX_LOCATION_WITH_COLS)717 || highest > LINE_MAP_MAX_LOCATION_WITH_COLS)
731 {718 {
732 /* If the column number is ridiculous or we've allocated a huge719 /* If the column number is ridiculous or we've allocated a huge
733 number of source_locations, give up on column numbers720 number of location_ts, give up on column numbers
734 (and on packed ranges). */721 (and on packed ranges). */
735 max_column_hint = 0;722 max_column_hint = 0;
736 column_bits = 0;723 column_bits = 0;
737 range_bits = 0;724 range_bits = 0;
738 if (highest > LINE_MAP_MAX_SOURCE_LOCATION)725 if (highest >= LINE_MAP_MAX_LOCATION)
739 return 0;726 return 0;
740 }727 }
741 else728 else
@@ -755,6 +742,11 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 13 unmodified lines
755 if (line_delta < 0742 if (line_delta < 0
756 || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)743 || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
757 || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))744 || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
745 || ( /* We can't reuse the map if the line offset is sufficiently
746 large to cause overflow when computing location_t values. */
747 (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
748 >= (((uint64_t) 1)
749 << (CHAR_BIT * sizeof (linenum_type) - column_bits)))
758 || range_bits < map->m_range_bits)750 || range_bits < map->m_range_bits)
759 map = linemap_check_ordinary751 map = linemap_check_ordinary
760 (const_cast <line_map *>752 (const_cast <line_map *>
@@ -773,7 +765,7 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 12 unmodified lines
773 765
774 /* Locations of ordinary tokens are always lower than locations of766 /* Locations of ordinary tokens are always lower than locations of
775 macro tokens. */767 macro tokens. */
776 if (r >= LINEMAPS_MACRO_LOWEST_LOCATION (set))768 if (r >= LINE_MAP_MAX_LOCATION)
777 return 0;769 return 0;
778 770
779 set->highest_line = r;771 set->highest_line = r;
@@ -795,15 +787,15 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 15 unmodified lines
795 return r;787 return r;
796}788}
797 789
798/* Encode and return a source_location from a column number. The790/* Encode and return a location_t from a column number. The
799 source line considered is the last source line used to call791 source line considered is the last source line used to call
800 linemap_line_start, i.e, the last source line which a location was792 linemap_line_start, i.e, the last source line which a location was
801 encoded from. */793 encoded from. */
802 794
803source_location795location_t
804linemap_position_for_column (struct line_maps *set, unsigned int to_column)796linemap_position_for_column (struct line_maps *set, unsigned int to_column)
805{797{
806 source_location r = set->highest_line;798 location_t r = set->highest_line;
807 799
808 linemap_assert800 linemap_assert
809 (!linemap_macro_expansion_map_p (LINEMAPS_LAST_ORDINARY_MAP (set)));801 (!linemap_macro_expansion_map_p (LINEMAPS_LAST_ORDINARY_MAP (set)));
@@ -813,7 +805,7 @@ linemap_position_for_column (struct line_maps *set, unsigned int to_column) · 3 unmodified lines
813 if (r > LINE_MAP_MAX_LOCATION_WITH_COLS805 if (r > LINE_MAP_MAX_LOCATION_WITH_COLS
814 || to_column > LINE_MAP_MAX_COLUMN_NUMBER)806 || to_column > LINE_MAP_MAX_COLUMN_NUMBER)
815 {807 {
816 /* Running low on source_locations - disable column numbers. */808 /* Running low on location_ts - disable column numbers. */
817 return r;809 return r;
818 }810 }
819 else811 else
@@ -846,7 +838,7 @@ linemap_position_for_column (struct line_maps *set, unsigned int to_column) · 26 unmodified lines
846/* Encode and return a source location from a given line and838/* Encode and return a source location from a given line and
847 column. */839 column. */
848 840
849source_location841location_t
850linemap_position_for_line_and_column (line_maps *set,842linemap_position_for_line_and_column (line_maps *set,
851 const line_map_ordinary *ord_map,843 const line_map_ordinary *ord_map,
852 linenum_type line,844 linenum_type line,
@@ -854,13 +846,13 @@ linemap_position_for_line_and_column (line_maps *set, · 1 unmodified line
854{846{
855 linemap_assert (ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map) <= line);847 linemap_assert (ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map) <= line);
856 848
857 source_location r = MAP_START_LOCATION (ord_map);849 location_t r = MAP_START_LOCATION (ord_map);
858 r += ((line - ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map))850 r += ((line - ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map))
859 << ord_map->m_column_and_range_bits);851 << ord_map->m_column_and_range_bits);
860 if (r <= LINE_MAP_MAX_LOCATION_WITH_COLS)852 if (r <= LINE_MAP_MAX_LOCATION_WITH_COLS)
861 r += ((column & ((1 << ord_map->m_column_and_range_bits) - 1))853 r += ((column & ((1 << ord_map->m_column_and_range_bits) - 1))
862 << ord_map->m_range_bits);854 << ord_map->m_range_bits);
863 source_location upper_limit = LINEMAPS_MACRO_LOWEST_LOCATION (set);855 location_t upper_limit = LINEMAPS_MACRO_LOWEST_LOCATION (set);
864 if (r >= upper_limit)856 if (r >= upper_limit)
865 r = upper_limit - 1;857 r = upper_limit - 1;
866 if (r > set->highest_location)858 if (r > set->highest_location)
@@ -868,19 +860,19 @@ linemap_position_for_line_and_column (line_maps *set, · 1 unmodified line
868 return r;860 return r;
869}861}
870 862
871/* Encode and return a source_location starting from location LOC and863/* Encode and return a location_t starting from location LOC and
872 shifting it by COLUMN_OFFSET columns. This function does not support864 shifting it by COLUMN_OFFSET columns. This function does not support
873 virtual locations. */865 virtual locations. */
874 866
875source_location867location_t
876linemap_position_for_loc_and_offset (struct line_maps *set,868linemap_position_for_loc_and_offset (struct line_maps *set,
877 source_location loc,869 location_t loc,
878 unsigned int column_offset)870 unsigned int column_offset)
879{871{
880 const line_map_ordinary * map = NULL;872 const line_map_ordinary * map = NULL;
881 873
882 if (IS_ADHOC_LOC (loc))874 if (IS_ADHOC_LOC (loc))
883 loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;875 loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
884 876
885 /* This function does not support virtual locations yet. */877 /* This function does not support virtual locations yet. */
886 if (linemap_location_from_macro_expansion_p (set, loc))878 if (linemap_location_from_macro_expansion_p (set, loc))
@@ -926,7 +918,7 @@ linemap_position_for_loc_and_offset (struct line_maps *set, · 39 unmodified lines
926 if (column >= (1u << (map->m_column_and_range_bits - map->m_range_bits)))918 if (column >= (1u << (map->m_column_and_range_bits - map->m_range_bits)))
927 return loc;919 return loc;
928 920
929 source_location r = 921 location_t r =
930 linemap_position_for_line_and_column (set, map, line, column);922 linemap_position_for_line_and_column (set, map, line, column);
931 if (linemap_assert_fails (r <= set->highest_location)923 if (linemap_assert_fails (r <= set->highest_location)
932 || linemap_assert_fails (map == linemap_lookup (set, r)))924 || linemap_assert_fails (map == linemap_lookup (set, r)))
@@ -939,10 +931,10 @@ linemap_position_for_loc_and_offset (struct line_maps *set, · 6 unmodified lines
939 ordinary or a macro map), returns that map. */931 ordinary or a macro map), returns that map. */
940 932
941const struct line_map*933const struct line_map*
942linemap_lookup (struct line_maps *set, source_location line)934linemap_lookup (struct line_maps *set, location_t line)
943{935{
944 if (IS_ADHOC_LOC (line))936 if (IS_ADHOC_LOC (line))
945 line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;937 line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
946 if (linemap_location_from_macro_expansion_p (set, line))938 if (linemap_location_from_macro_expansion_p (set, line))
947 return linemap_macro_map_lookup (set, line);939 return linemap_macro_map_lookup (set, line);
948 return linemap_ordinary_map_lookup (set, line);940 return linemap_ordinary_map_lookup (set, line);
@@ -954,13 +946,13 @@ linemap_lookup (struct line_maps *set, source_location line) · 5 unmodified lines
954 binary search. */946 binary search. */
955 947
956static const line_map_ordinary *948static const line_map_ordinary *
957linemap_ordinary_map_lookup (struct line_maps *set, source_location line)949linemap_ordinary_map_lookup (struct line_maps *set, location_t line)
958{950{
959 unsigned int md, mn, mx;951 unsigned int md, mn, mx;
960 const line_map_ordinary *cached, *result;952 const line_map_ordinary *cached, *result;
961 953
962 if (IS_ADHOC_LOC (line))954 if (IS_ADHOC_LOC (line))
963 line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;955 line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
964 956
965 if (set == NULL || line < RESERVED_LOCATION_COUNT)957 if (set == NULL || line < RESERVED_LOCATION_COUNT)
966 return NULL;958 return NULL;
@@ -1002,13 +994,13 @@ linemap_ordinary_map_lookup (struct line_maps *set, source_location line) · 35 unmodified lines
1002 binary search. */994 binary search. */
1003 995
1004static const line_map_macro *996static const line_map_macro *
1005linemap_macro_map_lookup (struct line_maps *set, source_location line)997linemap_macro_map_lookup (struct line_maps *set, location_t line)
1006{998{
1007 unsigned int md, mn, mx;999 unsigned int md, mn, mx;
1008 const struct line_map_macro *cached, *result;1000 const struct line_map_macro *cached, *result;
1009 1001
1010 if (IS_ADHOC_LOC (line))1002 if (IS_ADHOC_LOC (line))
1011 line = set->location_adhoc_data_map.data[line & MAX_SOURCE_LOCATION].locus;1003 line = set->location_adhoc_data_map.data[line & MAX_LOCATION_T].locus;
1012 1004
1013 linemap_assert (line >= LINEMAPS_MACRO_LOWEST_LOCATION (set));1005 linemap_assert (line >= LINEMAPS_MACRO_LOWEST_LOCATION (set));
1014 1006
@@ -1049,9 +1041,7 @@ linemap_macro_map_lookup (struct line_maps *set, source_location line) · 34 unmodified lines
1049bool1041bool
1050linemap_macro_expansion_map_p (const struct line_map *map)1042linemap_macro_expansion_map_p (const struct line_map *map)
1051{1043{
1052 if (!map)1044 return map && !MAP_ORDINARY_P (map);
1053 return false;
1054 return (map->reason == LC_ENTER_MACRO);
1055}1045}
1056 1046
1057/* If LOCATION is the locus of a token in a replacement-list of a1047/* If LOCATION is the locus of a token in a replacement-list of a
@@ -1060,9 +1050,9 @@ linemap_macro_expansion_map_p (const struct line_map *map) · 2 unmodified lines
1060 Read the comments of struct line_map and struct line_map_macro in1050 Read the comments of struct line_map and struct line_map_macro in
1061 line-map.h to understand what a macro expansion point is. */1051 line-map.h to understand what a macro expansion point is. */
1062 1052
1063static source_location1053static location_t
1064linemap_macro_map_loc_to_exp_point (const line_map_macro *map,1054linemap_macro_map_loc_to_exp_point (const line_map_macro *map,
1065 source_location location ATTRIBUTE_UNUSED)1055 location_t location ATTRIBUTE_UNUSED)
1066{1056{
1067 linemap_assert (linemap_macro_expansion_map_p (map)1057 linemap_assert (linemap_macro_expansion_map_p (map)
1068 && location >= MAP_START_LOCATION (map));1058 && location >= MAP_START_LOCATION (map));
@@ -1080,9 +1070,9 @@ linemap_macro_map_loc_to_exp_point (const line_map_macro *map, · 11 unmodified lines
1080 Return the location of the token at the definition point of the1070 Return the location of the token at the definition point of the
1081 macro. */1071 macro. */
1082 1072
1083static source_location1073static location_t
1084linemap_macro_map_loc_to_def_point (const line_map_macro *map,1074linemap_macro_map_loc_to_def_point (const line_map_macro *map,
1085 source_location location)1075 location_t location)
1086{1076{
1087 unsigned token_no;1077 unsigned token_no;
1088 1078
@@ -1104,10 +1094,10 @@ linemap_macro_map_loc_to_def_point (const line_map_macro *map, · 15 unmodified lines
1104 1094
1105 In other words, this returns the xI location presented in the1095 In other words, this returns the xI location presented in the
1106 comments of line_map_macro above. */1096 comments of line_map_macro above. */
1107source_location1097location_t
1108linemap_macro_map_loc_unwind_toward_spelling (line_maps *set,1098linemap_macro_map_loc_unwind_toward_spelling (line_maps *set,
1109 const line_map_macro* map,1099 const line_map_macro* map,
1110 source_location location)1100 location_t location)
1111{1101{
1112 unsigned token_no;1102 unsigned token_no;
1113 1103
@@ -1135,13 +1125,13 @@ linemap_macro_map_loc_unwind_toward_spelling (line_maps *set, · 21 unmodified lines
1135 1125
1136int1126int
1137linemap_get_expansion_line (struct line_maps *set,1127linemap_get_expansion_line (struct line_maps *set,
1138 source_location location)1128 location_t location)
1139{1129{
1140 const line_map_ordinary *map = NULL;1130 const line_map_ordinary *map = NULL;
1141 1131
1142 if (IS_ADHOC_LOC (location))1132 if (IS_ADHOC_LOC (location))
1143 location = set->location_adhoc_data_map.data[location1133 location = set->location_adhoc_data_map.data[location
1144 & MAX_SOURCE_LOCATION].locus;1134 & MAX_LOCATION_T].locus;
1145 1135
1146 if (location < RESERVED_LOCATION_COUNT)1136 if (location < RESERVED_LOCATION_COUNT)
1147 return 0;1137 return 0;
@@ -1163,13 +1153,13 @@ linemap_get_expansion_line (struct line_maps *set, · 15 unmodified lines
1163 1153
1164const char*1154const char*
1165linemap_get_expansion_filename (struct line_maps *set,1155linemap_get_expansion_filename (struct line_maps *set,
1166 source_location location)1156 location_t location)
1167{1157{
1168 const struct line_map_ordinary *map = NULL;1158 const struct line_map_ordinary *map = NULL;
1169 1159
1170 if (IS_ADHOC_LOC (location))1160 if (IS_ADHOC_LOC (location))
1171 location = set->location_adhoc_data_map.data[location1161 location = set->location_adhoc_data_map.data[location
1172 & MAX_SOURCE_LOCATION].locus;1162 & MAX_LOCATION_T].locus;
1173 1163
1174 if (location < RESERVED_LOCATION_COUNT)1164 if (location < RESERVED_LOCATION_COUNT)
1175 return NULL;1165 return NULL;
@@ -1201,13 +1191,13 @@ linemap_map_get_macro_name (const line_map_macro *macro_map) · 25 unmodified lines
1201 1191
1202int1192int
1203linemap_location_in_system_header_p (struct line_maps *set,1193linemap_location_in_system_header_p (struct line_maps *set,
1204 source_location location)1194 location_t location)
1205{1195{
1206 const struct line_map *map = NULL;1196 const struct line_map *map = NULL;
1207 1197
1208 if (IS_ADHOC_LOC (location))1198 if (IS_ADHOC_LOC (location))
1209 location = set->location_adhoc_data_map.data[location1199 location = set->location_adhoc_data_map.data[location
1210 & MAX_SOURCE_LOCATION].locus;1200 & MAX_LOCATION_T].locus;
1211 1201
1212 if (location < RESERVED_LOCATION_COUNT)1202 if (location < RESERVED_LOCATION_COUNT)
1213 return false;1203 return false;
@@ -1226,7 +1216,7 @@ linemap_location_in_system_header_p (struct line_maps *set, · 12 unmodified lines
1226 const line_map_macro *macro_map = linemap_check_macro (map);1216 const line_map_macro *macro_map = linemap_check_macro (map);
1227 1217
1228 /* It's a token resulting from a macro expansion. */1218 /* It's a token resulting from a macro expansion. */
1229 source_location loc =1219 location_t loc =
1230 linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, location);1220 linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, location);
1231 if (loc < RESERVED_LOCATION_COUNT)1221 if (loc < RESERVED_LOCATION_COUNT)
1232 /* This token might come from a built-in macro. Let's1222 /* This token might come from a built-in macro. Let's
@@ -1247,18 +1237,13 @@ linemap_location_in_system_header_p (struct line_maps *set, · 14 unmodified lines
1247 1237
1248bool1238bool
1249linemap_location_from_macro_expansion_p (const struct line_maps *set,1239linemap_location_from_macro_expansion_p (const struct line_maps *set,
1250 source_location location)1240 location_t location)
1251{1241{
1252 if (IS_ADHOC_LOC (location))1242 if (IS_ADHOC_LOC (location))
1253 location = set->location_adhoc_data_map.data[location1243 location = set->location_adhoc_data_map.data[location
1254 & MAX_SOURCE_LOCATION].locus;1244 & MAX_LOCATION_T].locus;
1255 1245
1256 linemap_assert (location <= MAX_SOURCE_LOCATION1246 return IS_MACRO_LOC (location);
1257 && (set->highest_location
1258 < LINEMAPS_MACRO_LOWEST_LOCATION (set)));
1259 if (set == NULL)
1260 return false;
1261 return (location > set->highest_location);
1262}1247}
1263 1248
1264/* Given two virtual locations *LOC0 and *LOC1, return the first1249/* Given two virtual locations *LOC0 and *LOC1, return the first
@@ -1268,10 +1253,10 @@ linemap_location_from_macro_expansion_p (const struct line_maps *set, · 3 unmodified lines
1268 1253
1269static const struct line_map*1254static const struct line_map*
1270first_map_in_common_1 (struct line_maps *set,1255first_map_in_common_1 (struct line_maps *set,
1271 source_location *loc0,1256 location_t *loc0,
1272 source_location *loc1)1257 location_t *loc1)
1273{1258{
1274 source_location l0 = *loc0, l1 = *loc1;1259 location_t l0 = *loc0, l1 = *loc1;
1275 const struct line_map *map0 = linemap_lookup (set, l0),1260 const struct line_map *map0 = linemap_lookup (set, l0),
1276 *map1 = linemap_lookup (set, l1);1261 *map1 = linemap_lookup (set, l1);
1277 1262
@@ -1310,10 +1295,10 @@ first_map_in_common_1 (struct line_maps *set, · 32 unmodified lines
1310 1295
1311static const struct line_map*1296static const struct line_map*
1312first_map_in_common (struct line_maps *set,1297first_map_in_common (struct line_maps *set,
1313 source_location loc0,1298 location_t loc0,
1314 source_location loc1,1299 location_t loc1,
1315 source_location *res_loc0,1300 location_t *res_loc0,
1316 source_location *res_loc1)1301 location_t *res_loc1)
1317{1302{
1318 *res_loc0 = loc0;1303 *res_loc0 = loc0;
1319 *res_loc1 = loc1;1304 *res_loc1 = loc1;
@@ -1328,11 +1313,11 @@ first_map_in_common (struct line_maps *set, · 8 unmodified lines
1328 1313
1329int1314int
1330linemap_compare_locations (struct line_maps *set,1315linemap_compare_locations (struct line_maps *set,
1331 source_location pre,1316 location_t pre,
1332 source_location post)1317 location_t post)
1333{1318{
1334 bool pre_virtual_p, post_virtual_p;1319 bool pre_virtual_p, post_virtual_p;
1335 source_location l0 = pre, l1 = post;1320 location_t l0 = pre, l1 = post;
1336 1321
1337 if (IS_ADHOC_LOC (l0))1322 if (IS_ADHOC_LOC (l0))
1338 l0 = get_location_from_adhoc_loc (set, l0);1323 l0 = get_location_from_adhoc_loc (set, l0);
@@ -1398,28 +1383,27 @@ trace_include (const struct line_maps *set, const line_map_ordinary *map) · 59 unmodified lines
1398 1383
1399 This is a subroutine for linemap_resolve_location. */1384 This is a subroutine for linemap_resolve_location. */
1400 1385
1401static source_location1386static location_t
1402linemap_macro_loc_to_spelling_point (struct line_maps *set,1387linemap_macro_loc_to_spelling_point (struct line_maps *set,
1403 source_location location,1388 location_t location,
1404 const line_map_ordinary **original_map)1389 const line_map_ordinary **original_map)
1405{1390{
1406 struct line_map *map;
1407 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);1391 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
1408 1392
1409 while (true)1393 while (true)
1410 {1394 {
1411 map = const_cast <line_map *> (linemap_lookup (set, location));1395 const struct line_map *map = linemap_lookup (set, location);
1412 if (!linemap_macro_expansion_map_p (map))1396 if (!map || MAP_ORDINARY_P (map))
1413 break;1397 {
1398 if (original_map)
1399 *original_map = (const line_map_ordinary *)map;
1400 break;
1401 }
1414 1402
1415 location1403 location = linemap_macro_map_loc_unwind_toward_spelling
1416 = linemap_macro_map_loc_unwind_toward_spelling1404 (set, linemap_check_macro (map), location);
1417 (set, linemap_check_macro (map),
1418 location);
1419 }1405 }
1420 1406
1421 if (original_map)
1422 *original_map = linemap_check_ordinary (map);
1423 return location;1407 return location;
1424}1408}
1425 1409
@@ -1433,34 +1417,31 @@ linemap_macro_loc_to_spelling_point (struct line_maps *set, · 7 unmodified lines
1433 1417
1434 This is a subroutine of linemap_resolve_location. */1418 This is a subroutine of linemap_resolve_location. */
1435 1419
1436static source_location1420static location_t
1437linemap_macro_loc_to_def_point (struct line_maps *set,1421linemap_macro_loc_to_def_point (struct line_maps *set,
1438 source_location location,1422 location_t location,
1439 const line_map_ordinary **original_map)1423 const line_map_ordinary **original_map)
1440{1424{
1441 struct line_map *map;
1442
1443 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);1425 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
1444 1426
1445 while (true)1427 for (;;)
1446 {1428 {
1447 source_location caret_loc;1429 location_t caret_loc = location;
1448 if (IS_ADHOC_LOC (location))1430 if (IS_ADHOC_LOC (caret_loc))
1449 caret_loc = get_location_from_adhoc_loc (set, location);1431 caret_loc = get_location_from_adhoc_loc (set, caret_loc);
1450 else
1451 caret_loc = location;
1452 1432
1453 map = const_cast <line_map *> (linemap_lookup (set, caret_loc));1433 const line_map *map = linemap_lookup (set, caret_loc);
1454 if (!linemap_macro_expansion_map_p (map))1434 if (!map || MAP_ORDINARY_P (map))
1455 break;1435 {
1436 if (original_map)
1437 *original_map = (const line_map_ordinary *)map;
1438 break;
1439 }
1456 1440
1457 location =1441 location = linemap_macro_map_loc_to_def_point
1458 linemap_macro_map_loc_to_def_point (linemap_check_macro (map),1442 (linemap_check_macro (map), caret_loc);
1459 caret_loc);
1460 }1443 }
1461 1444
1462 if (original_map)
1463 *original_map = linemap_check_ordinary (map);
1464 return location;1445 return location;
1465}1446}
1466 1447
@@ -1478,16 +1459,16 @@ linemap_macro_loc_to_def_point (struct line_maps *set, · 11 unmodified lines
1478 1459
1479 This is a subroutine of linemap_resolve_location. */1460 This is a subroutine of linemap_resolve_location. */
1480 1461
1481static source_location1462static location_t
1482linemap_macro_loc_to_exp_point (struct line_maps *set,1463linemap_macro_loc_to_exp_point (struct line_maps *set,
1483 source_location location,1464 location_t location,
1484 const line_map_ordinary **original_map)1465 const line_map_ordinary **original_map)
1485{1466{
1486 struct line_map *map;1467 struct line_map *map;
1487 1468
1488 if (IS_ADHOC_LOC (location))1469 if (IS_ADHOC_LOC (location))
1489 location = set->location_adhoc_data_map.data[location1470 location = set->location_adhoc_data_map.data[location
1490 & MAX_SOURCE_LOCATION].locus;1471 & MAX_LOCATION_T].locus;
1491 1472
1492 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);1473 linemap_assert (set && location >= RESERVED_LOCATION_COUNT);
1493 1474
@@ -1553,15 +1534,15 @@ linemap_macro_loc_to_exp_point (struct line_maps *set, · 59 unmodified lines
1553 resolves to a location reserved for the client code, like1534 resolves to a location reserved for the client code, like
1554 UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */1535 UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */
1555 1536
1556source_location1537location_t
1557linemap_resolve_location (struct line_maps *set,1538linemap_resolve_location (struct line_maps *set,
1558 source_location loc,1539 location_t loc,
1559 enum location_resolution_kind lrk,1540 enum location_resolution_kind lrk,
1560 const line_map_ordinary **map)1541 const line_map_ordinary **map)
1561{1542{
1562 source_location locus = loc;1543 location_t locus = loc;
1563 if (IS_ADHOC_LOC (loc))1544 if (IS_ADHOC_LOC (loc))
1564 locus = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;1545 locus = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
1565 1546
1566 if (locus < RESERVED_LOCATION_COUNT)1547 if (locus < RESERVED_LOCATION_COUNT)
1567 {1548 {
@@ -1595,7 +1576,7 @@ linemap_resolve_location (struct line_maps *set, · 27 unmodified lines
1595 1576
1596bool1577bool
1597linemap_location_from_macro_definition_p (struct line_maps *set,1578linemap_location_from_macro_definition_p (struct line_maps *set,
1598 source_location loc)1579 location_t loc)
1599{1580{
1600 if (IS_ADHOC_LOC (loc))1581 if (IS_ADHOC_LOC (loc))
1601 loc = get_location_from_adhoc_loc (set, loc);1582 loc = get_location_from_adhoc_loc (set, loc);
@@ -1608,13 +1589,13 @@ linemap_location_from_macro_definition_p (struct line_maps *set, · 6 unmodified lines
1608 const struct line_map_macro *map1589 const struct line_map_macro *map
1609 = linemap_check_macro (linemap_lookup (set, loc));1590 = linemap_check_macro (linemap_lookup (set, loc));
1610 1591
1611 source_location s_loc1592 location_t s_loc
1612 = linemap_macro_map_loc_unwind_toward_spelling (set, map, loc);1593 = linemap_macro_map_loc_unwind_toward_spelling (set, map, loc);
1613 if (linemap_location_from_macro_expansion_p (set, s_loc))1594 if (linemap_location_from_macro_expansion_p (set, s_loc))
1614 loc = s_loc;1595 loc = s_loc;
1615 else1596 else
1616 {1597 {
1617 source_location def_loc1598 location_t def_loc
1618 = linemap_macro_map_loc_to_def_point (map, loc);1599 = linemap_macro_map_loc_to_def_point (map, loc);
1619 return s_loc == def_loc;1600 return s_loc == def_loc;
1620 }1601 }
@@ -1633,17 +1614,17 @@ linemap_location_from_macro_definition_p (struct line_maps *set, · 12 unmodified lines
1633 *LOC_MAP must be set to the map of LOC. This function then sets it1614 *LOC_MAP must be set to the map of LOC. This function then sets it
1634 to the map of the returned location. */1615 to the map of the returned location. */
1635 1616
1636source_location1617location_t
1637linemap_unwind_toward_expansion (struct line_maps *set,1618linemap_unwind_toward_expansion (struct line_maps *set,
1638 source_location loc,1619 location_t loc,
1639 const struct line_map **map)1620 const struct line_map **map)
1640{1621{
1641 source_location resolved_location;1622 location_t resolved_location;
1642 const line_map_macro *macro_map = linemap_check_macro (*map);1623 const line_map_macro *macro_map = linemap_check_macro (*map);
1643 const struct line_map *resolved_map;1624 const struct line_map *resolved_map;
1644 1625
1645 if (IS_ADHOC_LOC (loc))1626 if (IS_ADHOC_LOC (loc))
1646 loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;1627 loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
1647 1628
1648 resolved_location =1629 resolved_location =
1649 linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, loc);1630 linemap_macro_map_loc_unwind_toward_spelling (set, macro_map, loc);
@@ -1673,17 +1654,17 @@ linemap_unwind_toward_expansion (struct line_maps *set, · 23 unmodified lines
1673 1654
1674 *MAP is set to the map of the returned location if the later is1655 *MAP is set to the map of the returned location if the later is
1675 different from LOC. */1656 different from LOC. */
1676source_location1657location_t
1677linemap_unwind_to_first_non_reserved_loc (struct line_maps *set,1658linemap_unwind_to_first_non_reserved_loc (struct line_maps *set,
1678 source_location loc,1659 location_t loc,
1679 const struct line_map **map)1660 const struct line_map **map)
1680{1661{
1681 source_location resolved_loc;1662 location_t resolved_loc;
1682 const struct line_map *map0 = NULL;1663 const struct line_map *map0 = NULL;
1683 const line_map_ordinary *map1 = NULL;1664 const line_map_ordinary *map1 = NULL;
1684 1665
1685 if (IS_ADHOC_LOC (loc))1666 if (IS_ADHOC_LOC (loc))
1686 loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;1667 loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
1687 1668
1688 map0 = linemap_lookup (set, loc);1669 map0 = linemap_lookup (set, loc);
1689 if (!linemap_macro_expansion_map_p (map0))1670 if (!linemap_macro_expansion_map_p (map0))
@@ -1720,7 +1701,7 @@ linemap_unwind_to_first_non_reserved_loc (struct line_maps *set, · 30 unmodified lines
1720expanded_location1701expanded_location
1721linemap_expand_location (struct line_maps *set,1702linemap_expand_location (struct line_maps *set,
1722 const struct line_map *map,1703 const struct line_map *map,
1723 source_location loc)1704 location_t loc)
1724 1705
1725{1706{
1726 expanded_location xloc;1707 expanded_location xloc;
@@ -1729,8 +1710,8 @@ linemap_expand_location (struct line_maps *set, · 2 unmodified lines
1729 if (IS_ADHOC_LOC (loc))1710 if (IS_ADHOC_LOC (loc))
1730 {1711 {
1731 xloc.data1712 xloc.data
1732 = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].data;1713 = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].data;
1733 loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;1714 loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
1734 }1715 }
1735 1716
1736 if (loc < RESERVED_LOCATION_COUNT)1717 if (loc < RESERVED_LOCATION_COUNT)
@@ -1770,41 +1751,42 @@ linemap_expand_location (struct line_maps *set, · 33 unmodified lines
1770void1751void
1771linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro)1752linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro)
1772{1753{
1773 const char *lc_reasons_v[LC_ENTER_MACRO + 1]1754 const char *const lc_reasons_v[LC_HWM]
1774 = { "LC_ENTER", "LC_LEAVE", "LC_RENAME", "LC_RENAME_VERBATIM",1755 = { "LC_ENTER", "LC_LEAVE", "LC_RENAME", "LC_RENAME_VERBATIM",
1775 "LC_ENTER_MACRO" };1756 "LC_ENTER_MACRO" };
1776 const char *reason;
1777 const line_map *map;1757 const line_map *map;
1758 unsigned reason;
1778 1759
1779 if (stream == NULL)1760 if (stream == NULL)
1780 stream = stderr;1761 stream = stderr;
1781 1762
1782 if (!is_macro)1763 if (!is_macro)
1783 map = LINEMAPS_ORDINARY_MAP_AT (set, ix);1764 {
1765 map = LINEMAPS_ORDINARY_MAP_AT (set, ix);
1766 reason = linemap_check_ordinary (map)->reason;
1767 }
1784 else1768 else
1785 map = LINEMAPS_MACRO_MAP_AT (set, ix);1769 {
1786 1770 map = LINEMAPS_MACRO_MAP_AT (set, ix);
1787 reason = (map->reason <= LC_ENTER_MACRO) ? lc_reasons_v[map->reason] : "???";1771 reason = LC_ENTER_MACRO;
1772 }
1788 1773
1789 fprintf (stream, "Map #%u [%p] - LOC: %u - REASON: %s - SYSP: %s\n",1774 fprintf (stream, "Map #%u [%p] - LOC: %u - REASON: %s - SYSP: %s\n",
1790 ix, (void *) map, map->start_location, reason,1775 ix, (void *) map, map->start_location,
1776 reason < LC_HWM ? lc_reasons_v[reason] : "???",
1791 ((!is_macro1777 ((!is_macro
1792 && ORDINARY_MAP_IN_SYSTEM_HEADER_P (linemap_check_ordinary (map)))1778 && ORDINARY_MAP_IN_SYSTEM_HEADER_P (linemap_check_ordinary (map)))
1793 ? "yes" : "no"));1779 ? "yes" : "no"));
1794 if (!is_macro)1780 if (!is_macro)
1795 {1781 {
1796 const line_map_ordinary *ord_map = linemap_check_ordinary (map);1782 const line_map_ordinary *ord_map = linemap_check_ordinary (map);
1797 unsigned includer_ix;1783 const line_map_ordinary *includer_map
1798 const line_map_ordinary *includer_map;1784 = linemap_included_from_linemap (set, ord_map);
1799
1800 includer_ix = ORDINARY_MAP_INCLUDER_FILE_INDEX (ord_map);
1801 includer_map = includer_ix < LINEMAPS_ORDINARY_USED (set)
1802 ? LINEMAPS_ORDINARY_MAP_AT (set, includer_ix)
1803 : NULL;
1804 1785
1805 fprintf (stream, "File: %s:%d\n", ORDINARY_MAP_FILE_NAME (ord_map),1786 fprintf (stream, "File: %s:%d\n", ORDINARY_MAP_FILE_NAME (ord_map),
1806 ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map));1787 ORDINARY_MAP_STARTING_LINE_NUMBER (ord_map));
1807 fprintf (stream, "Included from: [%d] %s\n", includer_ix,1788 fprintf (stream, "Included from: [%d] %s\n",
1789 includer_map ? int (includer_map - set->info_ordinary.maps) : -1,
1808 includer_map ? ORDINARY_MAP_FILE_NAME (includer_map) : "None");1790 includer_map ? ORDINARY_MAP_FILE_NAME (includer_map) : "None");
1809 }1791 }
1810 else1792 else
@@ -1824,16 +1806,16 @@ linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro) · 13 unmodified lines
1824 1806
1825void1807void
1826linemap_dump_location (struct line_maps *set,1808linemap_dump_location (struct line_maps *set,
1827 source_location loc,1809 location_t loc,
1828 FILE *stream)1810 FILE *stream)
1829{1811{
1830 const line_map_ordinary *map;1812 const line_map_ordinary *map;
1831 source_location location;1813 location_t location;
1832 const char *path = "", *from = "";1814 const char *path = "", *from = "";
1833 int l = -1, c = -1, s = -1, e = -1;1815 int l = -1, c = -1, s = -1, e = -1;
1834 1816
1835 if (IS_ADHOC_LOC (loc))1817 if (IS_ADHOC_LOC (loc))
1836 loc = set->location_adhoc_data_map.data[loc & MAX_SOURCE_LOCATION].locus;1818 loc = set->location_adhoc_data_map.data[loc & MAX_LOCATION_T].locus;
1837 1819
1838 if (loc == 0)1820 if (loc == 0)
1839 return;1821 return;
@@ -1854,9 +1836,11 @@ linemap_dump_location (struct line_maps *set, · 14 unmodified lines
1854 if (e)1836 if (e)
1855 from = "N/A";1837 from = "N/A";
1856 else1838 else
1857 from = (INCLUDED_FROM (set, map))1839 {
1858 ? LINEMAP_FILE (INCLUDED_FROM (set, map))1840 const line_map_ordinary *from_map
1859 : "<NULL>";1841 = linemap_included_from_linemap (set, map);
1842 from = from_map ? LINEMAP_FILE (from_map) : "<NULL>";
1843 }
1860 }1844 }
1861 1845
1862 /* P: path, L: line, C: column, S: in-system-header, M: map address,1846 /* P: path, L: line, C: column, S: in-system-header, M: map address,
@@ -1873,7 +1857,7 @@ linemap_dump_location (struct line_maps *set, · 10 unmodified lines
1873bool1857bool
1874linemap_get_file_highest_location (struct line_maps *set,1858linemap_get_file_highest_location (struct line_maps *set,
1875 const char *file_name,1859 const char *file_name,
1876 source_location *loc)1860 location_t *loc)
1877{1861{
1878 /* If the set is empty or no ordinary map has been created then1862 /* If the set is empty or no ordinary map has been created then
1879 there is no file to look for ... */1863 there is no file to look for ... */
@@ -1895,7 +1879,7 @@ linemap_get_file_highest_location (struct line_maps *set, · 15 unmodified lines
1895 /* The highest location for a given map is either the starting1879 /* The highest location for a given map is either the starting
1896 location of the next map minus one, or -- if the map is the1880 location of the next map minus one, or -- if the map is the
1897 latest one -- the highest location of the set. */1881 latest one -- the highest location of the set. */
1898 source_location result;1882 location_t result;
1899 if (i == (int) set->info_ordinary.used - 1)1883 if (i == (int) set->info_ordinary.used - 1)
1900 result = set->highest_location;1884 result = set->highest_location;
1901 else1885 else
@@ -1936,14 +1920,14 @@ linemap_get_statistics (struct line_maps *set, · 34 unmodified lines
1936 linemap_assert (linemap_macro_expansion_map_p (cur_map));1920 linemap_assert (linemap_macro_expansion_map_p (cur_map));
1937 1921
1938 macro_maps_locations_size +=1922 macro_maps_locations_size +=
1939 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map) * sizeof (source_location);1923 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map) * sizeof (location_t);
1940 1924
1941 for (i = 0; i < 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map); i += 2)1925 for (i = 0; i < 2 * MACRO_MAP_NUM_MACRO_TOKENS (cur_map); i += 2)
1942 {1926 {
1943 if (MACRO_MAP_LOCATIONS (cur_map)[i] ==1927 if (MACRO_MAP_LOCATIONS (cur_map)[i] ==
1944 MACRO_MAP_LOCATIONS (cur_map)[i + 1])1928 MACRO_MAP_LOCATIONS (cur_map)[i + 1])
1945 duplicated_macro_maps_locations_size +=1929 duplicated_macro_maps_locations_size +=
1946 sizeof (source_location);1930 sizeof (location_t);
1947 }1931 }
1948 }1932 }
1949 1933
@@ -2010,7 +1994,8 @@ line_table_dump (FILE *stream, struct line_maps *set, unsigned int num_ordinary, · 60 unmodified lines
2010 1994
2011/* Construct a rich_location with location LOC as its initial range. */1995/* Construct a rich_location with location LOC as its initial range. */
2012 1996
2013rich_location::rich_location (line_maps *set, source_location loc) :1997rich_location::rich_location (line_maps *set, location_t loc,
1998 const range_label *label) :
2014 m_line_table (set),1999 m_line_table (set),
2015 m_ranges (),2000 m_ranges (),
2016 m_column_override (0),2001 m_column_override (0),
@@ -2019,7 +2004,7 @@ rich_location::rich_location (line_maps *set, source_location loc) : · 2 unmodified lines
2019 m_seen_impossible_fixit (false),2004 m_seen_impossible_fixit (false),
2020 m_fixits_cannot_be_auto_applied (false)2005 m_fixits_cannot_be_auto_applied (false)
2021{2006{
2022 add_range (loc, true);2007 add_range (loc, SHOW_RANGE_WITH_CARET, label);
2023}2008}
2024 2009
2025/* The destructor for class rich_location. */2010/* The destructor for class rich_location. */
@@ -2032,7 +2017,7 @@ rich_location::~rich_location () · 6 unmodified lines
2032 2017
2033/* Get location IDX within this rich_location. */2018/* Get location IDX within this rich_location. */
2034 2019
2035source_location2020location_t
2036rich_location::get_loc (unsigned int idx) const2021rich_location::get_loc (unsigned int idx) const
2037{2022{
2038 const location_range *locrange = get_range (idx);2023 const location_range *locrange = get_range (idx);
@@ -2095,16 +2080,19 @@ rich_location::override_column (int column) · 56 unmodified lines
2095/* Add the given range. */2080/* Add the given range. */
2096 2081
2097void2082void
2098rich_location::add_range (source_location loc, bool show_caret_p)2083rich_location::add_range (location_t loc,
2084 enum range_display_kind range_display_kind,
2085 const range_label *label)
2099{2086{
2100 location_range range;2087 location_range range;
2101 range.m_loc = loc;2088 range.m_loc = loc;
2102 range.m_show_caret_p = show_caret_p;2089 range.m_range_display_kind = range_display_kind;
2090 range.m_label = label;
2103 m_ranges.push (range);2091 m_ranges.push (range);
2104}2092}
2105 2093
2106/* Add or overwrite the location given by IDX, setting its location to LOC,2094/* Add or overwrite the location given by IDX, setting its location to LOC,
2107 and setting its "should my caret be printed" flag to SHOW_CARET_P.2095 and setting its m_range_display_kind to RANGE_DISPLAY_KIND.
2108 2096
2109 It must either overwrite an existing location, or add one *exactly* on2097 It must either overwrite an existing location, or add one *exactly* on
2110 the end of the array.2098 the end of the array.
@@ -2117,20 +2105,20 @@ rich_location::add_range (source_location loc, bool show_caret_p) · 6 unmodified lines
2117 - the "%C" and "%L" format codes in the Fortran frontend. */2105 - the "%C" and "%L" format codes in the Fortran frontend. */
2118 2106
2119void2107void
2120rich_location::set_range (line_maps * /*set*/, unsigned int idx,2108rich_location::set_range (unsigned int idx, location_t loc,
2121 source_location loc, bool show_caret_p)2109 enum range_display_kind range_display_kind)
2122{2110{
2123 /* We can either overwrite an existing range, or add one exactly2111 /* We can either overwrite an existing range, or add one exactly
2124 on the end of the array. */2112 on the end of the array. */
2125 linemap_assert (idx <= m_ranges.count ());2113 linemap_assert (idx <= m_ranges.count ());
2126 2114
2127 if (idx == m_ranges.count ())2115 if (idx == m_ranges.count ())
2128 add_range (loc, show_caret_p);2116 add_range (loc, range_display_kind);
2129 else2117 else
2130 {2118 {
2131 location_range *locrange = get_range (idx);2119 location_range *locrange = get_range (idx);
2132 locrange->m_loc = loc;2120 locrange->m_loc = loc;
2133 locrange->m_show_caret_p = show_caret_p;2121 locrange->m_range_display_kind = range_display_kind;
2134 }2122 }
2135 2123
2136 if (idx == 0)2124 if (idx == 0)
@@ -2153,10 +2141,10 @@ rich_location::add_fixit_insert_before (const char *new_content) · 16 unmodified lines
2153 immediately before the start of WHERE. */2141 immediately before the start of WHERE. */
2154 2142
2155void2143void
2156rich_location::add_fixit_insert_before (source_location where,2144rich_location::add_fixit_insert_before (location_t where,
2157 const char *new_content)2145 const char *new_content)
2158{2146{
2159 source_location start = get_range_from_loc (m_line_table, where).m_start;2147 location_t start = get_range_from_loc (m_line_table, where).m_start;
2160 maybe_add_fixit (start, start, new_content);2148 maybe_add_fixit (start, start, new_content);
2161}2149}
2162 2150
@@ -2173,11 +2161,11 @@ rich_location::add_fixit_insert_after (const char *new_content) · 10 unmodified lines
2173 immediately after the end-point of WHERE. */2161 immediately after the end-point of WHERE. */
2174 2162
2175void2163void
2176rich_location::add_fixit_insert_after (source_location where,2164rich_location::add_fixit_insert_after (location_t where,
2177 const char *new_content)2165 const char *new_content)
2178{2166{
2179 source_location finish = get_range_from_loc (m_line_table, where).m_finish;2167 location_t finish = get_range_from_loc (m_line_table, where).m_finish;
2180 source_location next_loc2168 location_t next_loc
2181 = linemap_position_for_loc_and_offset (m_line_table, finish, 1);2169 = linemap_position_for_loc_and_offset (m_line_table, finish, 1);
2182 2170
2183 /* linemap_position_for_loc_and_offset can fail, if so, it returns2171 /* linemap_position_for_loc_and_offset can fail, if so, it returns
@@ -2206,7 +2194,7 @@ rich_location::add_fixit_remove () · 22 unmodified lines
2206 the start and finish of WHERE. */2194 the start and finish of WHERE. */
2207 2195
2208void2196void
2209rich_location::add_fixit_remove (source_location where)2197rich_location::add_fixit_remove (location_t where)
2210{2198{
2211 source_range range = get_range_from_loc (m_line_table, where);2199 source_range range = get_range_from_loc (m_line_table, where);
2212 add_fixit_remove (range);2200 add_fixit_remove (range);
@@ -2236,7 +2224,7 @@ rich_location::add_fixit_replace (const char *new_content) · 23 unmodified lines
2236 the start and finish of WHERE with NEW_CONTENT. */2224 the start and finish of WHERE with NEW_CONTENT. */
2237 2225
2238void2226void
2239rich_location::add_fixit_replace (source_location where,2227rich_location::add_fixit_replace (location_t where,
2240 const char *new_content)2228 const char *new_content)
2241{2229{
2242 source_range range = get_range_from_loc (m_line_table, where);2230 source_range range = get_range_from_loc (m_line_table, where);
@@ -2250,11 +2238,11 @@ void · 7 unmodified lines
2250rich_location::add_fixit_replace (source_range src_range,2238rich_location::add_fixit_replace (source_range src_range,
2251 const char *new_content)2239 const char *new_content)
2252{2240{
2253 source_location start = get_pure_location (m_line_table, src_range.m_start);2241 location_t start = get_pure_location (m_line_table, src_range.m_start);
2254 source_location finish = get_pure_location (m_line_table, src_range.m_finish);2242 location_t finish = get_pure_location (m_line_table, src_range.m_finish);
2255 2243
2256 /* Fix-it hints use half-closed ranges, so attempt to offset the endpoint. */2244 /* Fix-it hints use half-closed ranges, so attempt to offset the endpoint. */
2257 source_location next_loc2245 location_t next_loc
2258 = linemap_position_for_loc_and_offset (m_line_table, finish, 1);2246 = linemap_position_for_loc_and_offset (m_line_table, finish, 1);
2259 /* linemap_position_for_loc_and_offset can fail, if so, it returns2247 /* linemap_position_for_loc_and_offset can fail, if so, it returns
2260 its input value. */2248 its input value. */
@@ -2285,7 +2273,7 @@ rich_location::get_last_fixit_hint () const · 24 unmodified lines
2285 Otherwise (the common case), return false. */2273 Otherwise (the common case), return false. */
2286 2274
2287bool2275bool
2288rich_location::reject_impossible_fixit (source_location where)2276rich_location::reject_impossible_fixit (location_t where)
2289{2277{
2290 /* Fix-its within a rich_location should either all be suggested, or2278 /* Fix-its within a rich_location should either all be suggested, or
2291 none of them should be suggested.2279 none of them should be suggested.
@@ -2323,8 +2311,8 @@ rich_location::stop_supporting_fixits () · 31 unmodified lines
2323 consolidating into the prior fixit if possible. */2311 consolidating into the prior fixit if possible. */
2324 2312
2325void2313void
2326rich_location::maybe_add_fixit (source_location start,2314rich_location::maybe_add_fixit (location_t start,
2327 source_location next_loc,2315 location_t next_loc,
2328 const char *new_content)2316 const char *new_content)
2329{2317{
2330 if (reject_impossible_fixit (start))2318 if (reject_impossible_fixit (start))
@@ -2405,8 +2393,8 @@ rich_location::maybe_add_fixit (source_location start, · 74 unmodified lines
2405 2393
2406/* class fixit_hint. */2394/* class fixit_hint. */
2407 2395
2408fixit_hint::fixit_hint (source_location start,2396fixit_hint::fixit_hint (location_t start,
2409 source_location next_loc,2397 location_t next_loc,
2410 const char *new_content)2398 const char *new_content)
2411: m_start (start),2399: m_start (start),
2412 m_next_loc (next_loc),2400 m_next_loc (next_loc),
@@ -2444,8 +2432,8 @@ fixit_hint::affects_line_p (const char *file, int line) const · 31 unmodified lines
2444 Otherwise return false. */2432 Otherwise return false. */
2445 2433
2446bool2434bool
2447fixit_hint::maybe_append (source_location start,2435fixit_hint::maybe_append (location_t start,
2448 source_location next_loc,2436 location_t next_loc,
2449 const char *new_content)2437 const char *new_content)
2450{2438{
2451 /* For consolidation to be possible, START must be at this hint's2439 /* For consolidation to be possible, START must be at this hint's
gcc/libcpp/location-example.txt+196−151
@@ -20,213 +20,258 @@ extern int foo (); · 19 unmodified lines
20 20
21 21
22The undocumented -fdump-internal-locations option outputs this information22The undocumented -fdump-internal-locations option outputs this information
23to stderr, showing what each source_location value means. Source code23to stderr, showing what each location_t value means. Source code
24lines are quoted, showing both per-line source_location values and24lines are quoted, showing both per-line location_t values and
25per-line&column source_location values (written vertically under the25per-line&column location_t values (written vertically under the
26corresponding character of source code).26corresponding character of source code).
27 27
28VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV28VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
29RESERVED LOCATIONS29RESERVED LOCATIONS
30 source_location interval: 0 <= loc < 230 location_t interval: 0 <= loc < 2
31 31
32ORDINARY MAP: 032ORDINARY MAP: 0
33 source_location interval: 32 <= loc < 6433 location_t interval: 32 <= loc < 64
34 file: test.c34 file: test.c
35 starting at line: 135 starting at line: 1
36 column bits: 1236 column and range bits: 12
37 column bits: 7
37 range bits: 538 range bits: 5
39 reason: 0 (LC_ENTER)
40 included from location: 0
38test.c: 1|loc: 32|#include "test.h"41test.c: 1|loc: 32|#include "test.h"
39 |6926925825814814742 |69269258258148147
40 |4680246802468024643 |46802468024680246
41 44
42ORDINARY MAP: 145ORDINARY MAP: 1
43 source_location interval: 64 <= loc < 9646 location_t interval: 64 <= loc < 96
44 file: <built-in>47 file: <built-in>
45 starting at line: 048 starting at line: 0
49 column and range bits: 0
46 column bits: 050 column bits: 0
47 range bits: 051 range bits: 0
52 reason: 2 (LC_RENAME)
53 included from location: 0
48 54
49ORDINARY MAP: 255ORDINARY MAP: 2
50 source_location interval: 96 <= loc < 12856 location_t interval: 96 <= loc < 128
51 file: <command-line>57 file: <command-line>
52 starting at line: 058 starting at line: 0
59 column and range bits: 0
53 column bits: 060 column bits: 0
54 range bits: 061 range bits: 0
62 reason: 2 (LC_RENAME)
63 included from location: 0
55 64
56ORDINARY MAP: 365ORDINARY MAP: 3
57 source_location interval: 128 <= loc < 16012866 location_t interval: 128 <= loc < 250240
58 file: /usr/include/stdc-predef.h67 file: /usr/include/stdc-predef.h
59 starting at line: 168 starting at line: 1
60 column bits: 1269 column and range bits: 12
70 column bits: 7
61 range bits: 571 range bits: 5
72 reason: 0 (LC_ENTER)
73 included from location: 127 (in ordinary map 2)
62(contents of /usr/include/stdc-predef.h snipped for brevity)74(contents of /usr/include/stdc-predef.h snipped for brevity)
63 75
64ORDINARY MAP: 476ORDINARY MAP: 4
65 source_location interval: 160128 <= loc < 16016077 location_t interval: 250240 <= loc < 250272
66 file: <command-line>78 file: <command-line>
67 starting at line: 3279 starting at line: 32
68 column bits: 1280 column and range bits: 12
81 column bits: 7
69 range bits: 582 range bits: 5
83 reason: 1 (LC_LEAVE)
84 included from location: 0
70 85
71ORDINARY MAP: 586ORDINARY MAP: 5
72 source_location interval: 160160 <= loc < 16425687 location_t interval: 250272 <= loc < 254368
73 file: test.c88 file: test.c
74 starting at line: 189 starting at line: 1
75 column bits: 1290 column and range bits: 12
91 column bits: 7
76 range bits: 592 range bits: 5
77test.c: 1|loc:160160|#include "test.h"93 reason: 2 (LC_RENAME)
78 |0000000000000000094 included from location: 0
79 |1222333444555666795test.c: 1|loc:250272|#include "test.h"
80 |9258258148147047096 |00000000000000000
81 |2468024680246802497 |33344445556667778
98 |03603692692582581
99 |46802468024680246
82 100
83ORDINARY MAP: 6101ORDINARY MAP: 6
84 source_location interval: 164256 <= loc < 173280102 location_t interval: 254368 <= loc < 266720
85 file: test.h103 file: test.h
86 starting at line: 1104 starting at line: 1
87 column bits: 12105 column and range bits: 12
106 column bits: 7
88 range bits: 5107 range bits: 5
89test.h: 1|loc:164256|extern int foo ();108 reason: 0 (LC_ENTER)
90 |444444444444444444109 included from location: 250272 (in ordinary map 5)
91 |233344455566677788110test.h: 1|loc:254368|extern int foo ();
92 |825814814704703603111 |444444444444444444
93 |802468024680246802112 |444455566677788899
94test.h: 2|loc:168352|113 |036926925825814814
95 |114 |024680246802468024
96 |115test.h: 2|loc:258464|
97 |116 |
98 |117 |
99test.h: 3|loc:172448|#define PLUS(A, B) A + B118 |
100 |222222222222222223333333119 |
101 |455566677788889990001112120test.h: 3|loc:262560|#define PLUS(A, B) A + B
102 |814704703603692692582581121 |222222222222233333333333
103 |024680246802468024680246122 |566677788899900011122223
123 |925825814814704703603692
124 |246802468024680246802468
125test.h: 4|loc:266656|
126 |
127 |
128 |
129 |
104 130
105ORDINARY MAP: 7131ORDINARY MAP: 7
106 source_location interval: 173280 <= loc < 202016132 location_t interval: 266720 <= loc < 299520
107 file: test.c133 file: test.c
108 starting at line: 2134 starting at line: 2
109 column bits: 12135 column and range bits: 12
136 column bits: 7
110 range bits: 5137 range bits: 5
111test.c: 2|loc:173280|138 reason: 1 (LC_LEAVE)
112 |139 included from location: 0
113 |140test.c: 2|loc:266720|
114 |141 |
115 |142 |
116test.c: 3|loc:177376|int143 |
117 |777144 |
118 |444145test.c: 3|loc:270816|int
119 |047146 |000
120 |802147 |889
121test.c: 4|loc:181472|main (int argc, char **argv)148 |481
122 |1111111111111111222222222222149 |802
123 |5556666777888999000111222333150test.c: 4|loc:274912|main (int argc, char **argv)
124 |0360369269258258148147047036151 |4455555555555555555555555555
125 |4680246802468024680246802468152 |9900011122223334445556667778
126test.c: 5|loc:185568|{153 |4704703603692692582581481470
127 |5154 |4680246802468024680246802468
128 |6155test.c: 5|loc:279008|{
129 |0156 |9
130 |0157 |0
131test.c: 6|loc:189664| int a = PLUS (1,2);158 |4
132 |999999999900000000000159 |0
133 |677788899900011122233160test.c: 6|loc:283104| int a = PLUS (1,2);
134 |926925825814814704703161 |333333333333333333333
135 |680246802468024680246162 |112222333444555666777
136test.c: 7|loc:193760| int b = PLUS (3,4);163 |360369269258258148147
137 |333333344444444444444164 |680246802468024680246
138 |788899900011122233344165test.c: 7|loc:287200| int b = PLUS (3,4);
139 |925825814814704703603166 |777777777777777777777
140 |246802468024680246802167 |222333444555666777888
141test.c: 8|loc:197856| return 0;168 |369269258258148147047
142 |77778888888169 |246802468024680246802
143 |89990001112170test.c: 8|loc:291296| return 0;
144 |82581481470171 |11111111111
145 |80246802468172 |33344455566
146test.c: 9|loc:201952|}173 |26925825814
147 |1174 |80246802468
148 |9175test.c: 9|loc:295392|}
149 |8176 |5
150 |4177 |4
178 |2
179 |4
180test.c: 10|loc:299488|
181 |
182 |
183 |
184 |
151 185
152UNALLOCATED LOCATIONS186UNALLOCATED LOCATIONS
153 source_location interval: 202016 <= loc < 2147483633187 location_t interval: 299520 <= loc < 2147483632
154 188
155MACRO 1: PLUS (7 tokens)189MACRO 3: PLUS (7 tokens)
156 source_location interval: 2147483633 <= loc < 2147483640190 location_t interval: 2147483632 <= loc < 2147483639
157test.c:7:11: note: expansion point is location 194115191test.c:7:11: note: expansion point is location 287555
158 int b = PLUS (3,4);192 7 | int b = PLUS (3,4);
159 ^~~~193 | ^~~~
194 map->start_location: 2147483632
195 macro_locations:
196 0: 287744, 263200
197test.c:7:17: note: token 0 has x-location == 287744
198 7 | int b = PLUS (3,4);
199 | ^
200test.c:7:17: note: token 0 has y-location == 263200
201 1: 263264, 263264
202In file included from test.c:1:
203test.h:3:22: note: token 1 has x-location == y-location == 263264
204 3 | #define PLUS(A, B) A + B
205 | ^
206 2: 287808, 263328
207test.c:7:19: note: token 2 has x-location == 287808
208 7 | int b = PLUS (3,4);
209 | ^
210test.c:7:19: note: token 2 has y-location == 263328
211 3: 0, 0
212cc1: note: token 3 has x-location == y-location == 0
213 4: 0, 0
214cc1: note: token 4 has x-location == y-location == 0
215 5: 0, 0
216cc1: note: token 5 has x-location == y-location == 0
217 6: 0, 0
218cc1: note: token 6 has x-location == y-location == 0
160 219
161 map->start_location: 2147483633220MACRO 2: PLUS (7 tokens)
221 location_t interval: 2147483639 <= loc < 2147483646
222test.c:6:11: note: expansion point is location 283459
223 6 | int a = PLUS (1,2);
224 | ^~~~
225 map->start_location: 2147483639
162 macro_locations:226 macro_locations:
163 0: 194304, 173088227 0: 283648, 263200
164test.c:7:17: note: token 0 has x-location == 194304228test.c:6:17: note: token 0 has x-location == 283648
165 int b = PLUS (3,4);229 6 | int a = PLUS (1,2);
166 ^230 | ^
167 231test.c:6:17: note: token 0 has y-location == 263200
168test.c:7:17: note: token 0 has y-location == 173088232 1: 263264, 263264
169 1: 173152, 173152233In file included from test.c:1:
170In file included from test.c:1:0:234test.h:3:22: note: token 1 has x-location == y-location == 263264
171test.h:3:22: note: token 1 has x-location == y-location == 173152235 3 | #define PLUS(A, B) A + B
172 #define PLUS(A, B) A + B236 | ^
173 ^237 2: 283712, 263328
174 238test.c:6:19: note: token 2 has x-location == 283712
175 2: 194368, 173216239 6 | int a = PLUS (1,2);
176test.c:7:19: note: token 2 has x-location == 194368240 | ^
177 int b = PLUS (3,4);241test.c:6:19: note: token 2 has y-location == 263328
178 ^242 3: 0, 0
179 243cc1: note: token 3 has x-location == y-location == 0
180test.c:7:19: note: token 2 has y-location == 173216244 4: 0, 0
181 3: 0, 2947526575245cc1: note: token 4 has x-location == y-location == 0
182cc1: note: token 3 has x-location == 0246 5: 0, 0
183cc1: note: token 3 has y-location == 2947526575247cc1: note: token 5 has x-location == y-location == 0
184 4: 2947526575, 2947526575248 6: 0, 0
185x-location == y-location == 2947526575 encodes token # 800042942249cc1: note: token 6 has x-location == y-location == 0
186 5: 2947526575, 2947526575250
187x-location == y-location == 2947526575 encodes token # 800042942251MACRO 1: __GCC_IEC_559_COMPLEX (1 tokens)
188 6: 2947526575, 2947526575252 location_t interval: 2147483646 <= loc < 2147483647
189x-location == y-location == 2947526575 encodes token # 800042942253In file included from <command-line>:31:
190 254/usr/include/stdc-predef.h:45:6: note: expansion point is location 180564
191MACRO 0: PLUS (7 tokens)255 45 | # if __GCC_IEC_559_COMPLEX > 0
192 source_location interval: 2147483640 <= loc < 2147483647256 | ^~~~~~~~~~~~~~~~~~~~~
193test.c:6:11: note: expansion point is location 190019257 map->start_location: 2147483646
194 int a = PLUS (1,2);
195 ^~~~
196
197 map->start_location: 2147483640
198 macro_locations:258 macro_locations:
199 0: 190208, 173088259 0: 1, 1
200test.c:6:17: note: token 0 has x-location == 190208260<built-in>: note: token 0 has x-location == y-location == 1
201 int a = PLUS (1,2);261
202 ^262MACRO 0: __GCC_IEC_559 (1 tokens)
203 263 location_t interval: 2147483647 <= loc < 2147483648
204test.c:6:17: note: token 0 has y-location == 173088264/usr/include/stdc-predef.h:37:6: note: expansion point is location 147788
205 1: 173152, 173152265 37 | # if __GCC_IEC_559 > 0
206In file included from test.c:1:0:266 | ^~~~~~~~~~~~~
207test.h:3:22: note: token 1 has x-location == y-location == 173152267 map->start_location: 2147483647
208 #define PLUS(A, B) A + B268 macro_locations:
209 ^269 0: 1, 1
210 270<built-in>: note: token 0 has x-location == y-location == 1
211 2: 190272, 173216271
212test.c:6:19: note: token 2 has x-location == 190272272MAX_LOCATION_T
213 int a = PLUS (1,2);273 location_t interval: 2147483647 <= loc < 2147483648
214 ^
215
216test.c:6:19: note: token 2 has y-location == 173216
217 3: 0, 2947526575
218cc1: note: token 3 has x-location == 0
219cc1: note: token 3 has y-location == 2947526575
220 4: 2947526575, 2947526575
221x-location == y-location == 2947526575 encodes token # 800042935
222 5: 2947526575, 2947526575
223x-location == y-location == 2947526575 encodes token # 800042935
224 6: 2947526575, 2947526575
225x-location == y-location == 2947526575 encodes token # 800042935
226
227MAX_SOURCE_LOCATION
228 source_location interval: 2147483647 <= loc < 2147483648
229 274
230AD-HOC LOCATIONS275AD-HOC LOCATIONS
231 source_location interval: 2147483648 <= loc < 4294967295276 location_t interval: 2147483648 <= loc < 4294967295
232^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^277^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gcc/libcpp/macro.c+429−409
@@ -1,5 +1,5 @@
1/* Part of CPP library. (Macro and #define handling.)1/* Part of CPP library. (Macro and #define handling.)
2 Copyright (C) 1986-2018 Free Software Foundation, Inc.2 Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 Written by Per Bothner, 1994.3 Written by Per Bothner, 1994.
4 Based on CCCP program by Paul Rubin, June 19864 Based on CCCP program by Paul Rubin, June 1986
5 Adapted to ANSI C, Richard Stallman, Jan 19875 Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -39,9 +39,9 @@ struct macro_arg · 33 unmodified lines
39 const cpp_token *stringified; /* Stringified argument. */39 const cpp_token *stringified; /* Stringified argument. */
40 unsigned int count; /* # of tokens in argument. */40 unsigned int count; /* # of tokens in argument. */
41 unsigned int expanded_count; /* # of tokens in expanded argument. */41 unsigned int expanded_count; /* # of tokens in expanded argument. */
42 source_location *virt_locs; /* Where virtual locations for42 location_t *virt_locs; /* Where virtual locations for
43 unexpanded tokens are stored. */43 unexpanded tokens are stored. */
44 source_location *expanded_virt_locs; /* Where virtual locations for44 location_t *expanded_virt_locs; /* Where virtual locations for
45 expanded tokens are45 expanded tokens are
46 stored. */46 stored. */
47};47};
@@ -72,7 +72,7 @@ struct macro_arg_token_iter · 24 unmodified lines
72 /* A pointer to the "full" location of the current token. If72 /* A pointer to the "full" location of the current token. If
73 -ftrack-macro-expansion is used this location tracks loci across73 -ftrack-macro-expansion is used this location tracks loci across
74 macro expansion. */74 macro expansion. */
75 const source_location *location_ptr;75 const location_t *location_ptr;
76#if CHECKING_P76#if CHECKING_P
77 /* The number of times the iterator went forward. This useful only77 /* The number of times the iterator went forward. This useful only
78 when checking is enabled. */78 when checking is enabled. */
@@ -85,8 +85,9 @@ struct macro_arg_token_iter · 6 unmodified lines
85struct macro_arg_saved_data {85struct macro_arg_saved_data {
86 /* The canonical (UTF-8) spelling of this identifier. */86 /* The canonical (UTF-8) spelling of this identifier. */
87 cpp_hashnode *canonical_node;87 cpp_hashnode *canonical_node;
88 /* The previous value of this identifier. */88 /* The previous value & type of this identifier. */
89 union _cpp_hashnode_value value;89 union _cpp_hashnode_value value;
90 node_type type;
90};91};
91 92
92static const char *vaopt_paste_error =93static const char *vaopt_paste_error =
@@ -234,22 +235,22 @@ class vaopt_state { · 141 unmodified lines
234 int m_state;235 int m_state;
235 236
236 /* The location of the paste token. */237 /* The location of the paste token. */
237 source_location m_paste_location;238 location_t m_paste_location;
238 239
239 /* Location of the __VA_OPT__ token. */240 /* Location of the __VA_OPT__ token. */
240 source_location m_location;241 location_t m_location;
241};242};
242 243
243/* Macro expansion. */244/* Macro expansion. */
244 245
245static int enter_macro_context (cpp_reader *, cpp_hashnode *,246static int enter_macro_context (cpp_reader *, cpp_hashnode *,
246 const cpp_token *, source_location);247 const cpp_token *, location_t);
247static int builtin_macro (cpp_reader *, cpp_hashnode *,248static int builtin_macro (cpp_reader *, cpp_hashnode *,
248 source_location, source_location);249 location_t, location_t);
249static void push_ptoken_context (cpp_reader *, cpp_hashnode *, _cpp_buff *,250static void push_ptoken_context (cpp_reader *, cpp_hashnode *, _cpp_buff *,
250 const cpp_token **, unsigned int);251 const cpp_token **, unsigned int);
251static void push_extended_tokens_context (cpp_reader *, cpp_hashnode *,252static void push_extended_tokens_context (cpp_reader *, cpp_hashnode *,
252 _cpp_buff *, source_location *,253 _cpp_buff *, location_t *,
253 const cpp_token **, unsigned int);254 const cpp_token **, unsigned int);
254static _cpp_buff *collect_args (cpp_reader *, const cpp_hashnode *,255static _cpp_buff *collect_args (cpp_reader *, const cpp_hashnode *,
255 _cpp_buff **, unsigned *);256 _cpp_buff **, unsigned *);
@@ -259,21 +260,21 @@ static void expand_arg (cpp_reader *, macro_arg *); · 3 unmodified lines
259static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int);260static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int);
260static const cpp_token *stringify_arg (cpp_reader *, macro_arg *);261static const cpp_token *stringify_arg (cpp_reader *, macro_arg *);
261static void paste_all_tokens (cpp_reader *, const cpp_token *);262static void paste_all_tokens (cpp_reader *, const cpp_token *);
262static bool paste_tokens (cpp_reader *, source_location,263static bool paste_tokens (cpp_reader *, location_t,
263 const cpp_token **, const cpp_token *);264 const cpp_token **, const cpp_token *);
264static void alloc_expanded_arg_mem (cpp_reader *, macro_arg *, size_t);265static void alloc_expanded_arg_mem (cpp_reader *, macro_arg *, size_t);
265static void ensure_expanded_arg_room (cpp_reader *, macro_arg *, size_t, size_t *);266static void ensure_expanded_arg_room (cpp_reader *, macro_arg *, size_t, size_t *);
266static void delete_macro_args (_cpp_buff*, unsigned num_args);267static void delete_macro_args (_cpp_buff*, unsigned num_args);
267static void set_arg_token (macro_arg *, const cpp_token *,268static void set_arg_token (macro_arg *, const cpp_token *,
268 source_location, size_t,269 location_t, size_t,
269 enum macro_arg_token_kind,270 enum macro_arg_token_kind,
270 bool);271 bool);
271static const source_location *get_arg_token_location (const macro_arg *,272static const location_t *get_arg_token_location (const macro_arg *,
272 enum macro_arg_token_kind);273 enum macro_arg_token_kind);
273static const cpp_token **arg_token_ptr_at (const macro_arg *,274static const cpp_token **arg_token_ptr_at (const macro_arg *,
274 size_t,275 size_t,
275 enum macro_arg_token_kind,276 enum macro_arg_token_kind,
276 source_location **virt_location);277 location_t **virt_location);
277 278
278static void macro_arg_token_iter_init (macro_arg_token_iter *, bool,279static void macro_arg_token_iter_init (macro_arg_token_iter *, bool,
279 enum macro_arg_token_kind,280 enum macro_arg_token_kind,
@@ -281,49 +282,48 @@ static void macro_arg_token_iter_init (macro_arg_token_iter *, bool, · 1 unmodified line
281 const cpp_token **);282 const cpp_token **);
282static const cpp_token *macro_arg_token_iter_get_token283static const cpp_token *macro_arg_token_iter_get_token
283(const macro_arg_token_iter *it);284(const macro_arg_token_iter *it);
284static source_location macro_arg_token_iter_get_location285static location_t macro_arg_token_iter_get_location
285(const macro_arg_token_iter *);286(const macro_arg_token_iter *);
286static void macro_arg_token_iter_forward (macro_arg_token_iter *);287static void macro_arg_token_iter_forward (macro_arg_token_iter *);
287static _cpp_buff *tokens_buff_new (cpp_reader *, size_t,288static _cpp_buff *tokens_buff_new (cpp_reader *, size_t,
288 source_location **);289 location_t **);
289static size_t tokens_buff_count (_cpp_buff *);290static size_t tokens_buff_count (_cpp_buff *);
290static const cpp_token **tokens_buff_last_token_ptr (_cpp_buff *);291static const cpp_token **tokens_buff_last_token_ptr (_cpp_buff *);
291static inline const cpp_token **tokens_buff_put_token_to (const cpp_token **,292static inline const cpp_token **tokens_buff_put_token_to (const cpp_token **,
292 source_location *,293 location_t *,
293 const cpp_token *,294 const cpp_token *,
294 source_location,295 location_t,
295 source_location,296 location_t,
296 const line_map_macro *,297 const line_map_macro *,
297 unsigned int);298 unsigned int);
298 299
299static const cpp_token **tokens_buff_add_token (_cpp_buff *,300static const cpp_token **tokens_buff_add_token (_cpp_buff *,
300 source_location *,301 location_t *,
301 const cpp_token *,302 const cpp_token *,
302 source_location,303 location_t,
303 source_location,304 location_t,
304 const line_map_macro *,305 const line_map_macro *,
305 unsigned int);306 unsigned int);
306static inline void tokens_buff_remove_last_token (_cpp_buff *);307static inline void tokens_buff_remove_last_token (_cpp_buff *);
307static void replace_args (cpp_reader *, cpp_hashnode *, cpp_macro *,308static void replace_args (cpp_reader *, cpp_hashnode *, cpp_macro *,
308 macro_arg *, source_location);309 macro_arg *, location_t);
309static _cpp_buff *funlike_invocation_p (cpp_reader *, cpp_hashnode *,310static _cpp_buff *funlike_invocation_p (cpp_reader *, cpp_hashnode *,
310 _cpp_buff **, unsigned *);311 _cpp_buff **, unsigned *);
311static bool create_iso_definition (cpp_reader *, cpp_macro *);312static cpp_macro *create_iso_definition (cpp_reader *);
312 313
313/* #define directive parsing and handling. */314/* #define directive parsing and handling. */
314 315
315static cpp_token *alloc_expansion_token (cpp_reader *, cpp_macro *);316static cpp_macro *lex_expansion_token (cpp_reader *, cpp_macro *);
316static cpp_token *lex_expansion_token (cpp_reader *, cpp_macro *);
317static bool warn_of_redefinition (cpp_reader *, cpp_hashnode *,317static bool warn_of_redefinition (cpp_reader *, cpp_hashnode *,
318 const cpp_macro *);318 const cpp_macro *);
319static bool parse_params (cpp_reader *, cpp_macro *);319static bool parse_params (cpp_reader *, unsigned *, bool *);
320static void check_trad_stringification (cpp_reader *, const cpp_macro *,320static void check_trad_stringification (cpp_reader *, const cpp_macro *,
321 const cpp_string *);321 const cpp_string *);
322static bool reached_end_of_context (cpp_context *);322static bool reached_end_of_context (cpp_context *);
323static void consume_next_token_from_context (cpp_reader *pfile,323static void consume_next_token_from_context (cpp_reader *pfile,
324 const cpp_token **,324 const cpp_token **,
325 source_location *);325 location_t *);
326static const cpp_token* cpp_get_token_1 (cpp_reader *, source_location *);326static const cpp_token* cpp_get_token_1 (cpp_reader *, location_t *);
327 327
328static cpp_hashnode* macro_of_context (cpp_context *context);328static cpp_hashnode* macro_of_context (cpp_context *context);
329 329
@@ -342,7 +342,7 @@ int · 12 unmodified lines
342_cpp_warn_if_unused_macro (cpp_reader *pfile, cpp_hashnode *node,342_cpp_warn_if_unused_macro (cpp_reader *pfile, cpp_hashnode *node,
343 void *v ATTRIBUTE_UNUSED)343 void *v ATTRIBUTE_UNUSED)
344{344{
345 if (node->type == NT_MACRO && !(node->flags & NODE_BUILTIN))345 if (cpp_user_macro_p (node))
346 {346 {
347 cpp_macro *macro = node->value.macro;347 cpp_macro *macro = node->value.macro;
348 348
@@ -382,7 +382,7 @@ static const char * const monthnames[] = · 33 unmodified lines
382 a builtin macro. */382 a builtin macro. */
383const uchar *383const uchar *
384_cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,384_cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
385 source_location loc)385 location_t loc)
386{386{
387 const uchar *result = NULL;387 const uchar *result = NULL;
388 linenum_type number = 1;388 linenum_type number = 1;
@@ -587,7 +587,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node, · 198 unmodified lines
587 point of the macro. */587 point of the macro. */
588static int588static int
589builtin_macro (cpp_reader *pfile, cpp_hashnode *node,589builtin_macro (cpp_reader *pfile, cpp_hashnode *node,
590 source_location loc, source_location expand_loc)590 location_t loc, location_t expand_loc)
591{591{
592 const uchar *buf;592 const uchar *buf;
593 size_t len;593 size_t len;
@@ -623,7 +623,7 @@ builtin_macro (cpp_reader *pfile, cpp_hashnode *node, · 29 unmodified lines
623 Create a macro line map and generate a virtual location for623 Create a macro line map and generate a virtual location for
624 the token resulting from the expansion of the built-in624 the token resulting from the expansion of the built-in
625 macro. */625 macro. */
626 source_location *virt_locs = NULL;626 location_t *virt_locs = NULL;
627 _cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);627 _cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);
628 const line_map_macro * map =628 const line_map_macro * map =
629 linemap_enter_macro (pfile->line_table, node, loc, 1);629 linemap_enter_macro (pfile->line_table, node, loc, 1);
@@ -773,7 +773,7 @@ stringify_arg (cpp_reader *pfile, macro_arg *arg) · 143 unmodified lines
773 guaranteed to not have the PASTE_LEFT flag set. LOCATION is773 guaranteed to not have the PASTE_LEFT flag set. LOCATION is
774 the virtual location used for error reporting. */774 the virtual location used for error reporting. */
775static bool775static bool
776paste_tokens (cpp_reader *pfile, source_location location,776paste_tokens (cpp_reader *pfile, location_t location,
777 const cpp_token **plhs, const cpp_token *rhs)777 const cpp_token **plhs, const cpp_token *rhs)
778{778{
779 unsigned char *buf, *end, *lhsend;779 unsigned char *buf, *end, *lhsend;
@@ -803,7 +803,7 @@ paste_tokens (cpp_reader *pfile, source_location location, · 23 unmodified lines
803 lhs = _cpp_lex_direct (pfile);803 lhs = _cpp_lex_direct (pfile);
804 if (pfile->buffer->cur != pfile->buffer->rlimit)804 if (pfile->buffer->cur != pfile->buffer->rlimit)
805 {805 {
806 source_location saved_loc = lhs->src_loc;806 location_t saved_loc = lhs->src_loc;
807 807
808 _cpp_pop_buffer (pfile);808 _cpp_pop_buffer (pfile);
809 _cpp_backup_tokens (pfile, 1);809 _cpp_backup_tokens (pfile, 1);
@@ -841,7 +841,7 @@ paste_all_tokens (cpp_reader *pfile, const cpp_token *lhs) · 31 unmodified lines
841{841{
842 const cpp_token *rhs = NULL;842 const cpp_token *rhs = NULL;
843 cpp_context *context = pfile->context;843 cpp_context *context = pfile->context;
844 source_location virt_loc = 0;844 location_t virt_loc = 0;
845 845
846 /* We are expanding a macro and we must have been called on a token846 /* We are expanding a macro and we must have been called on a token
847 that appears at the left hand side of a ## operator. */847 that appears at the left hand side of a ## operator. */
@@ -903,7 +903,7 @@ paste_all_tokens (cpp_reader *pfile, const cpp_token *lhs) · 55 unmodified lines
903 /* Put the resulting token in its own context. */903 /* Put the resulting token in its own context. */
904 if (context->tokens_kind == TOKENS_KIND_EXTENDED)904 if (context->tokens_kind == TOKENS_KIND_EXTENDED)
905 {905 {
906 source_location *virt_locs = NULL;906 location_t *virt_locs = NULL;
907 _cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);907 _cpp_buff *token_buf = tokens_buff_new (pfile, 1, &virt_locs);
908 tokens_buff_add_token (token_buf, virt_locs, lhs,908 tokens_buff_add_token (token_buf, virt_locs, lhs,
909 virt_loc, 0, NULL, 0);909 virt_loc, 0, NULL, 0);
@@ -964,6 +964,10 @@ _cpp_arguments_ok (cpp_reader *pfile, cpp_macro *macro, const cpp_hashnode *node · 54 unmodified lines
964 "macro \"%s\" passed %u arguments, but takes just %u",964 "macro \"%s\" passed %u arguments, but takes just %u",
965 NODE_NAME (node), argc, macro->paramc);965 NODE_NAME (node), argc, macro->paramc);
966 966
967 if (macro->line > RESERVED_LOCATION_COUNT)
968 cpp_error_at (pfile, CPP_DL_NOTE, macro->line, "macro \"%s\" defined here",
969 NODE_NAME (node));
970
967 return false;971 return false;
968}972}
969 973
@@ -989,7 +993,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node, · 19 unmodified lines
989 macro_arg *args, *arg;993 macro_arg *args, *arg;
990 const cpp_token *token;994 const cpp_token *token;
991 unsigned int argc;995 unsigned int argc;
992 source_location virt_loc;996 location_t virt_loc;
993 bool track_macro_expansion_p = CPP_OPTION (pfile, track_macro_expansion);997 bool track_macro_expansion_p = CPP_OPTION (pfile, track_macro_expansion);
994 unsigned num_args_alloced = 0;998 unsigned num_args_alloced = 0;
995 999
@@ -1026,7 +1030,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node, · 30 unmodified lines
1026 if (track_macro_expansion_p)1030 if (track_macro_expansion_p)
1027 {1031 {
1028 virt_locs_capacity = DEFAULT_NUM_TOKENS_PER_MACRO_ARG;1032 virt_locs_capacity = DEFAULT_NUM_TOKENS_PER_MACRO_ARG;
1029 arg->virt_locs = XNEWVEC (source_location,1033 arg->virt_locs = XNEWVEC (location_t,
1030 virt_locs_capacity);1034 virt_locs_capacity);
1031 }1035 }
1032 1036
@@ -1044,7 +1048,7 @@ collect_args (cpp_reader *pfile, const cpp_hashnode *node, · 11 unmodified lines
1044 && (ntokens + 2 > virt_locs_capacity))1048 && (ntokens + 2 > virt_locs_capacity))
1045 {1049 {
1046 virt_locs_capacity += ARG_TOKENS_EXTENT;1050 virt_locs_capacity += ARG_TOKENS_EXTENT;
1047 arg->virt_locs = XRESIZEVEC (source_location,1051 arg->virt_locs = XRESIZEVEC (location_t,
1048 arg->virt_locs,1052 arg->virt_locs,
1049 virt_locs_capacity);1053 virt_locs_capacity);
1050 }1054 }
@@ -1235,13 +1239,14 @@ funlike_invocation_p (cpp_reader *pfile, cpp_hashnode *node, · 184 unmodified lines
1235static inline unsigned int1239static inline unsigned int
1236macro_real_token_count (const cpp_macro *macro)1240macro_real_token_count (const cpp_macro *macro)
1237{1241{
1238 unsigned int i;
1239 if (__builtin_expect (!macro->extra_tokens, true))1242 if (__builtin_expect (!macro->extra_tokens, true))
1240 return macro->count;1243 return macro->count;
1241 for (i = 0; i < macro->count; i++)1244
1242 if (macro->exp.tokens[i].type == CPP_PASTE)1245 for (unsigned i = macro->count; i--;)
1243 return i;1246 if (macro->exp.tokens[i].type != CPP_PASTE)
1244 abort ();1247 return i + 1;
1248
1249 return 0;
1245}1250}
1246 1251
1247/* Push the context of a macro with hash entry NODE onto the context1252/* Push the context of a macro with hash entry NODE onto the context
@@ -1255,7 +1260,7 @@ macro_real_token_count (const cpp_macro *macro) · 7 unmodified lines
1255 macro. */1260 macro. */
1256static int1261static int
1257enter_macro_context (cpp_reader *pfile, cpp_hashnode *node,1262enter_macro_context (cpp_reader *pfile, cpp_hashnode *node,
1258 const cpp_token *result, source_location location)1263 const cpp_token *result, location_t location)
1259{1264{
1260 /* The presence of a macro invalidates a file's controlling macro. */1265 /* The presence of a macro invalidates a file's controlling macro. */
1261 pfile->mi_valid = false;1266 pfile->mi_valid = false;
@@ -1273,17 +1278,7 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node, · 11 unmodified lines
1273 function where set this flag to FALSE. */1278 function where set this flag to FALSE. */
1274 pfile->about_to_expand_macro_p = true;1279 pfile->about_to_expand_macro_p = true;
1275 1280
1276 if ((node->flags & NODE_BUILTIN) && !(node->flags & NODE_USED))1281 if (cpp_user_macro_p (node))
1277 {
1278 node->flags |= NODE_USED;
1279 if ((!pfile->cb.user_builtin_macro
1280 || !pfile->cb.user_builtin_macro (pfile, node))
1281 && pfile->cb.used_define)
1282 pfile->cb.used_define (pfile, pfile->directive_line, node);
1283 }
1284
1285 /* Handle standard macros. */
1286 if (! (node->flags & NODE_BUILTIN))
1287 {1282 {
1288 cpp_macro *macro = node->value.macro;1283 cpp_macro *macro = node->value.macro;
1289 _cpp_buff *pragma_buff = NULL;1284 _cpp_buff *pragma_buff = NULL;
@@ -1329,13 +1324,9 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node, · 39 unmodified lines
1329 /* Disable the macro within its expansion. */1324 /* Disable the macro within its expansion. */
1330 node->flags |= NODE_DISABLED;1325 node->flags |= NODE_DISABLED;
1331 1326
1332 if (!(node->flags & NODE_USED))1327 /* Laziness can only affect the expansion tokens of the macro,
1333 {1328 not its fun-likeness or parameters. */
1334 node->flags |= NODE_USED;1329 _cpp_maybe_notify_macro_use (pfile, node);
1335 if (pfile->cb.used_define)
1336 pfile->cb.used_define (pfile, pfile->directive_line, node);
1337 }
1338
1339 if (pfile->cb.used)1330 if (pfile->cb.used)
1340 pfile->cb.used (pfile, location, node);1331 pfile->cb.used (pfile, location, node);
1341 1332
@@ -1349,7 +1340,7 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node, · 7 unmodified lines
1349 unsigned int i;1340 unsigned int i;
1350 const cpp_token *src = macro->exp.tokens;1341 const cpp_token *src = macro->exp.tokens;
1351 const line_map_macro *map;1342 const line_map_macro *map;
1352 source_location *virt_locs = NULL;1343 location_t *virt_locs = NULL;
1353 _cpp_buff *macro_tokens1344 _cpp_buff *macro_tokens
1354 = tokens_buff_new (pfile, tokens_count, &virt_locs);1345 = tokens_buff_new (pfile, tokens_count, &virt_locs);
1355 1346
@@ -1410,29 +1401,23 @@ enter_macro_context (cpp_reader *pfile, cpp_hashnode *node, · 54 unmodified lines
1410 pfile->about_to_expand_macro_p = false;1401 pfile->about_to_expand_macro_p = false;
1411 /* Handle built-in macros and the _Pragma operator. */1402 /* Handle built-in macros and the _Pragma operator. */
1412 {1403 {
1413 source_location loc, expand_loc;1404 location_t expand_loc;
1414 1405
1415 if (/* The top-level macro invocation that triggered the expansion1406 if (/* The top-level macro invocation that triggered the expansion
1416 we are looking at is with a standard macro ...*/1407 we are looking at is with a function-like user macro ... */
1417 !(pfile->top_most_macro_node->flags & NODE_BUILTIN)1408 cpp_fun_like_macro_p (pfile->top_most_macro_node)
1418 /* ... and it's a function-like macro invocation. */1409 /* ... and we are tracking the macro expansion. */
1419 && pfile->top_most_macro_node->value.macro->fun_like)1410 && CPP_OPTION (pfile, track_macro_expansion))
1420 {1411 /* Then the location of the end of the macro invocation is the
1421 /* Then the location of the end of the macro invocation is the1412 location of the expansion point of this macro. */
1422 location of the closing parenthesis. */1413 expand_loc = location;
1423 loc = pfile->cur_token[-1].src_loc;
1424 expand_loc = loc;
1425 }
1426 else1414 else
1427 {1415 /* Otherwise, the location of the end of the macro invocation is
1428 /* Otherwise, the location of the end of the macro invocation is1416 the location of the expansion point of that top-level macro
1429 the location of the expansion point of that top-level macro1417 invocation. */
1430 invocation. */1418 expand_loc = pfile->invocation_location;
1431 loc = location;
1432 expand_loc = pfile->invocation_location;
1433 }
1434 1419
1435 return builtin_macro (pfile, node, loc, expand_loc);1420 return builtin_macro (pfile, node, location, expand_loc);
1436 }1421 }
1437}1422}
1438 1423
@@ -1482,12 +1467,12 @@ delete_macro_args (_cpp_buff *buff, unsigned num_args) · 43 unmodified lines
1482 tokens, at least. */1467 tokens, at least. */
1483static void1468static void
1484set_arg_token (macro_arg *arg, const cpp_token *token,1469set_arg_token (macro_arg *arg, const cpp_token *token,
1485 source_location location, size_t index,1470 location_t location, size_t index,
1486 enum macro_arg_token_kind kind,1471 enum macro_arg_token_kind kind,
1487 bool track_macro_exp_p)1472 bool track_macro_exp_p)
1488{1473{
1489 const cpp_token **token_ptr;1474 const cpp_token **token_ptr;
1490 source_location *loc = NULL;1475 location_t *loc = NULL;
1491 1476
1492 token_ptr =1477 token_ptr =
1493 arg_token_ptr_at (arg, index, kind,1478 arg_token_ptr_at (arg, index, kind,
@@ -1508,13 +1493,13 @@ set_arg_token (macro_arg *arg, const cpp_token *token, · 14 unmodified lines
1508/* Get the pointer to the location of the argument token of the1493/* Get the pointer to the location of the argument token of the
1509 function-like macro argument ARG. This function must be called1494 function-like macro argument ARG. This function must be called
1510 only when we -ftrack-macro-expansion is on. */1495 only when we -ftrack-macro-expansion is on. */
1511static const source_location *1496static const location_t *
1512get_arg_token_location (const macro_arg *arg,1497get_arg_token_location (const macro_arg *arg,
1513 enum macro_arg_token_kind kind)1498 enum macro_arg_token_kind kind)
1514{1499{
1515 const source_location *loc = NULL;1500 const location_t *loc = NULL;
1516 const cpp_token **token_ptr =1501 const cpp_token **token_ptr =
1517 arg_token_ptr_at (arg, 0, kind, (source_location **) &loc);1502 arg_token_ptr_at (arg, 0, kind, (location_t **) &loc);
1518 1503
1519 if (token_ptr == NULL)1504 if (token_ptr == NULL)
1520 return NULL;1505 return NULL;
@@ -1531,7 +1516,7 @@ get_arg_token_location (const macro_arg *arg, · 10 unmodified lines
1531static const cpp_token **1516static const cpp_token **
1532arg_token_ptr_at (const macro_arg *arg, size_t index,1517arg_token_ptr_at (const macro_arg *arg, size_t index,
1533 enum macro_arg_token_kind kind,1518 enum macro_arg_token_kind kind,
1534 source_location **virt_location)1519 location_t **virt_location)
1535{1520{
1536 const cpp_token **tokens_ptr = NULL;1521 const cpp_token **tokens_ptr = NULL;
1537 1522
@@ -1561,7 +1546,7 @@ arg_token_ptr_at (const macro_arg *arg, size_t index, · 23 unmodified lines
1561 *virt_location = &arg->expanded_virt_locs[index];1546 *virt_location = &arg->expanded_virt_locs[index];
1562 else if (kind == MACRO_ARG_TOKEN_STRINGIFIED)1547 else if (kind == MACRO_ARG_TOKEN_STRINGIFIED)
1563 *virt_location =1548 *virt_location =
1564 (source_location *) &tokens_ptr[index]->src_loc;1549 (location_t *) &tokens_ptr[index]->src_loc;
1565 }1550 }
1566 return &tokens_ptr[index];1551 return &tokens_ptr[index];
1567}1552}
@@ -1638,7 +1623,7 @@ macro_arg_token_iter_get_token (const macro_arg_token_iter *it) · 70 unmodified lines
1638}1623}
1639 1624
1640/* Return the location of the token pointed to by the iterator.*/1625/* Return the location of the token pointed to by the iterator.*/
1641static source_location1626static location_t
1642macro_arg_token_iter_get_location (const macro_arg_token_iter *it)1627macro_arg_token_iter_get_location (const macro_arg_token_iter *it)
1643{1628{
1644#if CHECKING_P1629#if CHECKING_P
@@ -1735,14 +1720,14 @@ last_token_is (_cpp_buff *buff, const cpp_token **ptr) · 90 unmodified lines
1735 function-like macro invocation. */1720 function-like macro invocation. */
1736static void1721static void
1737replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro,1722replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro,
1738 macro_arg *args, source_location expansion_point_loc)1723 macro_arg *args, location_t expansion_point_loc)
1739{1724{
1740 unsigned int i, total;1725 unsigned int i, total;
1741 const cpp_token *src, *limit;1726 const cpp_token *src, *limit;
1742 const cpp_token **first = NULL;1727 const cpp_token **first = NULL;
1743 macro_arg *arg;1728 macro_arg *arg;
1744 _cpp_buff *buff = NULL;1729 _cpp_buff *buff = NULL;
1745 source_location *virt_locs = NULL;1730 location_t *virt_locs = NULL;
1746 unsigned int exp_count;1731 unsigned int exp_count;
1747 const line_map_macro *map = NULL;1732 const line_map_macro *map = NULL;
1748 int track_macro_exp;1733 int track_macro_exp;
@@ -1780,7 +1765,7 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, · 31 unmodified lines
1780 arg->stringified = stringify_arg (pfile, arg);1765 arg->stringified = stringify_arg (pfile, arg);
1781 }1766 }
1782 else if ((src->flags & PASTE_LEFT)1767 else if ((src->flags & PASTE_LEFT)
1783 || (src > macro->exp.tokens && (src[-1].flags & PASTE_LEFT)))1768 || (src != macro->exp.tokens && (src[-1].flags & PASTE_LEFT)))
1784 total += arg->count - 1;1769 total += arg->count - 1;
1785 else1770 else
1786 {1771 {
@@ -1812,7 +1797,7 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, · 25 unmodified lines
1812 1797
1813 As far as tokens are concerned, the memory overhead of1798 As far as tokens are concerned, the memory overhead of
1814 -ftrack-macro-expansion is proportional to the number of1799 -ftrack-macro-expansion is proportional to the number of
1815 macros that get expanded multiplied by sizeof (source_location).1800 macros that get expanded multiplied by sizeof (location_t).
1816 The good news is that extra memory gets freed when the macro1801 The good news is that extra memory gets freed when the macro
1817 context is freed, i.e shortly after the macro got expanded. */1802 context is freed, i.e shortly after the macro got expanded. */
1818 1803
@@ -2231,7 +2216,7 @@ static void · 412 unmodified lines
2231push_extended_tokens_context (cpp_reader *pfile,2216push_extended_tokens_context (cpp_reader *pfile,
2232 cpp_hashnode *macro,2217 cpp_hashnode *macro,
2233 _cpp_buff *token_buff,2218 _cpp_buff *token_buff,
2234 source_location *virt_locs,2219 location_t *virt_locs,
2235 const cpp_token **first,2220 const cpp_token **first,
2236 unsigned int count)2221 unsigned int count)
2237{2222{
@@ -2277,13 +2262,13 @@ _cpp_push_text_context (cpp_reader *pfile, cpp_hashnode *macro, · 39 unmodified lines
2277 expansion. */2262 expansion. */
2278static _cpp_buff*2263static _cpp_buff*
2279tokens_buff_new (cpp_reader *pfile, size_t len,2264tokens_buff_new (cpp_reader *pfile, size_t len,
2280 source_location **virt_locs)2265 location_t **virt_locs)
2281{2266{
2282 size_t tokens_size = len * sizeof (cpp_token *);2267 size_t tokens_size = len * sizeof (cpp_token *);
2283 size_t locs_size = len * sizeof (source_location);2268 size_t locs_size = len * sizeof (location_t);
2284 2269
2285 if (virt_locs != NULL)2270 if (virt_locs != NULL)
2286 *virt_locs = XNEWVEC (source_location, locs_size);2271 *virt_locs = XNEWVEC (location_t, locs_size);
2287 return _cpp_get_buff (pfile, tokens_size);2272 return _cpp_get_buff (pfile, tokens_size);
2288}2273}
2289 2274
@@ -2340,14 +2325,14 @@ tokens_buff_remove_last_token (_cpp_buff *tokens_buff) · 50 unmodified lines
2340 point. */2325 point. */
2341static inline const cpp_token **2326static inline const cpp_token **
2342tokens_buff_put_token_to (const cpp_token **dest,2327tokens_buff_put_token_to (const cpp_token **dest,
2343 source_location *virt_loc_dest,2328 location_t *virt_loc_dest,
2344 const cpp_token *token,2329 const cpp_token *token,
2345 source_location virt_loc,2330 location_t virt_loc,
2346 source_location parm_def_loc, 2331 location_t parm_def_loc,
2347 const line_map_macro *map,2332 const line_map_macro *map,
2348 unsigned int macro_token_index)2333 unsigned int macro_token_index)
2349{2334{
2350 source_location macro_loc = virt_loc;2335 location_t macro_loc = virt_loc;
2351 const cpp_token **result;2336 const cpp_token **result;
2352 2337
2353 if (virt_loc_dest)2338 if (virt_loc_dest)
@@ -2385,15 +2370,15 @@ tokens_buff_put_token_to (const cpp_token **dest, · 31 unmodified lines
2385 position of the token coming right after the insertion point. */2370 position of the token coming right after the insertion point. */
2386static const cpp_token **2371static const cpp_token **
2387tokens_buff_add_token (_cpp_buff *buffer,2372tokens_buff_add_token (_cpp_buff *buffer,
2388 source_location *virt_locs,2373 location_t *virt_locs,
2389 const cpp_token *token,2374 const cpp_token *token,
2390 source_location virt_loc,2375 location_t virt_loc,
2391 source_location parm_def_loc,2376 location_t parm_def_loc,
2392 const line_map_macro *map,2377 const line_map_macro *map,
2393 unsigned int macro_token_index)2378 unsigned int macro_token_index)
2394{2379{
2395 const cpp_token **result;2380 const cpp_token **result;
2396 source_location *virt_loc_dest = NULL;2381 location_t *virt_loc_dest = NULL;
2397 unsigned token_index = 2382 unsigned token_index =
2398 (BUFF_FRONT (buffer) - buffer->base) / sizeof (cpp_token *);2383 (BUFF_FRONT (buffer) - buffer->base) / sizeof (cpp_token *);
2399 2384
@@ -2425,7 +2410,7 @@ alloc_expanded_arg_mem (cpp_reader *pfile, macro_arg *arg, size_t capacity) · 25 unmodified lines
2425 2410
2426 arg->expanded = XNEWVEC (const cpp_token *, capacity);2411 arg->expanded = XNEWVEC (const cpp_token *, capacity);
2427 if (CPP_OPTION (pfile, track_macro_expansion))2412 if (CPP_OPTION (pfile, track_macro_expansion))
2428 arg->expanded_virt_locs = XNEWVEC (source_location, capacity);2413 arg->expanded_virt_locs = XNEWVEC (location_t, capacity);
2429 2414
2430}2415}
2431 2416
@@ -2447,9 +2432,9 @@ ensure_expanded_arg_room (cpp_reader *pfile, macro_arg *arg, · 15 unmodified lines
2447 if (CPP_OPTION (pfile, track_macro_expansion))2432 if (CPP_OPTION (pfile, track_macro_expansion))
2448 {2433 {
2449 if (arg->expanded_virt_locs == NULL)2434 if (arg->expanded_virt_locs == NULL)
2450 arg->expanded_virt_locs = XNEWVEC (source_location, size);2435 arg->expanded_virt_locs = XNEWVEC (location_t, size);
2451 else2436 else
2452 arg->expanded_virt_locs = XRESIZEVEC (source_location,2437 arg->expanded_virt_locs = XRESIZEVEC (location_t,
2453 arg->expanded_virt_locs,2438 arg->expanded_virt_locs,
2454 size);2439 size);
2455 }2440 }
@@ -2492,7 +2477,7 @@ expand_arg (cpp_reader *pfile, macro_arg *arg) · 36 unmodified lines
2492 for (;;)2477 for (;;)
2493 {2478 {
2494 const cpp_token *token;2479 const cpp_token *token;
2495 source_location location;2480 location_t location;
2496 2481
2497 ensure_expanded_arg_room (pfile, arg, arg->expanded_count + 1,2482 ensure_expanded_arg_room (pfile, arg, arg->expanded_count + 1,
2498 &capacity);2483 &capacity);
@@ -2631,7 +2616,7 @@ reached_end_of_context (cpp_context *context) · 132 unmodified lines
2631static inline void2616static inline void
2632consume_next_token_from_context (cpp_reader *pfile,2617consume_next_token_from_context (cpp_reader *pfile,
2633 const cpp_token ** token,2618 const cpp_token ** token,
2634 source_location *location)2619 location_t *location)
2635{2620{
2636 cpp_context *c = pfile->context;2621 cpp_context *c = pfile->context;
2637 2622
@@ -2670,8 +2655,8 @@ consume_next_token_from_context (cpp_reader *pfile, · 32 unmodified lines
2670 location if we are in the traditional mode, and just returns2655 location if we are in the traditional mode, and just returns
2671 LOCATION otherwise. */2656 LOCATION otherwise. */
2672 2657
2673static inline source_location2658static inline location_t
2674maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, source_location location)2659maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, location_t location)
2675{2660{
2676 if (CPP_OPTION (pfile, traditional))2661 if (CPP_OPTION (pfile, traditional))
2677 {2662 {
@@ -2696,12 +2681,12 @@ maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, source_location location) · 18 unmodified lines
2696 cpp_get_token_with_location to learn more about the meaning of this2681 cpp_get_token_with_location to learn more about the meaning of this
2697 location. */2682 location. */
2698static const cpp_token*2683static const cpp_token*
2699cpp_get_token_1 (cpp_reader *pfile, source_location *location)2684cpp_get_token_1 (cpp_reader *pfile, location_t *location)
2700{2685{
2701 const cpp_token *result;2686 const cpp_token *result;
2702 /* This token is a virtual token that either encodes a location2687 /* This token is a virtual token that either encodes a location
2703 related to macro expansion or a spelling location. */2688 related to macro expansion or a spelling location. */
2704 source_location virt_loc = 0;2689 location_t virt_loc = 0;
2705 /* pfile->about_to_expand_macro_p can be overriden by indirect calls2690 /* pfile->about_to_expand_macro_p can be overriden by indirect calls
2706 to functions that push macro contexts. So let's save it so that2691 to functions that push macro contexts. So let's save it so that
2707 we can restore it when we are about to leave this routine. */2692 we can restore it when we are about to leave this routine. */
@@ -2750,7 +2735,7 @@ cpp_get_token_1 (cpp_reader *pfile, source_location *location) · 42 unmodified lines
2750 2735
2751 node = result->val.node.node;2736 node = result->val.node.node;
2752 2737
2753 if (node->type != NT_MACRO || (result->flags & NO_EXPAND))2738 if (node->type == NT_VOID || (result->flags & NO_EXPAND))
2754 break;2739 break;
2755 2740
2756 if (!(node->flags & NODE_DISABLED))2741 if (!(node->flags & NODE_DISABLED))
@@ -2899,7 +2884,7 @@ cpp_get_token (cpp_reader *pfile) · 142 unmodified lines
2899 location is just the same thing as its spelling location. */2884 location is just the same thing as its spelling location. */
2900 2885
2901const cpp_token *2886const cpp_token *
2902cpp_get_token_with_location (cpp_reader *pfile, source_location *loc)2887cpp_get_token_with_location (cpp_reader *pfile, location_t *loc)
2903{2888{
2904 return cpp_get_token_1 (pfile, loc);2889 return cpp_get_token_1 (pfile, loc);
2905}2890}
@@ -2995,23 +2980,18 @@ _cpp_backup_tokens (cpp_reader *pfile, unsigned int count) · 89 unmodified lines
2995 2980
2996/* #define directive parsing and handling. */2981/* #define directive parsing and handling. */
2997 2982
2998/* Returns nonzero if a macro redefinition warning is required. */2983/* Returns true if a macro redefinition warning is required. */
2999static bool2984static bool
3000warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node,2985warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node,
3001 const cpp_macro *macro2)2986 const cpp_macro *macro2)
3002{2987{
3003 const cpp_macro *macro1;
3004 unsigned int i;
3005
3006 /* Some redefinitions need to be warned about regardless. */2988 /* Some redefinitions need to be warned about regardless. */
3007 if (node->flags & NODE_WARN)2989 if (node->flags & NODE_WARN)
3008 return true;2990 return true;
3009 2991
3010 /* Suppress warnings for builtins that lack the NODE_WARN flag,2992 /* Suppress warnings for builtins that lack the NODE_WARN flag,
3011 unless Wbuiltin-macro-redefined. */2993 unless Wbuiltin-macro-redefined. */
3012 if (node->flags & NODE_BUILTIN2994 if (cpp_builtin_macro_p (node))
3013 && (!pfile->cb.user_builtin_macro
3014 || !pfile->cb.user_builtin_macro (pfile, node)))
3015 return CPP_OPTION (pfile, warn_builtin_macro_redefined);2995 return CPP_OPTION (pfile, warn_builtin_macro_redefined);
3016 2996
3017 /* Redefinitions of conditional (context-sensitive) macros, on2997 /* Redefinitions of conditional (context-sensitive) macros, on
@@ -3019,9 +2999,17 @@ warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node, · 1 unmodified line
3019 if (node->flags & NODE_CONDITIONAL)2999 if (node->flags & NODE_CONDITIONAL)
3020 return false;3000 return false;
3021 3001
3002 cpp_macro *macro1 = node->value.macro;
3003 if (macro1->lazy)
3004 {
3005 /* We don't want to mark MACRO as used, but do need to finalize
3006 its laziness. */
3007 pfile->cb.user_lazy_macro (pfile, macro1, macro1->lazy - 1);
3008 macro1->lazy = 0;
3009 }
3010
3022 /* Redefinition of a macro is allowed if and only if the old and new3011 /* Redefinition of a macro is allowed if and only if the old and new
3023 definitions are the same. (6.10.3 paragraph 2). */3012 definitions are the same. (6.10.3 paragraph 2). */
3024 macro1 = node->value.macro;
3025 3013
3026 /* Don't check count here as it can be different in valid3014 /* Don't check count here as it can be different in valid
3027 traditional redefinitions with just whitespace differences. */3015 traditional redefinitions with just whitespace differences. */
@@ -3031,18 +3019,18 @@ warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node, · 3 unmodified lines
3031 return true;3019 return true;
3032 3020
3033 /* Check parameter spellings. */3021 /* Check parameter spellings. */
3034 for (i = 0; i < macro1->paramc; i++)3022 for (unsigned i = macro1->paramc; i--; )
3035 if (macro1->params[i] != macro2->params[i])3023 if (macro1->parm.params[i] != macro2->parm.params[i])
3036 return true;3024 return true;
3037 3025
3038 /* Check the replacement text or tokens. */3026 /* Check the replacement text or tokens. */
3039 if (CPP_OPTION (pfile, traditional))3027 if (macro1->kind == cmk_traditional)
3040 return _cpp_expansions_different_trad (macro1, macro2);3028 return _cpp_expansions_different_trad (macro1, macro2);
3041 3029
3042 if (macro1->count != macro2->count)3030 if (macro1->count != macro2->count)
3043 return true;3031 return true;
3044 3032
3045 for (i = 0; i < macro1->count; i++)3033 for (unsigned i= macro1->count; i--; )
3046 if (!_cpp_equiv_tokens (&macro1->exp.tokens[i], &macro2->exp.tokens[i]))3034 if (!_cpp_equiv_tokens (&macro1->exp.tokens[i], &macro2->exp.tokens[i]))
3047 return true;3035 return true;
3048 3036
@@ -3055,124 +3043,164 @@ _cpp_free_definition (cpp_hashnode *h) · 6 unmodified lines
3055{3043{
3056 /* Macros and assertions no longer have anything to free. */3044 /* Macros and assertions no longer have anything to free. */
3057 h->type = NT_VOID;3045 h->type = NT_VOID;
3058 /* Clear builtin flag in case of redefinition. */3046 h->value.answers = NULL;
3059 h->flags &= ~(NODE_BUILTIN | NODE_DISABLED | NODE_USED);3047 h->flags &= ~(NODE_DISABLED | NODE_USED);
3060}3048}
3061 3049
3062/* Save parameter NODE (spelling SPELLING) to the parameter list of3050/* Save parameter NODE (spelling SPELLING) to the parameter list of
3063 macro MACRO. Returns zero on success, nonzero if the parameter is3051 macro MACRO. Returns true on success, false on failure. */
3064 a duplicate. */
3065bool3052bool
3066_cpp_save_parameter (cpp_reader *pfile, cpp_macro *macro, cpp_hashnode *node,3053_cpp_save_parameter (cpp_reader *pfile, unsigned n, cpp_hashnode *node,
3067 cpp_hashnode *spelling)3054 cpp_hashnode *spelling)
3068{3055{
3069 unsigned int len;
3070 /* Constraint 6.10.3.6 - duplicate parameter names. */3056 /* Constraint 6.10.3.6 - duplicate parameter names. */
3071 if (node->flags & NODE_MACRO_ARG)3057 if (node->type == NT_MACRO_ARG)
3072 {3058 {
3073 cpp_error (pfile, CPP_DL_ERROR, "duplicate macro parameter \"%s\"",3059 cpp_error (pfile, CPP_DL_ERROR, "duplicate macro parameter \"%s\"",
3074 NODE_NAME (node));3060 NODE_NAME (node));
3075 return true;3061 return false;
3076 }3062 }
3077 3063
3078 if (BUFF_ROOM (pfile->a_buff)3064 unsigned len = (n + 1) * sizeof (struct macro_arg_saved_data);
3079 < (macro->paramc + 1) * sizeof (cpp_hashnode *))
3080 _cpp_extend_buff (pfile, &pfile->a_buff, sizeof (cpp_hashnode *));
3081
3082 ((cpp_hashnode **) BUFF_FRONT (pfile->a_buff))[macro->paramc++] = spelling;
3083 node->flags |= NODE_MACRO_ARG;
3084 len = macro->paramc * sizeof (struct macro_arg_saved_data);
3085 if (len > pfile->macro_buffer_len)3065 if (len > pfile->macro_buffer_len)
3086 {3066 {
3087 pfile->macro_buffer = XRESIZEVEC (unsigned char, pfile->macro_buffer,3067 pfile->macro_buffer
3088 len);3068 = XRESIZEVEC (unsigned char, pfile->macro_buffer, len);
3089 pfile->macro_buffer_len = len;3069 pfile->macro_buffer_len = len;
3090 }3070 }
3091 struct macro_arg_saved_data save;
3092 save.value = node->value;
3093 save.canonical_node = node;
3094 ((struct macro_arg_saved_data *) pfile->macro_buffer)[macro->paramc - 1]
3095 = save;
3096 3071
3097 node->value.arg_index = macro->paramc;3072 macro_arg_saved_data *saved = (macro_arg_saved_data *)pfile->macro_buffer;
3098 return false;3073 saved[n].canonical_node = node;
3074 saved[n].value = node->value;
3075 saved[n].type = node->type;
3076
3077 void *base = _cpp_reserve_room (pfile, n * sizeof (cpp_hashnode *),
3078 sizeof (cpp_hashnode *));
3079 ((cpp_hashnode **)base)[n] = spelling;
3080
3081 /* Morph into a macro arg. */
3082 node->type = NT_MACRO_ARG;
3083 /* Index is 1 based. */
3084 node->value.arg_index = n + 1;
3085
3086 return true;
3099}3087}
3100 3088
3101/* Check the syntax of the parameters in a MACRO definition. Returns3089/* Restore the parameters to their previous state. */
3102 false if an error occurs. */3090void
3091_cpp_unsave_parameters (cpp_reader *pfile, unsigned n)
3092{
3093 /* Clear the fast argument lookup indices. */
3094 while (n--)
3095 {
3096 struct macro_arg_saved_data *save =
3097 &((struct macro_arg_saved_data *) pfile->macro_buffer)[n];
3098
3099 struct cpp_hashnode *node = save->canonical_node;
3100 node->type = save->type;
3101 node->value = save->value;
3102 }
3103}
3104
3105/* Check the syntax of the parameters in a MACRO definition. Return
3106 false on failure. Set *N_PTR and *VARADIC_PTR as appropriate.
3107 '(' ')'
3108 '(' parm-list ',' last-parm ')'
3109 '(' last-parm ')'
3110 parm-list: name
3111 | parm-list, name
3112 last-parm: name
3113 | name '...'
3114 | '...'
3115*/
3116
3103static bool3117static bool
3104parse_params (cpp_reader *pfile, cpp_macro *macro)3118parse_params (cpp_reader *pfile, unsigned *n_ptr, bool *varadic_ptr)
3105{3119{
3106 unsigned int prev_ident = 0;3120 unsigned nparms = 0;
3121 bool ok = false;
3107 3122
3108 for (;;)3123 for (bool prev_ident = false;;)
3109 {3124 {
3110 const cpp_token *token = _cpp_lex_token (pfile);3125 const cpp_token *token = _cpp_lex_token (pfile);
3111 3126
3112 switch (token->type)3127 switch (token->type)
3113 {3128 {
3114 default:3129 case CPP_COMMENT:
3115 /* Allow/ignore comments in parameter lists if we are3130 /* Allow/ignore comments in parameter lists if we are
3116 preserving comments in macro expansions. */3131 preserving comments in macro expansions. */
3117 if (token->type == CPP_COMMENT3132 if (!CPP_OPTION (pfile, discard_comments_in_macro_exp))
3118 && ! CPP_OPTION (pfile, discard_comments_in_macro_exp))3133 break;
3119 continue;
3120 3134
3121 cpp_error (pfile, CPP_DL_ERROR,3135 /* FALLTHRU */
3122 "\"%s\" may not appear in macro parameter list",3136 default:
3123 cpp_token_as_text (pfile, token));3137 bad:
3124 return false;3138 {
3139 const char *const msgs[5] =
3140 {
3141 N_("expected parameter name, found \"%s\""),
3142 N_("expected ',' or ')', found \"%s\""),
3143 N_("expected parameter name before end of line"),
3144 N_("expected ')' before end of line"),
3145 N_("expected ')' after \"...\"")
3146 };
3147 unsigned ix = prev_ident;
3148 const unsigned char *as_text = NULL;
3149 if (*varadic_ptr)
3150 ix = 4;
3151 else if (token->type == CPP_EOF)
3152 ix += 2;
3153 else
3154 as_text = cpp_token_as_text (pfile, token);
3155 cpp_error (pfile, CPP_DL_ERROR, msgs[ix], as_text);
3156 }
3157 goto out;
3125 3158
3126 case CPP_NAME:3159 case CPP_NAME:
3127 if (prev_ident)3160 if (prev_ident || *varadic_ptr)
3128 {3161 goto bad;
3129 cpp_error (pfile, CPP_DL_ERROR,3162 prev_ident = true;
3130 "macro parameters must be comma-separated");3163
3131 return false;3164 if (!_cpp_save_parameter (pfile, nparms, token->val.node.node,
3132 }3165 token->val.node.spelling))
3133 prev_ident = 1;3166 goto out;
3134 3167 nparms++;
3135 if (_cpp_save_parameter (pfile, macro, token->val.node.node,3168 break;
3136 token->val.node.spelling))
3137 return false;
3138 continue;
3139 3169
3140 case CPP_CLOSE_PAREN:3170 case CPP_CLOSE_PAREN:
3141 if (prev_ident || macro->paramc == 0)3171 if (prev_ident || !nparms || *varadic_ptr)
3142 return true;3172 {
3173 ok = true;
3174 goto out;
3175 }
3143 3176
3144 /* Fall through to pick up the error. */
3145 /* FALLTHRU */3177 /* FALLTHRU */
3146 case CPP_COMMA:3178 case CPP_COMMA:
3147 if (!prev_ident)3179 if (!prev_ident || *varadic_ptr)
3148 {3180 goto bad;
3149 cpp_error (pfile, CPP_DL_ERROR, "parameter name missing");3181 prev_ident = false;
3150 return false;3182 break;
3151 }
3152 prev_ident = 0;
3153 continue;
3154 3183
3155 case CPP_ELLIPSIS:3184 case CPP_ELLIPSIS:
3156 macro->variadic = 1;3185 if (*varadic_ptr)
3186 goto bad;
3187 *varadic_ptr = true;
3157 if (!prev_ident)3188 if (!prev_ident)
3158 {3189 {
3159 _cpp_save_parameter (pfile, macro,3190 /* An ISO bare ellipsis. */
3191 _cpp_save_parameter (pfile, nparms,
3160 pfile->spec_nodes.n__VA_ARGS__,3192 pfile->spec_nodes.n__VA_ARGS__,
3161 pfile->spec_nodes.n__VA_ARGS__);3193 pfile->spec_nodes.n__VA_ARGS__);
3194 nparms++;
3162 pfile->state.va_args_ok = 1;3195 pfile->state.va_args_ok = 1;
3163 if (! CPP_OPTION (pfile, c99)3196 if (! CPP_OPTION (pfile, c99)
3164 && CPP_OPTION (pfile, cpp_pedantic)3197 && CPP_OPTION (pfile, cpp_pedantic)
3165 && CPP_OPTION (pfile, warn_variadic_macros))3198 && CPP_OPTION (pfile, warn_variadic_macros))
3166 {3199 cpp_pedwarning
3167 if (CPP_OPTION (pfile, cplusplus))3200 (pfile, CPP_W_VARIADIC_MACROS,
3168 cpp_pedwarning3201 CPP_OPTION (pfile, cplusplus)
3169 (pfile, CPP_W_VARIADIC_MACROS,3202 ? N_("anonymous variadic macros were introduced in C++11")
3170 "anonymous variadic macros were introduced in C++11");3203 : N_("anonymous variadic macros were introduced in C99"));
3171 else
3172 cpp_pedwarning
3173 (pfile, CPP_W_VARIADIC_MACROS,
3174 "anonymous variadic macros were introduced in C99");
3175 }
3176 else if (CPP_OPTION (pfile, cpp_warn_c90_c99_compat) > 03204 else if (CPP_OPTION (pfile, cpp_warn_c90_c99_compat) > 0
3177 && ! CPP_OPTION (pfile, cplusplus))3205 && ! CPP_OPTION (pfile, cplusplus))
3178 cpp_error (pfile, CPP_DL_WARNING,3206 cpp_error (pfile, CPP_DL_WARNING,
@@ -3180,54 +3208,38 @@ parse_params (cpp_reader *pfile, cpp_macro *macro) · 1 unmodified line
3180 }3208 }
3181 else if (CPP_OPTION (pfile, cpp_pedantic)3209 else if (CPP_OPTION (pfile, cpp_pedantic)
3182 && CPP_OPTION (pfile, warn_variadic_macros))3210 && CPP_OPTION (pfile, warn_variadic_macros))
3183 {3211 cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS,
3184 if (CPP_OPTION (pfile, cplusplus))3212 CPP_OPTION (pfile, cplusplus)
3185 cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS,3213 ? N_("ISO C++ does not permit named variadic macros")
3186 "ISO C++ does not permit named variadic macros");3214 : N_("ISO C does not permit named variadic macros"));
3187 else3215 break;
3188 cpp_pedwarning (pfile, CPP_W_VARIADIC_MACROS,
3189 "ISO C does not permit named variadic macros");
3190 }
3191
3192 /* We're at the end, and just expect a closing parenthesis. */
3193 token = _cpp_lex_token (pfile);
3194 if (token->type == CPP_CLOSE_PAREN)
3195 return true;
3196 /* Fall through. */
3197
3198 case CPP_EOF:
3199 cpp_error (pfile, CPP_DL_ERROR, "missing ')' in macro parameter list");
3200 return false;
3201 }3216 }
3202 }3217 }
3203}
3204 3218
3205/* Allocate room for a token from a macro's replacement list. */3219 out:
3206static cpp_token *3220 *n_ptr = nparms;
3207alloc_expansion_token (cpp_reader *pfile, cpp_macro *macro)
3208{
3209 if (BUFF_ROOM (pfile->a_buff) < (macro->count + 1) * sizeof (cpp_token))
3210 _cpp_extend_buff (pfile, &pfile->a_buff, sizeof (cpp_token));
3211 3221
3212 return &((cpp_token *) BUFF_FRONT (pfile->a_buff))[macro->count++];3222 return ok;
3213}3223}
3214 3224
3215/* Lex a token from the expansion of MACRO, but mark parameters as we3225/* Lex a token from the expansion of MACRO, but mark parameters as we
3216 find them and warn of traditional stringification. */3226 find them and warn of traditional stringification. */
3217static cpp_token *3227static cpp_macro *
3218lex_expansion_token (cpp_reader *pfile, cpp_macro *macro)3228lex_expansion_token (cpp_reader *pfile, cpp_macro *macro)
3219{3229{
3220 cpp_token *token, *saved_cur_token;3230 macro = (cpp_macro *)_cpp_reserve_room (pfile,
3221 3231 sizeof (cpp_macro) - sizeof (cpp_token)
3222 saved_cur_token = pfile->cur_token;3232 + macro->count * sizeof (cpp_token),
3223 pfile->cur_token = alloc_expansion_token (pfile, macro);3233 sizeof (cpp_token));
3224 token = _cpp_lex_direct (pfile);3234 cpp_token *saved_cur_token = pfile->cur_token;
3235 pfile->cur_token = &macro->exp.tokens[macro->count];
3236 cpp_token *token = _cpp_lex_direct (pfile);
3225 pfile->cur_token = saved_cur_token;3237 pfile->cur_token = saved_cur_token;
3226 3238
3227 /* Is this a parameter? */3239 /* Is this a parameter? */
3228 if (token->type == CPP_NAME3240 if (token->type == CPP_NAME && token->val.node.node->type == NT_MACRO_ARG)
3229 && (token->val.node.node->flags & NODE_MACRO_ARG) != 0)
3230 {3241 {
3242 /* Morph into a parameter reference. */
3231 cpp_hashnode *spelling = token->val.node.spelling;3243 cpp_hashnode *spelling = token->val.node.spelling;
3232 token->type = CPP_MACRO_ARG;3244 token->type = CPP_MACRO_ARG;
3233 token->val.macro_arg.arg_no = token->val.node.node->value.arg_index;3245 token->val.macro_arg.arg_no = token->val.node.node->value.arg_index;
@@ -3237,62 +3249,58 @@ lex_expansion_token (cpp_reader *pfile, cpp_macro *macro) · 3 unmodified lines
3237 && (token->type == CPP_STRING || token->type == CPP_CHAR))3249 && (token->type == CPP_STRING || token->type == CPP_CHAR))
3238 check_trad_stringification (pfile, macro, &token->val.str);3250 check_trad_stringification (pfile, macro, &token->val.str);
3239 3251
3240 return token;3252 return macro;
3241}3253}
3242 3254
3243static bool3255static cpp_macro *
3244create_iso_definition (cpp_reader *pfile, cpp_macro *macro)3256create_iso_definition (cpp_reader *pfile)
3245{3257{
3246 cpp_token *token;
3247 const cpp_token *ctoken;
3248 bool following_paste_op = false;3258 bool following_paste_op = false;
3249 const char *paste_op_error_msg =3259 const char *paste_op_error_msg =
3250 N_("'##' cannot appear at either end of a macro expansion");3260 N_("'##' cannot appear at either end of a macro expansion");
3251 unsigned int num_extra_tokens = 0;3261 unsigned int num_extra_tokens = 0;
3262 unsigned nparms = 0;
3263 cpp_hashnode **params = NULL;
3264 bool varadic = false;
3265 bool ok = false;
3266 cpp_macro *macro = NULL;
3267
3268 /* Look at the first token, to see if this is a function-like
3269 macro. */
3270 cpp_token first;
3271 cpp_token *saved_cur_token = pfile->cur_token;
3272 pfile->cur_token = &first;
3273 cpp_token *token = _cpp_lex_direct (pfile);
3274 pfile->cur_token = saved_cur_token;
3252 3275
3253 /* Get the first token of the expansion (or the '(' of a3276 if (token->flags & PREV_WHITE)
3254 function-like macro). */3277 /* Preceeded by space, must be part of expansion. */;
3255 ctoken = _cpp_lex_token (pfile);3278 else if (token->type == CPP_OPEN_PAREN)
3256
3257 if (ctoken->type == CPP_OPEN_PAREN && !(ctoken->flags & PREV_WHITE))
3258 {3279 {
3259 bool ok = parse_params (pfile, macro);3280 /* An open-paren, get a parameter list. */
3260 macro->params = (cpp_hashnode **) BUFF_FRONT (pfile->a_buff);3281 if (!parse_params (pfile, &nparms, &varadic))
3261 if (!ok)3282 goto out;
3262 return false;
3263 3283
3264 /* Success. Commit or allocate the parameter array. */3284 params = (cpp_hashnode **)_cpp_commit_buff
3265 if (pfile->hash_table->alloc_subobject)3285 (pfile, sizeof (cpp_hashnode *) * nparms);
3266 {3286 token = NULL;
3267 cpp_hashnode **params =
3268 (cpp_hashnode **) pfile->hash_table->alloc_subobject
3269 (sizeof (cpp_hashnode *) * macro->paramc);
3270 memcpy (params, macro->params,
3271 sizeof (cpp_hashnode *) * macro->paramc);
3272 macro->params = params;
3273 }
3274 else
3275 BUFF_FRONT (pfile->a_buff) = (uchar *) &macro->params[macro->paramc];
3276 macro->fun_like = 1;
3277 }3287 }
3278 else if (ctoken->type != CPP_EOF && !(ctoken->flags & PREV_WHITE))3288 else if (token->type != CPP_EOF
3289 && !(token->type == CPP_COMMENT
3290 && ! CPP_OPTION (pfile, discard_comments_in_macro_exp)))
3279 {3291 {
3280 /* While ISO C99 requires whitespace before replacement text3292 /* While ISO C99 requires whitespace before replacement text
3281 in a macro definition, ISO C90 with TC1 allows characters3293 in a macro definition, ISO C90 with TC1 allows characters
3282 from the basic source character set there. */3294 from the basic source character set there. */
3283 if (CPP_OPTION (pfile, c99))3295 if (CPP_OPTION (pfile, c99))
3284 {3296 cpp_error (pfile, CPP_DL_PEDWARN,
3285 if (CPP_OPTION (pfile, cplusplus))3297 CPP_OPTION (pfile, cplusplus)
3286 cpp_error (pfile, CPP_DL_PEDWARN,3298 ? N_("ISO C++11 requires whitespace after the macro name")
3287 "ISO C++11 requires whitespace after the macro name");3299 : N_("ISO C99 requires whitespace after the macro name"));
3288 else
3289 cpp_error (pfile, CPP_DL_PEDWARN,
3290 "ISO C99 requires whitespace after the macro name");
3291 }
3292 else3300 else
3293 {3301 {
3294 int warntype = CPP_DL_WARNING;3302 enum cpp_diagnostic_level warntype = CPP_DL_WARNING;
3295 switch (ctoken->type)3303 switch (token->type)
3296 {3304 {
3297 case CPP_ATSIGN:3305 case CPP_ATSIGN:
3298 case CPP_AT_NAME:3306 case CPP_AT_NAME:
@@ -3303,7 +3311,7 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 4 unmodified lines
3303 case CPP_OTHER:3311 case CPP_OTHER:
3304 /* Basic character set sans letters, digits and _. */3312 /* Basic character set sans letters, digits and _. */
3305 if (strchr ("!\"#%&'()*+,-./:;<=>?[\\]^{|}~",3313 if (strchr ("!\"#%&'()*+,-./:;<=>?[\\]^{|}~",
3306 ctoken->val.str.text[0]) == NULL)3314 token->val.str.text[0]) == NULL)
3307 warntype = CPP_DL_PEDWARN;3315 warntype = CPP_DL_PEDWARN;
3308 break;3316 break;
3309 default:3317 default:
@@ -3316,19 +3324,32 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 6 unmodified lines
3316 }3324 }
3317 }3325 }
3318 3326
3319 if (macro->fun_like)3327 macro = _cpp_new_macro (pfile, cmk_macro,
3320 token = lex_expansion_token (pfile, macro);3328 _cpp_reserve_room (pfile, 0, sizeof (cpp_macro)));
3329
3330 if (!token)
3331 {
3332 macro->variadic = varadic;
3333 macro->paramc = nparms;
3334 macro->parm.params = params;
3335 macro->fun_like = true;
3336 }
3321 else3337 else
3322 {3338 {
3323 token = alloc_expansion_token (pfile, macro);3339 /* Preserve the token we peeked, there is already a single slot for it. */
3324 *token = *ctoken;3340 macro->exp.tokens[0] = *token;
3341 token = &macro->exp.tokens[0];
3342 macro->count = 1;
3325 }3343 }
3326 3344
3327 /* The argument doesn't matter here. */3345 for (vaopt_state vaopt_tracker (pfile, macro->variadic, true);; token = NULL)
3328 vaopt_state vaopt_tracker (pfile, macro->variadic, true);
3329
3330 for (;;)
3331 {3346 {
3347 if (!token)
3348 {
3349 macro = lex_expansion_token (pfile, macro);
3350 token = &macro->exp.tokens[macro->count++];
3351 }
3352
3332 /* Check the stringifying # constraint 6.10.3.2.1 of3353 /* Check the stringifying # constraint 6.10.3.2.1 of
3333 function-like macros when lexing the subsequent token. */3354 function-like macros when lexing the subsequent token. */
3334 if (macro->count > 1 && token[-1].type == CPP_HASH && macro->fun_like)3355 if (macro->count > 1 && token[-1].type == CPP_HASH && macro->fun_like)
@@ -3350,7 +3371,7 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 15 unmodified lines
3350 {3371 {
3351 cpp_error (pfile, CPP_DL_ERROR,3372 cpp_error (pfile, CPP_DL_ERROR,
3352 "'#' is not followed by a macro parameter");3373 "'#' is not followed by a macro parameter");
3353 return false;3374 goto out;
3354 }3375 }
3355 }3376 }
3356 3377
@@ -3362,8 +3383,10 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 5 unmodified lines
3362 if (following_paste_op)3383 if (following_paste_op)
3363 {3384 {
3364 cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);3385 cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
3365 return false;3386 goto out;
3366 }3387 }
3388 if (!vaopt_tracker.completed ())
3389 goto out;
3367 break;3390 break;
3368 }3391 }
3369 3392
@@ -3375,17 +3398,19 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 5 unmodified lines
3375 if (macro->count == 1)3398 if (macro->count == 1)
3376 {3399 {
3377 cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);3400 cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
3378 return false;3401 goto out;
3379 }3402 }
3380 3403
3381 if (token[-1].flags & PASTE_LEFT)3404 if (following_paste_op)
3382 {3405 {
3383 macro->extra_tokens = 1;3406 /* Consecutive paste operators. This one will be moved
3407 to the end. */
3384 num_extra_tokens++;3408 num_extra_tokens++;
3385 token->val.token_no = macro->count - 1;3409 token->val.token_no = macro->count - 1;
3386 }3410 }
3387 else3411 else
3388 {3412 {
3413 /* Drop the paste operator. */
3389 --macro->count;3414 --macro->count;
3390 token[-1].flags |= PASTE_LEFT;3415 token[-1].flags |= PASTE_LEFT;
3391 if (token->flags & DIGRAPH)3416 if (token->flags & DIGRAPH)
@@ -3393,78 +3418,67 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) · 1 unmodified line
3393 if (token->flags & PREV_WHITE)3418 if (token->flags & PREV_WHITE)
3394 token[-1].flags |= SP_PREV_WHITE;3419 token[-1].flags |= SP_PREV_WHITE;
3395 }3420 }
3421 following_paste_op = true;
3396 }3422 }
3423 else
3424 following_paste_op = false;
3397 3425
3398 if (vaopt_tracker.update (token) == vaopt_state::ERROR)3426 if (vaopt_tracker.update (token) == vaopt_state::ERROR)
3399 return false;3427 goto out;
3400
3401 following_paste_op = (token->type == CPP_PASTE);
3402 token = lex_expansion_token (pfile, macro);
3403 }3428 }
3404 3429
3405 if (!vaopt_tracker.completed ())3430 /* We're committed to winning now. */
3406 return false;3431 ok = true;
3407
3408 macro->exp.tokens = (cpp_token *) BUFF_FRONT (pfile->a_buff);
3409 macro->traditional = 0;
3410 3432
3411 /* Don't count the CPP_EOF. */3433 /* Don't count the CPP_EOF. */
3412 macro->count--;3434 macro->count--;
3413 3435
3414 /* Clear whitespace on first token for warn_of_redefinition(). */3436 macro = (cpp_macro *)_cpp_commit_buff
3437 (pfile, sizeof (cpp_macro) - sizeof (cpp_token)
3438 + sizeof (cpp_token) * macro->count);
3439
3440 /* Clear whitespace on first token. */
3415 if (macro->count)3441 if (macro->count)
3416 macro->exp.tokens[0].flags &= ~PREV_WHITE;3442 macro->exp.tokens[0].flags &= ~PREV_WHITE;
3417 3443
3418 /* Commit or allocate the memory. */3444 if (num_extra_tokens)
3419 if (pfile->hash_table->alloc_subobject)
3420 {3445 {
3421 cpp_token *tokns =3446 /* Place second and subsequent ## or %:%: tokens in sequences of
3422 (cpp_token *) pfile->hash_table->alloc_subobject (sizeof (cpp_token)3447 consecutive such tokens at the end of the list to preserve
3423 * macro->count);3448 information about where they appear, how they are spelt and
3424 if (num_extra_tokens)3449 whether they are preceded by whitespace without otherwise
3425 {3450 interfering with macro expansion. Remember, this is
3426 /* Place second and subsequent ## or %:%: tokens in3451 extremely rare, so efficiency is not a priority. */
3427 sequences of consecutive such tokens at the end of the3452 cpp_token *temp = (cpp_token *)_cpp_reserve_room
3428 list to preserve information about where they appear, how3453 (pfile, 0, num_extra_tokens * sizeof (cpp_token));
3429 they are spelt and whether they are preceded by3454 unsigned extra_ix = 0, norm_ix = 0;
3430 whitespace without otherwise interfering with macro3455 cpp_token *exp = macro->exp.tokens;
3431 expansion. */3456 for (unsigned ix = 0; ix != macro->count; ix++)
3432 cpp_token *normal_dest = tokns;3457 if (exp[ix].type == CPP_PASTE)
3433 cpp_token *extra_dest = tokns + macro->count - num_extra_tokens;3458 temp[extra_ix++] = exp[ix];
3434 unsigned int i;3459 else
3435 for (i = 0; i < macro->count; i++)3460 exp[norm_ix++] = exp[ix];
3436 {3461 memcpy (&exp[norm_ix], temp, num_extra_tokens * sizeof (cpp_token));
3437 if (macro->exp.tokens[i].type == CPP_PASTE)3462
3438 *extra_dest++ = macro->exp.tokens[i];3463 /* Record there are extra tokens. */
3439 else3464 macro->extra_tokens = 1;
3440 *normal_dest++ = macro->exp.tokens[i];
3441 }
3442 }
3443 else
3444 memcpy (tokns, macro->exp.tokens, sizeof (cpp_token) * macro->count);
3445 macro->exp.tokens = tokns;
3446 }3465 }
3447 else
3448 BUFF_FRONT (pfile->a_buff) = (uchar *) &macro->exp.tokens[macro->count];
3449 3466
3450 return true;3467 out:
3468 pfile->state.va_args_ok = 0;
3469 _cpp_unsave_parameters (pfile, nparms);
3470
3471 return ok ? macro : NULL;
3451}3472}
3452 3473
3453/* Parse a macro and save its expansion. Returns nonzero on success. */3474cpp_macro *
3454bool3475_cpp_new_macro (cpp_reader *pfile, cpp_macro_kind kind, void *placement)
3455_cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node)
3456{3476{
3457 cpp_macro *macro;3477 cpp_macro *macro = (cpp_macro *) placement;
3458 unsigned int i;
3459 bool ok;
3460 3478
3461 if (pfile->hash_table->alloc_subobject)
3462 macro = (cpp_macro *) pfile->hash_table->alloc_subobject
3463 (sizeof (cpp_macro));
3464 else
3465 macro = (cpp_macro *) _cpp_aligned_alloc (pfile, sizeof (cpp_macro));
3466 macro->line = pfile->directive_line;3479 macro->line = pfile->directive_line;
3467 macro->params = 0;3480 macro->parm.params = 0;
3481 macro->lazy = 0;
3468 macro->paramc = 0;3482 macro->paramc = 0;
3469 macro->variadic = 0;3483 macro->variadic = 0;
3470 macro->used = !CPP_OPTION (pfile, warn_unused_macros);3484 macro->used = !CPP_OPTION (pfile, warn_unused_macros);
@@ -3474,62 +3488,51 @@ _cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node) · 3 unmodified lines
3474 /* To suppress some diagnostics. */3488 /* To suppress some diagnostics. */
3475 macro->syshdr = pfile->buffer && pfile->buffer->sysp != 0;3489 macro->syshdr = pfile->buffer && pfile->buffer->sysp != 0;
3476 3490
3477 if (CPP_OPTION (pfile, traditional))3491 macro->kind = kind;
3478 ok = _cpp_create_trad_definition (pfile, macro);
3479 else
3480 {
3481 ok = create_iso_definition (pfile, macro);
3482
3483 /* We set the type for SEEN_EOL() in directives.c.
3484 3492
3485 Longer term we should lex the whole line before coming here,3493 return macro;
3486 and just copy the expansion. */3494}
3487 3495
3488 /* Stop the lexer accepting __VA_ARGS__. */3496/* Parse a macro and save its expansion. Returns nonzero on success. */
3489 pfile->state.va_args_ok = 0;3497bool
3490 }3498_cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node)
3499{
3500 cpp_macro *macro;
3491 3501
3492 /* Clear the fast argument lookup indices. */3502 if (CPP_OPTION (pfile, traditional))
3493 for (i = macro->paramc; i-- > 0; )3503 macro = _cpp_create_trad_definition (pfile);
3494 {3504 else
3495 struct macro_arg_saved_data *save =3505 macro = create_iso_definition (pfile);
3496 &((struct macro_arg_saved_data *) pfile->macro_buffer)[i];
3497 struct cpp_hashnode *node = save->canonical_node;
3498 node->flags &= ~ NODE_MACRO_ARG;
3499 node->value = save->value;
3500 }
3501 3506
3502 if (!ok)3507 if (!macro)
3503 return ok;3508 return false;
3504 3509
3505 if (node->type == NT_MACRO)3510 if (cpp_macro_p (node))
3506 {3511 {
3507 if (CPP_OPTION (pfile, warn_unused_macros))3512 if (CPP_OPTION (pfile, warn_unused_macros))
3508 _cpp_warn_if_unused_macro (pfile, node, NULL);3513 _cpp_warn_if_unused_macro (pfile, node, NULL);
3509 3514
3510 if (warn_of_redefinition (pfile, node, macro))3515 if (warn_of_redefinition (pfile, node, macro))
3511 {3516 {
3512 const int reason = ((node->flags & NODE_BUILTIN)3517 const enum cpp_warning_reason reason
3513 && !(node->flags & NODE_WARN))3518 = (cpp_builtin_macro_p (node) && !(node->flags & NODE_WARN))
3514 ? CPP_W_BUILTIN_MACRO_REDEFINED : CPP_W_NONE;3519 ? CPP_W_BUILTIN_MACRO_REDEFINED : CPP_W_NONE;
3515 3520
3516 bool warned = 3521 bool warned =
3517 cpp_pedwarning_with_line (pfile, reason,3522 cpp_pedwarning_with_line (pfile, reason,
3518 pfile->directive_line, 0,3523 pfile->directive_line, 0,
3519 "\"%s\" redefined", NODE_NAME (node));3524 "\"%s\" redefined", NODE_NAME (node));
3520 3525
3521 if (warned && node->type == NT_MACRO && !(node->flags & NODE_BUILTIN))3526 if (warned && cpp_user_macro_p (node))
3522 cpp_error_with_line (pfile, CPP_DL_NOTE,3527 cpp_error_with_line (pfile, CPP_DL_NOTE,
3523 node->value.macro->line, 0,3528 node->value.macro->line, 0,
3524 "this is the location of the previous definition");3529 "this is the location of the previous definition");
3525 }3530 }
3531 _cpp_free_definition (node);
3526 }3532 }
3527 3533
3528 if (node->type != NT_VOID)
3529 _cpp_free_definition (node);
3530
3531 /* Enter definition in hash table. */3534 /* Enter definition in hash table. */
3532 node->type = NT_MACRO;3535 node->type = NT_USER_MACRO;
3533 node->value.macro = macro;3536 node->value.macro = macro;
3534 if (! ustrncmp (NODE_NAME (node), DSC ("__STDC_"))3537 if (! ustrncmp (NODE_NAME (node), DSC ("__STDC_"))
3535 && ustrcmp (NODE_NAME (node), (const uchar *) "__STDC_FORMAT_MACROS")3538 && ustrcmp (NODE_NAME (node), (const uchar *) "__STDC_FORMAT_MACROS")
@@ -3545,7 +3548,52 @@ _cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node) · 9 unmodified lines
3545 conditional flag */3548 conditional flag */
3546 node->flags &= ~NODE_CONDITIONAL;3549 node->flags &= ~NODE_CONDITIONAL;
3547 3550
3548 return ok;3551 return true;
3552}
3553
3554extern void
3555cpp_define_lazily (cpp_reader *pfile, cpp_hashnode *node, unsigned num)
3556{
3557 cpp_macro *macro = node->value.macro;
3558
3559 gcc_checking_assert (pfile->cb.user_lazy_macro && macro && num < UCHAR_MAX);
3560
3561 macro->lazy = num + 1;
3562}
3563
3564/* Notify the use of NODE in a macro-aware context (i.e. expanding it,
3565 or testing its existance). Also applies any lazy definition. */
3566
3567extern void
3568_cpp_notify_macro_use (cpp_reader *pfile, cpp_hashnode *node)
3569{
3570 node->flags |= NODE_USED;
3571 switch (node->type)
3572 {
3573 case NT_USER_MACRO:
3574 {
3575 cpp_macro *macro = node->value.macro;
3576 if (macro->lazy)
3577 {
3578 pfile->cb.user_lazy_macro (pfile, macro, macro->lazy - 1);
3579 macro->lazy = 0;
3580 }
3581 }
3582 /* FALLTHROUGH. */
3583
3584 case NT_BUILTIN_MACRO:
3585 if (pfile->cb.used_define)
3586 pfile->cb.used_define (pfile, pfile->directive_line, node);
3587 break;
3588
3589 case NT_VOID:
3590 if (pfile->cb.used_undef)
3591 pfile->cb.used_undef (pfile, pfile->directive_line, node);
3592 break;
3593
3594 default:
3595 abort ();
3596 }
3549}3597}
3550 3598
3551/* Warn if a token in STRING matches one of a function-like MACRO's3599/* Warn if a token in STRING matches one of a function-like MACRO's
@@ -3576,7 +3624,7 @@ check_trad_stringification (cpp_reader *pfile, const cpp_macro *macro, · 24 unmodified lines
3576 identifier inside the string matches one of them. */3624 identifier inside the string matches one of them. */
3577 for (i = 0; i < macro->paramc; i++)3625 for (i = 0; i < macro->paramc; i++)
3578 {3626 {
3579 const cpp_hashnode *node = macro->params[i];3627 const cpp_hashnode *node = macro->parm.params[i];
3580 3628
3581 if (NODE_LEN (node) == len3629 if (NODE_LEN (node) == len
3582 && !memcmp (p, NODE_NAME (node), len))3630 && !memcmp (p, NODE_NAME (node), len))
@@ -3590,15 +3638,6 @@ check_trad_stringification (cpp_reader *pfile, const cpp_macro *macro, · 7 unmodified lines
3590 }3638 }
3591}3639}
3592 3640
3593/* Returns true of NODE is a function-like macro. */
3594bool
3595cpp_fun_like_macro_p (cpp_hashnode *node)
3596{
3597 return (node->type == NT_MACRO
3598 && (node->flags & (NODE_BUILTIN | NODE_MACRO_ARG)) == 0
3599 && node->value.macro->fun_like);
3600}
3601
3602/* Returns the name, arguments and expansion of a macro, in a format3641/* Returns the name, arguments and expansion of a macro, in a format
3603 suitable to be read back in again, and therefore also for DWARF 23642 suitable to be read back in again, and therefore also for DWARF 2
3604 debugging info. e.g. "PASTE(X, Y) X ## Y", or "MACNAME EXPANSION".3643 debugging info. e.g. "PASTE(X, Y) X ## Y", or "MACNAME EXPANSION".
@@ -3608,23 +3647,12 @@ const unsigned char * · 3 unmodified lines
3608cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node)3647cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node)
3609{3648{
3610 unsigned int i, len;3649 unsigned int i, len;
3611 const cpp_macro *macro;
3612 unsigned char *buffer;3650 unsigned char *buffer;
3613 3651
3614 if (node->type != NT_MACRO || (node->flags & NODE_BUILTIN))3652 gcc_checking_assert (cpp_user_macro_p (node));
3615 {3653
3616 if (node->type != NT_MACRO3654 const cpp_macro *macro = node->value.macro;
3617 || !pfile->cb.user_builtin_macro
3618 || !pfile->cb.user_builtin_macro (pfile, node))
3619 {
3620 cpp_error (pfile, CPP_DL_ICE,
3621 "invalid hash type %d in cpp_macro_definition",
3622 node->type);
3623 return 0;
3624 }
3625 }
3626 3655
3627 macro = node->value.macro;
3628 /* Calculate length. */3656 /* Calculate length. */
3629 len = NODE_LEN (node) * 10 + 2; /* ' ' and NUL. */3657 len = NODE_LEN (node) * 10 + 2; /* ' ' and NUL. */
3630 if (macro->fun_like)3658 if (macro->fun_like)
@@ -3632,7 +3660,7 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) · 1 unmodified line
3632 len += 4; /* "()" plus possible final ".." of named3660 len += 4; /* "()" plus possible final ".." of named
3633 varargs (we have + 1 below). */3661 varargs (we have + 1 below). */
3634 for (i = 0; i < macro->paramc; i++)3662 for (i = 0; i < macro->paramc; i++)
3635 len += NODE_LEN (macro->params[i]) + 1; /* "," */3663 len += NODE_LEN (macro->parm.params[i]) + 1; /* "," */
3636 }3664 }
3637 3665
3638 /* This should match below where we fill in the buffer. */3666 /* This should match below where we fill in the buffer. */
@@ -3643,7 +3671,7 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) · 4 unmodified lines
3643 unsigned int count = macro_real_token_count (macro);3671 unsigned int count = macro_real_token_count (macro);
3644 for (i = 0; i < count; i++)3672 for (i = 0; i < count; i++)
3645 {3673 {
3646 cpp_token *token = &macro->exp.tokens[i];3674 const cpp_token *token = &macro->exp.tokens[i];
3647 3675
3648 if (token->type == CPP_MACRO_ARG)3676 if (token->type == CPP_MACRO_ARG)
3649 len += NODE_LEN (token->val.macro_arg.spelling);3677 len += NODE_LEN (token->val.macro_arg.spelling);
@@ -3676,7 +3704,7 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) · 26 unmodified lines
3676 *buffer++ = '(';3704 *buffer++ = '(';
3677 for (i = 0; i < macro->paramc; i++)3705 for (i = 0; i < macro->paramc; i++)
3678 {3706 {
3679 cpp_hashnode *param = macro->params[i];3707 cpp_hashnode *param = macro->parm.params[i];
3680 3708
3681 if (param != pfile->spec_nodes.n__VA_ARGS__)3709 if (param != pfile->spec_nodes.n__VA_ARGS__)
3682 {3710 {
@@ -3707,7 +3735,7 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) · 24 unmodified lines
3707 unsigned int count = macro_real_token_count (macro);3735 unsigned int count = macro_real_token_count (macro);
3708 for (i = 0; i < count; i++)3736 for (i = 0; i < count; i++)
3709 {3737 {
3710 cpp_token *token = &macro->exp.tokens[i];3738 const cpp_token *token = &macro->exp.tokens[i];
3711 3739
3712 if (token->flags & PREV_WHITE)3740 if (token->flags & PREV_WHITE)
3713 *buffer++ = ' ';3741 *buffer++ = ' ';
@@ -3737,11 +3765,3 @@ cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) · 23 unmodified lines
3737 *buffer = '\0';3765 *buffer = '\0';
3738 return pfile->macro_buffer;3766 return pfile->macro_buffer;
3739}3767}
3740
3741/* Get the line at which the macro was defined. */
3742
3743source_location
3744cpp_macro_definition_location (cpp_hashnode *node)
3745{
3746 return node->value.macro->line;
3747}
gcc/libcpp/makeucnid.c+2−2
@@ -1,5 +1,5 @@
1/* Make ucnid.h from various sources.1/* Make ucnid.h from various sources.
2 Copyright (C) 2005-2018 Free Software Foundation, Inc.2 Copyright (C) 2005-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
@@ -378,7 +378,7 @@ write_copyright (void) · 372 unmodified lines
378{378{
379 static const char copyright[] = "\379 static const char copyright[] = "\
380/* Unicode characters and various properties.\n\380/* Unicode characters and various properties.\n\
381 Copyright (C) 2003-2018 Free Software Foundation, Inc.\n\381 Copyright (C) 2003-2019 Free Software Foundation, Inc.\n\
382\n\382\n\
383 This program is free software; you can redistribute it and/or modify it\n\383 This program is free software; you can redistribute it and/or modify it\n\
384 under the terms of the GNU General Public License as published by the\n\384 under the terms of the GNU General Public License as published by the\n\
gcc/libcpp/mkdeps.c+1−1
@@ -1,5 +1,5 @@
1/* Dependency generator for Makefile fragments.1/* Dependency generator for Makefile fragments.
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
3 Contributed by Zack Weinberg, Mar 20003 Contributed by Zack Weinberg, Mar 2000
4 4
5This program is free software; you can redistribute it and/or modify it5This program is free software; you can redistribute it and/or modify it
gcc/libcpp/pch.c+51−76
@@ -1,5 +1,5 @@
1/* Part of CPP library. (Precompiled header reading/writing.)1/* Part of CPP library. (Precompiled header reading/writing.)
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
3 3
4This program is free software; you can redistribute it and/or modify it4This program is free software; you can redistribute it and/or modify it
5under the terms of the GNU General Public License as published by the5under the terms of the GNU General Public License as published by the
@@ -50,50 +50,47 @@ static int · 44 unmodified lines
50write_macdef (cpp_reader *pfile, cpp_hashnode *hn, void *file_p)50write_macdef (cpp_reader *pfile, cpp_hashnode *hn, void *file_p)
51{51{
52 FILE *f = (FILE *) file_p;52 FILE *f = (FILE *) file_p;
53 bool is_void = false;
53 switch (hn->type)54 switch (hn->type)
54 {55 {
55 case NT_VOID:56 case NT_VOID:
56 if (! (hn->flags & NODE_POISONED))57 if (! (hn->flags & NODE_POISONED))
57 return 1;58 return 1;
58 /* XXX Really fallthru? */59 is_void = true;
59 /* FALLTHRU */60 goto poisoned;
60 61
61 case NT_MACRO:62 case NT_BUILTIN_MACRO:
62 if ((hn->flags & NODE_BUILTIN)63 return 1;
63 && (!pfile->cb.user_builtin_macro
64 || !pfile->cb.user_builtin_macro (pfile, hn)))
65 return 1;
66
67 {
68 struct macrodef_struct s;
69 const unsigned char *defn;
70 64
71 s.name_length = NODE_LEN (hn);65 case NT_USER_MACRO:
72 s.flags = hn->flags & NODE_POISONED;66 if (hn->value.macro->kind != cmk_assert)
67 {
68 poisoned:
69 struct macrodef_struct s;
70 const unsigned char *defn;
73 71
74 if (hn->type == NT_MACRO)72 s.name_length = NODE_LEN (hn);
75 {73 s.flags = hn->flags & NODE_POISONED;
76 defn = cpp_macro_definition (pfile, hn);
77 s.definition_length = ustrlen (defn);
78 }
79 else
80 {
81 defn = NODE_NAME (hn);
82 s.definition_length = s.name_length;
83 }
84 74
85 if (fwrite (&s, sizeof (s), 1, f) != 175 if (is_void)
86 || fwrite (defn, 1, s.definition_length, f) != s.definition_length)76 {
87 {77 defn = NODE_NAME (hn);
88 cpp_errno (pfile, CPP_DL_ERROR,78 s.definition_length = s.name_length;
89 "while writing precompiled header");79 }
90 return 0;80 else
91 }81 {
92 }82 defn = cpp_macro_definition (pfile, hn);
93 return 1;83 s.definition_length = ustrlen (defn);
84 }
94 85
95 case NT_ASSERTION:86 if (fwrite (&s, sizeof (s), 1, f) != 1
96 /* Not currently implemented. */87 || fwrite (defn, 1, s.definition_length, f) != s.definition_length)
88 {
89 cpp_errno (pfile, CPP_DL_ERROR,
90 "while writing precompiled header");
91 return 0;
92 }
93 }
97 return 1;94 return 1;
98 95
99 default:96 default:
@@ -228,8 +225,11 @@ count_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) · 128 unmodified lines
228 225
229 switch (hn->type)226 switch (hn->type)
230 {227 {
231 case NT_MACRO:228 case NT_BUILTIN_MACRO:
232 if (hn->flags & NODE_BUILTIN)229 return 1;
230
231 case NT_USER_MACRO:
232 if (hn->value.macro->kind == cmk_assert)
233 return 1;233 return 1;
234 234
235 /* fall through. */235 /* fall through. */
@@ -250,10 +250,6 @@ count_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) · 14 unmodified lines
250 }250 }
251 return 1;251 return 1;
252 252
253 case NT_ASSERTION:
254 /* Not currently implemented. */
255 return 1;
256
257 default:253 default:
258 abort ();254 abort ();
259 }255 }
@@ -267,8 +263,11 @@ write_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) · 7 unmodified lines
267 263
268 switch (hn->type)264 switch (hn->type)
269 {265 {
270 case NT_MACRO:266 case NT_BUILTIN_MACRO:
271 if (hn->flags & NODE_BUILTIN)267 return 1;
268
269 case NT_USER_MACRO:
270 if (hn->value.macro->kind == cmk_assert)
272 return 1;271 return 1;
273 272
274 /* fall through. */273 /* fall through. */
@@ -289,10 +288,6 @@ write_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p) · 14 unmodified lines
289 }288 }
290 return 1;289 return 1;
291 290
292 case NT_ASSERTION:
293 /* Not currently implemented. */
294 return 1;
295
296 default:291 default:
297 abort ();292 abort ();
298 }293 }
@@ -442,7 +437,7 @@ _cpp_restore_pushed_macros (cpp_reader *r, FILE *f) · 143 unmodified lines
442 return 0;437 return 0;
443 438
444 p->definition = defn;439 p->definition = defn;
445 if (fread (&(p->line), sizeof (source_location), 1, f) != 1)440 if (fread (&(p->line), sizeof (location_t), 1, f) != 1)
446 return 0;441 return 0;
447 defnlen = 0;442 defnlen = 0;
448 if (fread (&defnlen, sizeof (defnlen), 1, f) != 1)443 if (fread (&defnlen, sizeof (defnlen), 1, f) != 1)
@@ -506,7 +501,7 @@ _cpp_save_pushed_macros (cpp_reader *r, FILE *f) · 57 unmodified lines
506 if (fwrite (&defnlen, sizeof (size_t), 1, f) != 1501 if (fwrite (&defnlen, sizeof (size_t), 1, f) != 1
507 || fwrite (pp[i]->definition, defnlen, 1, f) != 1)502 || fwrite (pp[i]->definition, defnlen, 1, f) != 1)
508 return 0;503 return 0;
509 if (fwrite (&(pp[i]->line), sizeof (source_location), 1, f) != 1)504 if (fwrite (&(pp[i]->line), sizeof (location_t), 1, f) != 1)
510 return 0;505 return 0;
511 defnlen = 0;506 defnlen = 0;
512 defnlen |= (pp[i]->syshdr != 0 ? 1 : 0);507 defnlen |= (pp[i]->syshdr != 0 ? 1 : 0);
@@ -623,7 +618,7 @@ cpp_valid_state (cpp_reader *r, const char *name, int fd) · 110 unmodified lines
623 goto fail;618 goto fail;
624 }619 }
625 620
626 if (h->type != NT_MACRO)621 if (h->type == NT_VOID)
627 {622 {
628 /* It's ok if __GCC_HAVE_DWARF2_CFI_ASM becomes undefined,623 /* It's ok if __GCC_HAVE_DWARF2_CFI_ASM becomes undefined,
629 as in, when the PCH file is created with -g and we're624 as in, when the PCH file is created with -g and we're
@@ -760,13 +755,7 @@ save_macros (cpp_reader *r, cpp_hashnode *h, void *data_p) · 130 unmodified lines
760{755{
761 struct save_macro_data *data = (struct save_macro_data *)data_p;756 struct save_macro_data *data = (struct save_macro_data *)data_p;
762 757
763 if ((h->flags & NODE_BUILTIN)758 if (cpp_user_macro_p (h))
764 && h->type == NT_MACRO
765 && r->cb.user_builtin_macro)
766 r->cb.user_builtin_macro (r, h);
767
768 if (h->type != NT_VOID
769 && (h->flags & NODE_BUILTIN) == 0)
770 {759 {
771 if (data->count == data->array_size)760 if (data->count == data->array_size)
772 {761 {
@@ -774,28 +763,14 @@ save_macros (cpp_reader *r, cpp_hashnode *h, void *data_p) · 1 unmodified line
774 data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size));763 data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size));
775 }764 }
776 765
777 switch (h->type)766 const uchar * defn = cpp_macro_definition (r, h);
778 {767 size_t defnlen = ustrlen (defn);
779 case NT_ASSERTION:
780 /* Not currently implemented. */
781 return 1;
782
783 case NT_MACRO:
784 {
785 const uchar * defn = cpp_macro_definition (r, h);
786 size_t defnlen = ustrlen (defn);
787 768
788 data->defns[data->count] = (uchar *) xmemdup (defn, defnlen,769 data->defns[data->count] = (uchar *) xmemdup (defn, defnlen, defnlen + 2);
789 defnlen + 2);770 data->defns[data->count][defnlen] = '\n';
790 data->defns[data->count][defnlen] = '\n';
791 }
792 break;
793
794 default:
795 abort ();
796 }
797 data->count++;771 data->count++;
798 }772 }
773
799 return 1;774 return 1;
800}775}
801 776
gcc/libcpp/po/ChangeLog+32−6
@@ -1,6 +1,36 @@
12018-07-26 Release Manager12019-05-03 Release Manager
2 2
3 * GCC 8.2.0 released.3 * GCC 9.1.0 released.
4
52019-03-08 Joseph Myers <joseph@codesourcery.com>
6
7 * sv.po: Update.
8
92019-02-14 Joseph Myers <joseph@codesourcery.com>
10
11 * da.po: Update.
12
132019-02-06 Joseph Myers <joseph@codesourcery.com>
14
15 * eo.po: Update.
16
172019-02-06 Joseph Myers <joseph@codesourcery.com>
18
19 * ru.po: Update.
20
212019-02-05 Joseph Myers <joseph@codesourcery.com>
22
23 * be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
24 id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
25 vi.po, zh_CN.po, zh_TW.po: Update.
26
272019-02-01 Joseph Myers <joseph@codesourcery.com>
28
29 * cpplib.pot: Regenerate.
30
312018-07-25 Joseph Myers <joseph@codesourcery.com>
32
33 * cpplib.pot: Regenerate.
4 34
52018-06-11 Joseph Myers <joseph@codesourcery.com>352018-06-11 Joseph Myers <joseph@codesourcery.com>
6 36
@@ -10,10 +40,6 @@ · 3 unmodified lines
10 40
11 * eo.po: Update.41 * eo.po: Update.
12 42
132018-05-02 Release Manager
14
15 * GCC 8.1.0 released.
16
172018-04-23 Joseph Myers <joseph@codesourcery.com>432018-04-23 Joseph Myers <joseph@codesourcery.com>
18 44
19 * cpplib.pot: Regenerate.45 * cpplib.pot: Regenerate.
gcc/libcpp/po/be.gmo+0−0

Binary file not shown.

gcc/libcpp/po/be.po+163−166
@@ -6,7 +6,7 @@ msgid "" · 5 unmodified lines
6msgstr ""6msgstr ""
7"Project-Id-Version: gcc 3.1\n"7"Project-Id-Version: gcc 3.1\n"
8"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"8"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
9"POT-Creation-Date: 2018-01-26 22:47+0000\n"9"POT-Creation-Date: 2019-02-01 23:01+0000\n"
10"PO-Revision-Date: 2002-05-17 15:54+0200\n"10"PO-Revision-Date: 2002-05-17 15:54+0200\n"
11"Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"11"Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
12"Language-Team: Belarusian <i18n@tut.by>\n"12"Language-Team: Belarusian <i18n@tut.by>\n"
@@ -85,7 +85,7 @@ msgstr "" · 72 unmodified lines
85msgid "universal character %.*s is not valid at the start of an identifier"85msgid "universal character %.*s is not valid at the start of an identifier"
86msgstr ""86msgstr ""
87 87
88#: charset.c:1181 charset.c:200088#: charset.c:1181 charset.c:2002
89msgid "converting UCN to source character set"89msgid "converting UCN to source character set"
90msgstr ""90msgstr ""
91 91
@@ -140,299 +140,299 @@ msgstr "" · 48 unmodified lines
140msgid "missing open quote"140msgid "missing open quote"
141msgstr "Прапушчан ідэнтыфікатар"141msgstr "Прапушчан ідэнтыфікатар"
142 142
143#: charset.c:1827 charset.c:1891143#: charset.c:1829 charset.c:1893
144#, fuzzy144#, fuzzy
145#| msgid "character constant too long"145#| msgid "character constant too long"
146msgid "character constant too long for its type"146msgid "character constant too long for its type"
147msgstr "сімвальная канстанта вельмі доўгая"147msgstr "сімвальная канстанта вельмі доўгая"
148 148
149#: charset.c:1830149#: charset.c:1832
150msgid "multi-character character constant"150msgid "multi-character character constant"
151msgstr "мнагасімвальная сімвальная канстанта"151msgstr "мнагасімвальная сімвальная канстанта"
152 152
153#: charset.c:1931153#: charset.c:1933
154msgid "empty character constant"154msgid "empty character constant"
155msgstr "пустая сімвальная канстанта"155msgstr "пустая сімвальная канстанта"
156 156
157#: charset.c:2047157#: charset.c:2049
158#, c-format158#, c-format
159msgid "failure to convert %s to %s"159msgid "failure to convert %s to %s"
160msgstr ""160msgstr ""
161 161
162#: directives.c:235 directives.c:278162#: directives.c:229 directives.c:272
163#, c-format163#, c-format
164msgid "extra tokens at end of #%s directive"164msgid "extra tokens at end of #%s directive"
165msgstr ""165msgstr ""
166 166
167#: directives.c:385167#: directives.c:379
168#, c-format168#, c-format
169msgid "#%s is a GCC extension"169msgid "#%s is a GCC extension"
170msgstr ""170msgstr ""
171 171
172#: directives.c:390172#: directives.c:384
173#, c-format173#, c-format
174msgid "#%s is a deprecated GCC extension"174msgid "#%s is a deprecated GCC extension"
175msgstr ""175msgstr ""
176 176
177#: directives.c:403177#: directives.c:397
178msgid "suggest not using #elif in traditional C"178msgid "suggest not using #elif in traditional C"
179msgstr ""179msgstr ""
180 180
181#: directives.c:406181#: directives.c:400
182#, c-format182#, c-format
183msgid "traditional C ignores #%s with the # indented"183msgid "traditional C ignores #%s with the # indented"
184msgstr ""184msgstr ""
185 185
186#: directives.c:410186#: directives.c:404
187#, c-format187#, c-format
188msgid "suggest hiding #%s from traditional C with an indented #"188msgid "suggest hiding #%s from traditional C with an indented #"
189msgstr ""189msgstr ""
190 190
191#: directives.c:436191#: directives.c:430
192msgid "embedding a directive within macro arguments is not portable"192msgid "embedding a directive within macro arguments is not portable"
193msgstr ""193msgstr ""
194 194
195#: directives.c:456195#: directives.c:450
196msgid "style of line directive is a GCC extension"196msgid "style of line directive is a GCC extension"
197msgstr ""197msgstr ""
198 198
199#: directives.c:537199#: directives.c:531
200#, c-format200#, c-format
201msgid "invalid preprocessing directive #%s"201msgid "invalid preprocessing directive #%s"
202msgstr ""202msgstr ""
203 203
204#: directives.c:606204#: directives.c:600
205msgid "\"defined\" cannot be used as a macro name"205msgid "\"defined\" cannot be used as a macro name"
206msgstr ""206msgstr ""
207 207
208#: directives.c:611208#: directives.c:605
209msgid "\"__has_include__\" cannot be used as a macro name"209msgid "\"__has_include__\" cannot be used as a macro name"
210msgstr ""210msgstr ""
211 211
212#: directives.c:617212#: directives.c:611
213#, c-format213#, c-format
214msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"214msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
215msgstr ""215msgstr ""
216 216
217#: directives.c:620217#: directives.c:614
218#, c-format218#, c-format
219msgid "no macro name given in #%s directive"219msgid "no macro name given in #%s directive"
220msgstr ""220msgstr ""
221 221
222#: directives.c:623222#: directives.c:617
223msgid "macro names must be identifiers"223msgid "macro names must be identifiers"
224msgstr ""224msgstr ""
225 225
226#: directives.c:672 directives.c:677226#: directives.c:666 directives.c:671
227#, c-format227#, c-format
228msgid "undefining \"%s\""228msgid "undefining \"%s\""
229msgstr ""229msgstr ""
230 230
231#: directives.c:732231#: directives.c:727
232msgid "missing terminating > character"232msgid "missing terminating > character"
233msgstr ""233msgstr ""
234 234
235#: directives.c:791235#: directives.c:786
236#, c-format236#, c-format
237msgid "#%s expects \"FILENAME\" or <FILENAME>"237msgid "#%s expects \"FILENAME\" or <FILENAME>"
238msgstr ""238msgstr ""
239 239
240#: directives.c:837240#: directives.c:828
241#, c-format241#, c-format
242msgid "empty filename in #%s"242msgid "empty filename in #%s"
243msgstr ""243msgstr ""
244 244
245#: directives.c:847245#: directives.c:835
246msgid "#include nested too deeply"246msgid "#include nested too deeply"
247msgstr ""247msgstr ""
248 248
249#: directives.c:888249#: directives.c:877
250msgid "#include_next in primary source file"250msgid "#include_next in primary source file"
251msgstr ""251msgstr ""
252 252
253#: directives.c:914253#: directives.c:903
254#, c-format254#, c-format
255msgid "invalid flag \"%s\" in line directive"255msgid "invalid flag \"%s\" in line directive"
256msgstr ""256msgstr ""
257 257
258#: directives.c:974258#: directives.c:963
259msgid "unexpected end of file after #line"259msgid "unexpected end of file after #line"
260msgstr ""260msgstr ""
261 261
262#: directives.c:977262#: directives.c:966
263#, c-format263#, c-format
264msgid "\"%s\" after #line is not a positive integer"264msgid "\"%s\" after #line is not a positive integer"
265msgstr ""265msgstr ""
266 266
267#: directives.c:983 directives.c:985267#: directives.c:972 directives.c:974
268msgid "line number out of range"268msgid "line number out of range"
269msgstr ""269msgstr ""
270 270
271#: directives.c:998 directives.c:1079271#: directives.c:987 directives.c:1068
272#, c-format272#, c-format
273msgid "\"%s\" is not a valid filename"273msgid "\"%s\" is not a valid filename"
274msgstr ""274msgstr ""
275 275
276#: directives.c:1039276#: directives.c:1028
277#, c-format277#, c-format
278msgid "\"%s\" after # is not a positive integer"278msgid "\"%s\" after # is not a positive integer"
279msgstr ""279msgstr ""
280 280
281#: directives.c:1098281#: directives.c:1087
282#, c-format282#, c-format
283msgid "file \"%s\" linemarker ignored due to incorrect nesting"283msgid "file \"%s\" linemarker ignored due to incorrect nesting"
284msgstr ""284msgstr ""
285 285
286#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747286#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
287#, c-format287#, c-format
288msgid "%s"288msgid "%s"
289msgstr ""289msgstr ""
290 290
291#: directives.c:1185291#: directives.c:1175
292#, fuzzy, c-format292#, fuzzy, c-format
293msgid "invalid #%s directive"293msgid "invalid #%s directive"
294msgstr "нерэчаісны ініцыялізатар"294msgstr "нерэчаісны ініцыялізатар"
295 295
296#: directives.c:1248296#: directives.c:1238
297#, c-format297#, c-format
298msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"298msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
299msgstr ""299msgstr ""
300 300
301#: directives.c:1257301#: directives.c:1247
302#, c-format302#, c-format
303msgid "registering pragma \"%s\" with name expansion and no namespace"303msgid "registering pragma \"%s\" with name expansion and no namespace"
304msgstr ""304msgstr ""
305 305
306#: directives.c:1275306#: directives.c:1265
307#, c-format307#, c-format
308msgid "registering \"%s\" as both a pragma and a pragma namespace"308msgid "registering \"%s\" as both a pragma and a pragma namespace"
309msgstr ""309msgstr ""
310 310
311#: directives.c:1278311#: directives.c:1268
312#, fuzzy, c-format312#, fuzzy, c-format
313msgid "#pragma %s %s is already registered"313msgid "#pragma %s %s is already registered"
314msgstr "Клас \"%s\" ужо існуе"314msgstr "Клас \"%s\" ужо існуе"
315 315
316#: directives.c:1281316#: directives.c:1271
317#, c-format317#, c-format
318msgid "#pragma %s is already registered"318msgid "#pragma %s is already registered"
319msgstr ""319msgstr ""
320 320
321#: directives.c:1311321#: directives.c:1301
322msgid "registering pragma with NULL handler"322msgid "registering pragma with NULL handler"
323msgstr ""323msgstr ""
324 324
325#: directives.c:1528325#: directives.c:1518
326msgid "#pragma once in main file"326msgid "#pragma once in main file"
327msgstr ""327msgstr ""
328 328
329#: directives.c:1551329#: directives.c:1541
330#, fuzzy330#, fuzzy
331msgid "invalid #pragma push_macro directive"331msgid "invalid #pragma push_macro directive"
332msgstr "нерэчаісны ініцыялізатар"332msgstr "нерэчаісны ініцыялізатар"
333 333
334#: directives.c:1606334#: directives.c:1596
335#, fuzzy335#, fuzzy
336msgid "invalid #pragma pop_macro directive"336msgid "invalid #pragma pop_macro directive"
337msgstr "нерэчаісны ініцыялізатар"337msgstr "нерэчаісны ініцыялізатар"
338 338
339#: directives.c:1661339#: directives.c:1651
340msgid "invalid #pragma GCC poison directive"340msgid "invalid #pragma GCC poison directive"
341msgstr ""341msgstr ""
342 342
343#: directives.c:1670343#: directives.c:1660
344#, c-format344#, c-format
345msgid "poisoning existing macro \"%s\""345msgid "poisoning existing macro \"%s\""
346msgstr ""346msgstr ""
347 347
348#: directives.c:1689348#: directives.c:1679
349msgid "#pragma system_header ignored outside include file"349msgid "#pragma system_header ignored outside include file"
350msgstr ""350msgstr ""
351 351
352#: directives.c:1714352#: directives.c:1704
353#, fuzzy, c-format353#, fuzzy, c-format
354#| msgid "cannot find source %s"354#| msgid "cannot find source %s"
355msgid "cannot find source file %s"355msgid "cannot find source file %s"
356msgstr "не магу знайсці крыніцу %s"356msgstr "не магу знайсці крыніцу %s"
357 357
358#: directives.c:1718358#: directives.c:1708
359#, c-format359#, c-format
360msgid "current file is older than %s"360msgid "current file is older than %s"
361msgstr ""361msgstr ""
362 362
363#: directives.c:1742363#: directives.c:1732
364#, fuzzy, c-format364#, fuzzy, c-format
365msgid "invalid \"#pragma GCC %s\" directive"365msgid "invalid \"#pragma GCC %s\" directive"
366msgstr "нерэчаісны ініцыялізатар"366msgstr "нерэчаісны ініцыялізатар"
367 367
368#: directives.c:1943368#: directives.c:1933
369msgid "_Pragma takes a parenthesized string literal"369msgid "_Pragma takes a parenthesized string literal"
370msgstr ""370msgstr ""
371 371
372#: directives.c:2064372#: directives.c:2021
373msgid "#else without #if"373msgid "#else without #if"
374msgstr ""374msgstr ""
375 375
376#: directives.c:2069376#: directives.c:2026
377msgid "#else after #else"377msgid "#else after #else"
378msgstr ""378msgstr ""
379 379
380#: directives.c:2071 directives.c:2104380#: directives.c:2028 directives.c:2061
381msgid "the conditional began here"381msgid "the conditional began here"
382msgstr ""382msgstr ""
383 383
384#: directives.c:2097384#: directives.c:2054
385msgid "#elif without #if"385msgid "#elif without #if"
386msgstr ""386msgstr ""
387 387
388#: directives.c:2102388#: directives.c:2059
389msgid "#elif after #else"389msgid "#elif after #else"
390msgstr ""390msgstr ""
391 391
392#: directives.c:2133392#: directives.c:2090
393msgid "#endif without #if"393msgid "#endif without #if"
394msgstr ""394msgstr ""
395 395
396#: directives.c:2213396#: directives.c:2166
397msgid "missing '(' after predicate"397msgid "missing '(' after predicate"
398msgstr ""398msgstr ""
399 399
400#: directives.c:2228400#: directives.c:2184
401msgid "missing ')' to complete answer"401msgid "missing ')' to complete answer"
402msgstr ""402msgstr ""
403 403
404#: directives.c:2248404#: directives.c:2196
405msgid "predicate's answer is empty"405msgid "predicate's answer is empty"
406msgstr ""406msgstr ""
407 407
408#: directives.c:2275408#: directives.c:2226
409msgid "assertion without predicate"409msgid "assertion without predicate"
410msgstr ""410msgstr ""
411 411
412#: directives.c:2278412#: directives.c:2229
413msgid "predicate must be an identifier"413msgid "predicate must be an identifier"
414msgstr ""414msgstr ""
415 415
416#: directives.c:2364416#: directives.c:2311
417#, c-format417#, c-format
418msgid "\"%s\" re-asserted"418msgid "\"%s\" re-asserted"
419msgstr ""419msgstr ""
420 420
421#: directives.c:2656421#: directives.c:2587
422#, c-format422#, c-format
423msgid "unterminated #%s"423msgid "unterminated #%s"
424msgstr ""424msgstr ""
425 425
426#: directives-only.c:221 lex.c:2851 traditional.c:167426#: directives-only.c:221 lex.c:2862 traditional.c:175
427msgid "unterminated comment"427msgid "unterminated comment"
428msgstr "незавершаныя каментарыі"428msgstr "незавершаныя каментарыі"
429 429
430#: errors.c:284430#: errors.c:291
431#, c-format431#, c-format
432msgid "%s: %s"432msgid "%s: %s"
433msgstr ""433msgstr ""
434 434
435#: errors.c:296435#: errors.c:304
436msgid "stdout"436msgid "stdout"
437msgstr ""437msgstr ""
438 438
@@ -529,86 +529,86 @@ msgstr "" · 90 unmodified lines
529msgid "this use of \"defined\" may not be portable"529msgid "this use of \"defined\" may not be portable"
530msgstr ""530msgstr ""
531 531
532#: expr.c:1125532#: expr.c:1109
533msgid "user-defined literal in preprocessor expression"533msgid "user-defined literal in preprocessor expression"
534msgstr ""534msgstr ""
535 535
536#: expr.c:1130536#: expr.c:1114
537msgid "floating constant in preprocessor expression"537msgid "floating constant in preprocessor expression"
538msgstr ""538msgstr ""
539 539
540#: expr.c:1136540#: expr.c:1120
541msgid "imaginary number in preprocessor expression"541msgid "imaginary number in preprocessor expression"
542msgstr ""542msgstr ""
543 543
544#: expr.c:1189544#: expr.c:1173
545#, c-format545#, c-format
546msgid "\"%s\" is not defined, evaluates to 0"546msgid "\"%s\" is not defined, evaluates to 0"
547msgstr ""547msgstr ""
548 548
549#: expr.c:1202549#: expr.c:1186
550msgid "assertions are a GCC extension"550msgid "assertions are a GCC extension"
551msgstr ""551msgstr ""
552 552
553#: expr.c:1205553#: expr.c:1189
554msgid "assertions are a deprecated extension"554msgid "assertions are a deprecated extension"
555msgstr ""555msgstr ""
556 556
557#: expr.c:1451557#: expr.c:1435
558#, fuzzy, c-format558#, fuzzy, c-format
559#| msgid "unbalanced #endif"559#| msgid "unbalanced #endif"
560msgid "unbalanced stack in %s"560msgid "unbalanced stack in %s"
561msgstr "незбалансаваны #endif"561msgstr "незбалансаваны #endif"
562 562
563#: expr.c:1471563#: expr.c:1455
564#, fuzzy, c-format564#, fuzzy, c-format
565#| msgid "impossible operator '%s'"565#| msgid "impossible operator '%s'"
566msgid "impossible operator '%u'"566msgid "impossible operator '%u'"
567msgstr "немагчымы апэратар '%s'"567msgstr "немагчымы апэратар '%s'"
568 568
569#: expr.c:1572569#: expr.c:1556
570msgid "missing ')' in expression"570msgid "missing ')' in expression"
571msgstr ""571msgstr ""
572 572
573#: expr.c:1601573#: expr.c:1585
574msgid "'?' without following ':'"574msgid "'?' without following ':'"
575msgstr ""575msgstr ""
576 576
577#: expr.c:1611577#: expr.c:1595
578msgid "integer overflow in preprocessor expression"578msgid "integer overflow in preprocessor expression"
579msgstr ""579msgstr ""
580 580
581#: expr.c:1616581#: expr.c:1600
582msgid "missing '(' in expression"582msgid "missing '(' in expression"
583msgstr ""583msgstr ""
584 584
585#: expr.c:1648585#: expr.c:1632
586#, c-format586#, c-format
587msgid "the left operand of \"%s\" changes sign when promoted"587msgid "the left operand of \"%s\" changes sign when promoted"
588msgstr ""588msgstr ""
589 589
590#: expr.c:1653590#: expr.c:1637
591#, c-format591#, c-format
592msgid "the right operand of \"%s\" changes sign when promoted"592msgid "the right operand of \"%s\" changes sign when promoted"
593msgstr ""593msgstr ""
594 594
595#: expr.c:1912595#: expr.c:1896
596msgid "traditional C rejects the unary plus operator"596msgid "traditional C rejects the unary plus operator"
597msgstr ""597msgstr ""
598 598
599#: expr.c:2010599#: expr.c:1994
600msgid "comma operator in operand of #if"600msgid "comma operator in operand of #if"
601msgstr ""601msgstr ""
602 602
603#: expr.c:2146603#: expr.c:2130
604msgid "division by zero in #if"604msgid "division by zero in #if"
605msgstr ""605msgstr ""
606 606
607#: expr.c:2243607#: expr.c:2227
608msgid "operator \"__has_include__\" requires a header string"608msgid "operator \"__has_include__\" requires a header string"
609msgstr ""609msgstr ""
610 610
611#: expr.c:2259611#: expr.c:2243
612msgid "missing ')' after \"__has_include__\""612msgid "missing ')' after \"__has_include__\""
613msgstr ""613msgstr ""
614 614
@@ -625,40 +625,40 @@ msgstr "" · 10 unmodified lines
625msgid "no include path in which to search for %s"625msgid "no include path in which to search for %s"
626msgstr ""626msgstr ""
627 627
628#: files.c:1441628#: files.c:1455
629msgid "Multiple include guards may be useful for:\n"629msgid "Multiple include guards may be useful for:\n"
630msgstr ""630msgstr ""
631 631
632#: init.c:565632#: init.c:569
633msgid "cppchar_t must be an unsigned type"633msgid "cppchar_t must be an unsigned type"
634msgstr ""634msgstr ""
635 635
636#: init.c:569636#: init.c:573
637#, c-format637#, c-format
638msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"638msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
639msgstr ""639msgstr ""
640 640
641#: init.c:576641#: init.c:580
642msgid "CPP arithmetic must be at least as precise as a target int"642msgid "CPP arithmetic must be at least as precise as a target int"
643msgstr ""643msgstr ""
644 644
645#: init.c:579645#: init.c:583
646msgid "target char is less than 8 bits wide"646msgid "target char is less than 8 bits wide"
647msgstr ""647msgstr ""
648 648
649#: init.c:583649#: init.c:587
650msgid "target wchar_t is narrower than target char"650msgid "target wchar_t is narrower than target char"
651msgstr ""651msgstr ""
652 652
653#: init.c:587653#: init.c:591
654msgid "target int is narrower than target char"654msgid "target int is narrower than target char"
655msgstr ""655msgstr ""
656 656
657#: init.c:592657#: init.c:596
658msgid "CPP half-integer narrower than CPP character"658msgid "CPP half-integer narrower than CPP character"
659msgstr ""659msgstr ""
660 660
661#: init.c:596661#: init.c:600
662#, c-format662#, c-format
663msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"663msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
664msgstr ""664msgstr ""
@@ -731,264 +731,265 @@ msgstr "" · 66 unmodified lines
731msgid "identifier \"%s\" is a special operator name in C++"731msgid "identifier \"%s\" is a special operator name in C++"
732msgstr ""732msgstr ""
733 733
734#: lex.c:1811734#: lex.c:1826
735msgid "raw string delimiter longer than 16 characters"735msgid "raw string delimiter longer than 16 characters"
736msgstr ""736msgstr ""
737 737
738#: lex.c:1815738#: lex.c:1830
739msgid "invalid new-line in raw string delimiter"739msgid "invalid new-line in raw string delimiter"
740msgstr ""740msgstr ""
741 741
742#: lex.c:1819742#: lex.c:1834
743#, fuzzy, c-format743#, fuzzy, c-format
744msgid "invalid character '%c' in raw string delimiter"744msgid "invalid character '%c' in raw string delimiter"
745msgstr "сімвальная канстанта вельмі доўгая"745msgstr "сімвальная канстанта вельмі доўгая"
746 746
747#: lex.c:1868 lex.c:1890747#: lex.c:1883 lex.c:1905
748#, fuzzy748#, fuzzy
749#| msgid "unterminated comment"749#| msgid "unterminated comment"
750msgid "unterminated raw string"750msgid "unterminated raw string"
751msgstr "незавершаныя каментарыі"751msgstr "незавершаныя каментарыі"
752 752
753#: lex.c:1912 lex.c:2043753#: lex.c:1925 lex.c:2054
754msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"754msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
755msgstr ""755msgstr ""
756 756
757#: lex.c:2024757#: lex.c:2037
758msgid "null character(s) preserved in literal"758msgid "null character(s) preserved in literal"
759msgstr ""759msgstr ""
760 760
761#: lex.c:2027761#: lex.c:2040
762#, c-format762#, c-format
763msgid "missing terminating %c character"763msgid "missing terminating %c character"
764msgstr "прапушчан завяршаючы сімвал %c"764msgstr "прапушчан завяршаючы сімвал %c"
765 765
766#: lex.c:2061766#: lex.c:2072
767msgid "C++11 requires a space between string literal and macro"767msgid "C++11 requires a space between string literal and macro"
768msgstr ""768msgstr ""
769 769
770#: lex.c:2865 lex.c:2899770#: lex.c:2876 lex.c:2910
771msgid "C++ style comments are not allowed in ISO C90"771msgid "C++ style comments are not allowed in ISO C90"
772msgstr ""772msgstr ""
773 773
774#: lex.c:2867 lex.c:2878 lex.c:2901774#: lex.c:2878 lex.c:2889 lex.c:2913
775msgid "(this will be reported only once per input file)"775msgid "(this will be reported only once per input file)"
776msgstr ""776msgstr ""
777 777
778#: lex.c:2876778#: lex.c:2887
779msgid "C++ style comments are incompatible with C90"779msgid "C++ style comments are incompatible with C90"
780msgstr ""780msgstr ""
781 781
782#: lex.c:2907782#: lex.c:2919
783msgid "multi-line comment"783msgid "multi-line comment"
784msgstr ""784msgstr ""
785 785
786#: lex.c:3287786#: lex.c:3299
787#, fuzzy, c-format787#, fuzzy, c-format
788msgid "unspellable token %s"788msgid "unspellable token %s"
789msgstr "немагу адчыніць файл \"%s\""789msgstr "немагу адчыніць файл \"%s\""
790 790
791#: macro.c:93791#: macro.c:94
792msgid "'##' cannot appear at either end of __VA_OPT__"792msgid "'##' cannot appear at either end of __VA_OPT__"
793msgstr ""793msgstr ""
794 794
795#: macro.c:352795#: macro.c:354
796#, c-format796#, c-format
797msgid "macro \"%s\" is not used"797msgid "macro \"%s\" is not used"
798msgstr ""798msgstr ""
799 799
800#: macro.c:391 macro.c:639800#: macro.c:393 macro.c:641
801#, c-format801#, c-format
802msgid "invalid built-in macro \"%s\""802msgid "invalid built-in macro \"%s\""
803msgstr ""803msgstr ""
804 804
805#: macro.c:398 macro.c:500805#: macro.c:400 macro.c:502
806#, c-format806#, c-format
807msgid "macro \"%s\" might prevent reproducible builds"807msgid "macro \"%s\" might prevent reproducible builds"
808msgstr ""808msgstr ""
809 809
810#: macro.c:429810#: macro.c:431
811#, fuzzy811#, fuzzy
812msgid "could not determine file timestamp"812msgid "could not determine file timestamp"
813msgstr "не магу знайсці крыніцу %s\n"813msgstr "не магу знайсці крыніцу %s\n"
814 814
815#: macro.c:546815#: macro.c:548
816#, fuzzy816#, fuzzy
817#| msgid "Could not open data file %s.\n"817#| msgid "Could not open data file %s.\n"
818msgid "could not determine date and time"818msgid "could not determine date and time"
819msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n"819msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n"
820 820
821#: macro.c:562821#: macro.c:564
822msgid "__COUNTER__ expanded inside directive with -fdirectives-only"822msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
823msgstr ""823msgstr ""
824 824
825#: macro.c:758825#: macro.c:760
826msgid "invalid string literal, ignoring final '\\'"826msgid "invalid string literal, ignoring final '\\'"
827msgstr ""827msgstr ""
828 828
829#: macro.c:820829#: macro.c:822
830#, c-format830#, c-format
831msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"831msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
832msgstr ""832msgstr ""
833 833
834#: macro.c:946834#: macro.c:948
835msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"835msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
836msgstr ""836msgstr ""
837 837
838#: macro.c:950838#: macro.c:952
839msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"839msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
840msgstr ""840msgstr ""
841 841
842#: macro.c:957842#: macro.c:959
843#, c-format843#, c-format
844msgid "macro \"%s\" requires %u arguments, but only %u given"844msgid "macro \"%s\" requires %u arguments, but only %u given"
845msgstr ""845msgstr ""
846 846
847#: macro.c:962847#: macro.c:964
848#, c-format848#, c-format
849msgid "macro \"%s\" passed %u arguments, but takes just %u"849msgid "macro \"%s\" passed %u arguments, but takes just %u"
850msgstr ""850msgstr ""
851 851
852#: macro.c:1156 traditional.c:819852#: macro.c:1162 traditional.c:827
853#, c-format853#, c-format
854msgid "unterminated argument list invoking macro \"%s\""854msgid "unterminated argument list invoking macro \"%s\""
855msgstr ""855msgstr ""
856 856
857#: macro.c:1307857#: macro.c:1304
858#, c-format858#, c-format
859msgid "function-like macro \"%s\" must be used with arguments in traditional C"859msgid "function-like macro \"%s\" must be used with arguments in traditional C"
860msgstr ""860msgstr ""
861 861
862#: macro.c:2003862#: macro.c:2083
863#, c-format863#, c-format
864msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"864msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
865msgstr ""865msgstr ""
866 866
867#: macro.c:2011 macro.c:2020867#: macro.c:2091 macro.c:2100
868#, c-format868#, c-format
869msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"869msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
870msgstr ""870msgstr ""
871 871
872#: macro.c:2984872#: macro.c:3059
873#, c-format873#, c-format
874msgid "duplicate macro parameter \"%s\""874msgid "duplicate macro parameter \"%s\""
875msgstr ""875msgstr ""
876 876
877#: macro.c:3033877#: macro.c:3141
878#, fuzzy, c-format
879msgid "expected parameter name, found \"%s\""
880msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
881
882#: macro.c:3142
878#, c-format883#, c-format
879msgid "\"%s\" may not appear in macro parameter list"884msgid "expected ',' or ')', found \"%s\""
880msgstr ""885msgstr ""
881 886
882#: macro.c:3041887#: macro.c:3143
883msgid "macro parameters must be comma-separated"888#, fuzzy
889msgid "expected parameter name before end of line"
890msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
891
892#: macro.c:3144
893msgid "expected ')' before end of line"
884msgstr ""894msgstr ""
885 895
886#: macro.c:3060896#: macro.c:3145
887msgid "parameter name missing"897msgid "expected ')' after \"...\""
888msgstr ""898msgstr ""
889 899
890#: macro.c:3081900#: macro.c:3202
891msgid "anonymous variadic macros were introduced in C++11"901msgid "anonymous variadic macros were introduced in C++11"
892msgstr ""902msgstr ""
893 903
894#: macro.c:3085 macro.c:3090904#: macro.c:3203 macro.c:3207
895msgid "anonymous variadic macros were introduced in C99"905msgid "anonymous variadic macros were introduced in C99"
896msgstr ""906msgstr ""
897 907
898#: macro.c:3097908#: macro.c:3213
899#, fuzzy909#, fuzzy
900msgid "ISO C++ does not permit named variadic macros"910msgid "ISO C++ does not permit named variadic macros"
901msgstr "ISO C89 не падтрымлівае \"long long\""911msgstr "ISO C89 не падтрымлівае \"long long\""
902 912
903#: macro.c:3100913#: macro.c:3214
904msgid "ISO C does not permit named variadic macros"914msgid "ISO C does not permit named variadic macros"
905msgstr ""915msgstr ""
906 916
907#: macro.c:3110917#: macro.c:3260
908msgid "missing ')' in macro parameter list"
909msgstr ""
910
911#: macro.c:3161
912msgid "'##' cannot appear at either end of a macro expansion"918msgid "'##' cannot appear at either end of a macro expansion"
913msgstr ""919msgstr ""
914 920
915#: macro.c:3198921#: macro.c:3298
916msgid "ISO C++11 requires whitespace after the macro name"922msgid "ISO C++11 requires whitespace after the macro name"
917msgstr ""923msgstr ""
918 924
919#: macro.c:3201925#: macro.c:3299
920msgid "ISO C99 requires whitespace after the macro name"926msgid "ISO C99 requires whitespace after the macro name"
921msgstr ""927msgstr ""
922 928
923#: macro.c:3226929#: macro.c:3323
924#, fuzzy930#, fuzzy
925#| msgid "missing white space after number '%.*s'"931#| msgid "missing white space after number '%.*s'"
926msgid "missing whitespace after the macro name"932msgid "missing whitespace after the macro name"
927msgstr "прапушчан прабел пасля нумара \"%.*s\""933msgstr "прапушчан прабел пасля нумара \"%.*s\""
928 934
929#: macro.c:3263935#: macro.c:3373
930msgid "'#' is not followed by a macro parameter"936msgid "'#' is not followed by a macro parameter"
931msgstr ""937msgstr ""
932 938
933#: macro.c:3430939#: macro.c:3524
934#, c-format940#, c-format
935msgid "\"%s\" redefined"941msgid "\"%s\" redefined"
936msgstr ""942msgstr ""
937 943
938#: macro.c:3435944#: macro.c:3529
939msgid "this is the location of the previous definition"945msgid "this is the location of the previous definition"
940msgstr ""946msgstr ""
941 947
942#: macro.c:3496948#: macro.c:3633
943#, c-format949#, c-format
944msgid "macro argument \"%s\" would be stringified in traditional C"950msgid "macro argument \"%s\" would be stringified in traditional C"
945msgstr ""951msgstr ""
946 952
947#: macro.c:3532953#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
948#, c-format
949msgid "invalid hash type %d in cpp_macro_definition"
950msgstr ""
951
952#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
953msgid "while writing precompiled header"954msgid "while writing precompiled header"
954msgstr ""955msgstr ""
955 956
956#: pch.c:621957#: pch.c:616
957#, c-format958#, c-format
958msgid "%s: not used because `%.*s' is poisoned"959msgid "%s: not used because `%.*s' is poisoned"
959msgstr ""960msgstr ""
960 961
961#: pch.c:643962#: pch.c:638
962#, fuzzy, c-format963#, fuzzy, c-format
963#| msgid "label `%s' used but not defined"964#| msgid "label `%s' used but not defined"
964msgid "%s: not used because `%.*s' not defined"965msgid "%s: not used because `%.*s' not defined"
965msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана"966msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана"
966 967
967#: pch.c:655968#: pch.c:650
968#, c-format969#, c-format
969msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"970msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
970msgstr ""971msgstr ""
971 972
972#: pch.c:696973#: pch.c:691
973#, c-format974#, c-format
974msgid "%s: not used because `%s' is defined"975msgid "%s: not used because `%s' is defined"
975msgstr ""976msgstr ""
976 977
977#: pch.c:716978#: pch.c:711
978#, c-format979#, c-format
979msgid "%s: not used because `__COUNTER__' is invalid"980msgid "%s: not used because `__COUNTER__' is invalid"
980msgstr ""981msgstr ""
981 982
982#: pch.c:725 pch.c:903983#: pch.c:720 pch.c:878
983msgid "while reading precompiled header"984msgid "while reading precompiled header"
984msgstr ""985msgstr ""
985 986
986#: traditional.c:889987#: traditional.c:896
987#, c-format988#, c-format
988msgid "detected recursion whilst expanding macro \"%s\""989msgid "detected recursion whilst expanding macro \"%s\""
989msgstr ""990msgstr ""
990 991
991#: traditional.c:1108992#: traditional.c:1119
992msgid "syntax error in macro parameter list"993msgid "syntax error in macro parameter list"
993msgstr ""994msgstr ""
994 995
@@ -2541,10 +2542,6 @@ msgstr "" · 1546 unmodified lines
2541#~ msgid "can't define friend function `%s' in a local class definition"2542#~ msgid "can't define friend function `%s' in a local class definition"
2542#~ msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""2543#~ msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
2543 2544
2544#, fuzzy
2545#~ msgid "template parameters cannot be friends"
2546#~ msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
2547
2548#~ msgid "invalid use of `::'"2545#~ msgid "invalid use of `::'"
2549#~ msgstr "нерэчаіснае выкарыстаньне `::'"2546#~ msgstr "нерэчаіснае выкарыстаньне `::'"
2550 2547
gcc/libcpp/po/ca.gmo+0−0

Binary file not shown.

gcc/libcpp/po/ca.po+180−165
@@ -11,7 +11,7 @@ msgid "" · 10 unmodified lines
11msgstr ""11msgstr ""
12"Project-Id-Version: cpplib-4.0.1\n"12"Project-Id-Version: cpplib-4.0.1\n"
13"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"13"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
14"POT-Creation-Date: 2018-01-26 22:47+0000\n"14"POT-Creation-Date: 2019-02-01 23:01+0000\n"
15"PO-Revision-Date: 2005-11-25 22:56+0100\n"15"PO-Revision-Date: 2005-11-25 22:56+0100\n"
16"Last-Translator: Mateu Gilles <gilles@mateu.org>\n"16"Last-Translator: Mateu Gilles <gilles@mateu.org>\n"
17"Language-Team: Catalan <ca@dodds.net>\n"17"Language-Team: Catalan <ca@dodds.net>\n"
@@ -92,7 +92,7 @@ msgstr "el nom de car · 74 unmodified lines
92msgid "universal character %.*s is not valid at the start of an identifier"92msgid "universal character %.*s is not valid at the start of an identifier"
93msgstr "el nom de car�cter universal %.*s no �s v�lid a l'inici d'un identificador"93msgstr "el nom de car�cter universal %.*s no �s v�lid a l'inici d'un identificador"
94 94
95#: charset.c:1181 charset.c:200095#: charset.c:1181 charset.c:2002
96msgid "converting UCN to source character set"96msgid "converting UCN to source character set"
97msgstr "convertint UCN al joc font de car�cters"97msgstr "convertint UCN al joc font de car�cters"
98 98
@@ -145,304 +145,304 @@ msgstr "convertint una seq · 46 unmodified lines
145msgid "missing open quote"145msgid "missing open quote"
146msgstr ""146msgstr ""
147 147
148#: charset.c:1827 charset.c:1891148#: charset.c:1829 charset.c:1893
149msgid "character constant too long for its type"149msgid "character constant too long for its type"
150msgstr "constant de car�cter massa gran pel seu tipus"150msgstr "constant de car�cter massa gran pel seu tipus"
151 151
152#: charset.c:1830152#: charset.c:1832
153msgid "multi-character character constant"153msgid "multi-character character constant"
154msgstr "constant de car�cter amb m�ltiples car�cters"154msgstr "constant de car�cter amb m�ltiples car�cters"
155 155
156#: charset.c:1931156#: charset.c:1933
157msgid "empty character constant"157msgid "empty character constant"
158msgstr "constant de car�ter buida"158msgstr "constant de car�ter buida"
159 159
160#: charset.c:2047160#: charset.c:2049
161#, c-format161#, c-format
162msgid "failure to convert %s to %s"162msgid "failure to convert %s to %s"
163msgstr "fallada convertint %s a %s"163msgstr "fallada convertint %s a %s"
164 164
165#: directives.c:235 directives.c:278165#: directives.c:229 directives.c:272
166#, c-format166#, c-format
167msgid "extra tokens at end of #%s directive"167msgid "extra tokens at end of #%s directive"
168msgstr "elements superflus al final de la directiva #%s"168msgstr "elements superflus al final de la directiva #%s"
169 169
170#: directives.c:385170#: directives.c:379
171#, c-format171#, c-format
172msgid "#%s is a GCC extension"172msgid "#%s is a GCC extension"
173msgstr "#%s �s una extenci� del GCC"173msgstr "#%s �s una extenci� del GCC"
174 174
175#: directives.c:390175#: directives.c:384
176#, fuzzy, c-format176#, fuzzy, c-format
177#| msgid "#%s is a GCC extension"177#| msgid "#%s is a GCC extension"
178msgid "#%s is a deprecated GCC extension"178msgid "#%s is a deprecated GCC extension"
179msgstr "#%s �s una extenci� del GCC"179msgstr "#%s �s una extenci� del GCC"
180 180
181#: directives.c:403181#: directives.c:397
182msgid "suggest not using #elif in traditional C"182msgid "suggest not using #elif in traditional C"
183msgstr "es suggereix no usar #elif en C tradicional"183msgstr "es suggereix no usar #elif en C tradicional"
184 184
185#: directives.c:406185#: directives.c:400
186#, c-format186#, c-format
187msgid "traditional C ignores #%s with the # indented"187msgid "traditional C ignores #%s with the # indented"
188msgstr "C tradicional ignora #%s amb el # indentat"188msgstr "C tradicional ignora #%s amb el # indentat"
189 189
190#: directives.c:410190#: directives.c:404
191#, c-format191#, c-format
192msgid "suggest hiding #%s from traditional C with an indented #"192msgid "suggest hiding #%s from traditional C with an indented #"
193msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat"193msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat"
194 194
195#: directives.c:436195#: directives.c:430
196msgid "embedding a directive within macro arguments is not portable"196msgid "embedding a directive within macro arguments is not portable"
197msgstr "l'incrustaci� d'una directiva entre arguments de macro no �s portable"197msgstr "l'incrustaci� d'una directiva entre arguments de macro no �s portable"
198 198
199#: directives.c:456199#: directives.c:450
200msgid "style of line directive is a GCC extension"200msgid "style of line directive is a GCC extension"
201msgstr "la directiva d'estil de l�nia �s una extenci� del GCC"201msgstr "la directiva d'estil de l�nia �s una extenci� del GCC"
202 202
203#: directives.c:537203#: directives.c:531
204#, c-format204#, c-format
205msgid "invalid preprocessing directive #%s"205msgid "invalid preprocessing directive #%s"
206msgstr "directiva de preprocessament #%s inv�lida"206msgstr "directiva de preprocessament #%s inv�lida"
207 207
208#: directives.c:606208#: directives.c:600
209msgid "\"defined\" cannot be used as a macro name"209msgid "\"defined\" cannot be used as a macro name"
210msgstr "\"defined\" no es pot usar com un nom de macro"210msgstr "\"defined\" no es pot usar com un nom de macro"
211 211
212#: directives.c:611212#: directives.c:605
213#, fuzzy213#, fuzzy
214#| msgid "\"defined\" cannot be used as a macro name"214#| msgid "\"defined\" cannot be used as a macro name"
215msgid "\"__has_include__\" cannot be used as a macro name"215msgid "\"__has_include__\" cannot be used as a macro name"
216msgstr "\"defined\" no es pot usar com un nom de macro"216msgstr "\"defined\" no es pot usar com un nom de macro"
217 217
218#: directives.c:617218#: directives.c:611
219#, c-format219#, c-format
220msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"220msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
221msgstr "no es pot usar \"%s\" com un nom de macro perqu� �s un operador en C++"221msgstr "no es pot usar \"%s\" com un nom de macro perqu� �s un operador en C++"
222 222
223#: directives.c:620223#: directives.c:614
224#, c-format224#, c-format
225msgid "no macro name given in #%s directive"225msgid "no macro name given in #%s directive"
226msgstr "no es va donar un nom de macro en la directiva #%s"226msgstr "no es va donar un nom de macro en la directiva #%s"
227 227
228#: directives.c:623228#: directives.c:617
229msgid "macro names must be identifiers"229msgid "macro names must be identifiers"
230msgstr "els noms de macro han de ser identificadors"230msgstr "els noms de macro han de ser identificadors"
231 231
232#: directives.c:672 directives.c:677232#: directives.c:666 directives.c:671
233#, c-format233#, c-format
234msgid "undefining \"%s\""234msgid "undefining \"%s\""
235msgstr "esborrant la definici� de \"%s\""235msgstr "esborrant la definici� de \"%s\""
236 236
237#: directives.c:732237#: directives.c:727
238msgid "missing terminating > character"238msgid "missing terminating > character"
239msgstr "falta el car�cter de terminaci� >"239msgstr "falta el car�cter de terminaci� >"
240 240
241#: directives.c:791241#: directives.c:786
242#, c-format242#, c-format
243msgid "#%s expects \"FILENAME\" or <FILENAME>"243msgid "#%s expects \"FILENAME\" or <FILENAME>"
244msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"244msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"
245 245
246#: directives.c:837246#: directives.c:828
247#, c-format247#, c-format
248msgid "empty filename in #%s"248msgid "empty filename in #%s"
249msgstr "nom de fitxer buit en #%s"249msgstr "nom de fitxer buit en #%s"
250 250
251#: directives.c:847251#: directives.c:835
252msgid "#include nested too deeply"252msgid "#include nested too deeply"
253msgstr "#include niat amb massa profunditat"253msgstr "#include niat amb massa profunditat"
254 254
255#: directives.c:888255#: directives.c:877
256msgid "#include_next in primary source file"256msgid "#include_next in primary source file"
257msgstr "#include_next en el fitxer font primari"257msgstr "#include_next en el fitxer font primari"
258 258
259#: directives.c:914259#: directives.c:903
260#, c-format260#, c-format
261msgid "invalid flag \"%s\" in line directive"261msgid "invalid flag \"%s\" in line directive"
262msgstr "indicador \"%s\" inv�lid en la directiva de l�nia"262msgstr "indicador \"%s\" inv�lid en la directiva de l�nia"
263 263
264#: directives.c:974264#: directives.c:963
265msgid "unexpected end of file after #line"265msgid "unexpected end of file after #line"
266msgstr ""266msgstr ""
267 267
268#: directives.c:977268#: directives.c:966
269#, c-format269#, c-format
270msgid "\"%s\" after #line is not a positive integer"270msgid "\"%s\" after #line is not a positive integer"
271msgstr "\"%s\" despr�s de #line no �s un enter positiu"271msgstr "\"%s\" despr�s de #line no �s un enter positiu"
272 272
273#: directives.c:983 directives.c:985273#: directives.c:972 directives.c:974
274msgid "line number out of range"274msgid "line number out of range"
275msgstr "nombre de l�nia fora de rang"275msgstr "nombre de l�nia fora de rang"
276 276
277#: directives.c:998 directives.c:1079277#: directives.c:987 directives.c:1068
278#, c-format278#, c-format
279msgid "\"%s\" is not a valid filename"279msgid "\"%s\" is not a valid filename"
280msgstr "\"%s\" no �s un nom de fitxer v�lid"280msgstr "\"%s\" no �s un nom de fitxer v�lid"
281 281
282#: directives.c:1039282#: directives.c:1028
283#, c-format283#, c-format
284msgid "\"%s\" after # is not a positive integer"284msgid "\"%s\" after # is not a positive integer"
285msgstr "\"%s\" despr�s de # no �s un enter positiu"285msgstr "\"%s\" despr�s de # no �s un enter positiu"
286 286
287#: directives.c:1098287#: directives.c:1087
288#, c-format288#, c-format
289msgid "file \"%s\" linemarker ignored due to incorrect nesting"289msgid "file \"%s\" linemarker ignored due to incorrect nesting"
290msgstr ""290msgstr ""
291 291
292#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747292#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
293#, c-format293#, c-format
294msgid "%s"294msgid "%s"
295msgstr ""295msgstr ""
296 296
297#: directives.c:1185297#: directives.c:1175
298#, fuzzy, c-format298#, fuzzy, c-format
299#| msgid "invalid #ident directive"299#| msgid "invalid #ident directive"
300msgid "invalid #%s directive"300msgid "invalid #%s directive"
301msgstr "directiva #ident inv�lida"301msgstr "directiva #ident inv�lida"
302 302
303#: directives.c:1248303#: directives.c:1238
304#, c-format304#, c-format
305msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"305msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
306msgstr ""306msgstr ""
307 307
308#: directives.c:1257308#: directives.c:1247
309#, fuzzy, c-format309#, fuzzy, c-format
310#| msgid "registering \"%s\" as both a pragma and a pragma namespace"310#| msgid "registering \"%s\" as both a pragma and a pragma namespace"
311msgid "registering pragma \"%s\" with name expansion and no namespace"311msgid "registering pragma \"%s\" with name expansion and no namespace"
312msgstr "desant \"%s\" com a pragma i espai de noms de pragma"312msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
313 313
314#: directives.c:1275314#: directives.c:1265
315#, c-format315#, c-format
316msgid "registering \"%s\" as both a pragma and a pragma namespace"316msgid "registering \"%s\" as both a pragma and a pragma namespace"
317msgstr "desant \"%s\" com a pragma i espai de noms de pragma"317msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
318 318
319#: directives.c:1278319#: directives.c:1268
320#, c-format320#, c-format
321msgid "#pragma %s %s is already registered"321msgid "#pragma %s %s is already registered"
322msgstr "ja s'ha desat #pragma %s %s"322msgstr "ja s'ha desat #pragma %s %s"
323 323
324#: directives.c:1281324#: directives.c:1271
325#, c-format325#, c-format
326msgid "#pragma %s is already registered"326msgid "#pragma %s is already registered"
327msgstr "ja s'ha desat #pragma %s"327msgstr "ja s'ha desat #pragma %s"
328 328
329#: directives.c:1311329#: directives.c:1301
330msgid "registering pragma with NULL handler"330msgid "registering pragma with NULL handler"
331msgstr ""331msgstr ""
332 332
333#: directives.c:1528333#: directives.c:1518
334msgid "#pragma once in main file"334msgid "#pragma once in main file"
335msgstr "#pragma una vegada en el fitxer principal"335msgstr "#pragma una vegada en el fitxer principal"
336 336
337#: directives.c:1551337#: directives.c:1541
338#, fuzzy338#, fuzzy
339#| msgid "invalid #pragma GCC poison directive"339#| msgid "invalid #pragma GCC poison directive"
340msgid "invalid #pragma push_macro directive"340msgid "invalid #pragma push_macro directive"
341msgstr "directiva #pragma de GCC enverinada inv�lida"341msgstr "directiva #pragma de GCC enverinada inv�lida"
342 342
343#: directives.c:1606343#: directives.c:1596
344#, fuzzy344#, fuzzy
345#| msgid "invalid #pragma GCC poison directive"345#| msgid "invalid #pragma GCC poison directive"
346msgid "invalid #pragma pop_macro directive"346msgid "invalid #pragma pop_macro directive"
347msgstr "directiva #pragma de GCC enverinada inv�lida"347msgstr "directiva #pragma de GCC enverinada inv�lida"
348 348
349#: directives.c:1661349#: directives.c:1651
350msgid "invalid #pragma GCC poison directive"350msgid "invalid #pragma GCC poison directive"
351msgstr "directiva #pragma de GCC enverinada inv�lida"351msgstr "directiva #pragma de GCC enverinada inv�lida"
352 352
353#: directives.c:1670353#: directives.c:1660
354#, c-format354#, c-format
355msgid "poisoning existing macro \"%s\""355msgid "poisoning existing macro \"%s\""
356msgstr "enverinant la macro existent \"%s\""356msgstr "enverinant la macro existent \"%s\""
357 357
358#: directives.c:1689358#: directives.c:1679
359msgid "#pragma system_header ignored outside include file"359msgid "#pragma system_header ignored outside include file"
360msgstr "#pragma system_header ignorat fora del fitxer d'inclusi�"360msgstr "#pragma system_header ignorat fora del fitxer d'inclusi�"
361 361
362#: directives.c:1714362#: directives.c:1704
363#, c-format363#, c-format
364msgid "cannot find source file %s"364msgid "cannot find source file %s"
365msgstr "no es pot trobar la font %s"365msgstr "no es pot trobar la font %s"
366 366
367#: directives.c:1718367#: directives.c:1708
368#, c-format368#, c-format
369msgid "current file is older than %s"369msgid "current file is older than %s"
370msgstr "el fitxer actual �s m�s vell que %s"370msgstr "el fitxer actual �s m�s vell que %s"
371 371
372#: directives.c:1742372#: directives.c:1732
373#, fuzzy, c-format373#, fuzzy, c-format
374#| msgid "invalid #pragma GCC poison directive"374#| msgid "invalid #pragma GCC poison directive"
375msgid "invalid \"#pragma GCC %s\" directive"375msgid "invalid \"#pragma GCC %s\" directive"
376msgstr "directiva #pragma de GCC enverinada inv�lida"376msgstr "directiva #pragma de GCC enverinada inv�lida"
377 377
378#: directives.c:1943378#: directives.c:1933
379msgid "_Pragma takes a parenthesized string literal"379msgid "_Pragma takes a parenthesized string literal"
380msgstr "_Pragma pren una cadena literal entre par�ntesis"380msgstr "_Pragma pren una cadena literal entre par�ntesis"
381 381
382#: directives.c:2064382#: directives.c:2021
383msgid "#else without #if"383msgid "#else without #if"
384msgstr "#else sense #if"384msgstr "#else sense #if"
385 385
386#: directives.c:2069386#: directives.c:2026
387msgid "#else after #else"387msgid "#else after #else"
388msgstr "#else despr�s de #else"388msgstr "#else despr�s de #else"
389 389
390#: directives.c:2071 directives.c:2104390#: directives.c:2028 directives.c:2061
391msgid "the conditional began here"391msgid "the conditional began here"
392msgstr "el condicional va comen�ar aqu�"392msgstr "el condicional va comen�ar aqu�"
393 393
394#: directives.c:2097394#: directives.c:2054
395msgid "#elif without #if"395msgid "#elif without #if"
396msgstr "#elif sense #if"396msgstr "#elif sense #if"
397 397
398#: directives.c:2102398#: directives.c:2059
399msgid "#elif after #else"399msgid "#elif after #else"
400msgstr "#elif despr�s de #else"400msgstr "#elif despr�s de #else"
401 401
402#: directives.c:2133402#: directives.c:2090
403msgid "#endif without #if"403msgid "#endif without #if"
404msgstr "#endif sense #if"404msgstr "#endif sense #if"
405 405
406#: directives.c:2213406#: directives.c:2166
407msgid "missing '(' after predicate"407msgid "missing '(' after predicate"
408msgstr "falta \"(\" abans del predicat"408msgstr "falta \"(\" abans del predicat"
409 409
410#: directives.c:2228410#: directives.c:2184
411msgid "missing ')' to complete answer"411msgid "missing ')' to complete answer"
412msgstr "falta \")\" per a completar la resposta"412msgstr "falta \")\" per a completar la resposta"
413 413
414#: directives.c:2248414#: directives.c:2196
415msgid "predicate's answer is empty"415msgid "predicate's answer is empty"
416msgstr "el predicat de la resposta est� buit"416msgstr "el predicat de la resposta est� buit"
417 417
418#: directives.c:2275418#: directives.c:2226
419msgid "assertion without predicate"419msgid "assertion without predicate"
420msgstr "afirmaci� sense predicat"420msgstr "afirmaci� sense predicat"
421 421
422#: directives.c:2278422#: directives.c:2229
423msgid "predicate must be an identifier"423msgid "predicate must be an identifier"
424msgstr "el predicat ha de ser un identificador"424msgstr "el predicat ha de ser un identificador"
425 425
426#: directives.c:2364426#: directives.c:2311
427#, c-format427#, c-format
428msgid "\"%s\" re-asserted"428msgid "\"%s\" re-asserted"
429msgstr "\"%s\" reafirmat"429msgstr "\"%s\" reafirmat"
430 430
431#: directives.c:2656431#: directives.c:2587
432#, c-format432#, c-format
433msgid "unterminated #%s"433msgid "unterminated #%s"
434msgstr "#%s sense acabar"434msgstr "#%s sense acabar"
435 435
436#: directives-only.c:221 lex.c:2851 traditional.c:167436#: directives-only.c:221 lex.c:2862 traditional.c:175
437msgid "unterminated comment"437msgid "unterminated comment"
438msgstr "comentari sense acabar"438msgstr "comentari sense acabar"
439 439
440#: errors.c:284440#: errors.c:291
441#, c-format441#, c-format
442msgid "%s: %s"442msgid "%s: %s"
443msgstr "%s: %s"443msgstr "%s: %s"
444 444
445#: errors.c:296445#: errors.c:304
446msgid "stdout"446msgid "stdout"
447msgstr "stdout"447msgstr "stdout"
448 448
@@ -552,92 +552,92 @@ msgstr "(\"%s\" · 103 unmodified lines
552msgid "this use of \"defined\" may not be portable"552msgid "this use of \"defined\" may not be portable"
553msgstr "aquest �s de \"defined\" podria no ser portable"553msgstr "aquest �s de \"defined\" podria no ser portable"
554 554
555#: expr.c:1125555#: expr.c:1109
556#, fuzzy556#, fuzzy
557#| msgid "integer overflow in preprocessor expression"557#| msgid "integer overflow in preprocessor expression"
558msgid "user-defined literal in preprocessor expression"558msgid "user-defined literal in preprocessor expression"
559msgstr "desbordament d'enter en l'expressi� del preprocessador"559msgstr "desbordament d'enter en l'expressi� del preprocessador"
560 560
561#: expr.c:1130561#: expr.c:1114
562msgid "floating constant in preprocessor expression"562msgid "floating constant in preprocessor expression"
563msgstr "constant de coma flotant en l'expressi� del preprocessador"563msgstr "constant de coma flotant en l'expressi� del preprocessador"
564 564
565#: expr.c:1136565#: expr.c:1120
566msgid "imaginary number in preprocessor expression"566msgid "imaginary number in preprocessor expression"
567msgstr "nombre imaginari en l'expressi� del preprocessador"567msgstr "nombre imaginari en l'expressi� del preprocessador"
568 568
569#: expr.c:1189569#: expr.c:1173
570#, fuzzy, c-format570#, fuzzy, c-format
571#| msgid "\"%s\" is not defined"571#| msgid "\"%s\" is not defined"
572msgid "\"%s\" is not defined, evaluates to 0"572msgid "\"%s\" is not defined, evaluates to 0"
573msgstr "\"%s\" no �s definit"573msgstr "\"%s\" no �s definit"
574 574
575#: expr.c:1202575#: expr.c:1186
576#, fuzzy576#, fuzzy
577#| msgid "#%s is a GCC extension"577#| msgid "#%s is a GCC extension"
578msgid "assertions are a GCC extension"578msgid "assertions are a GCC extension"
579msgstr "#%s �s una extenci� del GCC"579msgstr "#%s �s una extenci� del GCC"
580 580
581#: expr.c:1205581#: expr.c:1189
582msgid "assertions are a deprecated extension"582msgid "assertions are a deprecated extension"
583msgstr ""583msgstr ""
584 584
585#: expr.c:1451585#: expr.c:1435
586#, fuzzy, c-format586#, fuzzy, c-format
587#| msgid "unbalanced stack in #if"587#| msgid "unbalanced stack in #if"
588msgid "unbalanced stack in %s"588msgid "unbalanced stack in %s"
589msgstr "pila desequilibrada en #if"589msgstr "pila desequilibrada en #if"
590 590
591#: expr.c:1471591#: expr.c:1455
592#, c-format592#, c-format
593msgid "impossible operator '%u'"593msgid "impossible operator '%u'"
594msgstr "operador \"%u\" impossible"594msgstr "operador \"%u\" impossible"
595 595
596#: expr.c:1572596#: expr.c:1556
597msgid "missing ')' in expression"597msgid "missing ')' in expression"
598msgstr "\")\" faltant en l'expressi�"598msgstr "\")\" faltant en l'expressi�"
599 599
600#: expr.c:1601600#: expr.c:1585
601msgid "'?' without following ':'"601msgid "'?' without following ':'"
602msgstr " \"?\" sense el \":\" seg�ent"602msgstr " \"?\" sense el \":\" seg�ent"
603 603
604#: expr.c:1611604#: expr.c:1595
605msgid "integer overflow in preprocessor expression"605msgid "integer overflow in preprocessor expression"
606msgstr "desbordament d'enter en l'expressi� del preprocessador"606msgstr "desbordament d'enter en l'expressi� del preprocessador"
607 607
608#: expr.c:1616608#: expr.c:1600
609msgid "missing '(' in expression"609msgid "missing '(' in expression"
610msgstr "\"(\" faltant en l'expressi�"610msgstr "\"(\" faltant en l'expressi�"
611 611
612#: expr.c:1648612#: expr.c:1632
613#, c-format613#, c-format
614msgid "the left operand of \"%s\" changes sign when promoted"614msgid "the left operand of \"%s\" changes sign when promoted"
615msgstr "l'operant esquera de \"%s\" canvia el signe quan �s promogut"615msgstr "l'operant esquera de \"%s\" canvia el signe quan �s promogut"
616 616
617#: expr.c:1653617#: expr.c:1637
618#, c-format618#, c-format
619msgid "the right operand of \"%s\" changes sign when promoted"619msgid "the right operand of \"%s\" changes sign when promoted"
620msgstr "l'operant dreta de \"%s\" canvia el signe quan �s promogut"620msgstr "l'operant dreta de \"%s\" canvia el signe quan �s promogut"
621 621
622#: expr.c:1912622#: expr.c:1896
623msgid "traditional C rejects the unary plus operator"623msgid "traditional C rejects the unary plus operator"
624msgstr "C tradicional rebutja l'operador unari m�s"624msgstr "C tradicional rebutja l'operador unari m�s"
625 625
626#: expr.c:2010626#: expr.c:1994
627msgid "comma operator in operand of #if"627msgid "comma operator in operand of #if"
628msgstr "operador coma en operant de #if"628msgstr "operador coma en operant de #if"
629 629
630#: expr.c:2146630#: expr.c:2130
631msgid "division by zero in #if"631msgid "division by zero in #if"
632msgstr "divisi� per zero en #if"632msgstr "divisi� per zero en #if"
633 633
634#: expr.c:2243634#: expr.c:2227
635#, fuzzy635#, fuzzy
636#| msgid "operator \"defined\" requires an identifier"636#| msgid "operator \"defined\" requires an identifier"
637msgid "operator \"__has_include__\" requires a header string"637msgid "operator \"__has_include__\" requires a header string"
638msgstr "l'operador \"defined\" requereix un identificador"638msgstr "l'operador \"defined\" requereix un identificador"
639 639
640#: expr.c:2259640#: expr.c:2243
641#, fuzzy641#, fuzzy
642#| msgid "missing ')' after \"defined\""642#| msgid "missing ')' after \"defined\""
643msgid "missing ')' after \"__has_include__\""643msgid "missing ')' after \"__has_include__\""
@@ -656,40 +656,40 @@ msgstr "usi -Winvalid-pch per a m · 12 unmodified lines
656msgid "no include path in which to search for %s"656msgid "no include path in which to search for %s"
657msgstr "no hi ha ruta d'inclusi� en la qual cercar %s"657msgstr "no hi ha ruta d'inclusi� en la qual cercar %s"
658 658
659#: files.c:1441659#: files.c:1455
660msgid "Multiple include guards may be useful for:\n"660msgid "Multiple include guards may be useful for:\n"
661msgstr "M�ltiples gu�rdies d'inclusi� poden ser �tils per a:\n"661msgstr "M�ltiples gu�rdies d'inclusi� poden ser �tils per a:\n"
662 662
663#: init.c:565663#: init.c:569
664msgid "cppchar_t must be an unsigned type"664msgid "cppchar_t must be an unsigned type"
665msgstr "cppchar_t ha de ser d'un tipus unsigned"665msgstr "cppchar_t ha de ser d'un tipus unsigned"
666 666
667#: init.c:569667#: init.c:573
668#, c-format668#, c-format
669msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"669msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
670msgstr "l'aritm�tica del preprocesador t� una precisi� m�xima de %lu bits; l'objectiu requereix %lu bits"670msgstr "l'aritm�tica del preprocesador t� una precisi� m�xima de %lu bits; l'objectiu requereix %lu bits"
671 671
672#: init.c:576672#: init.c:580
673msgid "CPP arithmetic must be at least as precise as a target int"673msgid "CPP arithmetic must be at least as precise as a target int"
674msgstr "l'aritm�tica de CPP ha de ser almenys tan precisa com un int de l'objectiu"674msgstr "l'aritm�tica de CPP ha de ser almenys tan precisa com un int de l'objectiu"
675 675
676#: init.c:579676#: init.c:583
677msgid "target char is less than 8 bits wide"677msgid "target char is less than 8 bits wide"
678msgstr "el char de l'objectiu t� menys de 8 bits d'ampliaria"678msgstr "el char de l'objectiu t� menys de 8 bits d'ampliaria"
679 679
680#: init.c:583680#: init.c:587
681msgid "target wchar_t is narrower than target char"681msgid "target wchar_t is narrower than target char"
682msgstr "el wchar_t de l'objectiu �s m�s estret qu'el char de l'objectiu"682msgstr "el wchar_t de l'objectiu �s m�s estret qu'el char de l'objectiu"
683 683
684#: init.c:587684#: init.c:591
685msgid "target int is narrower than target char"685msgid "target int is narrower than target char"
686msgstr "el int de l'objectiu �s m�s estret qu'el char de l'objectiu"686msgstr "el int de l'objectiu �s m�s estret qu'el char de l'objectiu"
687 687
688#: init.c:592688#: init.c:596
689msgid "CPP half-integer narrower than CPP character"689msgid "CPP half-integer narrower than CPP character"
690msgstr "el half-integer de CPP �s m�s estret que el car�cter de CPP"690msgstr "el half-integer de CPP �s m�s estret que el car�cter de CPP"
691 691
692#: init.c:596692#: init.c:600
693#, c-format693#, c-format
694msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"694msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
695msgstr "CPP no pot manejar constants de car�cter amples m�s enll� de %lu bits en aquest ordinador, per� l'objectiu requereix %lu bits"695msgstr "CPP no pot manejar constants de car�cter amples m�s enll� de %lu bits en aquest ordinador, per� l'objectiu requereix %lu bits"
@@ -767,275 +767,275 @@ msgstr "__VA_ARGS__ solament pot apar · 71 unmodified lines
767msgid "identifier \"%s\" is a special operator name in C++"767msgid "identifier \"%s\" is a special operator name in C++"
768msgstr ""768msgstr ""
769 769
770#: lex.c:1811770#: lex.c:1826
771msgid "raw string delimiter longer than 16 characters"771msgid "raw string delimiter longer than 16 characters"
772msgstr ""772msgstr ""
773 773
774#: lex.c:1815774#: lex.c:1830
775msgid "invalid new-line in raw string delimiter"775msgid "invalid new-line in raw string delimiter"
776msgstr ""776msgstr ""
777 777
778#: lex.c:1819778#: lex.c:1834
779#, fuzzy, c-format779#, fuzzy, c-format
780#| msgid "universal character %.*s is not valid in an identifier"780#| msgid "universal character %.*s is not valid in an identifier"
781msgid "invalid character '%c' in raw string delimiter"781msgid "invalid character '%c' in raw string delimiter"
782msgstr "el nom de car�cter universal %.*s no �s v�lid en un identificador"782msgstr "el nom de car�cter universal %.*s no �s v�lid en un identificador"
783 783
784#: lex.c:1868 lex.c:1890784#: lex.c:1883 lex.c:1905
785#, fuzzy785#, fuzzy
786#| msgid "unterminated #%s"786#| msgid "unterminated #%s"
787msgid "unterminated raw string"787msgid "unterminated raw string"
788msgstr "#%s sense acabar"788msgstr "#%s sense acabar"
789 789
790#: lex.c:1912 lex.c:2043790#: lex.c:1925 lex.c:2054
791msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"791msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
792msgstr ""792msgstr ""
793 793
794#: lex.c:2024794#: lex.c:2037
795msgid "null character(s) preserved in literal"795msgid "null character(s) preserved in literal"
796msgstr "car�cter(es) nul(s) preservats en la literal"796msgstr "car�cter(es) nul(s) preservats en la literal"
797 797
798#: lex.c:2027798#: lex.c:2040
799#, fuzzy, c-format799#, fuzzy, c-format
800#| msgid "missing terminating > character"800#| msgid "missing terminating > character"
801msgid "missing terminating %c character"801msgid "missing terminating %c character"
802msgstr "falta el car�cter de terminaci� >"802msgstr "falta el car�cter de terminaci� >"
803 803
804#: lex.c:2061804#: lex.c:2072
805msgid "C++11 requires a space between string literal and macro"805msgid "C++11 requires a space between string literal and macro"
806msgstr ""806msgstr ""
807 807
808#: lex.c:2865 lex.c:2899808#: lex.c:2876 lex.c:2910
809msgid "C++ style comments are not allowed in ISO C90"809msgid "C++ style comments are not allowed in ISO C90"
810msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90"810msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90"
811 811
812#: lex.c:2867 lex.c:2878 lex.c:2901812#: lex.c:2878 lex.c:2889 lex.c:2913
813msgid "(this will be reported only once per input file)"813msgid "(this will be reported only once per input file)"
814msgstr "(aix� es reportar� solament una vegada per cada fitxer d'entrada)"814msgstr "(aix� es reportar� solament una vegada per cada fitxer d'entrada)"
815 815
816#: lex.c:2876816#: lex.c:2887
817#, fuzzy817#, fuzzy
818#| msgid "C++ style comments are not allowed in ISO C90"818#| msgid "C++ style comments are not allowed in ISO C90"
819msgid "C++ style comments are incompatible with C90"819msgid "C++ style comments are incompatible with C90"
820msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90"820msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90"
821 821
822#: lex.c:2907822#: lex.c:2919
823msgid "multi-line comment"823msgid "multi-line comment"
824msgstr "comentari en m�ltiples l�nies"824msgstr "comentari en m�ltiples l�nies"
825 825
826#: lex.c:3287826#: lex.c:3299
827#, c-format827#, c-format
828msgid "unspellable token %s"828msgid "unspellable token %s"
829msgstr "Element %s impronunciable"829msgstr "Element %s impronunciable"
830 830
831#: macro.c:93831#: macro.c:94
832#, fuzzy832#, fuzzy
833#| msgid "'##' cannot appear at either end of a macro expansion"833#| msgid "'##' cannot appear at either end of a macro expansion"
834msgid "'##' cannot appear at either end of __VA_OPT__"834msgid "'##' cannot appear at either end of __VA_OPT__"
835msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro"835msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro"
836 836
837#: macro.c:352837#: macro.c:354
838#, c-format838#, c-format
839msgid "macro \"%s\" is not used"839msgid "macro \"%s\" is not used"
840msgstr "no s'usa la macro \"%s\""840msgstr "no s'usa la macro \"%s\""
841 841
842#: macro.c:391 macro.c:639842#: macro.c:393 macro.c:641
843#, c-format843#, c-format
844msgid "invalid built-in macro \"%s\""844msgid "invalid built-in macro \"%s\""
845msgstr "macro interna \"%s\" inv�lida"845msgstr "macro interna \"%s\" inv�lida"
846 846
847#: macro.c:398 macro.c:500847#: macro.c:400 macro.c:502
848#, c-format848#, c-format
849msgid "macro \"%s\" might prevent reproducible builds"849msgid "macro \"%s\" might prevent reproducible builds"
850msgstr ""850msgstr ""
851 851
852#: macro.c:429852#: macro.c:431
853#, fuzzy853#, fuzzy
854#| msgid "could not determine date and time"854#| msgid "could not determine date and time"
855msgid "could not determine file timestamp"855msgid "could not determine file timestamp"
856msgstr "no es pot determinar la data i l'hora"856msgstr "no es pot determinar la data i l'hora"
857 857
858#: macro.c:546858#: macro.c:548
859msgid "could not determine date and time"859msgid "could not determine date and time"
860msgstr "no es pot determinar la data i l'hora"860msgstr "no es pot determinar la data i l'hora"
861 861
862#: macro.c:562862#: macro.c:564
863msgid "__COUNTER__ expanded inside directive with -fdirectives-only"863msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
864msgstr ""864msgstr ""
865 865
866#: macro.c:758866#: macro.c:760
867msgid "invalid string literal, ignoring final '\\'"867msgid "invalid string literal, ignoring final '\\'"
868msgstr "cadena literal inv�lida, s'ignora el \"\\\" final"868msgstr "cadena literal inv�lida, s'ignora el \"\\\" final"
869 869
870#: macro.c:820870#: macro.c:822
871#, c-format871#, c-format
872msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"872msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
873msgstr "enganxar \"%s\" i \"%s\" no d�na un element de preprocessament v�lid"873msgstr "enganxar \"%s\" i \"%s\" no d�na un element de preprocessament v�lid"
874 874
875#: macro.c:946875#: macro.c:948
876msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"876msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
877msgstr ""877msgstr ""
878 878
879#: macro.c:950879#: macro.c:952
880#, fuzzy880#, fuzzy
881#| msgid "ISO C99 requires rest arguments to be used"881#| msgid "ISO C99 requires rest arguments to be used"
882msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"882msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
883msgstr "ISO C99 requereix que la resta dels arguments sigui usat"883msgstr "ISO C99 requereix que la resta dels arguments sigui usat"
884 884
885#: macro.c:957885#: macro.c:959
886#, c-format886#, c-format
887msgid "macro \"%s\" requires %u arguments, but only %u given"887msgid "macro \"%s\" requires %u arguments, but only %u given"
888msgstr "la macro \"%s\" requereix %u arguments, per� nom�s %u passats"888msgstr "la macro \"%s\" requereix %u arguments, per� nom�s %u passats"
889 889
890#: macro.c:962890#: macro.c:964
891#, c-format891#, c-format
892msgid "macro \"%s\" passed %u arguments, but takes just %u"892msgid "macro \"%s\" passed %u arguments, but takes just %u"
893msgstr "la macro \"%s\" va rebre %u arguments, per� en va prendre solament %u"893msgstr "la macro \"%s\" va rebre %u arguments, per� en va prendre solament %u"
894 894
895#: macro.c:1156 traditional.c:819895#: macro.c:1162 traditional.c:827
896#, c-format896#, c-format
897msgid "unterminated argument list invoking macro \"%s\""897msgid "unterminated argument list invoking macro \"%s\""
898msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""898msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""
899 899
900#: macro.c:1307900#: macro.c:1304
901#, c-format901#, c-format
902msgid "function-like macro \"%s\" must be used with arguments in traditional C"902msgid "function-like macro \"%s\" must be used with arguments in traditional C"
903msgstr "la funci� de macro \"%s\" s'ha d'usar amb arguments en C tradicional"903msgstr "la funci� de macro \"%s\" s'ha d'usar amb arguments en C tradicional"
904 904
905#: macro.c:2003905#: macro.c:2083
906#, c-format906#, c-format
907msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"907msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
908msgstr ""908msgstr ""
909 909
910#: macro.c:2011 macro.c:2020910#: macro.c:2091 macro.c:2100
911#, c-format911#, c-format
912msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"912msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
913msgstr ""913msgstr ""
914 914
915#: macro.c:2984915#: macro.c:3059
916#, c-format916#, c-format
917msgid "duplicate macro parameter \"%s\""917msgid "duplicate macro parameter \"%s\""
918msgstr "par�metre de macro \"%s\" duplicat"918msgstr "par�metre de macro \"%s\" duplicat"
919 919
920#: macro.c:3033920#: macro.c:3141
921#, c-format921#, c-format
922msgid "\"%s\" may not appear in macro parameter list"922msgid "expected parameter name, found \"%s\""
923msgstr "\"%s\" podria faltar en la llista de par�metre de macro"923msgstr ""
924
925#: macro.c:3142
926#, c-format
927msgid "expected ',' or ')', found \"%s\""
928msgstr ""
924 929
925#: macro.c:3041930#: macro.c:3143
926msgid "macro parameters must be comma-separated"931msgid "expected parameter name before end of line"
927msgstr "els par�metres de macro han de ser separats per comes"932msgstr ""
933
934#: macro.c:3144
935msgid "expected ')' before end of line"
936msgstr ""
928 937
929#: macro.c:3060938#: macro.c:3145
930msgid "parameter name missing"939msgid "expected ')' after \"...\""
931msgstr "falta el nom del par�metre"940msgstr ""
932 941
933#: macro.c:3081942#: macro.c:3202
934#, fuzzy943#, fuzzy
935#| msgid "anonymous variadic macros were introduced in C99"944#| msgid "anonymous variadic macros were introduced in C99"
936msgid "anonymous variadic macros were introduced in C++11"945msgid "anonymous variadic macros were introduced in C++11"
937msgstr "els macros variadic an�nims es van introduir en C99"946msgstr "els macros variadic an�nims es van introduir en C99"
938 947
939#: macro.c:3085 macro.c:3090948#: macro.c:3203 macro.c:3207
940msgid "anonymous variadic macros were introduced in C99"949msgid "anonymous variadic macros were introduced in C99"
941msgstr "els macros variadic an�nims es van introduir en C99"950msgstr "els macros variadic an�nims es van introduir en C99"
942 951
943#: macro.c:3097952#: macro.c:3213
944#, fuzzy953#, fuzzy
945#| msgid "ISO C does not permit named variadic macros"954#| msgid "ISO C does not permit named variadic macros"
946msgid "ISO C++ does not permit named variadic macros"955msgid "ISO C++ does not permit named variadic macros"
947msgstr "ISO C no permet macros variadic nomenats"956msgstr "ISO C no permet macros variadic nomenats"
948 957
949#: macro.c:3100958#: macro.c:3214
950msgid "ISO C does not permit named variadic macros"959msgid "ISO C does not permit named variadic macros"
951msgstr "ISO C no permet macros variadic nomenats"960msgstr "ISO C no permet macros variadic nomenats"
952 961
953#: macro.c:3110962#: macro.c:3260
954msgid "missing ')' in macro parameter list"
955msgstr "\")\" faltant en la llista de par�metres de macro"
956
957#: macro.c:3161
958msgid "'##' cannot appear at either end of a macro expansion"963msgid "'##' cannot appear at either end of a macro expansion"
959msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro"964msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro"
960 965
961#: macro.c:3198966#: macro.c:3298
962#, fuzzy967#, fuzzy
963#| msgid "ISO C99 requires whitespace after the macro name"968#| msgid "ISO C99 requires whitespace after the macro name"
964msgid "ISO C++11 requires whitespace after the macro name"969msgid "ISO C++11 requires whitespace after the macro name"
965msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro"970msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro"
966 971
967#: macro.c:3201972#: macro.c:3299
968msgid "ISO C99 requires whitespace after the macro name"973msgid "ISO C99 requires whitespace after the macro name"
969msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro"974msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro"
970 975
971#: macro.c:3226976#: macro.c:3323
972msgid "missing whitespace after the macro name"977msgid "missing whitespace after the macro name"
973msgstr "espais en blanc faltant despr�s del nom de macro"978msgstr "espais en blanc faltant despr�s del nom de macro"
974 979
975#: macro.c:3263980#: macro.c:3373
976msgid "'#' is not followed by a macro parameter"981msgid "'#' is not followed by a macro parameter"
977msgstr "\"#\" no �s seguit per un par�metre de macro"982msgstr "\"#\" no �s seguit per un par�metre de macro"
978 983
979#: macro.c:3430984#: macro.c:3524
980#, c-format985#, c-format
981msgid "\"%s\" redefined"986msgid "\"%s\" redefined"
982msgstr "\"%s\" re-definit"987msgstr "\"%s\" re-definit"
983 988
984#: macro.c:3435989#: macro.c:3529
985msgid "this is the location of the previous definition"990msgid "this is the location of the previous definition"
986msgstr "aquesta �s la ubicaci� de la definici� pr�via"991msgstr "aquesta �s la ubicaci� de la definici� pr�via"
987 992
988#: macro.c:3496993#: macro.c:3633
989#, c-format994#, c-format
990msgid "macro argument \"%s\" would be stringified in traditional C"995msgid "macro argument \"%s\" would be stringified in traditional C"
991msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional"996msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional"
992 997
993#: macro.c:3532998#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
994#, c-format
995msgid "invalid hash type %d in cpp_macro_definition"
996msgstr "tipus de hash %d inv�lid en cpp_macro_definition"
997
998#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
999msgid "while writing precompiled header"999msgid "while writing precompiled header"
1000msgstr "mentre escrivint cap�alera precompilada"1000msgstr "mentre escrivint cap�alera precompilada"
1001 1001
1002#: pch.c:6211002#: pch.c:616
1003#, fuzzy, c-format1003#, fuzzy, c-format
1004#| msgid "%s: not used because `%s' is defined"1004#| msgid "%s: not used because `%s' is defined"
1005msgid "%s: not used because `%.*s' is poisoned"1005msgid "%s: not used because `%.*s' is poisoned"
1006msgstr "%s: no utilitzat perqu� \"%s\" �s definit"1006msgstr "%s: no utilitzat perqu� \"%s\" �s definit"
1007 1007
1008#: pch.c:6431008#: pch.c:638
1009#, c-format1009#, c-format
1010msgid "%s: not used because `%.*s' not defined"1010msgid "%s: not used because `%.*s' not defined"
1011msgstr "%s: no utilitzat perqu� \"%.*s\" no est� definit"1011msgstr "%s: no utilitzat perqu� \"%.*s\" no est� definit"
1012 1012
1013#: pch.c:6551013#: pch.c:650
1014#, c-format1014#, c-format
1015msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"1015msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
1016msgstr "%s: no utilitzat perqu� \"%.*s\" est� definit com a \"%s\" i no com a \"%.*s\""1016msgstr "%s: no utilitzat perqu� \"%.*s\" est� definit com a \"%s\" i no com a \"%.*s\""
1017 1017
1018#: pch.c:6961018#: pch.c:691
1019#, c-format1019#, c-format
1020msgid "%s: not used because `%s' is defined"1020msgid "%s: not used because `%s' is defined"
1021msgstr "%s: no utilitzat perqu� \"%s\" �s definit"1021msgstr "%s: no utilitzat perqu� \"%s\" �s definit"
1022 1022
1023#: pch.c:7161023#: pch.c:711
1024#, fuzzy, c-format1024#, fuzzy, c-format
1025#| msgid "%s: not used because `%s' is defined"1025#| msgid "%s: not used because `%s' is defined"
1026msgid "%s: not used because `__COUNTER__' is invalid"1026msgid "%s: not used because `__COUNTER__' is invalid"
1027msgstr "%s: no utilitzat perqu� \"%s\" �s definit"1027msgstr "%s: no utilitzat perqu� \"%s\" �s definit"
1028 1028
1029#: pch.c:725 pch.c:9031029#: pch.c:720 pch.c:878
1030msgid "while reading precompiled header"1030msgid "while reading precompiled header"
1031msgstr "mentre llegint cap�alera precompilada"1031msgstr "mentre llegint cap�alera precompilada"
1032 1032
1033#: traditional.c:8891033#: traditional.c:896
1034#, c-format1034#, c-format
1035msgid "detected recursion whilst expanding macro \"%s\""1035msgid "detected recursion whilst expanding macro \"%s\""
1036msgstr "whilst recursiu detectat en expandint la macro \"%s\""1036msgstr "whilst recursiu detectat en expandint la macro \"%s\""
1037 1037
1038#: traditional.c:11081038#: traditional.c:1119
1039msgid "syntax error in macro parameter list"1039msgid "syntax error in macro parameter list"
1040msgstr "error sint�ctic en la llista de par�metre de macro"1040msgstr "error sint�ctic en la llista de par�metre de macro"
1041 1041
@@ -1108,3 +1108,18 @@ msgstr "error sint · 66 unmodified lines
1108#~ msgstr ""1108#~ msgstr ""
1109#~ ",\n"1109#~ ",\n"
1110#~ " d�s de %s:%u"1110#~ " d�s de %s:%u"
1111
1112#~ msgid "\"%s\" may not appear in macro parameter list"
1113#~ msgstr "\"%s\" podria faltar en la llista de par�metre de macro"
1114
1115#~ msgid "macro parameters must be comma-separated"
1116#~ msgstr "els par�metres de macro han de ser separats per comes"
1117
1118#~ msgid "parameter name missing"
1119#~ msgstr "falta el nom del par�metre"
1120
1121#~ msgid "missing ')' in macro parameter list"
1122#~ msgstr "\")\" faltant en la llista de par�metres de macro"
1123
1124#~ msgid "invalid hash type %d in cpp_macro_definition"
1125#~ msgstr "tipus de hash %d inv�lid en cpp_macro_definition"
gcc/libcpp/po/cpplib.pot+157−157
@@ -8,7 +8,7 @@ msgid "" · 7 unmodified lines
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"10"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
11"POT-Creation-Date: 2018-04-23 20:24+0000\n"11"POT-Creation-Date: 2019-02-01 23:01+0000\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -89,7 +89,7 @@ msgid "universal character %.*s is not valid at the start of an identifier" · 74 unmodified lines
89msgstr ""89msgstr ""
90 90
91#: charset.c:118191#: charset.c:1181
92#: charset.c:200092#: charset.c:2002
93msgid "converting UCN to source character set"93msgid "converting UCN to source character set"
94msgstr ""94msgstr ""
95 95
@@ -140,289 +140,289 @@ msgstr "" · 44 unmodified lines
140msgid "missing open quote"140msgid "missing open quote"
141msgstr ""141msgstr ""
142 142
143#: charset.c:1827143#: charset.c:1829
144#: charset.c:1891144#: charset.c:1893
145msgid "character constant too long for its type"145msgid "character constant too long for its type"
146msgstr ""146msgstr ""
147 147
148#: charset.c:1830148#: charset.c:1832
149msgid "multi-character character constant"149msgid "multi-character character constant"
150msgstr ""150msgstr ""
151 151
152#: charset.c:1931152#: charset.c:1933
153msgid "empty character constant"153msgid "empty character constant"
154msgstr ""154msgstr ""
155 155
156#: charset.c:2047156#: charset.c:2049
157#, c-format157#, c-format
158msgid "failure to convert %s to %s"158msgid "failure to convert %s to %s"
159msgstr ""159msgstr ""
160 160
161#: directives.c:235161#: directives.c:229
162#: directives.c:278162#: directives.c:272
163#, c-format163#, c-format
164msgid "extra tokens at end of #%s directive"164msgid "extra tokens at end of #%s directive"
165msgstr ""165msgstr ""
166 166
167#: directives.c:385167#: directives.c:379
168#, c-format168#, c-format
169msgid "#%s is a GCC extension"169msgid "#%s is a GCC extension"
170msgstr ""170msgstr ""
171 171
172#: directives.c:390172#: directives.c:384
173#, c-format173#, c-format
174msgid "#%s is a deprecated GCC extension"174msgid "#%s is a deprecated GCC extension"
175msgstr ""175msgstr ""
176 176
177#: directives.c:403177#: directives.c:397
178msgid "suggest not using #elif in traditional C"178msgid "suggest not using #elif in traditional C"
179msgstr ""179msgstr ""
180 180
181#: directives.c:406181#: directives.c:400
182#, c-format182#, c-format
183msgid "traditional C ignores #%s with the # indented"183msgid "traditional C ignores #%s with the # indented"
184msgstr ""184msgstr ""
185 185
186#: directives.c:410186#: directives.c:404
187#, c-format187#, c-format
188msgid "suggest hiding #%s from traditional C with an indented #"188msgid "suggest hiding #%s from traditional C with an indented #"
189msgstr ""189msgstr ""
190 190
191#: directives.c:436191#: directives.c:430
192msgid "embedding a directive within macro arguments is not portable"192msgid "embedding a directive within macro arguments is not portable"
193msgstr ""193msgstr ""
194 194
195#: directives.c:456195#: directives.c:450
196msgid "style of line directive is a GCC extension"196msgid "style of line directive is a GCC extension"
197msgstr ""197msgstr ""
198 198
199#: directives.c:537199#: directives.c:531
200#, c-format200#, c-format
201msgid "invalid preprocessing directive #%s"201msgid "invalid preprocessing directive #%s"
202msgstr ""202msgstr ""
203 203
204#: directives.c:606204#: directives.c:600
205msgid "\"defined\" cannot be used as a macro name"205msgid "\"defined\" cannot be used as a macro name"
206msgstr ""206msgstr ""
207 207
208#: directives.c:611208#: directives.c:605
209msgid "\"__has_include__\" cannot be used as a macro name"209msgid "\"__has_include__\" cannot be used as a macro name"
210msgstr ""210msgstr ""
211 211
212#: directives.c:617212#: directives.c:611
213#, c-format213#, c-format
214msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"214msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
215msgstr ""215msgstr ""
216 216
217#: directives.c:620217#: directives.c:614
218#, c-format218#, c-format
219msgid "no macro name given in #%s directive"219msgid "no macro name given in #%s directive"
220msgstr ""220msgstr ""
221 221
222#: directives.c:623222#: directives.c:617
223msgid "macro names must be identifiers"223msgid "macro names must be identifiers"
224msgstr ""224msgstr ""
225 225
226#: directives.c:672226#: directives.c:666
227#: directives.c:677227#: directives.c:671
228#, c-format228#, c-format
229msgid "undefining \"%s\""229msgid "undefining \"%s\""
230msgstr ""230msgstr ""
231 231
232#: directives.c:732232#: directives.c:727
233msgid "missing terminating > character"233msgid "missing terminating > character"
234msgstr ""234msgstr ""
235 235
236#: directives.c:791236#: directives.c:786
237#, c-format237#, c-format
238msgid "#%s expects \"FILENAME\" or <FILENAME>"238msgid "#%s expects \"FILENAME\" or <FILENAME>"
239msgstr ""239msgstr ""
240 240
241#: directives.c:837241#: directives.c:828
242#, c-format242#, c-format
243msgid "empty filename in #%s"243msgid "empty filename in #%s"
244msgstr ""244msgstr ""
245 245
246#: directives.c:847246#: directives.c:835
247msgid "#include nested too deeply"247msgid "#include nested too deeply"
248msgstr ""248msgstr ""
249 249
250#: directives.c:888250#: directives.c:877
251msgid "#include_next in primary source file"251msgid "#include_next in primary source file"
252msgstr ""252msgstr ""
253 253
254#: directives.c:914254#: directives.c:903
255#, c-format255#, c-format
256msgid "invalid flag \"%s\" in line directive"256msgid "invalid flag \"%s\" in line directive"
257msgstr ""257msgstr ""
258 258
259#: directives.c:974259#: directives.c:963
260msgid "unexpected end of file after #line"260msgid "unexpected end of file after #line"
261msgstr ""261msgstr ""
262 262
263#: directives.c:977263#: directives.c:966
264#, c-format264#, c-format
265msgid "\"%s\" after #line is not a positive integer"265msgid "\"%s\" after #line is not a positive integer"
266msgstr ""266msgstr ""
267 267
268#: directives.c:983268#: directives.c:972
269#: directives.c:985269#: directives.c:974
270msgid "line number out of range"270msgid "line number out of range"
271msgstr ""271msgstr ""
272 272
273#: directives.c:998273#: directives.c:987
274#: directives.c:1079274#: directives.c:1068
275#, c-format275#, c-format
276msgid "\"%s\" is not a valid filename"276msgid "\"%s\" is not a valid filename"
277msgstr ""277msgstr ""
278 278
279#: directives.c:1039279#: directives.c:1028
280#, c-format280#, c-format
281msgid "\"%s\" after # is not a positive integer"281msgid "\"%s\" after # is not a positive integer"
282msgstr ""282msgstr ""
283 283
284#: directives.c:1098284#: directives.c:1087
285#, c-format285#, c-format
286msgid "file \"%s\" linemarker ignored due to incorrect nesting"286msgid "file \"%s\" linemarker ignored due to incorrect nesting"
287msgstr ""287msgstr ""
288 288
289#: directives.c:1157289#: directives.c:1147
290#: directives.c:1159290#: directives.c:1149
291#: directives.c:1161291#: directives.c:1151
292#: directives.c:1747292#: directives.c:1737
293#, c-format293#, c-format
294msgid "%s"294msgid "%s"
295msgstr ""295msgstr ""
296 296
297#: directives.c:1185297#: directives.c:1175
298#, c-format298#, c-format
299msgid "invalid #%s directive"299msgid "invalid #%s directive"
300msgstr ""300msgstr ""
301 301
302#: directives.c:1248302#: directives.c:1238
303#, c-format303#, c-format
304msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"304msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
305msgstr ""305msgstr ""
306 306
307#: directives.c:1257307#: directives.c:1247
308#, c-format308#, c-format
309msgid "registering pragma \"%s\" with name expansion and no namespace"309msgid "registering pragma \"%s\" with name expansion and no namespace"
310msgstr ""310msgstr ""
311 311
312#: directives.c:1275312#: directives.c:1265
313#, c-format313#, c-format
314msgid "registering \"%s\" as both a pragma and a pragma namespace"314msgid "registering \"%s\" as both a pragma and a pragma namespace"
315msgstr ""315msgstr ""
316 316
317#: directives.c:1278317#: directives.c:1268
318#, c-format318#, c-format
319msgid "#pragma %s %s is already registered"319msgid "#pragma %s %s is already registered"
320msgstr ""320msgstr ""
321 321
322#: directives.c:1281322#: directives.c:1271
323#, c-format323#, c-format
324msgid "#pragma %s is already registered"324msgid "#pragma %s is already registered"
325msgstr ""325msgstr ""
326 326
327#: directives.c:1311327#: directives.c:1301
328msgid "registering pragma with NULL handler"328msgid "registering pragma with NULL handler"
329msgstr ""329msgstr ""
330 330
331#: directives.c:1528331#: directives.c:1518
332msgid "#pragma once in main file"332msgid "#pragma once in main file"
333msgstr ""333msgstr ""
334 334
335#: directives.c:1551335#: directives.c:1541
336msgid "invalid #pragma push_macro directive"336msgid "invalid #pragma push_macro directive"
337msgstr ""337msgstr ""
338 338
339#: directives.c:1606339#: directives.c:1596
340msgid "invalid #pragma pop_macro directive"340msgid "invalid #pragma pop_macro directive"
341msgstr ""341msgstr ""
342 342
343#: directives.c:1661343#: directives.c:1651
344msgid "invalid #pragma GCC poison directive"344msgid "invalid #pragma GCC poison directive"
345msgstr ""345msgstr ""
346 346
347#: directives.c:1670347#: directives.c:1660
348#, c-format348#, c-format
349msgid "poisoning existing macro \"%s\""349msgid "poisoning existing macro \"%s\""
350msgstr ""350msgstr ""
351 351
352#: directives.c:1689352#: directives.c:1679
353msgid "#pragma system_header ignored outside include file"353msgid "#pragma system_header ignored outside include file"
354msgstr ""354msgstr ""
355 355
356#: directives.c:1714356#: directives.c:1704
357#, c-format357#, c-format
358msgid "cannot find source file %s"358msgid "cannot find source file %s"
359msgstr ""359msgstr ""
360 360
361#: directives.c:1718361#: directives.c:1708
362#, c-format362#, c-format
363msgid "current file is older than %s"363msgid "current file is older than %s"
364msgstr ""364msgstr ""
365 365
366#: directives.c:1742366#: directives.c:1732
367#, c-format367#, c-format
368msgid "invalid \"#pragma GCC %s\" directive"368msgid "invalid \"#pragma GCC %s\" directive"
369msgstr ""369msgstr ""
370 370
371#: directives.c:1943371#: directives.c:1933
372msgid "_Pragma takes a parenthesized string literal"372msgid "_Pragma takes a parenthesized string literal"
373msgstr ""373msgstr ""
374 374
375#: directives.c:2064375#: directives.c:2021
376msgid "#else without #if"376msgid "#else without #if"
377msgstr ""377msgstr ""
378 378
379#: directives.c:2069379#: directives.c:2026
380msgid "#else after #else"380msgid "#else after #else"
381msgstr ""381msgstr ""
382 382
383#: directives.c:2071383#: directives.c:2028
384#: directives.c:2104384#: directives.c:2061
385msgid "the conditional began here"385msgid "the conditional began here"
386msgstr ""386msgstr ""
387 387
388#: directives.c:2097388#: directives.c:2054
389msgid "#elif without #if"389msgid "#elif without #if"
390msgstr ""390msgstr ""
391 391
392#: directives.c:2102392#: directives.c:2059
393msgid "#elif after #else"393msgid "#elif after #else"
394msgstr ""394msgstr ""
395 395
396#: directives.c:2133396#: directives.c:2090
397msgid "#endif without #if"397msgid "#endif without #if"
398msgstr ""398msgstr ""
399 399
400#: directives.c:2213400#: directives.c:2166
401msgid "missing '(' after predicate"401msgid "missing '(' after predicate"
402msgstr ""402msgstr ""
403 403
404#: directives.c:2228404#: directives.c:2184
405msgid "missing ')' to complete answer"405msgid "missing ')' to complete answer"
406msgstr ""406msgstr ""
407 407
408#: directives.c:2248408#: directives.c:2196
409msgid "predicate's answer is empty"409msgid "predicate's answer is empty"
410msgstr ""410msgstr ""
411 411
412#: directives.c:2275412#: directives.c:2226
413msgid "assertion without predicate"413msgid "assertion without predicate"
414msgstr ""414msgstr ""
415 415
416#: directives.c:2278416#: directives.c:2229
417msgid "predicate must be an identifier"417msgid "predicate must be an identifier"
418msgstr ""418msgstr ""
419 419
420#: directives.c:2364420#: directives.c:2311
421#, c-format421#, c-format
422msgid "\"%s\" re-asserted"422msgid "\"%s\" re-asserted"
423msgstr ""423msgstr ""
424 424
425#: directives.c:2656425#: directives.c:2587
426#, c-format426#, c-format
427msgid "unterminated #%s"427msgid "unterminated #%s"
428msgstr ""428msgstr ""
@@ -433,12 +433,12 @@ msgstr "" · 4 unmodified lines
433msgid "unterminated comment"433msgid "unterminated comment"
434msgstr ""434msgstr ""
435 435
436#: errors.c:284436#: errors.c:291
437#, c-format437#, c-format
438msgid "%s: %s"438msgid "%s: %s"
439msgstr ""439msgstr ""
440 440
441#: errors.c:296441#: errors.c:304
442msgid "stdout"442msgid "stdout"
443msgstr ""443msgstr ""
444 444
@@ -533,84 +533,84 @@ msgstr "" · 88 unmodified lines
533msgid "this use of \"defined\" may not be portable"533msgid "this use of \"defined\" may not be portable"
534msgstr ""534msgstr ""
535 535
536#: expr.c:1125536#: expr.c:1109
537msgid "user-defined literal in preprocessor expression"537msgid "user-defined literal in preprocessor expression"
538msgstr ""538msgstr ""
539 539
540#: expr.c:1130540#: expr.c:1114
541msgid "floating constant in preprocessor expression"541msgid "floating constant in preprocessor expression"
542msgstr ""542msgstr ""
543 543
544#: expr.c:1136544#: expr.c:1120
545msgid "imaginary number in preprocessor expression"545msgid "imaginary number in preprocessor expression"
546msgstr ""546msgstr ""
547 547
548#: expr.c:1189548#: expr.c:1173
549#, c-format549#, c-format
550msgid "\"%s\" is not defined, evaluates to 0"550msgid "\"%s\" is not defined, evaluates to 0"
551msgstr ""551msgstr ""
552 552
553#: expr.c:1202553#: expr.c:1186
554msgid "assertions are a GCC extension"554msgid "assertions are a GCC extension"
555msgstr ""555msgstr ""
556 556
557#: expr.c:1205557#: expr.c:1189
558msgid "assertions are a deprecated extension"558msgid "assertions are a deprecated extension"
559msgstr ""559msgstr ""
560 560
561#: expr.c:1451561#: expr.c:1435
562#, c-format562#, c-format
563msgid "unbalanced stack in %s"563msgid "unbalanced stack in %s"
564msgstr ""564msgstr ""
565 565
566#: expr.c:1471566#: expr.c:1455
567#, c-format567#, c-format
568msgid "impossible operator '%u'"568msgid "impossible operator '%u'"
569msgstr ""569msgstr ""
570 570
571#: expr.c:1572571#: expr.c:1556
572msgid "missing ')' in expression"572msgid "missing ')' in expression"
573msgstr ""573msgstr ""
574 574
575#: expr.c:1601575#: expr.c:1585
576msgid "'?' without following ':'"576msgid "'?' without following ':'"
577msgstr ""577msgstr ""
578 578
579#: expr.c:1611579#: expr.c:1595
580msgid "integer overflow in preprocessor expression"580msgid "integer overflow in preprocessor expression"
581msgstr ""581msgstr ""
582 582
583#: expr.c:1616583#: expr.c:1600
584msgid "missing '(' in expression"584msgid "missing '(' in expression"
585msgstr ""585msgstr ""
586 586
587#: expr.c:1648587#: expr.c:1632
588#, c-format588#, c-format
589msgid "the left operand of \"%s\" changes sign when promoted"589msgid "the left operand of \"%s\" changes sign when promoted"
590msgstr ""590msgstr ""
591 591
592#: expr.c:1653592#: expr.c:1637
593#, c-format593#, c-format
594msgid "the right operand of \"%s\" changes sign when promoted"594msgid "the right operand of \"%s\" changes sign when promoted"
595msgstr ""595msgstr ""
596 596
597#: expr.c:1912597#: expr.c:1896
598msgid "traditional C rejects the unary plus operator"598msgid "traditional C rejects the unary plus operator"
599msgstr ""599msgstr ""
600 600
601#: expr.c:2010601#: expr.c:1994
602msgid "comma operator in operand of #if"602msgid "comma operator in operand of #if"
603msgstr ""603msgstr ""
604 604
605#: expr.c:2146605#: expr.c:2130
606msgid "division by zero in #if"606msgid "division by zero in #if"
607msgstr ""607msgstr ""
608 608
609#: expr.c:2243609#: expr.c:2227
610msgid "operator \"__has_include__\" requires a header string"610msgid "operator \"__has_include__\" requires a header string"
611msgstr ""611msgstr ""
612 612
613#: expr.c:2259613#: expr.c:2243
614msgid "missing ')' after \"__has_include__\""614msgid "missing ')' after \"__has_include__\""
615msgstr ""615msgstr ""
616 616
@@ -627,42 +627,42 @@ msgstr "" · 10 unmodified lines
627msgid "no include path in which to search for %s"627msgid "no include path in which to search for %s"
628msgstr ""628msgstr ""
629 629
630#: files.c:1441630#: files.c:1455
631msgid "Multiple include guards may be useful for:\n"631msgid "Multiple include guards may be useful for:\n"
632msgstr ""632msgstr ""
633 633
634#: init.c:565634#: init.c:569
635msgid "cppchar_t must be an unsigned type"635msgid "cppchar_t must be an unsigned type"
636msgstr ""636msgstr ""
637 637
638#: init.c:569638#: init.c:573
639#, c-format639#, c-format
640msgid ""640msgid ""
641"preprocessor arithmetic has maximum precision of %lu bits; target requires "641"preprocessor arithmetic has maximum precision of %lu bits; target requires "
642"%lu bits"642"%lu bits"
643msgstr ""643msgstr ""
644 644
645#: init.c:576645#: init.c:580
646msgid "CPP arithmetic must be at least as precise as a target int"646msgid "CPP arithmetic must be at least as precise as a target int"
647msgstr ""647msgstr ""
648 648
649#: init.c:579649#: init.c:583
650msgid "target char is less than 8 bits wide"650msgid "target char is less than 8 bits wide"
651msgstr ""651msgstr ""
652 652
653#: init.c:583653#: init.c:587
654msgid "target wchar_t is narrower than target char"654msgid "target wchar_t is narrower than target char"
655msgstr ""655msgstr ""
656 656
657#: init.c:587657#: init.c:591
658msgid "target int is narrower than target char"658msgid "target int is narrower than target char"
659msgstr ""659msgstr ""
660 660
661#: init.c:592661#: init.c:596
662msgid "CPP half-integer narrower than CPP character"662msgid "CPP half-integer narrower than CPP character"
663msgstr ""663msgstr ""
664 664
665#: init.c:596665#: init.c:600
666#, c-format666#, c-format
667msgid ""667msgid ""
668"CPP on this host cannot handle wide character constants over %lu bits, but "668"CPP on this host cannot handle wide character constants over %lu bits, but "
@@ -785,7 +785,7 @@ msgstr "" · 116 unmodified lines
785 785
786#: lex.c:2878786#: lex.c:2878
787#: lex.c:2889787#: lex.c:2889
788#: lex.c:2912788#: lex.c:2913
789msgid "(this will be reported only once per input file)"789msgid "(this will be reported only once per input file)"
790msgstr ""790msgstr ""
791 791
@@ -793,16 +793,16 @@ msgstr "" · 1 unmodified line
793msgid "C++ style comments are incompatible with C90"793msgid "C++ style comments are incompatible with C90"
794msgstr ""794msgstr ""
795 795
796#: lex.c:2918796#: lex.c:2919
797msgid "multi-line comment"797msgid "multi-line comment"
798msgstr ""798msgstr ""
799 799
800#: lex.c:3298800#: lex.c:3299
801#, c-format801#, c-format
802msgid "unspellable token %s"802msgid "unspellable token %s"
803msgstr ""803msgstr ""
804 804
805#: macro.c:93805#: macro.c:94
806msgid "'##' cannot appear at either end of __VA_OPT__"806msgid "'##' cannot appear at either end of __VA_OPT__"
807msgstr ""807msgstr ""
808 808
@@ -864,154 +864,154 @@ msgstr "" · 55 unmodified lines
864msgid "macro \"%s\" passed %u arguments, but takes just %u"864msgid "macro \"%s\" passed %u arguments, but takes just %u"
865msgstr ""865msgstr ""
866 866
867#: macro.c:1158867#: macro.c:1162
868#: traditional.c:827868#: traditional.c:827
869#, c-format869#, c-format
870msgid "unterminated argument list invoking macro \"%s\""870msgid "unterminated argument list invoking macro \"%s\""
871msgstr ""871msgstr ""
872 872
873#: macro.c:1309873#: macro.c:1304
874#, c-format874#, c-format
875msgid "function-like macro \"%s\" must be used with arguments in traditional C"875msgid "function-like macro \"%s\" must be used with arguments in traditional C"
876msgstr ""876msgstr ""
877 877
878#: macro.c:2098878#: macro.c:2083
879#, c-format879#, c-format
880msgid ""880msgid ""
881"invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"881"invoking macro %s argument %d: empty macro arguments are undefined in ISO C+"
882"+98"882"+98"
883msgstr ""883msgstr ""
884 884
885#: macro.c:2106885#: macro.c:2091
886#: macro.c:2115886#: macro.c:2100
887#, c-format887#, c-format
888msgid ""888msgid ""
889"invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"889"invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
890msgstr ""890msgstr ""
891 891
892#: macro.c:3073892#: macro.c:3059
893#, c-format893#, c-format
894msgid "duplicate macro parameter \"%s\""894msgid "duplicate macro parameter \"%s\""
895msgstr ""895msgstr ""
896 896
897#: macro.c:3122897#: macro.c:3141
898#, c-format
899msgid "expected parameter name, found \"%s\""
900msgstr ""
901
902#: macro.c:3142
898#, c-format903#, c-format
899msgid "\"%s\" may not appear in macro parameter list"904msgid "expected ',' or ')', found \"%s\""
905msgstr ""
906
907#: macro.c:3143
908msgid "expected parameter name before end of line"
900msgstr ""909msgstr ""
901 910
902#: macro.c:3130911#: macro.c:3144
903msgid "macro parameters must be comma-separated"912msgid "expected ')' before end of line"
904msgstr ""913msgstr ""
905 914
906#: macro.c:3149915#: macro.c:3145
907msgid "parameter name missing"916msgid "expected ')' after \"...\""
908msgstr ""917msgstr ""
909 918
910#: macro.c:3170919#: macro.c:3202
911msgid "anonymous variadic macros were introduced in C++11"920msgid "anonymous variadic macros were introduced in C++11"
912msgstr ""921msgstr ""
913 922
914#: macro.c:3174923#: macro.c:3203
915#: macro.c:3179924#: macro.c:3207
916msgid "anonymous variadic macros were introduced in C99"925msgid "anonymous variadic macros were introduced in C99"
917msgstr ""926msgstr ""
918 927
919#: macro.c:3186928#: macro.c:3213
920msgid "ISO C++ does not permit named variadic macros"929msgid "ISO C++ does not permit named variadic macros"
921msgstr ""930msgstr ""
922 931
923#: macro.c:3189932#: macro.c:3214
924msgid "ISO C does not permit named variadic macros"933msgid "ISO C does not permit named variadic macros"
925msgstr ""934msgstr ""
926 935
927#: macro.c:3199936#: macro.c:3260
928msgid "missing ')' in macro parameter list"
929msgstr ""
930
931#: macro.c:3250
932msgid "'##' cannot appear at either end of a macro expansion"937msgid "'##' cannot appear at either end of a macro expansion"
933msgstr ""938msgstr ""
934 939
935#: macro.c:3287940#: macro.c:3298
936msgid "ISO C++11 requires whitespace after the macro name"941msgid "ISO C++11 requires whitespace after the macro name"
937msgstr ""942msgstr ""
938 943
939#: macro.c:3290944#: macro.c:3299
940msgid "ISO C99 requires whitespace after the macro name"945msgid "ISO C99 requires whitespace after the macro name"
941msgstr ""946msgstr ""
942 947
943#: macro.c:3315948#: macro.c:3323
944msgid "missing whitespace after the macro name"949msgid "missing whitespace after the macro name"
945msgstr ""950msgstr ""
946 951
947#: macro.c:3352952#: macro.c:3373
948msgid "'#' is not followed by a macro parameter"953msgid "'#' is not followed by a macro parameter"
949msgstr ""954msgstr ""
950 955
951#: macro.c:3519956#: macro.c:3524
952#, c-format957#, c-format
953msgid "\"%s\" redefined"958msgid "\"%s\" redefined"
954msgstr ""959msgstr ""
955 960
956#: macro.c:3524961#: macro.c:3529
957msgid "this is the location of the previous definition"962msgid "this is the location of the previous definition"
958msgstr ""963msgstr ""
959 964
960#: macro.c:3585965#: macro.c:3633
961#, c-format966#, c-format
962msgid "macro argument \"%s\" would be stringified in traditional C"967msgid "macro argument \"%s\" would be stringified in traditional C"
963msgstr ""968msgstr ""
964 969
965#: macro.c:3621970#: pch.c:90
966#, c-format971#: pch.c:342
967msgid "invalid hash type %d in cpp_macro_definition"972#: pch.c:356
968msgstr ""973#: pch.c:374
969 974#: pch.c:380
970#: pch.c:89975#: pch.c:389
971#: pch.c:347976#: pch.c:396
972#: pch.c:361
973#: pch.c:379
974#: pch.c:385
975#: pch.c:394
976#: pch.c:401
977msgid "while writing precompiled header"977msgid "while writing precompiled header"
978msgstr ""978msgstr ""
979 979
980#: pch.c:621980#: pch.c:616
981#, c-format981#, c-format
982msgid "%s: not used because `%.*s' is poisoned"982msgid "%s: not used because `%.*s' is poisoned"
983msgstr ""983msgstr ""
984 984
985#: pch.c:643985#: pch.c:638
986#, c-format986#, c-format
987msgid "%s: not used because `%.*s' not defined"987msgid "%s: not used because `%.*s' not defined"
988msgstr ""988msgstr ""
989 989
990#: pch.c:655990#: pch.c:650
991#, c-format991#, c-format
992msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"992msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
993msgstr ""993msgstr ""
994 994
995#: pch.c:696995#: pch.c:691
996#, c-format996#, c-format
997msgid "%s: not used because `%s' is defined"997msgid "%s: not used because `%s' is defined"
998msgstr ""998msgstr ""
999 999
1000#: pch.c:7161000#: pch.c:711
1001#, c-format1001#, c-format
1002msgid "%s: not used because `__COUNTER__' is invalid"1002msgid "%s: not used because `__COUNTER__' is invalid"
1003msgstr ""1003msgstr ""
1004 1004
1005#: pch.c:7251005#: pch.c:720
1006#: pch.c:9031006#: pch.c:878
1007msgid "while reading precompiled header"1007msgid "while reading precompiled header"
1008msgstr ""1008msgstr ""
1009 1009
1010#: traditional.c:8971010#: traditional.c:896
1011#, c-format1011#, c-format
1012msgid "detected recursion whilst expanding macro \"%s\""1012msgid "detected recursion whilst expanding macro \"%s\""
1013msgstr ""1013msgstr ""
1014 1014
1015#: traditional.c:11161015#: traditional.c:1119
1016msgid "syntax error in macro parameter list"1016msgid "syntax error in macro parameter list"
1017msgstr ""1017msgstr ""
gcc/libcpp/po/da.gmo+0−0

Binary file not shown.

gcc/libcpp/po/da.po+184−169
@@ -1,8 +1,8 @@
1# Danish version of cpplib.1# Danish version of cpplib.
2# Copyright (C) 2018 Free Software Foundation, Inc.2# Copyright (C) 2019 Free Software Foundation, Inc.
3# This file is distributed under the same license as the gcc package.3# This file is distributed under the same license as the gcc package.
4# Ole Laursen <olau@hardworking.dk>, 2001, 02, 03.4# Ole Laursen <olau@hardworking.dk>, 2001, 02, 03.
5# Joe Hansen <joedalton2@yahoo.dk>, 2015, 2016, 2017, 2018.5# Joe Hansen <joedalton2@yahoo.dk>, 2015, 2016, 2017, 2018, 2019.
6#6#
7# Konventioner:7# Konventioner:
8#8#
@@ -128,10 +128,10 @@ · 119 unmodified lines
128#128#
129msgid ""129msgid ""
130msgstr ""130msgstr ""
131"Project-Id-Version: cpplib 8.1-b20180128\n"131"Project-Id-Version: cpplib 9.1-b20190203\n"
132"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"132"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
133"POT-Creation-Date: 2018-01-26 22:47+0000\n"133"POT-Creation-Date: 2019-02-01 23:01+0000\n"
134"PO-Revision-Date: 2018-03-03 18:00+0200\n"134"PO-Revision-Date: 2019-02-14 18:00+0200\n"
135"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"135"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
136"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"136"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
137"Language: da\n"137"Language: da\n"
@@ -209,7 +209,7 @@ msgstr "universelt tegn %.*s er ikke gyldigt i et kaldenavn" · 71 unmodified lines
209msgid "universal character %.*s is not valid at the start of an identifier"209msgid "universal character %.*s is not valid at the start of an identifier"
210msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn"210msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn"
211 211
212#: charset.c:1181 charset.c:2000212#: charset.c:1181 charset.c:2002
213msgid "converting UCN to source character set"213msgid "converting UCN to source character set"
214msgstr "konverterer UCN til et kildetegnsæt"214msgstr "konverterer UCN til et kildetegnsæt"
215 215
@@ -260,294 +260,294 @@ msgstr "konverterer undvigesekvens til kørselstegnsæt" · 44 unmodified lines
260msgid "missing open quote"260msgid "missing open quote"
261msgstr "manglende indledende citationstegn"261msgstr "manglende indledende citationstegn"
262 262
263#: charset.c:1827 charset.c:1891263#: charset.c:1829 charset.c:1893
264msgid "character constant too long for its type"264msgid "character constant too long for its type"
265msgstr "tegnkonstanten er for lang for dens type"265msgstr "tegnkonstanten er for lang for dens type"
266 266
267#: charset.c:1830267#: charset.c:1832
268msgid "multi-character character constant"268msgid "multi-character character constant"
269msgstr "flerbyte-tegnkonstant"269msgstr "flerbyte-tegnkonstant"
270 270
271#: charset.c:1931271#: charset.c:1933
272msgid "empty character constant"272msgid "empty character constant"
273msgstr "tom tegnkonstant"273msgstr "tom tegnkonstant"
274 274
275#: charset.c:2047275#: charset.c:2049
276#, c-format276#, c-format
277msgid "failure to convert %s to %s"277msgid "failure to convert %s to %s"
278msgstr "kunne ikke konvertere %s til %s"278msgstr "kunne ikke konvertere %s til %s"
279 279
280#: directives.c:235 directives.c:278280#: directives.c:229 directives.c:272
281#, c-format281#, c-format
282msgid "extra tokens at end of #%s directive"282msgid "extra tokens at end of #%s directive"
283msgstr "ekstra symboler i slutningen af #%s-direktiv"283msgstr "ekstra symboler i slutningen af #%s-direktiv"
284 284
285#: directives.c:385285#: directives.c:379
286#, c-format286#, c-format
287msgid "#%s is a GCC extension"287msgid "#%s is a GCC extension"
288msgstr "#%s er en GCC-udvidelse"288msgstr "#%s er en GCC-udvidelse"
289 289
290#: directives.c:390290#: directives.c:384
291#, c-format291#, c-format
292msgid "#%s is a deprecated GCC extension"292msgid "#%s is a deprecated GCC extension"
293msgstr "#%s er en forældet GCC-udvidelse"293msgstr "#%s er en forældet GCC-udvidelse"
294 294
295#: directives.c:403295#: directives.c:397
296msgid "suggest not using #elif in traditional C"296msgid "suggest not using #elif in traditional C"
297msgstr "foreslår undladelse af brug af #elif i traditionel C"297msgstr "foreslår undladelse af brug af #elif i traditionel C"
298 298
299#: directives.c:406299#: directives.c:400
300#, c-format300#, c-format
301msgid "traditional C ignores #%s with the # indented"301msgid "traditional C ignores #%s with the # indented"
302msgstr "traditionel C ignorerer #%s når # er indrykket"302msgstr "traditionel C ignorerer #%s når # er indrykket"
303 303
304#: directives.c:410304#: directives.c:404
305#, c-format305#, c-format
306msgid "suggest hiding #%s from traditional C with an indented #"306msgid "suggest hiding #%s from traditional C with an indented #"
307msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #"307msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #"
308 308
309#: directives.c:436309#: directives.c:430
310msgid "embedding a directive within macro arguments is not portable"310msgid "embedding a directive within macro arguments is not portable"
311msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"311msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt"
312 312
313#: directives.c:456313#: directives.c:450
314msgid "style of line directive is a GCC extension"314msgid "style of line directive is a GCC extension"
315msgstr "linjestilsdirektiv er en GCC-udvidelse"315msgstr "linjestilsdirektiv er en GCC-udvidelse"
316 316
317#: directives.c:537317#: directives.c:531
318#, c-format318#, c-format
319msgid "invalid preprocessing directive #%s"319msgid "invalid preprocessing directive #%s"
320msgstr "ugyldigt præprocessordirektiv #%s"320msgstr "ugyldigt præprocessordirektiv #%s"
321 321
322#: directives.c:606322#: directives.c:600
323msgid "\"defined\" cannot be used as a macro name"323msgid "\"defined\" cannot be used as a macro name"
324msgstr "»defined« kan ikke bruges som makronavn"324msgstr "»defined« kan ikke bruges som makronavn"
325 325
326#: directives.c:611326#: directives.c:605
327msgid "\"__has_include__\" cannot be used as a macro name"327msgid "\"__has_include__\" cannot be used as a macro name"
328msgstr "»__has_include__« kan ikke bruges som et makronavn"328msgstr "»__has_include__« kan ikke bruges som et makronavn"
329 329
330#: directives.c:617330#: directives.c:611
331#, c-format331#, c-format
332msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"332msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
333msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++"333msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++"
334 334
335#: directives.c:620335#: directives.c:614
336#, c-format336#, c-format
337msgid "no macro name given in #%s directive"337msgid "no macro name given in #%s directive"
338msgstr "intet makronavn angivet i direktivet #%s"338msgstr "intet makronavn angivet i direktivet #%s"
339 339
340#: directives.c:623340#: directives.c:617
341msgid "macro names must be identifiers"341msgid "macro names must be identifiers"
342msgstr "makronavne skal være kaldenavne"342msgstr "makronavne skal være kaldenavne"
343 343
344#: directives.c:672 directives.c:677344#: directives.c:666 directives.c:671
345#, c-format345#, c-format
346msgid "undefining \"%s\""346msgid "undefining \"%s\""
347msgstr "fjerner definitionen af »%s«"347msgstr "fjerner definitionen af »%s«"
348 348
349#: directives.c:732349#: directives.c:727
350msgid "missing terminating > character"350msgid "missing terminating > character"
351msgstr "manglende afsluttende >-tegn"351msgstr "manglende afsluttende >-tegn"
352 352
353#: directives.c:791353#: directives.c:786
354#, c-format354#, c-format
355msgid "#%s expects \"FILENAME\" or <FILENAME>"355msgid "#%s expects \"FILENAME\" or <FILENAME>"
356msgstr "#%s forventer »FILNAVN« eller <FILNAVN>"356msgstr "#%s forventer »FILNAVN« eller <FILNAVN>"
357 357
358#: directives.c:837358#: directives.c:828
359#, c-format359#, c-format
360msgid "empty filename in #%s"360msgid "empty filename in #%s"
361msgstr "tomt filnavn i #%s"361msgstr "tomt filnavn i #%s"
362 362
363#: directives.c:847363#: directives.c:835
364msgid "#include nested too deeply"364msgid "#include nested too deeply"
365msgstr "#include indlejret for dybt"365msgstr "#include indlejret for dybt"
366 366
367#: directives.c:888367#: directives.c:877
368msgid "#include_next in primary source file"368msgid "#include_next in primary source file"
369msgstr "#include_next i den primære kildekodefil"369msgstr "#include_next i den primære kildekodefil"
370 370
371#: directives.c:914371#: directives.c:903
372#, c-format372#, c-format
373msgid "invalid flag \"%s\" in line directive"373msgid "invalid flag \"%s\" in line directive"
374msgstr "ugyldigt flag »%s« i linjedirektiv"374msgstr "ugyldigt flag »%s« i linjedirektiv"
375 375
376#: directives.c:974376#: directives.c:963
377msgid "unexpected end of file after #line"377msgid "unexpected end of file after #line"
378msgstr "uventet filafslutning efter #line"378msgstr "uventet filafslutning efter #line"
379 379
380#: directives.c:977380#: directives.c:966
381#, c-format381#, c-format
382msgid "\"%s\" after #line is not a positive integer"382msgid "\"%s\" after #line is not a positive integer"
383msgstr "»%s« efter #line er ikke et positivt heltal"383msgstr "»%s« efter #line er ikke et positivt heltal"
384 384
385#: directives.c:983 directives.c:985385#: directives.c:972 directives.c:974
386msgid "line number out of range"386msgid "line number out of range"
387msgstr "linjenummer er uden for det gyldige interval"387msgstr "linjenummer er uden for det gyldige interval"
388 388
389#: directives.c:998 directives.c:1079389#: directives.c:987 directives.c:1068
390#, c-format390#, c-format
391msgid "\"%s\" is not a valid filename"391msgid "\"%s\" is not a valid filename"
392msgstr "»%s« er ikke et gyldigt filnavn"392msgstr "»%s« er ikke et gyldigt filnavn"
393 393
394#: directives.c:1039394#: directives.c:1028
395#, c-format395#, c-format
396msgid "\"%s\" after # is not a positive integer"396msgid "\"%s\" after # is not a positive integer"
397msgstr "»%s« efter # er ikke et positivt heltal"397msgstr "»%s« efter # er ikke et positivt heltal"
398 398
399#: directives.c:1098399#: directives.c:1087
400#, c-format400#, c-format
401msgid "file \"%s\" linemarker ignored due to incorrect nesting"401msgid "file \"%s\" linemarker ignored due to incorrect nesting"
402msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring"402msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring"
403 403
404#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747404#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
405#, c-format405#, c-format
406msgid "%s"406msgid "%s"
407msgstr "%s"407msgstr "%s"
408 408
409#: directives.c:1185409#: directives.c:1175
410#, c-format410#, c-format
411msgid "invalid #%s directive"411msgid "invalid #%s directive"
412msgstr "ugyldig #%s-direktiv"412msgstr "ugyldig #%s-direktiv"
413 413
414#: directives.c:1248414#: directives.c:1238
415#, c-format415#, c-format
416msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"416msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
417msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse"417msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse"
418 418
419#: directives.c:1257419#: directives.c:1247
420#, c-format420#, c-format
421msgid "registering pragma \"%s\" with name expansion and no namespace"421msgid "registering pragma \"%s\" with name expansion and no namespace"
422msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum"422msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum"
423 423
424#: directives.c:1275424#: directives.c:1265
425#, c-format425#, c-format
426msgid "registering \"%s\" as both a pragma and a pragma namespace"426msgid "registering \"%s\" as both a pragma and a pragma namespace"
427msgstr "registrerer »%s« som både et pragma og et pragmanavnerum"427msgstr "registrerer »%s« som både et pragma og et pragmanavnerum"
428 428
429#: directives.c:1278429#: directives.c:1268
430#, c-format430#, c-format
431msgid "#pragma %s %s is already registered"431msgid "#pragma %s %s is already registered"
432msgstr "#pragma %s %s er allerede registreret"432msgstr "#pragma %s %s er allerede registreret"
433 433
434#: directives.c:1281434#: directives.c:1271
435#, c-format435#, c-format
436msgid "#pragma %s is already registered"436msgid "#pragma %s is already registered"
437msgstr "#pragma %s er allerede registreret"437msgstr "#pragma %s er allerede registreret"
438 438
439#: directives.c:1311439#: directives.c:1301
440msgid "registering pragma with NULL handler"440msgid "registering pragma with NULL handler"
441msgstr "registrerer pragma med NULL-håndtering"441msgstr "registrerer pragma med NULL-håndtering"
442 442
443#: directives.c:1528443#: directives.c:1518
444msgid "#pragma once in main file"444msgid "#pragma once in main file"
445msgstr "#pragma once i hovedfil"445msgstr "#pragma once i hovedfil"
446 446
447#: directives.c:1551447#: directives.c:1541
448msgid "invalid #pragma push_macro directive"448msgid "invalid #pragma push_macro directive"
449msgstr "ugyldigt #pragma push_macro-direktiv"449msgstr "ugyldigt #pragma push_macro-direktiv"
450 450
451#: directives.c:1606451#: directives.c:1596
452msgid "invalid #pragma pop_macro directive"452msgid "invalid #pragma pop_macro directive"
453msgstr "ugyldigt #pragma pop_macro-direktiv"453msgstr "ugyldigt #pragma pop_macro-direktiv"
454 454
455#: directives.c:1661455#: directives.c:1651
456msgid "invalid #pragma GCC poison directive"456msgid "invalid #pragma GCC poison directive"
457msgstr "ugyldigt #pragma GCC poison-direktiv"457msgstr "ugyldigt #pragma GCC poison-direktiv"
458 458
459#: directives.c:1670459#: directives.c:1660
460#, c-format460#, c-format
461msgid "poisoning existing macro \"%s\""461msgid "poisoning existing macro \"%s\""
462msgstr "forgifter eksisterende makro »%s«"462msgstr "forgifter eksisterende makro »%s«"
463 463
464#: directives.c:1689464#: directives.c:1679
465msgid "#pragma system_header ignored outside include file"465msgid "#pragma system_header ignored outside include file"
466msgstr "#pragma system_header ignoreret uden for inkluderingsfil"466msgstr "#pragma system_header ignoreret uden for inkluderingsfil"
467 467
468#: directives.c:1714468#: directives.c:1704
469#, c-format469#, c-format
470msgid "cannot find source file %s"470msgid "cannot find source file %s"
471msgstr "kan ikke finde kildefilen %s"471msgstr "kan ikke finde kildefilen %s"
472 472
473#: directives.c:1718473#: directives.c:1708
474#, c-format474#, c-format
475msgid "current file is older than %s"475msgid "current file is older than %s"
476msgstr "aktuel fil er ældre end %s"476msgstr "aktuel fil er ældre end %s"
477 477
478#: directives.c:1742478#: directives.c:1732
479#, c-format479#, c-format
480msgid "invalid \"#pragma GCC %s\" directive"480msgid "invalid \"#pragma GCC %s\" directive"
481msgstr "ugyldigt »#pragma GCC %s«-direktiv"481msgstr "ugyldigt »#pragma GCC %s«-direktiv"
482 482
483#: directives.c:1943483#: directives.c:1933
484msgid "_Pragma takes a parenthesized string literal"484msgid "_Pragma takes a parenthesized string literal"
485msgstr "_Pragma tager en strengkonstant med paranteser omkring"485msgstr "_Pragma tager en strengkonstant med paranteser omkring"
486 486
487#: directives.c:2064487#: directives.c:2021
488msgid "#else without #if"488msgid "#else without #if"
489msgstr "#else uden #if"489msgstr "#else uden #if"
490 490
491#: directives.c:2069491#: directives.c:2026
492msgid "#else after #else"492msgid "#else after #else"
493msgstr "#else efter #else"493msgstr "#else efter #else"
494 494
495#: directives.c:2071 directives.c:2104495#: directives.c:2028 directives.c:2061
496msgid "the conditional began here"496msgid "the conditional began here"
497msgstr "betingelsen begyndte her"497msgstr "betingelsen begyndte her"
498 498
499#: directives.c:2097499#: directives.c:2054
500msgid "#elif without #if"500msgid "#elif without #if"
501msgstr "#elif uden #if"501msgstr "#elif uden #if"
502 502
503#: directives.c:2102503#: directives.c:2059
504msgid "#elif after #else"504msgid "#elif after #else"
505msgstr "#elif efter #else"505msgstr "#elif efter #else"
506 506
507#: directives.c:2133507#: directives.c:2090
508msgid "#endif without #if"508msgid "#endif without #if"
509msgstr "#endif uden #if"509msgstr "#endif uden #if"
510 510
511#: directives.c:2213511#: directives.c:2166
512msgid "missing '(' after predicate"512msgid "missing '(' after predicate"
513msgstr "manglende »(« efter udsagn"513msgstr "manglende »(« efter udsagn"
514 514
515#: directives.c:2228515#: directives.c:2184
516msgid "missing ')' to complete answer"516msgid "missing ')' to complete answer"
517msgstr "manglende »)« til at fuldføre svar"517msgstr "manglende »)« til at fuldføre svar"
518 518
519#: directives.c:2248519#: directives.c:2196
520msgid "predicate's answer is empty"520msgid "predicate's answer is empty"
521msgstr "udsagnets svar er tomt"521msgstr "udsagnets svar er tomt"
522 522
523#: directives.c:2275523#: directives.c:2226
524msgid "assertion without predicate"524msgid "assertion without predicate"
525msgstr "postulat uden udsagn"525msgstr "postulat uden udsagn"
526 526
527#: directives.c:2278527#: directives.c:2229
528msgid "predicate must be an identifier"528msgid "predicate must be an identifier"
529msgstr "udsagn skal være et kaldenavn"529msgstr "udsagn skal være et kaldenavn"
530 530
531#: directives.c:2364531#: directives.c:2311
532#, c-format532#, c-format
533msgid "\"%s\" re-asserted"533msgid "\"%s\" re-asserted"
534msgstr "»%s« genpostuleret"534msgstr "»%s« genpostuleret"
535 535
536#: directives.c:2656536#: directives.c:2587
537#, c-format537#, c-format
538msgid "unterminated #%s"538msgid "unterminated #%s"
539msgstr "uafsluttet #%s"539msgstr "uafsluttet #%s"
540 540
541#: directives-only.c:221 lex.c:2851 traditional.c:167541#: directives-only.c:221 lex.c:2862 traditional.c:175
542msgid "unterminated comment"542msgid "unterminated comment"
543msgstr "uafsluttet kommentar"543msgstr "uafsluttet kommentar"
544 544
545#: errors.c:284545#: errors.c:291
546#, c-format546#, c-format
547msgid "%s: %s"547msgid "%s: %s"
548msgstr "%s: %s"548msgstr "%s: %s"
549 549
550#: errors.c:296550#: errors.c:304
551msgid "stdout"551msgid "stdout"
552msgstr "standardud"552msgstr "standardud"
553 553
@@ -640,84 +640,84 @@ msgstr "(»%s« er et alternativt symbol for »%s« i C++)" · 86 unmodified lines
640msgid "this use of \"defined\" may not be portable"640msgid "this use of \"defined\" may not be portable"
641msgstr "denne brug af »defined« er muligvis ikke portabel"641msgstr "denne brug af »defined« er muligvis ikke portabel"
642 642
643#: expr.c:1125643#: expr.c:1109
644msgid "user-defined literal in preprocessor expression"644msgid "user-defined literal in preprocessor expression"
645msgstr "brugerdefineret ordret i præprocessorudtrykket"645msgstr "brugerdefineret ordret i præprocessorudtrykket"
646 646
647#: expr.c:1130647#: expr.c:1114
648msgid "floating constant in preprocessor expression"648msgid "floating constant in preprocessor expression"
649msgstr "kommatalskonstant i præprocessorudtryk"649msgstr "kommatalskonstant i præprocessorudtryk"
650 650
651#: expr.c:1136651#: expr.c:1120
652msgid "imaginary number in preprocessor expression"652msgid "imaginary number in preprocessor expression"
653msgstr "imaginært tal i præprocessorudtryk"653msgstr "imaginært tal i præprocessorudtryk"
654 654
655#: expr.c:1189655#: expr.c:1173
656#, c-format656#, c-format
657msgid "\"%s\" is not defined, evaluates to 0"657msgid "\"%s\" is not defined, evaluates to 0"
658msgstr "»%s« er ikke defineret, evaluerer til 0"658msgstr "»%s« er ikke defineret, evaluerer til 0"
659 659
660#: expr.c:1202660#: expr.c:1186
661msgid "assertions are a GCC extension"661msgid "assertions are a GCC extension"
662msgstr "påstande er en GCC-udvidelse"662msgstr "påstande er en GCC-udvidelse"
663 663
664#: expr.c:1205664#: expr.c:1189
665msgid "assertions are a deprecated extension"665msgid "assertions are a deprecated extension"
666msgstr "påstande er en forældet udvidelse"666msgstr "påstande er en forældet udvidelse"
667 667
668#: expr.c:1451668#: expr.c:1435
669#, c-format669#, c-format
670msgid "unbalanced stack in %s"670msgid "unbalanced stack in %s"
671msgstr "ubalanceret stak i %s"671msgstr "ubalanceret stak i %s"
672 672
673#: expr.c:1471673#: expr.c:1455
674#, c-format674#, c-format
675msgid "impossible operator '%u'"675msgid "impossible operator '%u'"
676msgstr "umulig operator »%u«"676msgstr "umulig operator »%u«"
677 677
678#: expr.c:1572678#: expr.c:1556
679msgid "missing ')' in expression"679msgid "missing ')' in expression"
680msgstr "manglende »)« i udtryk"680msgstr "manglende »)« i udtryk"
681 681
682#: expr.c:1601682#: expr.c:1585
683msgid "'?' without following ':'"683msgid "'?' without following ':'"
684msgstr "»?« uden efterfølgende »:«"684msgstr "»?« uden efterfølgende »:«"
685 685
686#: expr.c:1611686#: expr.c:1595
687msgid "integer overflow in preprocessor expression"687msgid "integer overflow in preprocessor expression"
688msgstr "heltallet løber over i præprocessorudtrykket"688msgstr "heltallet løber over i præprocessorudtrykket"
689 689
690#: expr.c:1616690#: expr.c:1600
691msgid "missing '(' in expression"691msgid "missing '(' in expression"
692msgstr "manglende »(« i udtryk"692msgstr "manglende »(« i udtryk"
693 693
694#: expr.c:1648694#: expr.c:1632
695#, c-format695#, c-format
696msgid "the left operand of \"%s\" changes sign when promoted"696msgid "the left operand of \"%s\" changes sign when promoted"
697msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse"697msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse"
698 698
699#: expr.c:1653699#: expr.c:1637
700#, c-format700#, c-format
701msgid "the right operand of \"%s\" changes sign when promoted"701msgid "the right operand of \"%s\" changes sign when promoted"
702msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse"702msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse"
703 703
704#: expr.c:1912704#: expr.c:1896
705msgid "traditional C rejects the unary plus operator"705msgid "traditional C rejects the unary plus operator"
706msgstr "traditionel C tillader ikke operatoren unær plus"706msgstr "traditionel C tillader ikke operatoren unær plus"
707 707
708#: expr.c:2010708#: expr.c:1994
709msgid "comma operator in operand of #if"709msgid "comma operator in operand of #if"
710msgstr "kommaoperator i en operand til #if"710msgstr "kommaoperator i en operand til #if"
711 711
712#: expr.c:2146712#: expr.c:2130
713msgid "division by zero in #if"713msgid "division by zero in #if"
714msgstr "division med nul i #if"714msgstr "division med nul i #if"
715 715
716#: expr.c:2243716#: expr.c:2227
717msgid "operator \"__has_include__\" requires a header string"717msgid "operator \"__has_include__\" requires a header string"
718msgstr "operatoren »__has_include__« kræver en teksthovedstreng"718msgstr "operatoren »__has_include__« kræver en teksthovedstreng"
719 719
720#: expr.c:2259720#: expr.c:2243
721msgid "missing ')' after \"__has_include__\""721msgid "missing ')' after \"__has_include__\""
722msgstr "manglende »)« efter »__has_include__«"722msgstr "manglende »)« efter »__has_include__«"
723 723
@@ -734,40 +734,40 @@ msgstr "brug -Winvalid-pch for yderligere information" · 10 unmodified lines
734msgid "no include path in which to search for %s"734msgid "no include path in which to search for %s"
735msgstr "der er ingen inkluderingssti at søge efter %s i"735msgstr "der er ingen inkluderingssti at søge efter %s i"
736 736
737#: files.c:1441737#: files.c:1455
738msgid "Multiple include guards may be useful for:\n"738msgid "Multiple include guards may be useful for:\n"
739msgstr "Flere inkluderingsvagter kan være nyttige til:\n"739msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
740 740
741#: init.c:565741#: init.c:569
742msgid "cppchar_t must be an unsigned type"742msgid "cppchar_t must be an unsigned type"
743msgstr "cppchar_t skal være en usigneret type"743msgstr "cppchar_t skal være en usigneret type"
744 744
745#: init.c:569745#: init.c:573
746#, c-format746#, c-format
747msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"747msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
748msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit"748msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit"
749 749
750#: init.c:576750#: init.c:580
751msgid "CPP arithmetic must be at least as precise as a target int"751msgid "CPP arithmetic must be at least as precise as a target int"
752msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int"752msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int"
753 753
754#: init.c:579754#: init.c:583
755msgid "target char is less than 8 bits wide"755msgid "target char is less than 8 bits wide"
756msgstr "målarkitekturs char er mindre end 8 bit bred"756msgstr "målarkitekturs char er mindre end 8 bit bred"
757 757
758#: init.c:583758#: init.c:587
759msgid "target wchar_t is narrower than target char"759msgid "target wchar_t is narrower than target char"
760msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"760msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char"
761 761
762#: init.c:587762#: init.c:591
763msgid "target int is narrower than target char"763msgid "target int is narrower than target char"
764msgstr "målarkitekturs int er mindre end målarkitekturs char"764msgstr "målarkitekturs int er mindre end målarkitekturs char"
765 765
766#: init.c:592766#: init.c:596
767msgid "CPP half-integer narrower than CPP character"767msgid "CPP half-integer narrower than CPP character"
768msgstr "CPP-halvheltal er mindre end CPP-tegn"768msgstr "CPP-halvheltal er mindre end CPP-tegn"
769 769
770#: init.c:596770#: init.c:600
771#, c-format771#, c-format
772msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"772msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
773msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit"773msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit"
@@ -839,258 +839,273 @@ msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårli · 65 unmodified lines
839msgid "identifier \"%s\" is a special operator name in C++"839msgid "identifier \"%s\" is a special operator name in C++"
840msgstr "kaldenavn »%s« er et specielt operatornavn i C++"840msgstr "kaldenavn »%s« er et specielt operatornavn i C++"
841 841
842#: lex.c:1811842#: lex.c:1826
843msgid "raw string delimiter longer than 16 characters"843msgid "raw string delimiter longer than 16 characters"
844msgstr "rå strengafgrænser længere end 16 tegn"844msgstr "rå strengafgrænser længere end 16 tegn"
845 845
846#: lex.c:1815846#: lex.c:1830
847msgid "invalid new-line in raw string delimiter"847msgid "invalid new-line in raw string delimiter"
848msgstr "ugyldig nylinje i rå strengafgrænser"848msgstr "ugyldig nylinje i rå strengafgrænser"
849 849
850#: lex.c:1819850#: lex.c:1834
851#, c-format851#, c-format
852msgid "invalid character '%c' in raw string delimiter"852msgid "invalid character '%c' in raw string delimiter"
853msgstr "ugyldigt tegn »%c« i rå strengafgrænser"853msgstr "ugyldigt tegn »%c« i rå strengafgrænser"
854 854
855#: lex.c:1868 lex.c:1890855#: lex.c:1883 lex.c:1905
856msgid "unterminated raw string"856msgid "unterminated raw string"
857msgstr "uafsluttet rå streng"857msgstr "uafsluttet rå streng"
858 858
859#: lex.c:1912 lex.c:2043859#: lex.c:1925 lex.c:2054
860msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"860msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
861msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro"861msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro"
862 862
863#: lex.c:2024863#: lex.c:2037
864msgid "null character(s) preserved in literal"864msgid "null character(s) preserved in literal"
865msgstr "nultegn bevaret i strengkonstant"865msgstr "nultegn bevaret i strengkonstant"
866 866
867#: lex.c:2027867#: lex.c:2040
868#, c-format868#, c-format
869msgid "missing terminating %c character"869msgid "missing terminating %c character"
870msgstr "manglende afsluttende %c-tegn"870msgstr "manglende afsluttende %c-tegn"
871 871
872#: lex.c:2061872#: lex.c:2072
873msgid "C++11 requires a space between string literal and macro"873msgid "C++11 requires a space between string literal and macro"
874msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro"874msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro"
875 875
876#: lex.c:2865 lex.c:2899876#: lex.c:2876 lex.c:2910
877msgid "C++ style comments are not allowed in ISO C90"877msgid "C++ style comments are not allowed in ISO C90"
878msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"878msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90"
879 879
880#: lex.c:2867 lex.c:2878 lex.c:2901880#: lex.c:2878 lex.c:2889 lex.c:2913
881msgid "(this will be reported only once per input file)"881msgid "(this will be reported only once per input file)"
882msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"882msgstr "(dette rapporteres kun en enkelt gang per inddatafil)"
883 883
884#: lex.c:2876884#: lex.c:2887
885msgid "C++ style comments are incompatible with C90"885msgid "C++ style comments are incompatible with C90"
886msgstr "kommentarer i C++-stil er ikke kompatible med C90"886msgstr "kommentarer i C++-stil er ikke kompatible med C90"
887 887
888#: lex.c:2907888#: lex.c:2919
889msgid "multi-line comment"889msgid "multi-line comment"
890msgstr "flerlinjekommentar"890msgstr "flerlinjekommentar"
891 891
892#: lex.c:3287892#: lex.c:3299
893#, c-format893#, c-format
894msgid "unspellable token %s"894msgid "unspellable token %s"
895msgstr "symbol %s kan ikke staves"895msgstr "symbol %s kan ikke staves"
896 896
897#: macro.c:93897#: macro.c:94
898msgid "'##' cannot appear at either end of __VA_OPT__"898msgid "'##' cannot appear at either end of __VA_OPT__"
899msgstr "»##« må ikke optræde ved nogen af enderne i __VA_OPT__"899msgstr "»##« må ikke optræde ved nogen af enderne i __VA_OPT__"
900 900
901#: macro.c:352901#: macro.c:354
902#, c-format902#, c-format
903msgid "macro \"%s\" is not used"903msgid "macro \"%s\" is not used"
904msgstr "makroen »%s« bliver ikke brugt"904msgstr "makroen »%s« bliver ikke brugt"
905 905
906#: macro.c:391 macro.c:639906#: macro.c:393 macro.c:641
907#, c-format907#, c-format
908msgid "invalid built-in macro \"%s\""908msgid "invalid built-in macro \"%s\""
909msgstr "ugyldig indbygget makro »%s«"909msgstr "ugyldig indbygget makro »%s«"
910 910
911#: macro.c:398 macro.c:500911#: macro.c:400 macro.c:502
912#, c-format912#, c-format
913msgid "macro \"%s\" might prevent reproducible builds"913msgid "macro \"%s\" might prevent reproducible builds"
914msgstr "makroen »%s« kan forhindre reproducerbare bygninger"914msgstr "makroen »%s« kan forhindre reproducerbare bygninger"
915 915
916#: macro.c:429916#: macro.c:431
917msgid "could not determine file timestamp"917msgid "could not determine file timestamp"
918msgstr "kunne ikke bestemme filtidsstempel"918msgstr "kunne ikke bestemme filtidsstempel"
919 919
920#: macro.c:546920#: macro.c:548
921msgid "could not determine date and time"921msgid "could not determine date and time"
922msgstr "kunne ikke bestemme dato og tid"922msgstr "kunne ikke bestemme dato og tid"
923 923
924#: macro.c:562924#: macro.c:564
925msgid "__COUNTER__ expanded inside directive with -fdirectives-only"925msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
926msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only"926msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only"
927 927
928#: macro.c:758928#: macro.c:760
929msgid "invalid string literal, ignoring final '\\'"929msgid "invalid string literal, ignoring final '\\'"
930msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«"930msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«"
931 931
932#: macro.c:820932#: macro.c:822
933#, c-format933#, c-format
934msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"934msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
935msgstr "indsættelse af »%s« og »%s« giver ikke et gyldigt præprocessorsymbol"935msgstr "indsættelse af »%s« og »%s« giver ikke et gyldigt præprocessorsymbol"
936 936
937#: macro.c:946937#: macro.c:948
938msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"938msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
939msgstr "ISO C++11 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"939msgstr "ISO C++11 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"
940 940
941#: macro.c:950941#: macro.c:952
942msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"942msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
943msgstr "ISO C99 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"943msgstr "ISO C99 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre"
944 944
945#: macro.c:957945#: macro.c:959
946#, c-format946#, c-format
947msgid "macro \"%s\" requires %u arguments, but only %u given"947msgid "macro \"%s\" requires %u arguments, but only %u given"
948msgstr "makroen »%s« kræver %u parametre, men modtager kun %u"948msgstr "makroen »%s« kræver %u parametre, men modtager kun %u"
949 949
950#: macro.c:962950#: macro.c:964
951#, c-format951#, c-format
952msgid "macro \"%s\" passed %u arguments, but takes just %u"952msgid "macro \"%s\" passed %u arguments, but takes just %u"
953msgstr "makroen »%s« viderebragte %u parametre, men tager kun mod %u"953msgstr "makroen »%s« viderebragte %u parametre, men tager kun mod %u"
954 954
955#: macro.c:1156 traditional.c:819955#: macro.c:1162 traditional.c:827
956#, c-format956#, c-format
957msgid "unterminated argument list invoking macro \"%s\""957msgid "unterminated argument list invoking macro \"%s\""
958msgstr "uafsluttet parameterliste ved kald af makroen »%s«"958msgstr "uafsluttet parameterliste ved kald af makroen »%s«"
959 959
960#: macro.c:1307960#: macro.c:1304
961#, c-format961#, c-format
962msgid "function-like macro \"%s\" must be used with arguments in traditional C"962msgid "function-like macro \"%s\" must be used with arguments in traditional C"
963msgstr "funktionsagtig makro »%s« skal bruges med parametre i traditionel C"963msgstr "funktionsagtig makro »%s« skal bruges med parametre i traditionel C"
964 964
965#: macro.c:2003965#: macro.c:2083
966#, c-format966#, c-format
967msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"967msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
968msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C+98"968msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C+98"
969 969
970#: macro.c:2011 macro.c:2020970#: macro.c:2091 macro.c:2100
971#, c-format971#, c-format
972msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"972msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
973msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C90"973msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C90"
974 974
975#: macro.c:2984975#: macro.c:3059
976#, c-format976#, c-format
977msgid "duplicate macro parameter \"%s\""977msgid "duplicate macro parameter \"%s\""
978msgstr "makroparameternavnet »%s« optræder mere end en gang"978msgstr "makroparameternavnet »%s« optræder mere end en gang"
979 979
980#: macro.c:3033980#: macro.c:3141
981#, c-format
982msgid "expected parameter name, found \"%s\""
983msgstr "forventede parameternavn, fandt »%s«"
984
985#: macro.c:3142
981#, c-format986#, c-format
982msgid "\"%s\" may not appear in macro parameter list"987msgid "expected ',' or ')', found \"%s\""
983msgstr "»%s« må ikke optræde i makroparameterliste"988msgstr "forventede »,« eller »)«, fandt »%s«"
984 989
985#: macro.c:3041990#: macro.c:3143
986msgid "macro parameters must be comma-separated"991msgid "expected parameter name before end of line"
987msgstr "makroparametre skal være kommaadskilte"992msgstr "forventede parameternavn før linjeafslutning"
988 993
989#: macro.c:3060994#: macro.c:3144
990msgid "parameter name missing"995msgid "expected ')' before end of line"
991msgstr "parameternavn mangler"996msgstr "forventede »)« før linjeafslutning"
992 997
993#: macro.c:3081998#: macro.c:3145
999msgid "expected ')' after \"...\""
1000msgstr "forventede »)« efter »...«"
1001
1002#: macro.c:3202
994msgid "anonymous variadic macros were introduced in C++11"1003msgid "anonymous variadic macros were introduced in C++11"
995msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11"1004msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11"
996 1005
997#: macro.c:3085 macro.c:30901006#: macro.c:3203 macro.c:3207
998msgid "anonymous variadic macros were introduced in C99"1007msgid "anonymous variadic macros were introduced in C99"
999msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"1008msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"
1000 1009
1001#: macro.c:30971010#: macro.c:3213
1002msgid "ISO C++ does not permit named variadic macros"1011msgid "ISO C++ does not permit named variadic macros"
1003msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre"1012msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre"
1004 1013
1005#: macro.c:31001014#: macro.c:3214
1006msgid "ISO C does not permit named variadic macros"1015msgid "ISO C does not permit named variadic macros"
1007msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"1016msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
1008 1017
1009#: macro.c:31101018#: macro.c:3260
1010msgid "missing ')' in macro parameter list"
1011msgstr "manglende »)« i makroparameterliste"
1012
1013#: macro.c:3161
1014msgid "'##' cannot appear at either end of a macro expansion"1019msgid "'##' cannot appear at either end of a macro expansion"
1015msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop"1020msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop"
1016 1021
1017#: macro.c:31981022#: macro.c:3298
1018msgid "ISO C++11 requires whitespace after the macro name"1023msgid "ISO C++11 requires whitespace after the macro name"
1019msgstr "ISO C++11 kræver mellemrum efter makronavnet"1024msgstr "ISO C++11 kræver mellemrum efter makronavnet"
1020 1025
1021#: macro.c:32011026#: macro.c:3299
1022msgid "ISO C99 requires whitespace after the macro name"1027msgid "ISO C99 requires whitespace after the macro name"
1023msgstr "ISO C99 kræver mellemrum efter makronavnet"1028msgstr "ISO C99 kræver mellemrum efter makronavnet"
1024 1029
1025#: macro.c:32261030#: macro.c:3323
1026msgid "missing whitespace after the macro name"1031msgid "missing whitespace after the macro name"
1027msgstr "manglende mellemrum efter makronavnet"1032msgstr "manglende mellemrum efter makronavnet"
1028 1033
1029#: macro.c:32631034#: macro.c:3373
1030msgid "'#' is not followed by a macro parameter"1035msgid "'#' is not followed by a macro parameter"
1031msgstr "»#« efterfølges ikke af en makroparameter"1036msgstr "»#« efterfølges ikke af en makroparameter"
1032 1037
1033#: macro.c:34301038#: macro.c:3524
1034#, c-format1039#, c-format
1035msgid "\"%s\" redefined"1040msgid "\"%s\" redefined"
1036msgstr "»%s« omdefineret"1041msgstr "»%s« omdefineret"
1037 1042
1038#: macro.c:34351043#: macro.c:3529
1039msgid "this is the location of the previous definition"1044msgid "this is the location of the previous definition"
1040msgstr "den foregående definition er her"1045msgstr "den foregående definition er her"
1041 1046
1042#: macro.c:34961047#: macro.c:3633
1043#, c-format1048#, c-format
1044msgid "macro argument \"%s\" would be stringified in traditional C"1049msgid "macro argument \"%s\" would be stringified in traditional C"
1045msgstr "makroparameteren »%s« ville blive gjort til en streng i traditionel C"1050msgstr "makroparameteren »%s« ville blive gjort til en streng i traditionel C"
1046 1051
1047#: macro.c:35321052#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
1048#, c-format
1049msgid "invalid hash type %d in cpp_macro_definition"
1050msgstr "ugyldig hashtype %d i cpp_macro_definition"
1051
1052#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
1053msgid "while writing precompiled header"1053msgid "while writing precompiled header"
1054msgstr "under skrivning af prækompileret teksthoved"1054msgstr "under skrivning af prækompileret teksthoved"
1055 1055
1056#: pch.c:6211056#: pch.c:616
1057#, c-format1057#, c-format
1058msgid "%s: not used because `%.*s' is poisoned"1058msgid "%s: not used because `%.*s' is poisoned"
1059msgstr "%s: ikke brugt da »%.*s« er forgiftet"1059msgstr "%s: ikke brugt da »%.*s« er forgiftet"
1060 1060
1061#: pch.c:6431061#: pch.c:638
1062#, c-format1062#, c-format
1063msgid "%s: not used because `%.*s' not defined"1063msgid "%s: not used because `%.*s' not defined"
1064msgstr "%s: ikke brugt da »%.*s« ikke er defineret"1064msgstr "%s: ikke brugt da »%.*s« ikke er defineret"
1065 1065
1066#: pch.c:6551066#: pch.c:650
1067#, c-format1067#, c-format
1068msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"1068msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
1069msgstr "%s: ikke brugt da »%.*s« er defineret som »%s« ikke »%.*s«"1069msgstr "%s: ikke brugt da »%.*s« er defineret som »%s« ikke »%.*s«"
1070 1070
1071#: pch.c:6961071#: pch.c:691
1072#, c-format1072#, c-format
1073msgid "%s: not used because `%s' is defined"1073msgid "%s: not used because `%s' is defined"
1074msgstr "%s ikke brugt da »%s« er defineret"1074msgstr "%s ikke brugt da »%s« er defineret"
1075 1075
1076#: pch.c:7161076#: pch.c:711
1077#, c-format1077#, c-format
1078msgid "%s: not used because `__COUNTER__' is invalid"1078msgid "%s: not used because `__COUNTER__' is invalid"
1079msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig"1079msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig"
1080 1080
1081#: pch.c:725 pch.c:9031081#: pch.c:720 pch.c:878
1082msgid "while reading precompiled header"1082msgid "while reading precompiled header"
1083msgstr "under læsning af prækompileret teksthoved"1083msgstr "under læsning af prækompileret teksthoved"
1084 1084
1085#: traditional.c:8891085#: traditional.c:896
1086#, c-format1086#, c-format
1087msgid "detected recursion whilst expanding macro \"%s\""1087msgid "detected recursion whilst expanding macro \"%s\""
1088msgstr "opdagede rekursion ved udfoldelse af makroen »%s«"1088msgstr "opdagede rekursion ved udfoldelse af makroen »%s«"
1089 1089
1090#: traditional.c:11081090#: traditional.c:1119
1091msgid "syntax error in macro parameter list"1091msgid "syntax error in macro parameter list"
1092msgstr "syntaksfejl i makroparameterliste"1092msgstr "syntaksfejl i makroparameterliste"
1093 1093
1094#~ msgid "\"%s\" may not appear in macro parameter list"
1095#~ msgstr "»%s« må ikke optræde i makroparameterliste"
1096
1097#~ msgid "macro parameters must be comma-separated"
1098#~ msgstr "makroparametre skal være kommaadskilte"
1099
1100#~ msgid "parameter name missing"
1101#~ msgstr "parameternavn mangler"
1102
1103#~ msgid "missing ')' in macro parameter list"
1104#~ msgstr "manglende »)« i makroparameterliste"
1105
1106#~ msgid "invalid hash type %d in cpp_macro_definition"
1107#~ msgstr "ugyldig hashtype %d i cpp_macro_definition"
1108
1094#~ msgid "NULL directory in find_file"1109#~ msgid "NULL directory in find_file"
1095#~ msgstr "NULL-mappe i find_file"1110#~ msgstr "NULL-mappe i find_file"
1096 1111
gcc/libcpp/po/de.gmo+0−0

Binary file not shown.

gcc/libcpp/po/de.po+183−168
@@ -9,10 +9,10 @@ · 8 unmodified lines
9#9#
10msgid ""10msgid ""
11msgstr ""11msgstr ""
12"Project-Id-Version: cpplib 8.1-b20180128\n"12"Project-Id-Version: cpplib 9.1-b20190203\n"
13"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"13"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
14"POT-Creation-Date: 2018-01-26 22:47+0000\n"14"POT-Creation-Date: 2019-02-01 23:01+0000\n"
15"PO-Revision-Date: 2018-01-30 01:58+0100\n"15"PO-Revision-Date: 2019-02-05 19:15+0100\n"
16"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"16"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
17"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"17"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
18"Language: de\n"18"Language: de\n"
@@ -20,7 +20,7 @@ msgstr "" · 1 unmodified line
20"Content-Type: text/plain; charset=UTF-8\n"20"Content-Type: text/plain; charset=UTF-8\n"
21"Content-Transfer-Encoding: 8bit\n"21"Content-Transfer-Encoding: 8bit\n"
22"X-Bugs: Report translation errors to the Language-Team address.\n"22"X-Bugs: Report translation errors to the Language-Team address.\n"
23"X-Generator: Poedit 2.0.6\n"23"X-Generator: Poedit 2.2.1\n"
24 24
25#: charset.c:67425#: charset.c:674
26#, c-format26#, c-format
@@ -91,7 +91,7 @@ msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner" · 64 unmodified lines
91msgid "universal character %.*s is not valid at the start of an identifier"91msgid "universal character %.*s is not valid at the start of an identifier"
92msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"92msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"
93 93
94#: charset.c:1181 charset.c:200094#: charset.c:1181 charset.c:2002
95msgid "converting UCN to source character set"95msgid "converting UCN to source character set"
96msgstr "UCN wird in Quellzeichensatz konvertiert"96msgstr "UCN wird in Quellzeichensatz konvertiert"
97 97
@@ -144,294 +144,294 @@ msgstr "Escape-Sequenz wird in Zeichensatz der Ausführung konvertiert" · 46 unmodified lines
144msgid "missing open quote"144msgid "missing open quote"
145msgstr "Fehlendes öffnendes Anführungszeichen"145msgstr "Fehlendes öffnendes Anführungszeichen"
146 146
147#: charset.c:1827 charset.c:1891147#: charset.c:1829 charset.c:1893
148msgid "character constant too long for its type"148msgid "character constant too long for its type"
149msgstr "Zeichenkonstante zu lang für ihren Typ"149msgstr "Zeichenkonstante zu lang für ihren Typ"
150 150
151#: charset.c:1830151#: charset.c:1832
152msgid "multi-character character constant"152msgid "multi-character character constant"
153msgstr "Zeichenkonstante mit mehreren Zeichen"153msgstr "Zeichenkonstante mit mehreren Zeichen"
154 154
155#: charset.c:1931155#: charset.c:1933
156msgid "empty character constant"156msgid "empty character constant"
157msgstr "Leere Zeichenkonstante"157msgstr "Leere Zeichenkonstante"
158 158
159#: charset.c:2047159#: charset.c:2049
160#, c-format160#, c-format
161msgid "failure to convert %s to %s"161msgid "failure to convert %s to %s"
162msgstr "Fehler beim Konvertieren von %s nach %s"162msgstr "Fehler beim Konvertieren von %s nach %s"
163 163
164#: directives.c:235 directives.c:278164#: directives.c:229 directives.c:272
165#, c-format165#, c-format
166msgid "extra tokens at end of #%s directive"166msgid "extra tokens at end of #%s directive"
167msgstr "mehrere Token am Ende der Direktive #%s"167msgstr "mehrere Token am Ende der Direktive #%s"
168 168
169#: directives.c:385169#: directives.c:379
170#, c-format170#, c-format
171msgid "#%s is a GCC extension"171msgid "#%s is a GCC extension"
172msgstr "#%s ist eine GCC-Erweiterung"172msgstr "#%s ist eine GCC-Erweiterung"
173 173
174#: directives.c:390174#: directives.c:384
175#, c-format175#, c-format
176msgid "#%s is a deprecated GCC extension"176msgid "#%s is a deprecated GCC extension"
177msgstr "#%s ist eine veraltete GCC-Erweiterung"177msgstr "#%s ist eine veraltete GCC-Erweiterung"
178 178
179#: directives.c:403179#: directives.c:397
180msgid "suggest not using #elif in traditional C"180msgid "suggest not using #elif in traditional C"
181msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden"181msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden"
182 182
183#: directives.c:406183#: directives.c:400
184#, c-format184#, c-format
185msgid "traditional C ignores #%s with the # indented"185msgid "traditional C ignores #%s with the # indented"
186msgstr "traditionelles C ignoriert #%s mit eingerücktem #"186msgstr "traditionelles C ignoriert #%s mit eingerücktem #"
187 187
188#: directives.c:410188#: directives.c:404
189#, c-format189#, c-format
190msgid "suggest hiding #%s from traditional C with an indented #"190msgid "suggest hiding #%s from traditional C with an indented #"
191msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen"191msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen"
192 192
193#: directives.c:436193#: directives.c:430
194msgid "embedding a directive within macro arguments is not portable"194msgid "embedding a directive within macro arguments is not portable"
195msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"195msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"
196 196
197#: directives.c:456197#: directives.c:450
198msgid "style of line directive is a GCC extension"198msgid "style of line directive is a GCC extension"
199msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung"199msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung"
200 200
201#: directives.c:537201#: directives.c:531
202#, c-format202#, c-format
203msgid "invalid preprocessing directive #%s"203msgid "invalid preprocessing directive #%s"
204msgstr "ungültige Präprozessordirektive #%s"204msgstr "ungültige Präprozessordirektive #%s"
205 205
206#: directives.c:606206#: directives.c:600
207msgid "\"defined\" cannot be used as a macro name"207msgid "\"defined\" cannot be used as a macro name"
208msgstr "»defined« kann nicht als Makroname verwendet werden"208msgstr "»defined« kann nicht als Makroname verwendet werden"
209 209
210#: directives.c:611210#: directives.c:605
211msgid "\"__has_include__\" cannot be used as a macro name"211msgid "\"__has_include__\" cannot be used as a macro name"
212msgstr "»__has_include__« kann nicht als Makroname verwendet werden"212msgstr "»__has_include__« kann nicht als Makroname verwendet werden"
213 213
214#: directives.c:617214#: directives.c:611
215#, c-format215#, c-format
216msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"216msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
217msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist"217msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist"
218 218
219#: directives.c:620219#: directives.c:614
220#, c-format220#, c-format
221msgid "no macro name given in #%s directive"221msgid "no macro name given in #%s directive"
222msgstr "kein Makroname in Direktive #%s angegeben"222msgstr "kein Makroname in Direktive #%s angegeben"
223 223
224#: directives.c:623224#: directives.c:617
225msgid "macro names must be identifiers"225msgid "macro names must be identifiers"
226msgstr "Makronamen müssen Bezeichner sein"226msgstr "Makronamen müssen Bezeichner sein"
227 227
228#: directives.c:672 directives.c:677228#: directives.c:666 directives.c:671
229#, c-format229#, c-format
230msgid "undefining \"%s\""230msgid "undefining \"%s\""
231msgstr "»%s« wird un-definiert"231msgstr "»%s« wird un-definiert"
232 232
233#: directives.c:732233#: directives.c:727
234msgid "missing terminating > character"234msgid "missing terminating > character"
235msgstr "fehlendes abschließendes »>«-Zeichen"235msgstr "fehlendes abschließendes »>«-Zeichen"
236 236
237#: directives.c:791237#: directives.c:786
238#, c-format238#, c-format
239msgid "#%s expects \"FILENAME\" or <FILENAME>"239msgid "#%s expects \"FILENAME\" or <FILENAME>"
240msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"240msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"
241 241
242#: directives.c:837242#: directives.c:828
243#, c-format243#, c-format
244msgid "empty filename in #%s"244msgid "empty filename in #%s"
245msgstr "leerer Dateiname in #%s"245msgstr "leerer Dateiname in #%s"
246 246
247#: directives.c:847247#: directives.c:835
248msgid "#include nested too deeply"248msgid "#include nested too deeply"
249msgstr "#include ist zu tief geschachtelt"249msgstr "#include ist zu tief geschachtelt"
250 250
251#: directives.c:888251#: directives.c:877
252msgid "#include_next in primary source file"252msgid "#include_next in primary source file"
253msgstr "#include_next in erster Quelldatei"253msgstr "#include_next in erster Quelldatei"
254 254
255#: directives.c:914255#: directives.c:903
256#, c-format256#, c-format
257msgid "invalid flag \"%s\" in line directive"257msgid "invalid flag \"%s\" in line directive"
258msgstr "ungültiges Kennzeichen »%s« in line-Direktive"258msgstr "ungültiges Kennzeichen »%s« in line-Direktive"
259 259
260#: directives.c:974260#: directives.c:963
261msgid "unexpected end of file after #line"261msgid "unexpected end of file after #line"
262msgstr "unerwartetes Dateiende nach #line"262msgstr "unerwartetes Dateiende nach #line"
263 263
264#: directives.c:977264#: directives.c:966
265#, c-format265#, c-format
266msgid "\"%s\" after #line is not a positive integer"266msgid "\"%s\" after #line is not a positive integer"
267msgstr "»%s« hinter #line ist keine positive Ganzzahl"267msgstr "»%s« hinter #line ist keine positive Ganzzahl"
268 268
269#: directives.c:983 directives.c:985269#: directives.c:972 directives.c:974
270msgid "line number out of range"270msgid "line number out of range"
271msgstr "Zeilennummer ist außerhalb des Wertebereiches"271msgstr "Zeilennummer ist außerhalb des Wertebereiches"
272 272
273#: directives.c:998 directives.c:1079273#: directives.c:987 directives.c:1068
274#, c-format274#, c-format
275msgid "\"%s\" is not a valid filename"275msgid "\"%s\" is not a valid filename"
276msgstr "»%s« ist kein gültiger Dateiname"276msgstr "»%s« ist kein gültiger Dateiname"
277 277
278#: directives.c:1039278#: directives.c:1028
279#, c-format279#, c-format
280msgid "\"%s\" after # is not a positive integer"280msgid "\"%s\" after # is not a positive integer"
281msgstr "»%s« hinter # ist keine positive Ganzzahl"281msgstr "»%s« hinter # ist keine positive Ganzzahl"
282 282
283#: directives.c:1098283#: directives.c:1087
284#, c-format284#, c-format
285msgid "file \"%s\" linemarker ignored due to incorrect nesting"285msgid "file \"%s\" linemarker ignored due to incorrect nesting"
286msgstr "der Zeilenmarker in der Datei »%s« wird aufgrung falscher Schachtelung ignoriert"286msgstr "der Zeilenmarker in der Datei »%s« wird aufgrung falscher Schachtelung ignoriert"
287 287
288#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747288#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
289#, c-format289#, c-format
290msgid "%s"290msgid "%s"
291msgstr "%s"291msgstr "%s"
292 292
293#: directives.c:1185293#: directives.c:1175
294#, c-format294#, c-format
295msgid "invalid #%s directive"295msgid "invalid #%s directive"
296msgstr "ungültige #%s-Direktive"296msgstr "ungültige #%s-Direktive"
297 297
298#: directives.c:1248298#: directives.c:1238
299#, c-format299#, c-format
300msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"300msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
301msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert"301msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert"
302 302
303#: directives.c:1257303#: directives.c:1247
304#, c-format304#, c-format
305msgid "registering pragma \"%s\" with name expansion and no namespace"305msgid "registering pragma \"%s\" with name expansion and no namespace"
306msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert"306msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert"
307 307
308#: directives.c:1275308#: directives.c:1265
309#, c-format309#, c-format
310msgid "registering \"%s\" as both a pragma and a pragma namespace"310msgid "registering \"%s\" as both a pragma and a pragma namespace"
311msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert"311msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert"
312 312
313#: directives.c:1278313#: directives.c:1268
314#, c-format314#, c-format
315msgid "#pragma %s %s is already registered"315msgid "#pragma %s %s is already registered"
316msgstr "#pragma %s %s ist bereits registriert"316msgstr "#pragma %s %s ist bereits registriert"
317 317
318#: directives.c:1281318#: directives.c:1271
319#, c-format319#, c-format
320msgid "#pragma %s is already registered"320msgid "#pragma %s is already registered"
321msgstr "#pragma %s ist bereits registriert"321msgstr "#pragma %s ist bereits registriert"
322 322
323#: directives.c:1311323#: directives.c:1301
324msgid "registering pragma with NULL handler"324msgid "registering pragma with NULL handler"
325msgstr "Pragma mit NULL-Handler wird registriert"325msgstr "Pragma mit NULL-Handler wird registriert"
326 326
327#: directives.c:1528327#: directives.c:1518
328msgid "#pragma once in main file"328msgid "#pragma once in main file"
329msgstr "#pragma once in Hauptdatei"329msgstr "#pragma once in Hauptdatei"
330 330
331#: directives.c:1551331#: directives.c:1541
332msgid "invalid #pragma push_macro directive"332msgid "invalid #pragma push_macro directive"
333msgstr "ungültige #pragma push_macro Direktive"333msgstr "ungültige #pragma push_macro Direktive"
334 334
335#: directives.c:1606335#: directives.c:1596
336msgid "invalid #pragma pop_macro directive"336msgid "invalid #pragma pop_macro directive"
337msgstr "ungültige #pragma pop_macro Direktive"337msgstr "ungültige #pragma pop_macro Direktive"
338 338
339#: directives.c:1661339#: directives.c:1651
340msgid "invalid #pragma GCC poison directive"340msgid "invalid #pragma GCC poison directive"
341msgstr "ungültige #pragma GCC Poison Direktive"341msgstr "ungültige #pragma GCC Poison Direktive"
342 342
343#: directives.c:1670343#: directives.c:1660
344#, c-format344#, c-format
345msgid "poisoning existing macro \"%s\""345msgid "poisoning existing macro \"%s\""
346msgstr "schlechtes existierendes Makro »%s«"346msgstr "schlechtes existierendes Makro »%s«"
347 347
348#: directives.c:1689348#: directives.c:1679
349msgid "#pragma system_header ignored outside include file"349msgid "#pragma system_header ignored outside include file"
350msgstr "#pragma system_header außerhalb include-Datei ignoriert"350msgstr "#pragma system_header außerhalb include-Datei ignoriert"
351 351
352#: directives.c:1714352#: directives.c:1704
353#, c-format353#, c-format
354msgid "cannot find source file %s"354msgid "cannot find source file %s"
355msgstr "Quelldatei %s kann nicht gefunden werden"355msgstr "Quelldatei %s kann nicht gefunden werden"
356 356
357#: directives.c:1718357#: directives.c:1708
358#, c-format358#, c-format
359msgid "current file is older than %s"359msgid "current file is older than %s"
360msgstr "aktuelle Datei ist älter als %s"360msgstr "aktuelle Datei ist älter als %s"
361 361
362#: directives.c:1742362#: directives.c:1732
363#, c-format363#, c-format
364msgid "invalid \"#pragma GCC %s\" directive"364msgid "invalid \"#pragma GCC %s\" directive"
365msgstr "ungültige »#pragma GCC %s« Direktive"365msgstr "ungültige »#pragma GCC %s« Direktive"
366 366
367#: directives.c:1943367#: directives.c:1933
368msgid "_Pragma takes a parenthesized string literal"368msgid "_Pragma takes a parenthesized string literal"
369msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"369msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"
370 370
371#: directives.c:2064371#: directives.c:2021
372msgid "#else without #if"372msgid "#else without #if"
373msgstr "#else ohne #if"373msgstr "#else ohne #if"
374 374
375#: directives.c:2069375#: directives.c:2026
376msgid "#else after #else"376msgid "#else after #else"
377msgstr "#else hinter #else"377msgstr "#else hinter #else"
378 378
379#: directives.c:2071 directives.c:2104379#: directives.c:2028 directives.c:2061
380msgid "the conditional began here"380msgid "the conditional began here"
381msgstr "die Bedingung begann hier"381msgstr "die Bedingung begann hier"
382 382
383#: directives.c:2097383#: directives.c:2054
384msgid "#elif without #if"384msgid "#elif without #if"
385msgstr "#elif ohne #if"385msgstr "#elif ohne #if"
386 386
387#: directives.c:2102387#: directives.c:2059
388msgid "#elif after #else"388msgid "#elif after #else"
389msgstr "#elif hinter #else"389msgstr "#elif hinter #else"
390 390
391#: directives.c:2133391#: directives.c:2090
392msgid "#endif without #if"392msgid "#endif without #if"
393msgstr "#endif ohne #if"393msgstr "#endif ohne #if"
394 394
395#: directives.c:2213395#: directives.c:2166
396msgid "missing '(' after predicate"396msgid "missing '(' after predicate"
397msgstr "fehlende »(« hinter Prädikat"397msgstr "fehlende »(« hinter Prädikat"
398 398
399#: directives.c:2228399#: directives.c:2184
400msgid "missing ')' to complete answer"400msgid "missing ')' to complete answer"
401msgstr "fehlende »)«, um Antwort abzuschließen"401msgstr "fehlende »)«, um Antwort abzuschließen"
402 402
403#: directives.c:2248403#: directives.c:2196
404msgid "predicate's answer is empty"404msgid "predicate's answer is empty"
405msgstr "Prädikatantwort ist leer"405msgstr "Prädikatantwort ist leer"
406 406
407#: directives.c:2275407#: directives.c:2226
408msgid "assertion without predicate"408msgid "assertion without predicate"
409msgstr "Behauptung ohne Prädikat"409msgstr "Behauptung ohne Prädikat"
410 410
411#: directives.c:2278411#: directives.c:2229
412msgid "predicate must be an identifier"412msgid "predicate must be an identifier"
413msgstr "Prädikat muss ein Bezeichner sein"413msgstr "Prädikat muss ein Bezeichner sein"
414 414
415#: directives.c:2364415#: directives.c:2311
416#, c-format416#, c-format
417msgid "\"%s\" re-asserted"417msgid "\"%s\" re-asserted"
418msgstr "»%s« wieder behauptet"418msgstr "»%s« wieder behauptet"
419 419
420#: directives.c:2656420#: directives.c:2587
421#, c-format421#, c-format
422msgid "unterminated #%s"422msgid "unterminated #%s"
423msgstr "unbeendetes #%s"423msgstr "unbeendetes #%s"
424 424
425#: directives-only.c:221 lex.c:2851 traditional.c:167425#: directives-only.c:221 lex.c:2862 traditional.c:175
426msgid "unterminated comment"426msgid "unterminated comment"
427msgstr "nicht beendeter Kommentar"427msgstr "nicht beendeter Kommentar"
428 428
429#: errors.c:284429#: errors.c:291
430#, c-format430#, c-format
431msgid "%s: %s"431msgid "%s: %s"
432msgstr "%s: %s"432msgstr "%s: %s"
433 433
434#: errors.c:296434#: errors.c:304
435msgid "stdout"435msgid "stdout"
436msgstr "Standardausgabe"436msgstr "Standardausgabe"
437 437
@@ -524,84 +524,84 @@ msgstr "(»%s« ist ein alternatives Token for »%s« in C++)" · 86 unmodified lines
524msgid "this use of \"defined\" may not be portable"524msgid "this use of \"defined\" may not be portable"
525msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"525msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"
526 526
527#: expr.c:1125527#: expr.c:1109
528msgid "user-defined literal in preprocessor expression"528msgid "user-defined literal in preprocessor expression"
529msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck"529msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck"
530 530
531#: expr.c:1130531#: expr.c:1114
532msgid "floating constant in preprocessor expression"532msgid "floating constant in preprocessor expression"
533msgstr "Gleitkommakonstante in Präprozessorausdruck"533msgstr "Gleitkommakonstante in Präprozessorausdruck"
534 534
535#: expr.c:1136535#: expr.c:1120
536msgid "imaginary number in preprocessor expression"536msgid "imaginary number in preprocessor expression"
537msgstr "imaginäre Zahl in Präprozessorausdruck"537msgstr "imaginäre Zahl in Präprozessorausdruck"
538 538
539#: expr.c:1189539#: expr.c:1173
540#, c-format540#, c-format
541msgid "\"%s\" is not defined, evaluates to 0"541msgid "\"%s\" is not defined, evaluates to 0"
542msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet"542msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet"
543 543
544#: expr.c:1202544#: expr.c:1186
545msgid "assertions are a GCC extension"545msgid "assertions are a GCC extension"
546msgstr "Assertions sind eine GCC-Erweiterung"546msgstr "Assertions sind eine GCC-Erweiterung"
547 547
548#: expr.c:1205548#: expr.c:1189
549msgid "assertions are a deprecated extension"549msgid "assertions are a deprecated extension"
550msgstr "Assertions sind eine veraltete Erweiterung"550msgstr "Assertions sind eine veraltete Erweiterung"
551 551
552#: expr.c:1451552#: expr.c:1435
553#, c-format553#, c-format
554msgid "unbalanced stack in %s"554msgid "unbalanced stack in %s"
555msgstr "unausgeglichener Keller in %s"555msgstr "unausgeglichener Keller in %s"
556 556
557#: expr.c:1471557#: expr.c:1455
558#, c-format558#, c-format
559msgid "impossible operator '%u'"559msgid "impossible operator '%u'"
560msgstr "unmöglicher Operator »%u«"560msgstr "unmöglicher Operator »%u«"
561 561
562#: expr.c:1572562#: expr.c:1556
563msgid "missing ')' in expression"563msgid "missing ')' in expression"
564msgstr "fehlende »)« in Ausdruck"564msgstr "fehlende »)« in Ausdruck"
565 565
566#: expr.c:1601566#: expr.c:1585
567msgid "'?' without following ':'"567msgid "'?' without following ':'"
568msgstr "»?« ohne folgenden »:«"568msgstr "»?« ohne folgenden »:«"
569 569
570#: expr.c:1611570#: expr.c:1595
571msgid "integer overflow in preprocessor expression"571msgid "integer overflow in preprocessor expression"
572msgstr "Ganzzahlüberlauf in Präprozessorausdruck"572msgstr "Ganzzahlüberlauf in Präprozessorausdruck"
573 573
574#: expr.c:1616574#: expr.c:1600
575msgid "missing '(' in expression"575msgid "missing '(' in expression"
576msgstr "fehlende »(« in Ausdruck"576msgstr "fehlende »(« in Ausdruck"
577 577
578#: expr.c:1648578#: expr.c:1632
579#, c-format579#, c-format
580msgid "the left operand of \"%s\" changes sign when promoted"580msgid "the left operand of \"%s\" changes sign when promoted"
581msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen"581msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
582 582
583#: expr.c:1653583#: expr.c:1637
584#, c-format584#, c-format
585msgid "the right operand of \"%s\" changes sign when promoted"585msgid "the right operand of \"%s\" changes sign when promoted"
586msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen"586msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen"
587 587
588#: expr.c:1912588#: expr.c:1896
589msgid "traditional C rejects the unary plus operator"589msgid "traditional C rejects the unary plus operator"
590msgstr "traditionelles C weist den unären Plus-Operator zurück"590msgstr "traditionelles C weist den unären Plus-Operator zurück"
591 591
592#: expr.c:2010592#: expr.c:1994
593msgid "comma operator in operand of #if"593msgid "comma operator in operand of #if"
594msgstr "Kommaoperator in Operand von #if"594msgstr "Kommaoperator in Operand von #if"
595 595
596#: expr.c:2146596#: expr.c:2130
597msgid "division by zero in #if"597msgid "division by zero in #if"
598msgstr "Division durch Null in #if"598msgstr "Division durch Null in #if"
599 599
600#: expr.c:2243600#: expr.c:2227
601msgid "operator \"__has_include__\" requires a header string"601msgid "operator \"__has_include__\" requires a header string"
602msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette"602msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette"
603 603
604#: expr.c:2259604#: expr.c:2243
605msgid "missing ')' after \"__has_include__\""605msgid "missing ')' after \"__has_include__\""
606msgstr "fehlende »)« hinter »__has_include__«"606msgstr "fehlende »)« hinter »__has_include__«"
607 607
@@ -618,40 +618,40 @@ msgstr "-Winvalid-pch für mehr Informationen verwenden" · 10 unmodified lines
618msgid "no include path in which to search for %s"618msgid "no include path in which to search for %s"
619msgstr "kein Include-Pfad, um %s zu finden"619msgstr "kein Include-Pfad, um %s zu finden"
620 620
621#: files.c:1441621#: files.c:1455
622msgid "Multiple include guards may be useful for:\n"622msgid "Multiple include guards may be useful for:\n"
623msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"623msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"
624 624
625#: init.c:565625#: init.c:569
626msgid "cppchar_t must be an unsigned type"626msgid "cppchar_t must be an unsigned type"
627msgstr "cppchar_t muss ein vorzeichenloser Typ sein"627msgstr "cppchar_t muss ein vorzeichenloser Typ sein"
628 628
629#: init.c:569629#: init.c:573
630#, c-format630#, c-format
631msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"631msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
632msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits"632msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits"
633 633
634#: init.c:576634#: init.c:580
635msgid "CPP arithmetic must be at least as precise as a target int"635msgid "CPP arithmetic must be at least as precise as a target int"
636msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int"636msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int"
637 637
638#: init.c:579638#: init.c:583
639msgid "target char is less than 8 bits wide"639msgid "target char is less than 8 bits wide"
640msgstr "Ziel-char ist weniger als 8 Bits breit"640msgstr "Ziel-char ist weniger als 8 Bits breit"
641 641
642#: init.c:583642#: init.c:587
643msgid "target wchar_t is narrower than target char"643msgid "target wchar_t is narrower than target char"
644msgstr "Ziel-wchar_t ist schmaler als Ziel-char"644msgstr "Ziel-wchar_t ist schmaler als Ziel-char"
645 645
646#: init.c:587646#: init.c:591
647msgid "target int is narrower than target char"647msgid "target int is narrower than target char"
648msgstr "Ziel-int ist schmaler als Ziel-char"648msgstr "Ziel-int ist schmaler als Ziel-char"
649 649
650#: init.c:592650#: init.c:596
651msgid "CPP half-integer narrower than CPP character"651msgid "CPP half-integer narrower than CPP character"
652msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"652msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"
653 653
654#: init.c:596654#: init.c:600
655#, c-format655#, c-format
656msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"656msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
657msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits"657msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits"
@@ -723,258 +723,273 @@ msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftre · 65 unmodified lines
723msgid "identifier \"%s\" is a special operator name in C++"723msgid "identifier \"%s\" is a special operator name in C++"
724msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++"724msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++"
725 725
726#: lex.c:1811726#: lex.c:1826
727msgid "raw string delimiter longer than 16 characters"727msgid "raw string delimiter longer than 16 characters"
728msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen"728msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen"
729 729
730#: lex.c:1815730#: lex.c:1830
731msgid "invalid new-line in raw string delimiter"731msgid "invalid new-line in raw string delimiter"
732msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol"732msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol"
733 733
734#: lex.c:1819734#: lex.c:1834
735#, c-format735#, c-format
736msgid "invalid character '%c' in raw string delimiter"736msgid "invalid character '%c' in raw string delimiter"
737msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol"737msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol"
738 738
739#: lex.c:1868 lex.c:1890739#: lex.c:1883 lex.c:1905
740msgid "unterminated raw string"740msgid "unterminated raw string"
741msgstr "unbeendete Roh-Zeichenkette"741msgstr "unbeendete Roh-Zeichenkette"
742 742
743#: lex.c:1912 lex.c:2043743#: lex.c:1925 lex.c:2054
744msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"744msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
745msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro"745msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro"
746 746
747#: lex.c:2024747#: lex.c:2037
748msgid "null character(s) preserved in literal"748msgid "null character(s) preserved in literal"
749msgstr "Null-Zeichen im Literal erhalten"749msgstr "Null-Zeichen im Literal erhalten"
750 750
751#: lex.c:2027751#: lex.c:2040
752#, c-format752#, c-format
753msgid "missing terminating %c character"753msgid "missing terminating %c character"
754msgstr "fehlendes abschließendes Zeichen %c"754msgstr "fehlendes abschließendes Zeichen %c"
755 755
756#: lex.c:2061756#: lex.c:2072
757msgid "C++11 requires a space between string literal and macro"757msgid "C++11 requires a space between string literal and macro"
758msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro"758msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro"
759 759
760#: lex.c:2865 lex.c:2899760#: lex.c:2876 lex.c:2910
761msgid "C++ style comments are not allowed in ISO C90"761msgid "C++ style comments are not allowed in ISO C90"
762msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"762msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"
763 763
764#: lex.c:2867 lex.c:2878 lex.c:2901764#: lex.c:2878 lex.c:2889 lex.c:2913
765msgid "(this will be reported only once per input file)"765msgid "(this will be reported only once per input file)"
766msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"766msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"
767 767
768#: lex.c:2876768#: lex.c:2887
769msgid "C++ style comments are incompatible with C90"769msgid "C++ style comments are incompatible with C90"
770msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel"770msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel"
771 771
772#: lex.c:2907772#: lex.c:2919
773msgid "multi-line comment"773msgid "multi-line comment"
774msgstr "mehrzeiliger Kommentar"774msgstr "mehrzeiliger Kommentar"
775 775
776#: lex.c:3287776#: lex.c:3299
777#, c-format777#, c-format
778msgid "unspellable token %s"778msgid "unspellable token %s"
779msgstr "nicht buchstabierbares Token %s"779msgstr "nicht buchstabierbares Token %s"
780 780
781#: macro.c:93781#: macro.c:94
782msgid "'##' cannot appear at either end of __VA_OPT__"782msgid "'##' cannot appear at either end of __VA_OPT__"
783msgstr "»##« kann an einem beliebigen Enden von __VA_OPT__ auftreten"783msgstr "»##« kann an einem beliebigen Enden von __VA_OPT__ auftreten"
784 784
785#: macro.c:352785#: macro.c:354
786#, c-format786#, c-format
787msgid "macro \"%s\" is not used"787msgid "macro \"%s\" is not used"
788msgstr "Makro »%s« wird nicht benutzt"788msgstr "Makro »%s« wird nicht benutzt"
789 789
790#: macro.c:391 macro.c:639790#: macro.c:393 macro.c:641
791#, c-format791#, c-format
792msgid "invalid built-in macro \"%s\""792msgid "invalid built-in macro \"%s\""
793msgstr "ungültiges eingebautes Makro »%s«"793msgstr "ungültiges eingebautes Makro »%s«"
794 794
795#: macro.c:398 macro.c:500795#: macro.c:400 macro.c:502
796#, c-format796#, c-format
797msgid "macro \"%s\" might prevent reproducible builds"797msgid "macro \"%s\" might prevent reproducible builds"
798msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern"798msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern"
799 799
800#: macro.c:429800#: macro.c:431
801msgid "could not determine file timestamp"801msgid "could not determine file timestamp"
802msgstr "Zeitstempel der Datei konnte nicht ermittelt werden"802msgstr "Zeitstempel der Datei konnte nicht ermittelt werden"
803 803
804#: macro.c:546804#: macro.c:548
805msgid "could not determine date and time"805msgid "could not determine date and time"
806msgstr "Datum und Zeit konnten nicht bestimmt werden"806msgstr "Datum und Zeit konnten nicht bestimmt werden"
807 807
808#: macro.c:562808#: macro.c:564
809msgid "__COUNTER__ expanded inside directive with -fdirectives-only"809msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
810msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert"810msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert"
811 811
812#: macro.c:758812#: macro.c:760
813msgid "invalid string literal, ignoring final '\\'"813msgid "invalid string literal, ignoring final '\\'"
814msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert"814msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert"
815 815
816#: macro.c:820816#: macro.c:822
817#, c-format817#, c-format
818msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"818msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
819msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token"819msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token"
820 820
821#: macro.c:946821#: macro.c:948
822msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"822msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
823msgstr "ISO-C++11 erfordert mindestens ein Argument für »...« in einem variadischen Makro"823msgstr "ISO-C++11 erfordert mindestens ein Argument für »...« in einem variadischen Makro"
824 824
825#: macro.c:950825#: macro.c:952
826msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"826msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
827msgstr "ISO-C99 erfordert mindestens ein Argument für »...« in einem variadischen Makro"827msgstr "ISO-C99 erfordert mindestens ein Argument für »...« in einem variadischen Makro"
828 828
829#: macro.c:957829#: macro.c:959
830#, c-format830#, c-format
831msgid "macro \"%s\" requires %u arguments, but only %u given"831msgid "macro \"%s\" requires %u arguments, but only %u given"
832msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben"832msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben"
833 833
834#: macro.c:962834#: macro.c:964
835#, c-format835#, c-format
836msgid "macro \"%s\" passed %u arguments, but takes just %u"836msgid "macro \"%s\" passed %u arguments, but takes just %u"
837msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es akzeptiert nur %u"837msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es akzeptiert nur %u"
838 838
839#: macro.c:1156 traditional.c:819839#: macro.c:1162 traditional.c:827
840#, c-format840#, c-format
841msgid "unterminated argument list invoking macro \"%s\""841msgid "unterminated argument list invoking macro \"%s\""
842msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"842msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"
843 843
844#: macro.c:1307844#: macro.c:1304
845#, c-format845#, c-format
846msgid "function-like macro \"%s\" must be used with arguments in traditional C"846msgid "function-like macro \"%s\" must be used with arguments in traditional C"
847msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden"847msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden"
848 848
849#: macro.c:2003849#: macro.c:2083
850#, c-format850#, c-format
851msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"851msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
852msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C++98 unbestimmt"852msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C++98 unbestimmt"
853 853
854#: macro.c:2011 macro.c:2020854#: macro.c:2091 macro.c:2100
855#, c-format855#, c-format
856msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"856msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
857msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C90 unbestimmt"857msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C90 unbestimmt"
858 858
859#: macro.c:2984859#: macro.c:3059
860#, c-format860#, c-format
861msgid "duplicate macro parameter \"%s\""861msgid "duplicate macro parameter \"%s\""
862msgstr "doppelter Makroparameter »%s«"862msgstr "doppelter Makroparameter »%s«"
863 863
864#: macro.c:3033864#: macro.c:3141
865#, c-format
866msgid "expected parameter name, found \"%s\""
867msgstr "Parametername erwartet, aber »%s« gefunden"
868
869#: macro.c:3142
865#, c-format870#, c-format
866msgid "\"%s\" may not appear in macro parameter list"871msgid "expected ',' or ')', found \"%s\""
867msgstr "»%s« darf nicht in Makroparameterliste auftreten"872msgstr "»,« oder »)« erwartet, aber »%s« gefunden"
868 873
869#: macro.c:3041874#: macro.c:3143
870msgid "macro parameters must be comma-separated"875msgid "expected parameter name before end of line"
871msgstr "Makroparameter müssen mit Komma getrennt sein"876msgstr "Parametername vor dem Zeilenende erwartet"
872 877
873#: macro.c:3060878#: macro.c:3144
874msgid "parameter name missing"879msgid "expected ')' before end of line"
875msgstr "Parametername fehlt"880msgstr "»)« vor dem Zeilenende erwartet"
876 881
877#: macro.c:3081882#: macro.c:3145
883msgid "expected ')' after \"...\""
884msgstr "»)« nach »...« erwartet"
885
886#: macro.c:3202
878msgid "anonymous variadic macros were introduced in C++11"887msgid "anonymous variadic macros were introduced in C++11"
879msgstr "anonyme variadische Makros wurden in C++11 eingeführt"888msgstr "anonyme variadische Makros wurden in C++11 eingeführt"
880 889
881#: macro.c:3085 macro.c:3090890#: macro.c:3203 macro.c:3207
882msgid "anonymous variadic macros were introduced in C99"891msgid "anonymous variadic macros were introduced in C99"
883msgstr "anonyme variadische Makros wurden in C99 eingeführt"892msgstr "anonyme variadische Makros wurden in C99 eingeführt"
884 893
885#: macro.c:3097894#: macro.c:3213
886msgid "ISO C++ does not permit named variadic macros"895msgid "ISO C++ does not permit named variadic macros"
887msgstr "ISO-C++ erlaubt keine benannten variadischen Makros"896msgstr "ISO-C++ erlaubt keine benannten variadischen Makros"
888 897
889#: macro.c:3100898#: macro.c:3214
890msgid "ISO C does not permit named variadic macros"899msgid "ISO C does not permit named variadic macros"
891msgstr "ISO-C erlaubt keine benannten variadischen Makros"900msgstr "ISO-C erlaubt keine benannten variadischen Makros"
892 901
893#: macro.c:3110902#: macro.c:3260
894msgid "missing ')' in macro parameter list"
895msgstr "fehlendes »)« in Makroparameterliste"
896
897#: macro.c:3161
898msgid "'##' cannot appear at either end of a macro expansion"903msgid "'##' cannot appear at either end of a macro expansion"
899msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten"904msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten"
900 905
901#: macro.c:3198906#: macro.c:3298
902msgid "ISO C++11 requires whitespace after the macro name"907msgid "ISO C++11 requires whitespace after the macro name"
903msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname"908msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname"
904 909
905#: macro.c:3201910#: macro.c:3299
906msgid "ISO C99 requires whitespace after the macro name"911msgid "ISO C99 requires whitespace after the macro name"
907msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname"912msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname"
908 913
909#: macro.c:3226914#: macro.c:3323
910msgid "missing whitespace after the macro name"915msgid "missing whitespace after the macro name"
911msgstr "Leerzeichen hinter Makroname fehlt"916msgstr "Leerzeichen hinter Makroname fehlt"
912 917
913#: macro.c:3263918#: macro.c:3373
914msgid "'#' is not followed by a macro parameter"919msgid "'#' is not followed by a macro parameter"
915msgstr "»#« wird nicht von einem Makroparameter gefolgt"920msgstr "»#« wird nicht von einem Makroparameter gefolgt"
916 921
917#: macro.c:3430922#: macro.c:3524
918#, c-format923#, c-format
919msgid "\"%s\" redefined"924msgid "\"%s\" redefined"
920msgstr "»%s« redefiniert"925msgstr "»%s« redefiniert"
921 926
922#: macro.c:3435927#: macro.c:3529
923msgid "this is the location of the previous definition"928msgid "this is the location of the previous definition"
924msgstr "dies ist die Stelle der vorherigen Definition"929msgstr "dies ist die Stelle der vorherigen Definition"
925 930
926#: macro.c:3496931#: macro.c:3633
927#, c-format932#, c-format
928msgid "macro argument \"%s\" would be stringified in traditional C"933msgid "macro argument \"%s\" would be stringified in traditional C"
929msgstr "Makroargument »%s« würde in traditionellem C zur Zeichenkette umgewandelt werden"934msgstr "Makroargument »%s« würde in traditionellem C zur Zeichenkette umgewandelt werden"
930 935
931#: macro.c:3532936#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
932#, c-format
933msgid "invalid hash type %d in cpp_macro_definition"
934msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
935
936#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
937msgid "while writing precompiled header"937msgid "while writing precompiled header"
938msgstr "beim Schreiben des vorkompilierten Headers"938msgstr "beim Schreiben des vorkompilierten Headers"
939 939
940#: pch.c:621940#: pch.c:616
941#, c-format941#, c-format
942msgid "%s: not used because `%.*s' is poisoned"942msgid "%s: not used because `%.*s' is poisoned"
943msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist"943msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist"
944 944
945#: pch.c:643945#: pch.c:638
946#, c-format946#, c-format
947msgid "%s: not used because `%.*s' not defined"947msgid "%s: not used because `%.*s' not defined"
948msgstr "%s: nicht verwendet, da »%.*s« nicht definiert"948msgstr "%s: nicht verwendet, da »%.*s« nicht definiert"
949 949
950#: pch.c:655950#: pch.c:650
951#, c-format951#, c-format
952msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"952msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
953msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde"953msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde"
954 954
955#: pch.c:696955#: pch.c:691
956#, c-format956#, c-format
957msgid "%s: not used because `%s' is defined"957msgid "%s: not used because `%s' is defined"
958msgstr "%s: nicht verwendet, da »%s« definiert ist"958msgstr "%s: nicht verwendet, da »%s« definiert ist"
959 959
960#: pch.c:716960#: pch.c:711
961#, c-format961#, c-format
962msgid "%s: not used because `__COUNTER__' is invalid"962msgid "%s: not used because `__COUNTER__' is invalid"
963msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist"963msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist"
964 964
965#: pch.c:725 pch.c:903965#: pch.c:720 pch.c:878
966msgid "while reading precompiled header"966msgid "while reading precompiled header"
967msgstr "beim Lesen des vorkompilierten Headers"967msgstr "beim Lesen des vorkompilierten Headers"
968 968
969#: traditional.c:889969#: traditional.c:896
970#, c-format970#, c-format
971msgid "detected recursion whilst expanding macro \"%s\""971msgid "detected recursion whilst expanding macro \"%s\""
972msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"972msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"
973 973
974#: traditional.c:1108974#: traditional.c:1119
975msgid "syntax error in macro parameter list"975msgid "syntax error in macro parameter list"
976msgstr "Syntaxfehler in Makroparameterliste"976msgstr "Syntaxfehler in Makroparameterliste"
977 977
978#~ msgid "\"%s\" may not appear in macro parameter list"
979#~ msgstr "»%s« darf nicht in Makroparameterliste auftreten"
980
981#~ msgid "macro parameters must be comma-separated"
982#~ msgstr "Makroparameter müssen mit Komma getrennt sein"
983
984#~ msgid "parameter name missing"
985#~ msgstr "Parametername fehlt"
986
987#~ msgid "missing ')' in macro parameter list"
988#~ msgstr "fehlendes »)« in Makroparameterliste"
989
990#~ msgid "invalid hash type %d in cpp_macro_definition"
991#~ msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
992
978#~ msgid "NULL directory in find_file"993#~ msgid "NULL directory in find_file"
979#~ msgstr "NULL-Verzeichnis in find_file"994#~ msgstr "NULL-Verzeichnis in find_file"
980 995
gcc/libcpp/po/el.gmo+0−0

Binary file not shown.

gcc/libcpp/po/el.po+163−170
@@ -6,7 +6,7 @@ msgid "" · 5 unmodified lines
6msgstr ""6msgstr ""
7"Project-Id-Version: gcc 3.2\n"7"Project-Id-Version: gcc 3.2\n"
8"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"8"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
9"POT-Creation-Date: 2018-01-26 22:47+0000\n"9"POT-Creation-Date: 2019-02-01 23:01+0000\n"
10"PO-Revision-Date: 2002-08-18 15:46+0100\n"10"PO-Revision-Date: 2002-08-18 15:46+0100\n"
11"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"11"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
12"Language-Team: Greek <nls@tux.hellug.gr>\n"12"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -86,7 +86,7 @@ msgstr "" · 73 unmodified lines
86msgid "universal character %.*s is not valid at the start of an identifier"86msgid "universal character %.*s is not valid at the start of an identifier"
87msgstr ""87msgstr ""
88 88
89#: charset.c:1181 charset.c:200089#: charset.c:1181 charset.c:2002
90msgid "converting UCN to source character set"90msgid "converting UCN to source character set"
91msgstr ""91msgstr ""
92 92
@@ -143,306 +143,306 @@ msgstr " · 50 unmodified lines
143msgid "missing open quote"143msgid "missing open quote"
144msgstr "������� � ���������������� ��������"144msgstr "������� � ���������������� ��������"
145 145
146#: charset.c:1827 charset.c:1891146#: charset.c:1829 charset.c:1893
147#, fuzzy147#, fuzzy
148msgid "character constant too long for its type"148msgid "character constant too long for its type"
149msgstr "�� ������� �������� ���������� ��� �������������"149msgstr "�� ������� �������� ���������� ��� �������������"
150 150
151#: charset.c:1830151#: charset.c:1832
152#, fuzzy152#, fuzzy
153msgid "multi-character character constant"153msgid "multi-character character constant"
154msgstr "����� ����� ��������� `%s'"154msgstr "����� ����� ��������� `%s'"
155 155
156#: charset.c:1931156#: charset.c:1933
157#, fuzzy157#, fuzzy
158msgid "empty character constant"158msgid "empty character constant"
159msgstr "���� �������������"159msgstr "���� �������������"
160 160
161#: charset.c:2047161#: charset.c:2049
162#, fuzzy, c-format162#, fuzzy, c-format
163msgid "failure to convert %s to %s"163msgid "failure to convert %s to %s"
164msgstr "��� ����� ������ �� ������������ �� %s `%s' ��� `%s'"164msgstr "��� ����� ������ �� ������������ �� %s `%s' ��� `%s'"
165 165
166#: directives.c:235 directives.c:278166#: directives.c:229 directives.c:272
167#, c-format167#, c-format
168msgid "extra tokens at end of #%s directive"168msgid "extra tokens at end of #%s directive"
169msgstr ""169msgstr ""
170 170
171#: directives.c:385171#: directives.c:379
172#, c-format172#, c-format
173msgid "#%s is a GCC extension"173msgid "#%s is a GCC extension"
174msgstr ""174msgstr ""
175 175
176#: directives.c:390176#: directives.c:384
177#, fuzzy, c-format177#, fuzzy, c-format
178msgid "#%s is a deprecated GCC extension"178msgid "#%s is a deprecated GCC extension"
179msgstr "�� `%s' ��� ����� �������� ������"179msgstr "�� `%s' ��� ����� �������� ������"
180 180
181#: directives.c:403181#: directives.c:397
182msgid "suggest not using #elif in traditional C"182msgid "suggest not using #elif in traditional C"
183msgstr ""183msgstr ""
184 184
185#: directives.c:406185#: directives.c:400
186#, c-format186#, c-format
187msgid "traditional C ignores #%s with the # indented"187msgid "traditional C ignores #%s with the # indented"
188msgstr ""188msgstr ""
189 189
190#: directives.c:410190#: directives.c:404
191#, c-format191#, c-format
192msgid "suggest hiding #%s from traditional C with an indented #"192msgid "suggest hiding #%s from traditional C with an indented #"
193msgstr ""193msgstr ""
194 194
195#: directives.c:436195#: directives.c:430
196msgid "embedding a directive within macro arguments is not portable"196msgid "embedding a directive within macro arguments is not portable"
197msgstr ""197msgstr ""
198 198
199#: directives.c:456199#: directives.c:450
200msgid "style of line directive is a GCC extension"200msgid "style of line directive is a GCC extension"
201msgstr ""201msgstr ""
202 202
203#: directives.c:537203#: directives.c:531
204#, c-format204#, c-format
205msgid "invalid preprocessing directive #%s"205msgid "invalid preprocessing directive #%s"
206msgstr ""206msgstr ""
207 207
208#: directives.c:606208#: directives.c:600
209msgid "\"defined\" cannot be used as a macro name"209msgid "\"defined\" cannot be used as a macro name"
210msgstr ""210msgstr ""
211 211
212#: directives.c:611212#: directives.c:605
213msgid "\"__has_include__\" cannot be used as a macro name"213msgid "\"__has_include__\" cannot be used as a macro name"
214msgstr ""214msgstr ""
215 215
216#: directives.c:617216#: directives.c:611
217#, c-format217#, c-format
218msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"218msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
219msgstr ""219msgstr ""
220 220
221#: directives.c:620221#: directives.c:614
222#, c-format222#, c-format
223msgid "no macro name given in #%s directive"223msgid "no macro name given in #%s directive"
224msgstr ""224msgstr ""
225 225
226#: directives.c:623226#: directives.c:617
227#, fuzzy227#, fuzzy
228msgid "macro names must be identifiers"228msgid "macro names must be identifiers"
229msgstr "������ ������������� ���������"229msgstr "������ ������������� ���������"
230 230
231#: directives.c:672 directives.c:677231#: directives.c:666 directives.c:671
232#, fuzzy, c-format232#, fuzzy, c-format
233msgid "undefining \"%s\""233msgid "undefining \"%s\""
234msgstr "�� �������� ����� %s"234msgstr "�� �������� ����� %s"
235 235
236#: directives.c:732236#: directives.c:727
237#, fuzzy237#, fuzzy
238msgid "missing terminating > character"238msgid "missing terminating > character"
239msgstr "���� ���������� �� ������ ����������"239msgstr "���� ���������� �� ������ ����������"
240 240
241#: directives.c:791241#: directives.c:786
242#, c-format242#, c-format
243msgid "#%s expects \"FILENAME\" or <FILENAME>"243msgid "#%s expects \"FILENAME\" or <FILENAME>"
244msgstr ""244msgstr ""
245 245
246#: directives.c:837246#: directives.c:828
247#, fuzzy, c-format247#, fuzzy, c-format
248msgid "empty filename in #%s"248msgid "empty filename in #%s"
249msgstr "�� �������� ����� %s"249msgstr "�� �������� ����� %s"
250 250
251#: directives.c:847251#: directives.c:835
252msgid "#include nested too deeply"252msgid "#include nested too deeply"
253msgstr ""253msgstr ""
254 254
255#: directives.c:888255#: directives.c:877
256msgid "#include_next in primary source file"256msgid "#include_next in primary source file"
257msgstr ""257msgstr ""
258 258
259#: directives.c:914259#: directives.c:903
260#, c-format260#, c-format
261msgid "invalid flag \"%s\" in line directive"261msgid "invalid flag \"%s\" in line directive"
262msgstr ""262msgstr ""
263 263
264#: directives.c:974264#: directives.c:963
265msgid "unexpected end of file after #line"265msgid "unexpected end of file after #line"
266msgstr ""266msgstr ""
267 267
268#: directives.c:977268#: directives.c:966
269#, fuzzy, c-format269#, fuzzy, c-format
270msgid "\"%s\" after #line is not a positive integer"270msgid "\"%s\" after #line is not a positive integer"
271msgstr "%s' ��� ����� ������ ������� ��������."271msgstr "%s' ��� ����� ������ ������� ��������."
272 272
273#: directives.c:983 directives.c:985273#: directives.c:972 directives.c:974
274#, fuzzy274#, fuzzy
275msgid "line number out of range"275msgid "line number out of range"
276msgstr "%s: ������� ������� ��� ��� �� ����"276msgstr "%s: ������� ������� ��� ��� �� ����"
277 277
278#: directives.c:998 directives.c:1079278#: directives.c:987 directives.c:1068
279#, fuzzy, c-format279#, fuzzy, c-format
280msgid "\"%s\" is not a valid filename"280msgid "\"%s\" is not a valid filename"
281msgstr "%s' ��� ����� ������ ������� ��������."281msgstr "%s' ��� ����� ������ ������� ��������."
282 282
283#: directives.c:1039283#: directives.c:1028
284#, fuzzy, c-format284#, fuzzy, c-format
285msgid "\"%s\" after # is not a positive integer"285msgid "\"%s\" after # is not a positive integer"
286msgstr "%s' ��� ����� ������ ������� ��������."286msgstr "%s' ��� ����� ������ ������� ��������."
287 287
288#: directives.c:1098288#: directives.c:1087
289#, c-format289#, c-format
290msgid "file \"%s\" linemarker ignored due to incorrect nesting"290msgid "file \"%s\" linemarker ignored due to incorrect nesting"
291msgstr ""291msgstr ""
292 292
293#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747293#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
294#, c-format294#, c-format
295msgid "%s"295msgid "%s"
296msgstr "%s"296msgstr "%s"
297 297
298#: directives.c:1185298#: directives.c:1175
299#, fuzzy, c-format299#, fuzzy, c-format
300msgid "invalid #%s directive"300msgid "invalid #%s directive"
301msgstr "%%%c: �������������� ������ �� ������."301msgstr "%%%c: �������������� ������ �� ������."
302 302
303#: directives.c:1248303#: directives.c:1238
304#, c-format304#, c-format
305msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"305msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
306msgstr ""306msgstr ""
307 307
308#: directives.c:1257308#: directives.c:1247
309#, c-format309#, c-format
310msgid "registering pragma \"%s\" with name expansion and no namespace"310msgid "registering pragma \"%s\" with name expansion and no namespace"
311msgstr ""311msgstr ""
312 312
313#: directives.c:1275313#: directives.c:1265
314#, c-format314#, c-format
315msgid "registering \"%s\" as both a pragma and a pragma namespace"315msgid "registering \"%s\" as both a pragma and a pragma namespace"
316msgstr ""316msgstr ""
317 317
318#: directives.c:1278318#: directives.c:1268
319#, c-format319#, c-format
320msgid "#pragma %s %s is already registered"320msgid "#pragma %s %s is already registered"
321msgstr ""321msgstr ""
322 322
323#: directives.c:1281323#: directives.c:1271
324#, fuzzy, c-format324#, fuzzy, c-format
325msgid "#pragma %s is already registered"325msgid "#pragma %s is already registered"
326msgstr "� ������ ���������� `%s' �������� ���"326msgstr "� ������ ���������� `%s' �������� ���"
327 327
328#: directives.c:1311328#: directives.c:1301
329msgid "registering pragma with NULL handler"329msgid "registering pragma with NULL handler"
330msgstr ""330msgstr ""
331 331
332#: directives.c:1528332#: directives.c:1518
333msgid "#pragma once in main file"333msgid "#pragma once in main file"
334msgstr ""334msgstr ""
335 335
336#: directives.c:1551336#: directives.c:1541
337#, fuzzy337#, fuzzy
338msgid "invalid #pragma push_macro directive"338msgid "invalid #pragma push_macro directive"
339msgstr "%%%c: �������������� ������ �� ������."339msgstr "%%%c: �������������� ������ �� ������."
340 340
341#: directives.c:1606341#: directives.c:1596
342#, fuzzy342#, fuzzy
343msgid "invalid #pragma pop_macro directive"343msgid "invalid #pragma pop_macro directive"
344msgstr "%%%c: �������������� ������ �� ������."344msgstr "%%%c: �������������� ������ �� ������."
345 345
346#: directives.c:1661346#: directives.c:1651
347msgid "invalid #pragma GCC poison directive"347msgid "invalid #pragma GCC poison directive"
348msgstr ""348msgstr ""
349 349
350#: directives.c:1670350#: directives.c:1660
351#, c-format351#, c-format
352msgid "poisoning existing macro \"%s\""352msgid "poisoning existing macro \"%s\""
353msgstr ""353msgstr ""
354 354
355#: directives.c:1689355#: directives.c:1679
356msgid "#pragma system_header ignored outside include file"356msgid "#pragma system_header ignored outside include file"
357msgstr ""357msgstr ""
358 358
359#: directives.c:1714359#: directives.c:1704
360#, fuzzy, c-format360#, fuzzy, c-format
361msgid "cannot find source file %s"361msgid "cannot find source file %s"
362msgstr "�������� ���������� ��������: %s"362msgstr "�������� ���������� ��������: %s"
363 363
364#: directives.c:1718364#: directives.c:1708
365#, c-format365#, c-format
366msgid "current file is older than %s"366msgid "current file is older than %s"
367msgstr ""367msgstr ""
368 368
369#: directives.c:1742369#: directives.c:1732
370#, fuzzy, c-format370#, fuzzy, c-format
371msgid "invalid \"#pragma GCC %s\" directive"371msgid "invalid \"#pragma GCC %s\" directive"
372msgstr "� ���������� `%s' ��� ����� ������."372msgstr "� ���������� `%s' ��� ����� ������."
373 373
374#: directives.c:1943374#: directives.c:1933
375msgid "_Pragma takes a parenthesized string literal"375msgid "_Pragma takes a parenthesized string literal"
376msgstr ""376msgstr ""
377 377
378#: directives.c:2064378#: directives.c:2021
379msgid "#else without #if"379msgid "#else without #if"
380msgstr ""380msgstr ""
381 381
382#: directives.c:2069382#: directives.c:2026
383msgid "#else after #else"383msgid "#else after #else"
384msgstr "#else ���� ��� #else"384msgstr "#else ���� ��� #else"
385 385
386#: directives.c:2071 directives.c:2104386#: directives.c:2028 directives.c:2061
387msgid "the conditional began here"387msgid "the conditional began here"
388msgstr ""388msgstr ""
389 389
390#: directives.c:2097390#: directives.c:2054
391msgid "#elif without #if"391msgid "#elif without #if"
392msgstr ""392msgstr ""
393 393
394#: directives.c:2102394#: directives.c:2059
395msgid "#elif after #else"395msgid "#elif after #else"
396msgstr "#elif ���� ��� #else"396msgstr "#elif ���� ��� #else"
397 397
398#: directives.c:2133398#: directives.c:2090
399msgid "#endif without #if"399msgid "#endif without #if"
400msgstr ""400msgstr ""
401 401
402#: directives.c:2213402#: directives.c:2166
403msgid "missing '(' after predicate"403msgid "missing '(' after predicate"
404msgstr ""404msgstr ""
405 405
406#: directives.c:2228406#: directives.c:2184
407msgid "missing ')' to complete answer"407msgid "missing ')' to complete answer"
408msgstr ""408msgstr ""
409 409
410#: directives.c:2248410#: directives.c:2196
411msgid "predicate's answer is empty"411msgid "predicate's answer is empty"
412msgstr ""412msgstr ""
413 413
414#: directives.c:2275414#: directives.c:2226
415#, fuzzy415#, fuzzy
416msgid "assertion without predicate"416msgid "assertion without predicate"
417msgstr "� ���������� ��� �����������"417msgstr "� ���������� ��� �����������"
418 418
419#: directives.c:2278419#: directives.c:2229
420#, fuzzy420#, fuzzy
421msgid "predicate must be an identifier"421msgid "predicate must be an identifier"
422msgstr "������ ������������� ���������"422msgstr "������ ������������� ���������"
423 423
424#: directives.c:2364424#: directives.c:2311
425#, c-format425#, c-format
426msgid "\"%s\" re-asserted"426msgid "\"%s\" re-asserted"
427msgstr ""427msgstr ""
428 428
429#: directives.c:2656429#: directives.c:2587
430#, fuzzy, c-format430#, fuzzy, c-format
431msgid "unterminated #%s"431msgid "unterminated #%s"
432msgstr "�� ������������o �������������"432msgstr "�� ������������o �������������"
433 433
434#: directives-only.c:221 lex.c:2851 traditional.c:167434#: directives-only.c:221 lex.c:2862 traditional.c:175
435#, fuzzy435#, fuzzy
436msgid "unterminated comment"436msgid "unterminated comment"
437msgstr "�� ������������ ������ `s'"437msgstr "�� ������������ ������ `s'"
438 438
439# src/request.c:37439# src/request.c:37
440#: errors.c:284440#: errors.c:291
441#, c-format441#, c-format
442msgid "%s: %s"442msgid "%s: %s"
443msgstr "%s: %s"443msgstr "%s: %s"
444 444
445#: errors.c:296445#: errors.c:304
446msgid "stdout"446msgid "stdout"
447msgstr ""447msgstr ""
448 448
@@ -542,30 +542,30 @@ msgstr "" · 93 unmodified lines
542msgid "this use of \"defined\" may not be portable"542msgid "this use of \"defined\" may not be portable"
543msgstr ""543msgstr ""
544 544
545#: expr.c:1125545#: expr.c:1109
546msgid "user-defined literal in preprocessor expression"546msgid "user-defined literal in preprocessor expression"
547msgstr ""547msgstr ""
548 548
549#: expr.c:1130549#: expr.c:1114
550#, fuzzy550#, fuzzy
551msgid "floating constant in preprocessor expression"551msgid "floating constant in preprocessor expression"
552msgstr "�������� ������� ������������"552msgstr "�������� ������� ������������"
553 553
554#: expr.c:1136554#: expr.c:1120
555#, fuzzy555#, fuzzy
556msgid "imaginary number in preprocessor expression"556msgid "imaginary number in preprocessor expression"
557msgstr "�� ������� ������� ��� �������"557msgstr "�� ������� ������� ��� �������"
558 558
559#: expr.c:1189559#: expr.c:1173
560#, fuzzy, c-format560#, fuzzy, c-format
561msgid "\"%s\" is not defined, evaluates to 0"561msgid "\"%s\" is not defined, evaluates to 0"
562msgstr "�� `%s' ��� ����� �������� ������"562msgstr "�� `%s' ��� ����� �������� ������"
563 563
564#: expr.c:1202564#: expr.c:1186
565msgid "assertions are a GCC extension"565msgid "assertions are a GCC extension"
566msgstr ""566msgstr ""
567 567
568#: expr.c:1205568#: expr.c:1189
569msgid "assertions are a deprecated extension"569msgid "assertions are a deprecated extension"
570msgstr ""570msgstr ""
571 571
@@ -573,63 +573,63 @@ msgstr "" · 1 unmodified line
573# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704573# src/dfa.c:690 src/dfa.c:703 src/dfa.c:704
574# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695574# src/dfa.c:660 src/dfa.c:663 src/dfa.c:690 src/dfa.c:694 src/dfa.c:695
575# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712575# src/dfa.c:698 src/dfa.c:711 src/dfa.c:712
576#: expr.c:1451576#: expr.c:1435
577#, fuzzy, c-format577#, fuzzy, c-format
578msgid "unbalanced stack in %s"578msgid "unbalanced stack in %s"
579msgstr "�� ������������ ["579msgstr "�� ������������ ["
580 580
581#: expr.c:1471581#: expr.c:1455
582#, fuzzy, c-format582#, fuzzy, c-format
583msgid "impossible operator '%u'"583msgid "impossible operator '%u'"
584msgstr "RPC: �� �������� �������� ��� RPC"584msgstr "RPC: �� �������� �������� ��� RPC"
585 585
586#: expr.c:1572586#: expr.c:1556
587#, fuzzy587#, fuzzy
588msgid "missing ')' in expression"588msgid "missing ')' in expression"
589msgstr "���� ���������� � ����� �� ��� ������"589msgstr "���� ���������� � ����� �� ��� ������"
590 590
591#: expr.c:1601591#: expr.c:1585
592#, fuzzy592#, fuzzy
593msgid "'?' without following ':'"593msgid "'?' without following ':'"
594msgstr "���������� ������ ���� �������: %s"594msgstr "���������� ������ ���� �������: %s"
595 595
596#: expr.c:1611596#: expr.c:1595
597msgid "integer overflow in preprocessor expression"597msgid "integer overflow in preprocessor expression"
598msgstr ""598msgstr ""
599 599
600#: expr.c:1616600#: expr.c:1600
601#, fuzzy601#, fuzzy
602msgid "missing '(' in expression"602msgid "missing '(' in expression"
603msgstr "���� ���������� � ����� �� ��� ������"603msgstr "���� ���������� � ����� �� ��� ������"
604 604
605#: expr.c:1648605#: expr.c:1632
606#, c-format606#, c-format
607msgid "the left operand of \"%s\" changes sign when promoted"607msgid "the left operand of \"%s\" changes sign when promoted"
608msgstr ""608msgstr ""
609 609
610#: expr.c:1653610#: expr.c:1637
611#, c-format611#, c-format
612msgid "the right operand of \"%s\" changes sign when promoted"612msgid "the right operand of \"%s\" changes sign when promoted"
613msgstr ""613msgstr ""
614 614
615#: expr.c:1912615#: expr.c:1896
616msgid "traditional C rejects the unary plus operator"616msgid "traditional C rejects the unary plus operator"
617msgstr ""617msgstr ""
618 618
619#: expr.c:2010619#: expr.c:1994
620msgid "comma operator in operand of #if"620msgid "comma operator in operand of #if"
621msgstr ""621msgstr ""
622 622
623#: expr.c:2146623#: expr.c:2130
624#, fuzzy624#, fuzzy
625msgid "division by zero in #if"625msgid "division by zero in #if"
626msgstr "�������� �� ����� ���� ���������: %s"626msgstr "�������� �� ����� ���� ���������: %s"
627 627
628#: expr.c:2243628#: expr.c:2227
629msgid "operator \"__has_include__\" requires a header string"629msgid "operator \"__has_include__\" requires a header string"
630msgstr ""630msgstr ""
631 631
632#: expr.c:2259632#: expr.c:2243
633#, fuzzy633#, fuzzy
634msgid "missing ')' after \"__has_include__\""634msgid "missing ')' after \"__has_include__\""
635msgstr "���� ���������� � ����� �� �� �����"635msgstr "���� ���������� � ����� �� �� �����"
@@ -647,41 +647,41 @@ msgstr "" · 11 unmodified lines
647msgid "no include path in which to search for %s"647msgid "no include path in which to search for %s"
648msgstr ""648msgstr ""
649 649
650#: files.c:1441650#: files.c:1455
651msgid "Multiple include guards may be useful for:\n"651msgid "Multiple include guards may be useful for:\n"
652msgstr ""652msgstr ""
653 653
654#: init.c:565654#: init.c:569
655#, fuzzy655#, fuzzy
656msgid "cppchar_t must be an unsigned type"656msgid "cppchar_t must be an unsigned type"
657msgstr "������ ������������� ���������"657msgstr "������ ������������� ���������"
658 658
659#: init.c:569659#: init.c:573
660#, c-format660#, c-format
661msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"661msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
662msgstr ""662msgstr ""
663 663
664#: init.c:576664#: init.c:580
665msgid "CPP arithmetic must be at least as precise as a target int"665msgid "CPP arithmetic must be at least as precise as a target int"
666msgstr ""666msgstr ""
667 667
668#: init.c:579668#: init.c:583
669msgid "target char is less than 8 bits wide"669msgid "target char is less than 8 bits wide"
670msgstr ""670msgstr ""
671 671
672#: init.c:583672#: init.c:587
673msgid "target wchar_t is narrower than target char"673msgid "target wchar_t is narrower than target char"
674msgstr ""674msgstr ""
675 675
676#: init.c:587676#: init.c:591
677msgid "target int is narrower than target char"677msgid "target int is narrower than target char"
678msgstr ""678msgstr ""
679 679
680#: init.c:592680#: init.c:596
681msgid "CPP half-integer narrower than CPP character"681msgid "CPP half-integer narrower than CPP character"
682msgstr ""682msgstr ""
683 683
684#: init.c:596684#: init.c:600
685#, c-format685#, c-format
686msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"686msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
687msgstr ""687msgstr ""
@@ -755,262 +755,263 @@ msgstr "" · 67 unmodified lines
755msgid "identifier \"%s\" is a special operator name in C++"755msgid "identifier \"%s\" is a special operator name in C++"
756msgstr ""756msgstr ""
757 757
758#: lex.c:1811758#: lex.c:1826
759msgid "raw string delimiter longer than 16 characters"759msgid "raw string delimiter longer than 16 characters"
760msgstr ""760msgstr ""
761 761
762#: lex.c:1815762#: lex.c:1830
763msgid "invalid new-line in raw string delimiter"763msgid "invalid new-line in raw string delimiter"
764msgstr ""764msgstr ""
765 765
766#: lex.c:1819766#: lex.c:1834
767#, fuzzy, c-format767#, fuzzy, c-format
768msgid "invalid character '%c' in raw string delimiter"768msgid "invalid character '%c' in raw string delimiter"
769msgstr "�� ������� ���������� `%c' ��� ���� �������������� `%s'"769msgstr "�� ������� ���������� `%c' ��� ���� �������������� `%s'"
770 770
771#: lex.c:1868 lex.c:1890771#: lex.c:1883 lex.c:1905
772#, fuzzy772#, fuzzy
773msgid "unterminated raw string"773msgid "unterminated raw string"
774msgstr "�� ������������o �������������"774msgstr "�� ������������o �������������"
775 775
776#: lex.c:1912 lex.c:2043776#: lex.c:1925 lex.c:2054
777msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"777msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
778msgstr ""778msgstr ""
779 779
780#: lex.c:2024780#: lex.c:2037
781msgid "null character(s) preserved in literal"781msgid "null character(s) preserved in literal"
782msgstr ""782msgstr ""
783 783
784#: lex.c:2027784#: lex.c:2040
785#, c-format785#, c-format
786msgid "missing terminating %c character"786msgid "missing terminating %c character"
787msgstr "���� ���������� ���������� ���������� %c"787msgstr "���� ���������� ���������� ���������� %c"
788 788
789#: lex.c:2061789#: lex.c:2072
790msgid "C++11 requires a space between string literal and macro"790msgid "C++11 requires a space between string literal and macro"
791msgstr ""791msgstr ""
792 792
793#: lex.c:2865 lex.c:2899793#: lex.c:2876 lex.c:2910
794msgid "C++ style comments are not allowed in ISO C90"794msgid "C++ style comments are not allowed in ISO C90"
795msgstr ""795msgstr ""
796 796
797#: lex.c:2867 lex.c:2878 lex.c:2901797#: lex.c:2878 lex.c:2889 lex.c:2913
798msgid "(this will be reported only once per input file)"798msgid "(this will be reported only once per input file)"
799msgstr ""799msgstr ""
800 800
801#: lex.c:2876801#: lex.c:2887
802msgid "C++ style comments are incompatible with C90"802msgid "C++ style comments are incompatible with C90"
803msgstr ""803msgstr ""
804 804
805#: lex.c:2907805#: lex.c:2919
806msgid "multi-line comment"806msgid "multi-line comment"
807msgstr ""807msgstr ""
808 808
809#: lex.c:3287809#: lex.c:3299
810#, fuzzy, c-format810#, fuzzy, c-format
811msgid "unspellable token %s"811msgid "unspellable token %s"
812msgstr "%s: ������� �� ������� ��� %s: %m\n"812msgstr "%s: ������� �� ������� ��� %s: %m\n"
813 813
814#: macro.c:93814#: macro.c:94
815msgid "'##' cannot appear at either end of __VA_OPT__"815msgid "'##' cannot appear at either end of __VA_OPT__"
816msgstr ""816msgstr ""
817 817
818#: macro.c:352818#: macro.c:354
819#, fuzzy, c-format819#, fuzzy, c-format
820msgid "macro \"%s\" is not used"820msgid "macro \"%s\" is not used"
821msgstr "�� `%s' ��� ����� �������� ������"821msgstr "�� `%s' ��� ����� �������� ������"
822 822
823#: macro.c:391 macro.c:639823#: macro.c:393 macro.c:641
824#, fuzzy, c-format824#, fuzzy, c-format
825msgid "invalid built-in macro \"%s\""825msgid "invalid built-in macro \"%s\""
826msgstr "�� ������ ����� �������: %s"826msgstr "�� ������ ����� �������: %s"
827 827
828#: macro.c:398 macro.c:500828#: macro.c:400 macro.c:502
829#, c-format829#, c-format
830msgid "macro \"%s\" might prevent reproducible builds"830msgid "macro \"%s\" might prevent reproducible builds"
831msgstr ""831msgstr ""
832 832
833#: macro.c:429833#: macro.c:431
834#, fuzzy834#, fuzzy
835msgid "could not determine file timestamp"835msgid "could not determine file timestamp"
836msgstr "��� ������� �� ������ �� ������ %s"836msgstr "��� ������� �� ������ �� ������ %s"
837 837
838#: macro.c:546838#: macro.c:548
839#, fuzzy839#, fuzzy
840msgid "could not determine date and time"840msgid "could not determine date and time"
841msgstr "��� ������� �� ������ �� ������ %s"841msgstr "��� ������� �� ������ �� ������ %s"
842 842
843#: macro.c:562843#: macro.c:564
844msgid "__COUNTER__ expanded inside directive with -fdirectives-only"844msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
845msgstr ""845msgstr ""
846 846
847#: macro.c:758847#: macro.c:760
848#, fuzzy848#, fuzzy
849msgid "invalid string literal, ignoring final '\\'"849msgid "invalid string literal, ignoring final '\\'"
850msgstr "�� ������� ������� ������� �������: `%s'"850msgstr "�� ������� ������� ������� �������: `%s'"
851 851
852#: macro.c:820852#: macro.c:822
853#, c-format853#, c-format
854msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"854msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
855msgstr ""855msgstr ""
856 856
857#: macro.c:946857#: macro.c:948
858msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"858msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
859msgstr ""859msgstr ""
860 860
861#: macro.c:950861#: macro.c:952
862#, fuzzy862#, fuzzy
863msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"863msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
864msgstr "���� ������ ����������"864msgstr "���� ������ ����������"
865 865
866#: macro.c:957866#: macro.c:959
867#, c-format867#, c-format
868msgid "macro \"%s\" requires %u arguments, but only %u given"868msgid "macro \"%s\" requires %u arguments, but only %u given"
869msgstr ""869msgstr ""
870 870
871#: macro.c:962871#: macro.c:964
872#, c-format872#, c-format
873msgid "macro \"%s\" passed %u arguments, but takes just %u"873msgid "macro \"%s\" passed %u arguments, but takes just %u"
874msgstr ""874msgstr ""
875 875
876#: macro.c:1156 traditional.c:819876#: macro.c:1162 traditional.c:827
877#, c-format877#, c-format
878msgid "unterminated argument list invoking macro \"%s\""878msgid "unterminated argument list invoking macro \"%s\""
879msgstr ""879msgstr ""
880 880
881#: macro.c:1307881#: macro.c:1304
882#, c-format882#, c-format
883msgid "function-like macro \"%s\" must be used with arguments in traditional C"883msgid "function-like macro \"%s\" must be used with arguments in traditional C"
884msgstr ""884msgstr ""
885 885
886#: macro.c:2003886#: macro.c:2083
887#, c-format887#, c-format
888msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"888msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
889msgstr ""889msgstr ""
890 890
891#: macro.c:2011 macro.c:2020891#: macro.c:2091 macro.c:2100
892#, c-format892#, c-format
893msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"893msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
894msgstr ""894msgstr ""
895 895
896#: macro.c:2984896#: macro.c:3059
897#, fuzzy, c-format897#, fuzzy, c-format
898msgid "duplicate macro parameter \"%s\""898msgid "duplicate macro parameter \"%s\""
899msgstr "����� ����� ��������� `%s'"899msgstr "����� ����� ��������� `%s'"
900 900
901#: macro.c:3033901#: macro.c:3141
902#, fuzzy, c-format
903msgid "expected parameter name, found \"%s\""
904msgstr "����� ����� ��������� `%s'"
905
906#: macro.c:3142
902#, c-format907#, c-format
903msgid "\"%s\" may not appear in macro parameter list"908msgid "expected ',' or ')', found \"%s\""
904msgstr ""909msgstr ""
905 910
906#: macro.c:3041911#: macro.c:3143
907msgid "macro parameters must be comma-separated"912#, fuzzy
913msgid "expected parameter name before end of line"
914msgstr "%s: ���������� ���������� ����."
915
916#: macro.c:3144
917msgid "expected ')' before end of line"
908msgstr ""918msgstr ""
909 919
910#: macro.c:3060920#: macro.c:3145
911msgid "parameter name missing"921msgid "expected ')' after \"...\""
912msgstr ""922msgstr ""
913 923
914#: macro.c:3081924#: macro.c:3202
915msgid "anonymous variadic macros were introduced in C++11"925msgid "anonymous variadic macros were introduced in C++11"
916msgstr ""926msgstr ""
917 927
918#: macro.c:3085 macro.c:3090928#: macro.c:3203 macro.c:3207
919msgid "anonymous variadic macros were introduced in C99"929msgid "anonymous variadic macros were introduced in C99"
920msgstr ""930msgstr ""
921 931
922#: macro.c:3097932#: macro.c:3213
923msgid "ISO C++ does not permit named variadic macros"933msgid "ISO C++ does not permit named variadic macros"
924msgstr ""934msgstr ""
925 935
926#: macro.c:3100936#: macro.c:3214
927msgid "ISO C does not permit named variadic macros"937msgid "ISO C does not permit named variadic macros"
928msgstr ""938msgstr ""
929 939
930#: macro.c:3110940#: macro.c:3260
931msgid "missing ')' in macro parameter list"
932msgstr ""
933
934#: macro.c:3161
935msgid "'##' cannot appear at either end of a macro expansion"941msgid "'##' cannot appear at either end of a macro expansion"
936msgstr ""942msgstr ""
937 943
938#: macro.c:3198944#: macro.c:3298
939msgid "ISO C++11 requires whitespace after the macro name"945msgid "ISO C++11 requires whitespace after the macro name"
940msgstr ""946msgstr ""
941 947
942#: macro.c:3201948#: macro.c:3299
943#, fuzzy949#, fuzzy
944msgid "ISO C99 requires whitespace after the macro name"950msgid "ISO C99 requires whitespace after the macro name"
945msgstr "���� ������ ����������"951msgstr "���� ������ ����������"
946 952
947#: macro.c:3226953#: macro.c:3323
948msgid "missing whitespace after the macro name"954msgid "missing whitespace after the macro name"
949msgstr ""955msgstr ""
950 956
951#: macro.c:3263957#: macro.c:3373
952msgid "'#' is not followed by a macro parameter"958msgid "'#' is not followed by a macro parameter"
953msgstr ""959msgstr ""
954 960
955#: macro.c:3430961#: macro.c:3524
956#, fuzzy, c-format962#, fuzzy, c-format
957msgid "\"%s\" redefined"963msgid "\"%s\" redefined"
958msgstr "�������"964msgstr "�������"
959 965
960#: macro.c:3435966#: macro.c:3529
961#, fuzzy967#, fuzzy
962msgid "this is the location of the previous definition"968msgid "this is the location of the previous definition"
963msgstr "���� ����� � ���� ��� ������ �������"969msgstr "���� ����� � ���� ��� ������ �������"
964 970
965#: macro.c:3496971#: macro.c:3633
966#, c-format972#, c-format
967msgid "macro argument \"%s\" would be stringified in traditional C"973msgid "macro argument \"%s\" would be stringified in traditional C"
968msgstr ""974msgstr ""
969 975
970#: macro.c:3532976#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
971#, c-format
972msgid "invalid hash type %d in cpp_macro_definition"
973msgstr ""
974
975#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
976msgid "while writing precompiled header"977msgid "while writing precompiled header"
977msgstr ""978msgstr ""
978 979
979#: pch.c:621980#: pch.c:616
980#, c-format981#, c-format
981msgid "%s: not used because `%.*s' is poisoned"982msgid "%s: not used because `%.*s' is poisoned"
982msgstr ""983msgstr ""
983 984
984#: pch.c:643985#: pch.c:638
985#, c-format986#, c-format
986msgid "%s: not used because `%.*s' not defined"987msgid "%s: not used because `%.*s' not defined"
987msgstr ""988msgstr ""
988 989
989#: pch.c:655990#: pch.c:650
990#, c-format991#, c-format
991msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"992msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
992msgstr ""993msgstr ""
993 994
994#: pch.c:696995#: pch.c:691
995#, c-format996#, c-format
996msgid "%s: not used because `%s' is defined"997msgid "%s: not used because `%s' is defined"
997msgstr ""998msgstr ""
998 999
999#: pch.c:7161000#: pch.c:711
1000#, c-format1001#, c-format
1001msgid "%s: not used because `__COUNTER__' is invalid"1002msgid "%s: not used because `__COUNTER__' is invalid"
1002msgstr ""1003msgstr ""
1003 1004
1004#: pch.c:725 pch.c:9031005#: pch.c:720 pch.c:878
1005msgid "while reading precompiled header"1006msgid "while reading precompiled header"
1006msgstr ""1007msgstr ""
1007 1008
1008#: traditional.c:8891009#: traditional.c:896
1009#, c-format1010#, c-format
1010msgid "detected recursion whilst expanding macro \"%s\""1011msgid "detected recursion whilst expanding macro \"%s\""
1011msgstr ""1012msgstr ""
1012 1013
1013#: traditional.c:11081014#: traditional.c:1119
1014#, fuzzy1015#, fuzzy
1015msgid "syntax error in macro parameter list"1016msgid "syntax error in macro parameter list"
1016msgstr "���������� ������ ���� ������ ������ ����������"1017msgstr "���������� ������ ���� ������ ������ ����������"
@@ -1280,10 +1281,6 @@ msgstr " · 263 unmodified lines
1280#~ msgid "parameter `%s' declared void"1281#~ msgid "parameter `%s' declared void"
1281#~ msgstr "� ������ ���������� `%s' �������� ���"1282#~ msgstr "� ������ ���������� `%s' �������� ���"
1282 1283
1283#, fuzzy
1284#~ msgid "multiple parameters named `%s'"
1285#~ msgstr "����� ����� ��������� `%s'"
1286
1287#, fuzzy1284#, fuzzy
1288#~ msgid "no return statement in function returning non-void"1285#~ msgid "no return statement in function returning non-void"
1289#~ msgstr "`return' ����� ����, �� ��������� ��� ���������� ��-����"1286#~ msgstr "`return' ����� ����, �� ��������� ��� ���������� ��-����"
@@ -5179,10 +5176,6 @@ msgstr " · 3889 unmodified lines
5179#~ msgid "start label '%s' does not match end label '%s'"5176#~ msgid "start label '%s' does not match end label '%s'"
5180#~ msgstr "�� ������ ��������� ������ `%s' ��� ��������� �� �� �������������� ����������� `%s'"5177#~ msgstr "�� ������ ��������� ������ `%s' ��� ��������� �� �� �������������� ����������� `%s'"
5181 5178
5182#, fuzzy
5183#~ msgid "expected a name here"
5184#~ msgstr "%s: ���������� ���������� ����."
5185
5186#, fuzzy5179#, fuzzy
5187#~ msgid "expected a name string here"5180#~ msgid "expected a name string here"
5188#~ msgstr "%s: ���������� ���������� ����."5181#~ msgstr "%s: ���������� ���������� ����."
gcc/libcpp/po/eo.po+185−170
@@ -1,14 +1,14 @@
1# Translation of cpplib to Esperanto1# Translation of cpplib to Esperanto
2# Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.2# Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software Foundation, Inc.
3# This file is distributed under the same license as the gcc package.3# This file is distributed under the same license as the gcc package.
4# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018.4# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
5#5#
6msgid ""6msgid ""
7msgstr ""7msgstr ""
8"Project-Id-Version: cpplib 8.1-b20180128\n"8"Project-Id-Version: cpplib 9.1-b20190203\n"
9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
10"POT-Creation-Date: 2018-01-26 22:47+0000\n"10"POT-Creation-Date: 2019-02-01 23:01+0000\n"
11"PO-Revision-Date: 2018-06-06 16:53-0300\n"11"PO-Revision-Date: 2019-02-06 20:15+0100\n"
12"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"12"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
13"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"13"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
14"Language: eo\n"14"Language: eo\n"
@@ -16,7 +16,7 @@ msgstr "" · 1 unmodified line
16"Content-Type: text/plain; charset=utf-8\n"16"Content-Type: text/plain; charset=utf-8\n"
17"Content-Transfer-Encoding: 8bit\n"17"Content-Transfer-Encoding: 8bit\n"
18"X-Bugs: Report translation errors to the Language-Team address.\n"18"X-Bugs: Report translation errors to the Language-Team address.\n"
19"X-Generator: Poedit 1.5.4\n"19"X-Generator: Poedit 2.0.7\n"
20 20
21#: charset.c:67421#: charset.c:674
22#, c-format22#, c-format
@@ -87,7 +87,7 @@ msgstr "la universala signo %.*s ne estas valida en identiganto" · 64 unmodified lines
87msgid "universal character %.*s is not valid at the start of an identifier"87msgid "universal character %.*s is not valid at the start of an identifier"
88msgstr "la universala signo %.*s ne estas valida en komenco de identiganto"88msgstr "la universala signo %.*s ne estas valida en komenco de identiganto"
89 89
90#: charset.c:1181 charset.c:200090#: charset.c:1181 charset.c:2002
91msgid "converting UCN to source character set"91msgid "converting UCN to source character set"
92msgstr "konverto de UCN al la fonta signaro"92msgstr "konverto de UCN al la fonta signaro"
93 93
@@ -138,294 +138,294 @@ msgstr "konverto de eskapa sekvo al plenumiga signaro" · 44 unmodified lines
138msgid "missing open quote"138msgid "missing open quote"
139msgstr "mankas komenca citilo"139msgstr "mankas komenca citilo"
140 140
141#: charset.c:1827 charset.c:1891141#: charset.c:1829 charset.c:1893
142msgid "character constant too long for its type"142msgid "character constant too long for its type"
143msgstr "signa konstanto tro longas por ties tipo"143msgstr "signa konstanto tro longas por ties tipo"
144 144
145#: charset.c:1830145#: charset.c:1832
146msgid "multi-character character constant"146msgid "multi-character character constant"
147msgstr "plursigna signa konstanto"147msgstr "plursigna signa konstanto"
148 148
149#: charset.c:1931149#: charset.c:1933
150msgid "empty character constant"150msgid "empty character constant"
151msgstr "malplena signa konstanto"151msgstr "malplena signa konstanto"
152 152
153#: charset.c:2047153#: charset.c:2049
154#, c-format154#, c-format
155msgid "failure to convert %s to %s"155msgid "failure to convert %s to %s"
156msgstr "problemo por konverti %s al %s"156msgstr "problemo por konverti %s al %s"
157 157
158#: directives.c:235 directives.c:278158#: directives.c:229 directives.c:272
159#, c-format159#, c-format
160msgid "extra tokens at end of #%s directive"160msgid "extra tokens at end of #%s directive"
161msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s"161msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s"
162 162
163#: directives.c:385163#: directives.c:379
164#, c-format164#, c-format
165msgid "#%s is a GCC extension"165msgid "#%s is a GCC extension"
166msgstr "#%s estas aldono de GCC"166msgstr "#%s estas aldono de GCC"
167 167
168#: directives.c:390168#: directives.c:384
169#, c-format169#, c-format
170msgid "#%s is a deprecated GCC extension"170msgid "#%s is a deprecated GCC extension"
171msgstr "#%s estas evitinda aldono de GCC"171msgstr "#%s estas evitinda aldono de GCC"
172 172
173#: directives.c:403173#: directives.c:397
174msgid "suggest not using #elif in traditional C"174msgid "suggest not using #elif in traditional C"
175msgstr "sugesti ne uzi #elif en tradicia C"175msgstr "sugesti ne uzi #elif en tradicia C"
176 176
177#: directives.c:406177#: directives.c:400
178#, c-format178#, c-format
179msgid "traditional C ignores #%s with the # indented"179msgid "traditional C ignores #%s with the # indented"
180msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"180msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"
181 181
182#: directives.c:410182#: directives.c:404
183#, c-format183#, c-format
184msgid "suggest hiding #%s from traditional C with an indented #"184msgid "suggest hiding #%s from traditional C with an indented #"
185msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #"185msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #"
186 186
187#: directives.c:436187#: directives.c:430
188msgid "embedding a directive within macro arguments is not portable"188msgid "embedding a directive within macro arguments is not portable"
189msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla"189msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla"
190 190
191#: directives.c:456191#: directives.c:450
192msgid "style of line directive is a GCC extension"192msgid "style of line directive is a GCC extension"
193msgstr "stilo de lini-instrukcioj estas aldono de GCC"193msgstr "stilo de lini-instrukcioj estas aldono de GCC"
194 194
195#: directives.c:537195#: directives.c:531
196#, c-format196#, c-format
197msgid "invalid preprocessing directive #%s"197msgid "invalid preprocessing directive #%s"
198msgstr "malvalida antaŭproceza instrukcio #%s"198msgstr "malvalida antaŭproceza instrukcio #%s"
199 199
200#: directives.c:606200#: directives.c:600
201msgid "\"defined\" cannot be used as a macro name"201msgid "\"defined\" cannot be used as a macro name"
202msgstr "\"defined\" ne povas estis uzata kiel makroa nomo"202msgstr "\"defined\" ne povas estis uzata kiel makroa nomo"
203 203
204#: directives.c:611204#: directives.c:605
205msgid "\"__has_include__\" cannot be used as a macro name"205msgid "\"__has_include__\" cannot be used as a macro name"
206msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo"206msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo"
207 207
208#: directives.c:617208#: directives.c:611
209#, c-format209#, c-format
210msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"210msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
211msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++"211msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++"
212 212
213#: directives.c:620213#: directives.c:614
214#, c-format214#, c-format
215msgid "no macro name given in #%s directive"215msgid "no macro name given in #%s directive"
216msgstr "neniu makroa nomo estas indikita en la instrukcio #%s"216msgstr "neniu makroa nomo estas indikita en la instrukcio #%s"
217 217
218#: directives.c:623218#: directives.c:617
219msgid "macro names must be identifiers"219msgid "macro names must be identifiers"
220msgstr "makroaj nomoj devas esti identigantoj"220msgstr "makroaj nomoj devas esti identigantoj"
221 221
222#: directives.c:672 directives.c:677222#: directives.c:666 directives.c:671
223#, c-format223#, c-format
224msgid "undefining \"%s\""224msgid "undefining \"%s\""
225msgstr "ni maldifinas \"%s\""225msgstr "ni maldifinas \"%s\""
226 226
227#: directives.c:732227#: directives.c:727
228msgid "missing terminating > character"228msgid "missing terminating > character"
229msgstr "mankas finiganta signo >"229msgstr "mankas finiganta signo >"
230 230
231#: directives.c:791231#: directives.c:786
232#, c-format232#, c-format
233msgid "#%s expects \"FILENAME\" or <FILENAME>"233msgid "#%s expects \"FILENAME\" or <FILENAME>"
234msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"234msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"
235 235
236#: directives.c:837236#: directives.c:828
237#, c-format237#, c-format
238msgid "empty filename in #%s"238msgid "empty filename in #%s"
239msgstr "malplena dosiernomo en #%s"239msgstr "malplena dosiernomo en #%s"
240 240
241#: directives.c:847241#: directives.c:835
242msgid "#include nested too deeply"242msgid "#include nested too deeply"
243msgstr "#include estas ingita tro profunde"243msgstr "#include estas ingita tro profunde"
244 244
245#: directives.c:888245#: directives.c:877
246msgid "#include_next in primary source file"246msgid "#include_next in primary source file"
247msgstr "#include_next en ĉefa fonta dosiero"247msgstr "#include_next en ĉefa fonta dosiero"
248 248
249#: directives.c:914249#: directives.c:903
250#, c-format250#, c-format
251msgid "invalid flag \"%s\" in line directive"251msgid "invalid flag \"%s\" in line directive"
252msgstr "malvalida flago \"%s\" en lini-instrukcio"252msgstr "malvalida flago \"%s\" en lini-instrukcio"
253 253
254#: directives.c:974254#: directives.c:963
255msgid "unexpected end of file after #line"255msgid "unexpected end of file after #line"
256msgstr "neatendita dosierfino post #line"256msgstr "neatendita dosierfino post #line"
257 257
258#: directives.c:977258#: directives.c:966
259#, c-format259#, c-format
260msgid "\"%s\" after #line is not a positive integer"260msgid "\"%s\" after #line is not a positive integer"
261msgstr "\"%s\" post #line ne estas pozitiva entjero"261msgstr "\"%s\" post #line ne estas pozitiva entjero"
262 262
263#: directives.c:983 directives.c:985263#: directives.c:972 directives.c:974
264msgid "line number out of range"264msgid "line number out of range"
265msgstr "lininumero estas for de intervalo"265msgstr "lininumero estas for de intervalo"
266 266
267#: directives.c:998 directives.c:1079267#: directives.c:987 directives.c:1068
268#, c-format268#, c-format
269msgid "\"%s\" is not a valid filename"269msgid "\"%s\" is not a valid filename"
270msgstr "\"%s\" ne estas valida dosiernomo"270msgstr "\"%s\" ne estas valida dosiernomo"
271 271
272#: directives.c:1039272#: directives.c:1028
273#, c-format273#, c-format
274msgid "\"%s\" after # is not a positive integer"274msgid "\"%s\" after # is not a positive integer"
275msgstr "\"%s\" post # ne estas pozitiva entjero"275msgstr "\"%s\" post # ne estas pozitiva entjero"
276 276
277#: directives.c:1098277#: directives.c:1087
278#, c-format278#, c-format
279msgid "file \"%s\" linemarker ignored due to incorrect nesting"279msgid "file \"%s\" linemarker ignored due to incorrect nesting"
280msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto"280msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto"
281 281
282#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747282#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
283#, c-format283#, c-format
284msgid "%s"284msgid "%s"
285msgstr "%s"285msgstr "%s"
286 286
287#: directives.c:1185287#: directives.c:1175
288#, c-format288#, c-format
289msgid "invalid #%s directive"289msgid "invalid #%s directive"
290msgstr "malvalida instrukcio #%s"290msgstr "malvalida instrukcio #%s"
291 291
292#: directives.c:1248292#: directives.c:1238
293#, c-format293#, c-format
294msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"294msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
295msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo"295msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo"
296 296
297#: directives.c:1257297#: directives.c:1247
298#, c-format298#, c-format
299msgid "registering pragma \"%s\" with name expansion and no namespace"299msgid "registering pragma \"%s\" with name expansion and no namespace"
300msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco"300msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco"
301 301
302#: directives.c:1275302#: directives.c:1265
303#, c-format303#, c-format
304msgid "registering \"%s\" as both a pragma and a pragma namespace"304msgid "registering \"%s\" as both a pragma and a pragma namespace"
305msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco"305msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco"
306 306
307#: directives.c:1278307#: directives.c:1268
308#, c-format308#, c-format
309msgid "#pragma %s %s is already registered"309msgid "#pragma %s %s is already registered"
310msgstr "#pragma %s %s jam estas registrita"310msgstr "#pragma %s %s jam estas registrita"
311 311
312#: directives.c:1281312#: directives.c:1271
313#, c-format313#, c-format
314msgid "#pragma %s is already registered"314msgid "#pragma %s is already registered"
315msgstr "#pragma %s jam estas registrita"315msgstr "#pragma %s jam estas registrita"
316 316
317#: directives.c:1311317#: directives.c:1301
318msgid "registering pragma with NULL handler"318msgid "registering pragma with NULL handler"
319msgstr "registro de pragma kun traktilo de NULL"319msgstr "registro de pragma kun traktilo de NULL"
320 320
321#: directives.c:1528321#: directives.c:1518
322msgid "#pragma once in main file"322msgid "#pragma once in main file"
323msgstr "#pragma unufoje en ĉefdosiero"323msgstr "#pragma unufoje en ĉefdosiero"
324 324
325#: directives.c:1551325#: directives.c:1541
326msgid "invalid #pragma push_macro directive"326msgid "invalid #pragma push_macro directive"
327msgstr "malvalida instrukcio #pragma push_macro"327msgstr "malvalida instrukcio #pragma push_macro"
328 328
329#: directives.c:1606329#: directives.c:1596
330msgid "invalid #pragma pop_macro directive"330msgid "invalid #pragma pop_macro directive"
331msgstr "malvalida instrukcio #pragma pop_macro"331msgstr "malvalida instrukcio #pragma pop_macro"
332 332
333#: directives.c:1661333#: directives.c:1651
334msgid "invalid #pragma GCC poison directive"334msgid "invalid #pragma GCC poison directive"
335msgstr "malvalida instrukcio #pragma GCC poison"335msgstr "malvalida instrukcio #pragma GCC poison"
336 336
337#: directives.c:1670337#: directives.c:1660
338#, c-format338#, c-format
339msgid "poisoning existing macro \"%s\""339msgid "poisoning existing macro \"%s\""
340msgstr "venenigo de ekzistanta makroo \"%s\""340msgstr "venenigo de ekzistanta makroo \"%s\""
341 341
342#: directives.c:1689342#: directives.c:1679
343msgid "#pragma system_header ignored outside include file"343msgid "#pragma system_header ignored outside include file"
344msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"344msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"
345 345
346#: directives.c:1714346#: directives.c:1704
347#, c-format347#, c-format
348msgid "cannot find source file %s"348msgid "cannot find source file %s"
349msgstr "ne eblas trovi la fontan dosieron %s"349msgstr "ne eblas trovi la fontan dosieron %s"
350 350
351#: directives.c:1718351#: directives.c:1708
352#, c-format352#, c-format
353msgid "current file is older than %s"353msgid "current file is older than %s"
354msgstr "nuna dosiero estas pli malnova ol %s"354msgstr "nuna dosiero estas pli malnova ol %s"
355 355
356#: directives.c:1742356#: directives.c:1732
357#, c-format357#, c-format
358msgid "invalid \"#pragma GCC %s\" directive"358msgid "invalid \"#pragma GCC %s\" directive"
359msgstr "malvalida instrukcio \"#pragma GCC %s\""359msgstr "malvalida instrukcio \"#pragma GCC %s\""
360 360
361#: directives.c:1943361#: directives.c:1933
362msgid "_Pragma takes a parenthesized string literal"362msgid "_Pragma takes a parenthesized string literal"
363msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"363msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"
364 364
365#: directives.c:2064365#: directives.c:2021
366msgid "#else without #if"366msgid "#else without #if"
367msgstr "#else sen #if"367msgstr "#else sen #if"
368 368
369#: directives.c:2069369#: directives.c:2026
370msgid "#else after #else"370msgid "#else after #else"
371msgstr "#else post #else"371msgstr "#else post #else"
372 372
373#: directives.c:2071 directives.c:2104373#: directives.c:2028 directives.c:2061
374msgid "the conditional began here"374msgid "the conditional began here"
375msgstr "la kondiĉo komencis ĉi tie"375msgstr "la kondiĉo komencis ĉi tie"
376 376
377#: directives.c:2097377#: directives.c:2054
378msgid "#elif without #if"378msgid "#elif without #if"
379msgstr "#elif sen #if"379msgstr "#elif sen #if"
380 380
381#: directives.c:2102381#: directives.c:2059
382msgid "#elif after #else"382msgid "#elif after #else"
383msgstr "#elif post #else"383msgstr "#elif post #else"
384 384
385#: directives.c:2133385#: directives.c:2090
386msgid "#endif without #if"386msgid "#endif without #if"
387msgstr "#endif sen #if"387msgstr "#endif sen #if"
388 388
389#: directives.c:2213389#: directives.c:2166
390msgid "missing '(' after predicate"390msgid "missing '(' after predicate"
391msgstr "mankas '(' post predikato"391msgstr "mankas '(' post predikato"
392 392
393#: directives.c:2228393#: directives.c:2184
394msgid "missing ')' to complete answer"394msgid "missing ')' to complete answer"
395msgstr "mankas ')' por kompletigi respondon"395msgstr "mankas ')' por kompletigi respondon"
396 396
397#: directives.c:2248397#: directives.c:2196
398msgid "predicate's answer is empty"398msgid "predicate's answer is empty"
399msgstr "respondo de predikato estas malplena"399msgstr "respondo de predikato estas malplena"
400 400
401#: directives.c:2275401#: directives.c:2226
402msgid "assertion without predicate"402msgid "assertion without predicate"
403msgstr "aserto sen predikato"403msgstr "aserto sen predikato"
404 404
405#: directives.c:2278405#: directives.c:2229
406msgid "predicate must be an identifier"406msgid "predicate must be an identifier"
407msgstr "predikato devas esti identiganto"407msgstr "predikato devas esti identiganto"
408 408
409#: directives.c:2364409#: directives.c:2311
410#, c-format410#, c-format
411msgid "\"%s\" re-asserted"411msgid "\"%s\" re-asserted"
412msgstr "\"%s\" estas re-asertita"412msgstr "\"%s\" estas re-asertita"
413 413
414#: directives.c:2656414#: directives.c:2587
415#, c-format415#, c-format
416msgid "unterminated #%s"416msgid "unterminated #%s"
417msgstr "nefinigita #%s"417msgstr "nefinigita #%s"
418 418
419#: directives-only.c:221 lex.c:2851 traditional.c:167419#: directives-only.c:221 lex.c:2862 traditional.c:175
420msgid "unterminated comment"420msgid "unterminated comment"
421msgstr "nefinigita komento"421msgstr "nefinigita komento"
422 422
423#: errors.c:284423#: errors.c:291
424#, c-format424#, c-format
425msgid "%s: %s"425msgid "%s: %s"
426msgstr "%s: %s"426msgstr "%s: %s"
427 427
428#: errors.c:296428#: errors.c:304
429msgid "stdout"429msgid "stdout"
430msgstr "ĉefeligujo"430msgstr "ĉefeligujo"
431 431
@@ -518,84 +518,84 @@ msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)" · 86 unmodified lines
518msgid "this use of \"defined\" may not be portable"518msgid "this use of \"defined\" may not be portable"
519msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"519msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"
520 520
521#: expr.c:1125521#: expr.c:1109
522msgid "user-defined literal in preprocessor expression"522msgid "user-defined literal in preprocessor expression"
523msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"523msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"
524 524
525#: expr.c:1130525#: expr.c:1114
526msgid "floating constant in preprocessor expression"526msgid "floating constant in preprocessor expression"
527msgstr "glitkoma konstanto en antaŭproceza esprimo"527msgstr "glitkoma konstanto en antaŭproceza esprimo"
528 528
529#: expr.c:1136529#: expr.c:1120
530msgid "imaginary number in preprocessor expression"530msgid "imaginary number in preprocessor expression"
531msgstr "imaginara numero en antaŭproceza esprimo"531msgstr "imaginara numero en antaŭproceza esprimo"
532 532
533#: expr.c:1189533#: expr.c:1173
534#, c-format534#, c-format
535msgid "\"%s\" is not defined, evaluates to 0"535msgid "\"%s\" is not defined, evaluates to 0"
536msgstr "\"%s\" ne estas difinita, rezultas al 0"536msgstr "\"%s\" ne estas difinita, rezultas al 0"
537 537
538#: expr.c:1202538#: expr.c:1186
539msgid "assertions are a GCC extension"539msgid "assertions are a GCC extension"
540msgstr "asertoj estas aldono de GCC"540msgstr "asertoj estas aldono de GCC"
541 541
542#: expr.c:1205542#: expr.c:1189
543msgid "assertions are a deprecated extension"543msgid "assertions are a deprecated extension"
544msgstr "asertoj estas evitinda aldono"544msgstr "asertoj estas evitinda aldono"
545 545
546#: expr.c:1451546#: expr.c:1435
547#, c-format547#, c-format
548msgid "unbalanced stack in %s"548msgid "unbalanced stack in %s"
549msgstr "neekvilibrita stako en %s"549msgstr "neekvilibrita stako en %s"
550 550
551#: expr.c:1471551#: expr.c:1455
552#, c-format552#, c-format
553msgid "impossible operator '%u'"553msgid "impossible operator '%u'"
554msgstr "neebla operatoro '%u'"554msgstr "neebla operatoro '%u'"
555 555
556#: expr.c:1572556#: expr.c:1556
557msgid "missing ')' in expression"557msgid "missing ')' in expression"
558msgstr "mankas ')' en esprimo"558msgstr "mankas ')' en esprimo"
559 559
560#: expr.c:1601560#: expr.c:1585
561msgid "'?' without following ':'"561msgid "'?' without following ':'"
562msgstr "'?' sen sekvanta ':'"562msgstr "'?' sen sekvanta ':'"
563 563
564#: expr.c:1611564#: expr.c:1595
565msgid "integer overflow in preprocessor expression"565msgid "integer overflow in preprocessor expression"
566msgstr "entjera troigo en antaŭproceza esprimo"566msgstr "entjera troigo en antaŭproceza esprimo"
567 567
568#: expr.c:1616568#: expr.c:1600
569msgid "missing '(' in expression"569msgid "missing '(' in expression"
570msgstr "mankas '(' en esprimo"570msgstr "mankas '(' en esprimo"
571 571
572#: expr.c:1648572#: expr.c:1632
573#, c-format573#, c-format
574msgid "the left operand of \"%s\" changes sign when promoted"574msgid "the left operand of \"%s\" changes sign when promoted"
575msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"575msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
576 576
577#: expr.c:1653577#: expr.c:1637
578#, c-format578#, c-format
579msgid "the right operand of \"%s\" changes sign when promoted"579msgid "the right operand of \"%s\" changes sign when promoted"
580msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"580msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
581 581
582#: expr.c:1912582#: expr.c:1896
583msgid "traditional C rejects the unary plus operator"583msgid "traditional C rejects the unary plus operator"
584msgstr "tradicia C rifuzas la unuloka plusan operatoron"584msgstr "tradicia C rifuzas la unuloka plusan operatoron"
585 585
586#: expr.c:2010586#: expr.c:1994
587msgid "comma operator in operand of #if"587msgid "comma operator in operand of #if"
588msgstr "koma operatoro en operaciado de #if"588msgstr "koma operatoro en operaciado de #if"
589 589
590#: expr.c:2146590#: expr.c:2130
591msgid "division by zero in #if"591msgid "division by zero in #if"
592msgstr "divido per nulo en #if"592msgstr "divido per nulo en #if"
593 593
594#: expr.c:2243594#: expr.c:2227
595msgid "operator \"__has_include__\" requires a header string"595msgid "operator \"__has_include__\" requires a header string"
596msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon"596msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon"
597 597
598#: expr.c:2259598#: expr.c:2243
599msgid "missing ')' after \"__has_include__\""599msgid "missing ')' after \"__has_include__\""
600msgstr "mankas ')' post \"__has_include__\""600msgstr "mankas ')' post \"__has_include__\""
601 601
@@ -612,40 +612,40 @@ msgstr "uzu -Winvalid-pch por pli da informo" · 10 unmodified lines
612msgid "no include path in which to search for %s"612msgid "no include path in which to search for %s"
613msgstr "estas neniu inkluziva vojo por serĉi %s"613msgstr "estas neniu inkluziva vojo por serĉi %s"
614 614
615#: files.c:1441615#: files.c:1455
616msgid "Multiple include guards may be useful for:\n"616msgid "Multiple include guards may be useful for:\n"
617msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"617msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"
618 618
619#: init.c:565619#: init.c:569
620msgid "cppchar_t must be an unsigned type"620msgid "cppchar_t must be an unsigned type"
621msgstr "cppchar_t devas esti sensignuma tipo"621msgstr "cppchar_t devas esti sensignuma tipo"
622 622
623#: init.c:569623#: init.c:573
624#, c-format624#, c-format
625msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"625msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
626msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn"626msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn"
627 627
628#: init.c:576628#: init.c:580
629msgid "CPP arithmetic must be at least as precise as a target int"629msgid "CPP arithmetic must be at least as precise as a target int"
630msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int"630msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int"
631 631
632#: init.c:579632#: init.c:583
633msgid "target char is less than 8 bits wide"633msgid "target char is less than 8 bits wide"
634msgstr "la celata char estas pli eta ol 8 bitoj"634msgstr "la celata char estas pli eta ol 8 bitoj"
635 635
636#: init.c:583636#: init.c:587
637msgid "target wchar_t is narrower than target char"637msgid "target wchar_t is narrower than target char"
638msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"638msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"
639 639
640#: init.c:587640#: init.c:591
641msgid "target int is narrower than target char"641msgid "target int is narrower than target char"
642msgstr "la celata int estas pli mallarĝa ol la celata char"642msgstr "la celata int estas pli mallarĝa ol la celata char"
643 643
644#: init.c:592644#: init.c:596
645msgid "CPP half-integer narrower than CPP character"645msgid "CPP half-integer narrower than CPP character"
646msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"646msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"
647 647
648#: init.c:596648#: init.c:600
649#, c-format649#, c-format
650msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"650msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
651msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn"651msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn"
@@ -717,258 +717,273 @@ msgstr "__VA_ARGS__ nur povas aperi en la disvolviĝo de variebl-argumenta makro · 65 unmodified lines
717msgid "identifier \"%s\" is a special operator name in C++"717msgid "identifier \"%s\" is a special operator name in C++"
718msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"718msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"
719 719
720#: lex.c:1811720#: lex.c:1826
721msgid "raw string delimiter longer than 16 characters"721msgid "raw string delimiter longer than 16 characters"
722msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"722msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"
723 723
724#: lex.c:1815724#: lex.c:1830
725msgid "invalid new-line in raw string delimiter"725msgid "invalid new-line in raw string delimiter"
726msgstr "malvalida nov-linio en kruda ĉen-apartigilo"726msgstr "malvalida nov-linio en kruda ĉen-apartigilo"
727 727
728#: lex.c:1819728#: lex.c:1834
729#, c-format729#, c-format
730msgid "invalid character '%c' in raw string delimiter"730msgid "invalid character '%c' in raw string delimiter"
731msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"731msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"
732 732
733#: lex.c:1868 lex.c:1890733#: lex.c:1883 lex.c:1905
734msgid "unterminated raw string"734msgid "unterminated raw string"
735msgstr "nefinigita kruda ĉeno"735msgstr "nefinigita kruda ĉeno"
736 736
737#: lex.c:1912 lex.c:2043737#: lex.c:1925 lex.c:2054
738msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"738msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
739msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo"739msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo"
740 740
741#: lex.c:2024741#: lex.c:2037
742msgid "null character(s) preserved in literal"742msgid "null character(s) preserved in literal"
743msgstr "nul-signo(j) tenitaj en literaĵo"743msgstr "nul-signo(j) tenitaj en literaĵo"
744 744
745#: lex.c:2027745#: lex.c:2040
746#, c-format746#, c-format
747msgid "missing terminating %c character"747msgid "missing terminating %c character"
748msgstr "mankas finigantan signon %c"748msgstr "mankas finigantan signon %c"
749 749
750#: lex.c:2061750#: lex.c:2072
751msgid "C++11 requires a space between string literal and macro"751msgid "C++11 requires a space between string literal and macro"
752msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo"752msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo"
753 753
754#: lex.c:2865 lex.c:2899754#: lex.c:2876 lex.c:2910
755msgid "C++ style comments are not allowed in ISO C90"755msgid "C++ style comments are not allowed in ISO C90"
756msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90"756msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90"
757 757
758#: lex.c:2867 lex.c:2878 lex.c:2901758#: lex.c:2878 lex.c:2889 lex.c:2913
759msgid "(this will be reported only once per input file)"759msgid "(this will be reported only once per input file)"
760msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"760msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"
761 761
762#: lex.c:2876762#: lex.c:2887
763msgid "C++ style comments are incompatible with C90"763msgid "C++ style comments are incompatible with C90"
764msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90"764msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90"
765 765
766#: lex.c:2907766#: lex.c:2919
767msgid "multi-line comment"767msgid "multi-line comment"
768msgstr "plurlinia komento"768msgstr "plurlinia komento"
769 769
770#: lex.c:3287770#: lex.c:3299
771#, c-format771#, c-format
772msgid "unspellable token %s"772msgid "unspellable token %s"
773msgstr "neliterumebla ĵetono %s"773msgstr "neliterumebla ĵetono %s"
774 774
775#: macro.c:93775#: macro.c:94
776msgid "'##' cannot appear at either end of __VA_OPT__"776msgid "'##' cannot appear at either end of __VA_OPT__"
777msgstr "'##' ne povas aperi ĉe iu ajn flanko de __VA_OPT__"777msgstr "'##' ne povas aperi ĉe iu ajn flanko de __VA_OPT__"
778 778
779#: macro.c:352779#: macro.c:354
780#, c-format780#, c-format
781msgid "macro \"%s\" is not used"781msgid "macro \"%s\" is not used"
782msgstr "makroo \"%s\" ne estas uzata"782msgstr "makroo \"%s\" ne estas uzata"
783 783
784#: macro.c:391 macro.c:639784#: macro.c:393 macro.c:641
785#, c-format785#, c-format
786msgid "invalid built-in macro \"%s\""786msgid "invalid built-in macro \"%s\""
787msgstr "malvalida enkonstruita makroo \"%s\""787msgstr "malvalida enkonstruita makroo \"%s\""
788 788
789#: macro.c:398 macro.c:500789#: macro.c:400 macro.c:502
790#, c-format790#, c-format
791msgid "macro \"%s\" might prevent reproducible builds"791msgid "macro \"%s\" might prevent reproducible builds"
792msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn"792msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn"
793 793
794#: macro.c:429794#: macro.c:431
795msgid "could not determine file timestamp"795msgid "could not determine file timestamp"
796msgstr "ne eblis determini la dosieran tempomarkon"796msgstr "ne eblis determini la dosieran tempomarkon"
797 797
798#: macro.c:546798#: macro.c:548
799msgid "could not determine date and time"799msgid "could not determine date and time"
800msgstr "ne eblis determini la daton kaj horon"800msgstr "ne eblis determini la daton kaj horon"
801 801
802#: macro.c:562802#: macro.c:564
803msgid "__COUNTER__ expanded inside directive with -fdirectives-only"803msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
804msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only"804msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only"
805 805
806#: macro.c:758806#: macro.c:760
807msgid "invalid string literal, ignoring final '\\'"807msgid "invalid string literal, ignoring final '\\'"
808msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'"808msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'"
809 809
810#: macro.c:820810#: macro.c:822
811#, c-format811#, c-format
812msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"812msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
813msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono"813msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono"
814 814
815#: macro.c:946815#: macro.c:948
816msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"816msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
817msgstr "ISO C++11 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"817msgstr "ISO C++11 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"
818 818
819#: macro.c:950819#: macro.c:952
820msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"820msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
821msgstr "ISO C99 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"821msgstr "ISO C99 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo"
822 822
823#: macro.c:957823#: macro.c:959
824#, c-format824#, c-format
825msgid "macro \"%s\" requires %u arguments, but only %u given"825msgid "macro \"%s\" requires %u arguments, but only %u given"
826msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj"826msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj"
827 827
828#: macro.c:962828#: macro.c:964
829#, c-format829#, c-format
830msgid "macro \"%s\" passed %u arguments, but takes just %u"830msgid "macro \"%s\" passed %u arguments, but takes just %u"
831msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u"831msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u"
832 832
833#: macro.c:1156 traditional.c:819833#: macro.c:1162 traditional.c:827
834#, c-format834#, c-format
835msgid "unterminated argument list invoking macro \"%s\""835msgid "unterminated argument list invoking macro \"%s\""
836msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\""836msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\""
837 837
838#: macro.c:1307838#: macro.c:1304
839#, c-format839#, c-format
840msgid "function-like macro \"%s\" must be used with arguments in traditional C"840msgid "function-like macro \"%s\" must be used with arguments in traditional C"
841msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C"841msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C"
842 842
843#: macro.c:2003843#: macro.c:2083
844#, c-format844#, c-format
845msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"845msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
846msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C++98"846msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C++98"
847 847
848#: macro.c:2011 macro.c:2020848#: macro.c:2091 macro.c:2100
849#, c-format849#, c-format
850msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"850msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
851msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90"851msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90"
852 852
853#: macro.c:2984853#: macro.c:3059
854#, c-format854#, c-format
855msgid "duplicate macro parameter \"%s\""855msgid "duplicate macro parameter \"%s\""
856msgstr "duobligata makro-parametro \"%s\""856msgstr "duobligata makro-parametro \"%s\""
857 857
858#: macro.c:3033858#: macro.c:3141
859#, c-format
860msgid "expected parameter name, found \"%s\""
861msgstr "atendinte parametran nomon, ni trovis \"%s\""
862
863#: macro.c:3142
859#, c-format864#, c-format
860msgid "\"%s\" may not appear in macro parameter list"865msgid "expected ',' or ')', found \"%s\""
861msgstr "\"%s\" ne povas aperi en makroa parametro-listo"866msgstr "atendinte ',' aŭ ')', ni trovis \"%s\""
862 867
863#: macro.c:3041868#: macro.c:3143
864msgid "macro parameters must be comma-separated"869msgid "expected parameter name before end of line"
865msgstr "makro-parametroj devas esti apartitaj per komoj"870msgstr "ni atendis parametran nomon antaŭ lini-fino"
866 871
867#: macro.c:3060872#: macro.c:3144
868msgid "parameter name missing"873msgid "expected ')' before end of line"
869msgstr "mankas parametra nomo"874msgstr "ni atendis ')' antaŭ lini-fino"
870 875
871#: macro.c:3081876#: macro.c:3145
877msgid "expected ')' after \"...\""
878msgstr "ni atendis ')' post \"...\""
879
880#: macro.c:3202
872msgid "anonymous variadic macros were introduced in C++11"881msgid "anonymous variadic macros were introduced in C++11"
873msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11"882msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11"
874 883
875#: macro.c:3085 macro.c:3090884#: macro.c:3203 macro.c:3207
876msgid "anonymous variadic macros were introduced in C99"885msgid "anonymous variadic macros were introduced in C99"
877msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99"886msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99"
878 887
879#: macro.c:3097888#: macro.c:3213
880msgid "ISO C++ does not permit named variadic macros"889msgid "ISO C++ does not permit named variadic macros"
881msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn"890msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn"
882 891
883#: macro.c:3100892#: macro.c:3214
884msgid "ISO C does not permit named variadic macros"893msgid "ISO C does not permit named variadic macros"
885msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn"894msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn"
886 895
887#: macro.c:3110896#: macro.c:3260
888msgid "missing ')' in macro parameter list"
889msgstr "mankas ')' en makroa parametro-listo"
890
891#: macro.c:3161
892msgid "'##' cannot appear at either end of a macro expansion"897msgid "'##' cannot appear at either end of a macro expansion"
893msgstr "'##' ne povas aperi ĉe iu ajn flanko de makroa disvolviĝo"898msgstr "'##' ne povas aperi ĉe iu ajn flanko de makroa disvolviĝo"
894 899
895#: macro.c:3198900#: macro.c:3298
896msgid "ISO C++11 requires whitespace after the macro name"901msgid "ISO C++11 requires whitespace after the macro name"
897msgstr "ISO C++11 postulas blankspacon post la makroa nomo"902msgstr "ISO C++11 postulas blankspacon post la makroa nomo"
898 903
899#: macro.c:3201904#: macro.c:3299
900msgid "ISO C99 requires whitespace after the macro name"905msgid "ISO C99 requires whitespace after the macro name"
901msgstr "ISO C99 postulas blankspacon post la makroa nomo"906msgstr "ISO C99 postulas blankspacon post la makroa nomo"
902 907
903#: macro.c:3226908#: macro.c:3323
904msgid "missing whitespace after the macro name"909msgid "missing whitespace after the macro name"
905msgstr "mankas blankspacon post la makroa nomo"910msgstr "mankas blankspacon post la makroa nomo"
906 911
907#: macro.c:3263912#: macro.c:3373
908msgid "'#' is not followed by a macro parameter"913msgid "'#' is not followed by a macro parameter"
909msgstr "'#' ne estas sekvata de makroa parametro"914msgstr "'#' ne estas sekvata de makroa parametro"
910 915
911#: macro.c:3430916#: macro.c:3524
912#, c-format917#, c-format
913msgid "\"%s\" redefined"918msgid "\"%s\" redefined"
914msgstr "\"%s\" estas redifinita"919msgstr "\"%s\" estas redifinita"
915 920
916#: macro.c:3435921#: macro.c:3529
917msgid "this is the location of the previous definition"922msgid "this is the location of the previous definition"
918msgstr "tiu ĉi estas la loko de la antaŭa difino"923msgstr "tiu ĉi estas la loko de la antaŭa difino"
919 924
920#: macro.c:3496925#: macro.c:3633
921#, c-format926#, c-format
922msgid "macro argument \"%s\" would be stringified in traditional C"927msgid "macro argument \"%s\" would be stringified in traditional C"
923msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C"928msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C"
924 929
925#: macro.c:3532930#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
926#, c-format
927msgid "invalid hash type %d in cpp_macro_definition"
928msgstr "malvalida haketa tipo %d en cpp_macro_definition"
929
930#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
931msgid "while writing precompiled header"931msgid "while writing precompiled header"
932msgstr "dum skribo de antaŭkompilita kapo"932msgstr "dum skribo de antaŭkompilita kapo"
933 933
934#: pch.c:621934#: pch.c:616
935#, c-format935#, c-format
936msgid "%s: not used because `%.*s' is poisoned"936msgid "%s: not used because `%.*s' is poisoned"
937msgstr "%s: ne uzata ĉar '%.*s' estas venenita"937msgstr "%s: ne uzata ĉar '%.*s' estas venenita"
938 938
939#: pch.c:643939#: pch.c:638
940#, c-format940#, c-format
941msgid "%s: not used because `%.*s' not defined"941msgid "%s: not used because `%.*s' not defined"
942msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita"942msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita"
943 943
944#: pch.c:655944#: pch.c:650
945#, c-format945#, c-format
946msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"946msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
947msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'"947msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'"
948 948
949#: pch.c:696949#: pch.c:691
950#, c-format950#, c-format
951msgid "%s: not used because `%s' is defined"951msgid "%s: not used because `%s' is defined"
952msgstr "%s: ne uzata ĉar '%s' estas difinita"952msgstr "%s: ne uzata ĉar '%s' estas difinita"
953 953
954#: pch.c:716954#: pch.c:711
955#, c-format955#, c-format
956msgid "%s: not used because `__COUNTER__' is invalid"956msgid "%s: not used because `__COUNTER__' is invalid"
957msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida"957msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida"
958 958
959#: pch.c:725 pch.c:903959#: pch.c:720 pch.c:878
960msgid "while reading precompiled header"960msgid "while reading precompiled header"
961msgstr "dum lego de antaŭkompilita kapo"961msgstr "dum lego de antaŭkompilita kapo"
962 962
963#: traditional.c:889963#: traditional.c:896
964#, c-format964#, c-format
965msgid "detected recursion whilst expanding macro \"%s\""965msgid "detected recursion whilst expanding macro \"%s\""
966msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\""966msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\""
967 967
968#: traditional.c:1108968#: traditional.c:1119
969msgid "syntax error in macro parameter list"969msgid "syntax error in macro parameter list"
970msgstr "sintaksa eraro en makroa parametro-listo"970msgstr "sintaksa eraro en makroa parametro-listo"
971 971
972#~ msgid "\"%s\" may not appear in macro parameter list"
973#~ msgstr "\"%s\" ne povas aperi en makroa parametro-listo"
974
975#~ msgid "macro parameters must be comma-separated"
976#~ msgstr "makro-parametroj devas esti apartitaj per komoj"
977
978#~ msgid "parameter name missing"
979#~ msgstr "mankas parametra nomo"
980
981#~ msgid "missing ')' in macro parameter list"
982#~ msgstr "mankas ')' en makroa parametro-listo"
983
984#~ msgid "invalid hash type %d in cpp_macro_definition"
985#~ msgstr "malvalida haketa tipo %d en cpp_macro_definition"
986
972#~ msgid "NULL directory in find_file"987#~ msgid "NULL directory in find_file"
973#~ msgstr "NULL-dosierujo en find_file"988#~ msgstr "NULL-dosierujo en find_file"
974 989
gcc/libcpp/po/es.gmo+0−0

Binary file not shown.

gcc/libcpp/po/es.po+182−165
@@ -7,7 +7,7 @@ msgid "" · 6 unmodified lines
7msgstr ""7msgstr ""
8"Project-Id-Version: cpplib 8.1-b20180128\n"8"Project-Id-Version: cpplib 8.1-b20180128\n"
9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
10"POT-Creation-Date: 2018-01-26 22:47+0000\n"10"POT-Creation-Date: 2019-02-01 23:01+0000\n"
11"PO-Revision-Date: 2018-03-23 19:16+0100\n"11"PO-Revision-Date: 2018-03-23 19:16+0100\n"
12"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"12"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
13"Language-Team: Spanish <es@tp.org.es>\n"13"Language-Team: Spanish <es@tp.org.es>\n"
@@ -87,7 +87,7 @@ msgstr "el carácter universal %.*s no es válido en un identificador" · 73 unmodified lines
87msgid "universal character %.*s is not valid at the start of an identifier"87msgid "universal character %.*s is not valid at the start of an identifier"
88msgstr "el carácter universal %.*s no es válido al inicio de un identificador"88msgstr "el carácter universal %.*s no es válido al inicio de un identificador"
89 89
90#: charset.c:1181 charset.c:200090#: charset.c:1181 charset.c:2002
91msgid "converting UCN to source character set"91msgid "converting UCN to source character set"
92msgstr "convirtiendo un NUC al conjunto de caracteres fuente"92msgstr "convirtiendo un NUC al conjunto de caracteres fuente"
93 93
@@ -138,294 +138,294 @@ msgstr "convirtiendo una secuencia de escape al conjunto de caracteres de ejecuc · 44 unmodified lines
138msgid "missing open quote"138msgid "missing open quote"
139msgstr "falta comilla abierta"139msgstr "falta comilla abierta"
140 140
141#: charset.c:1827 charset.c:1891141#: charset.c:1829 charset.c:1893
142msgid "character constant too long for its type"142msgid "character constant too long for its type"
143msgstr "constante de carácter demasiado grande para su tipo"143msgstr "constante de carácter demasiado grande para su tipo"
144 144
145#: charset.c:1830145#: charset.c:1832
146msgid "multi-character character constant"146msgid "multi-character character constant"
147msgstr "constante de carácter con múltiples caracteres"147msgstr "constante de carácter con múltiples caracteres"
148 148
149#: charset.c:1931149#: charset.c:1933
150msgid "empty character constant"150msgid "empty character constant"
151msgstr "constante de carácter vacía"151msgstr "constante de carácter vacía"
152 152
153#: charset.c:2047153#: charset.c:2049
154#, c-format154#, c-format
155msgid "failure to convert %s to %s"155msgid "failure to convert %s to %s"
156msgstr "no se puede convertir %s a %s"156msgstr "no se puede convertir %s a %s"
157 157
158#: directives.c:235 directives.c:278158#: directives.c:229 directives.c:272
159#, c-format159#, c-format
160msgid "extra tokens at end of #%s directive"160msgid "extra tokens at end of #%s directive"
161msgstr "elementos extra al final de la directiva #%s"161msgstr "elementos extra al final de la directiva #%s"
162 162
163#: directives.c:385163#: directives.c:379
164#, c-format164#, c-format
165msgid "#%s is a GCC extension"165msgid "#%s is a GCC extension"
166msgstr "#%s es una extensión de GCC"166msgstr "#%s es una extensión de GCC"
167 167
168#: directives.c:390168#: directives.c:384
169#, c-format169#, c-format
170msgid "#%s is a deprecated GCC extension"170msgid "#%s is a deprecated GCC extension"
171msgstr "#%s es una extensión de GCC obsoleta"171msgstr "#%s es una extensión de GCC obsoleta"
172 172
173#: directives.c:403173#: directives.c:397
174msgid "suggest not using #elif in traditional C"174msgid "suggest not using #elif in traditional C"
175msgstr "se sugiere no usar #elif en C tradicional"175msgstr "se sugiere no usar #elif en C tradicional"
176 176
177#: directives.c:406177#: directives.c:400
178#, c-format178#, c-format
179msgid "traditional C ignores #%s with the # indented"179msgid "traditional C ignores #%s with the # indented"
180msgstr "C tradicional ignora #%s con el # indentado"180msgstr "C tradicional ignora #%s con el # indentado"
181 181
182#: directives.c:410182#: directives.c:404
183#, c-format183#, c-format
184msgid "suggest hiding #%s from traditional C with an indented #"184msgid "suggest hiding #%s from traditional C with an indented #"
185msgstr "se sugiere ocultar #%s de C tradicional con un # indentado"185msgstr "se sugiere ocultar #%s de C tradicional con un # indentado"
186 186
187#: directives.c:436187#: directives.c:430
188msgid "embedding a directive within macro arguments is not portable"188msgid "embedding a directive within macro arguments is not portable"
189msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable"189msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable"
190 190
191#: directives.c:456191#: directives.c:450
192msgid "style of line directive is a GCC extension"192msgid "style of line directive is a GCC extension"
193msgstr "la directiva de estilo de línea es una extensión de GCC"193msgstr "la directiva de estilo de línea es una extensión de GCC"
194 194
195#: directives.c:537195#: directives.c:531
196#, c-format196#, c-format
197msgid "invalid preprocessing directive #%s"197msgid "invalid preprocessing directive #%s"
198msgstr "directiva de preprocesamiento #%s inválida"198msgstr "directiva de preprocesamiento #%s inválida"
199 199
200#: directives.c:606200#: directives.c:600
201msgid "\"defined\" cannot be used as a macro name"201msgid "\"defined\" cannot be used as a macro name"
202msgstr "«defined» no se puede utilizarse como un nombre de macro"202msgstr "«defined» no se puede utilizarse como un nombre de macro"
203 203
204#: directives.c:611204#: directives.c:605
205msgid "\"__has_include__\" cannot be used as a macro name"205msgid "\"__has_include__\" cannot be used as a macro name"
206msgstr "\"__has_include__\" no puede ser usado como un nombre de macro"206msgstr "\"__has_include__\" no puede ser usado como un nombre de macro"
207 207
208#: directives.c:617208#: directives.c:611
209#, c-format209#, c-format
210msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"210msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
211msgstr "no se puede usar «%s» como un nombre de macro porque es un operador en C++"211msgstr "no se puede usar «%s» como un nombre de macro porque es un operador en C++"
212 212
213#: directives.c:620213#: directives.c:614
214#, c-format214#, c-format
215msgid "no macro name given in #%s directive"215msgid "no macro name given in #%s directive"
216msgstr "no se dio un nombre de macro en la directiva #%s"216msgstr "no se dio un nombre de macro en la directiva #%s"
217 217
218#: directives.c:623218#: directives.c:617
219msgid "macro names must be identifiers"219msgid "macro names must be identifiers"
220msgstr "los nombres de macro deben ser identificadores"220msgstr "los nombres de macro deben ser identificadores"
221 221
222#: directives.c:672 directives.c:677222#: directives.c:666 directives.c:671
223#, c-format223#, c-format
224msgid "undefining \"%s\""224msgid "undefining \"%s\""
225msgstr "borrando la definición de «%s»"225msgstr "borrando la definición de «%s»"
226 226
227#: directives.c:732227#: directives.c:727
228msgid "missing terminating > character"228msgid "missing terminating > character"
229msgstr "falta el carácter de terminación >"229msgstr "falta el carácter de terminación >"
230 230
231#: directives.c:791231#: directives.c:786
232#, c-format232#, c-format
233msgid "#%s expects \"FILENAME\" or <FILENAME>"233msgid "#%s expects \"FILENAME\" or <FILENAME>"
234msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>"234msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>"
235 235
236#: directives.c:837236#: directives.c:828
237#, c-format237#, c-format
238msgid "empty filename in #%s"238msgid "empty filename in #%s"
239msgstr "nombre de fichero vacío en #%s"239msgstr "nombre de fichero vacío en #%s"
240 240
241#: directives.c:847241#: directives.c:835
242msgid "#include nested too deeply"242msgid "#include nested too deeply"
243msgstr "#include anidado con demasiada profundidad"243msgstr "#include anidado con demasiada profundidad"
244 244
245#: directives.c:888245#: directives.c:877
246msgid "#include_next in primary source file"246msgid "#include_next in primary source file"
247msgstr "#include_next en fichero primario de código fuente"247msgstr "#include_next en fichero primario de código fuente"
248 248
249#: directives.c:914249#: directives.c:903
250#, c-format250#, c-format
251msgid "invalid flag \"%s\" in line directive"251msgid "invalid flag \"%s\" in line directive"
252msgstr "indicador «%s» inválido en la línea de la directiva"252msgstr "indicador «%s» inválido en la línea de la directiva"
253 253
254#: directives.c:974254#: directives.c:963
255msgid "unexpected end of file after #line"255msgid "unexpected end of file after #line"
256msgstr "fin de fichero inesperado después de #line"256msgstr "fin de fichero inesperado después de #line"
257 257
258#: directives.c:977258#: directives.c:966
259#, c-format259#, c-format
260msgid "\"%s\" after #line is not a positive integer"260msgid "\"%s\" after #line is not a positive integer"
261msgstr "«%s» después de #line no es un entero positivo"261msgstr "«%s» después de #line no es un entero positivo"
262 262
263#: directives.c:983 directives.c:985263#: directives.c:972 directives.c:974
264msgid "line number out of range"264msgid "line number out of range"
265msgstr "número de línea fuera de rango"265msgstr "número de línea fuera de rango"
266 266
267#: directives.c:998 directives.c:1079267#: directives.c:987 directives.c:1068
268#, c-format268#, c-format
269msgid "\"%s\" is not a valid filename"269msgid "\"%s\" is not a valid filename"
270msgstr "«%s» no es un nombre de fichero válido"270msgstr "«%s» no es un nombre de fichero válido"
271 271
272#: directives.c:1039272#: directives.c:1028
273#, c-format273#, c-format
274msgid "\"%s\" after # is not a positive integer"274msgid "\"%s\" after # is not a positive integer"
275msgstr "«%s» después de # no es un entero positivo"275msgstr "«%s» después de # no es un entero positivo"
276 276
277#: directives.c:1098277#: directives.c:1087
278#, c-format278#, c-format
279msgid "file \"%s\" linemarker ignored due to incorrect nesting"279msgid "file \"%s\" linemarker ignored due to incorrect nesting"
280msgstr "marca lineal de fichero «%s» ignorada debido a anidación incorrecta"280msgstr "marca lineal de fichero «%s» ignorada debido a anidación incorrecta"
281 281
282#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747282#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
283#, c-format283#, c-format
284msgid "%s"284msgid "%s"
285msgstr "%s"285msgstr "%s"
286 286
287#: directives.c:1185287#: directives.c:1175
288#, c-format288#, c-format
289msgid "invalid #%s directive"289msgid "invalid #%s directive"
290msgstr "directiva #%s inválida"290msgstr "directiva #%s inválida"
291 291
292#: directives.c:1248292#: directives.c:1238
293#, c-format293#, c-format
294msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"294msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
295msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide"295msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide"
296 296
297#: directives.c:1257297#: directives.c:1247
298#, c-format298#, c-format
299msgid "registering pragma \"%s\" with name expansion and no namespace"299msgid "registering pragma \"%s\" with name expansion and no namespace"
300msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres"300msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres"
301 301
302#: directives.c:1275302#: directives.c:1265
303#, c-format303#, c-format
304msgid "registering \"%s\" as both a pragma and a pragma namespace"304msgid "registering \"%s\" as both a pragma and a pragma namespace"
305msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma"305msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma"
306 306
307#: directives.c:1278307#: directives.c:1268
308#, c-format308#, c-format
309msgid "#pragma %s %s is already registered"309msgid "#pragma %s %s is already registered"
310msgstr "#pragma %s %s ya está registrado"310msgstr "#pragma %s %s ya está registrado"
311 311
312#: directives.c:1281312#: directives.c:1271
313#, c-format313#, c-format
314msgid "#pragma %s is already registered"314msgid "#pragma %s is already registered"
315msgstr "#pragma %s ya está registrado"315msgstr "#pragma %s ya está registrado"
316 316
317#: directives.c:1311317#: directives.c:1301
318msgid "registering pragma with NULL handler"318msgid "registering pragma with NULL handler"
319msgstr "se registra un pragma con manejador NULL"319msgstr "se registra un pragma con manejador NULL"
320 320
321#: directives.c:1528321#: directives.c:1518
322msgid "#pragma once in main file"322msgid "#pragma once in main file"
323msgstr "#pragma una vez en el fichero principal"323msgstr "#pragma una vez en el fichero principal"
324 324
325#: directives.c:1551325#: directives.c:1541
326msgid "invalid #pragma push_macro directive"326msgid "invalid #pragma push_macro directive"
327msgstr "directiva #pragma push_macro inválida"327msgstr "directiva #pragma push_macro inválida"
328 328
329#: directives.c:1606329#: directives.c:1596
330msgid "invalid #pragma pop_macro directive"330msgid "invalid #pragma pop_macro directive"
331msgstr "directiva #pragma pop_macro inválida"331msgstr "directiva #pragma pop_macro inválida"
332 332
333#: directives.c:1661333#: directives.c:1651
334msgid "invalid #pragma GCC poison directive"334msgid "invalid #pragma GCC poison directive"
335msgstr "directiva #pragma de GCC envenenada inválida"335msgstr "directiva #pragma de GCC envenenada inválida"
336 336
337#: directives.c:1670337#: directives.c:1660
338#, c-format338#, c-format
339msgid "poisoning existing macro \"%s\""339msgid "poisoning existing macro \"%s\""
340msgstr "se envenena la macro existente «%s»"340msgstr "se envenena la macro existente «%s»"
341 341
342#: directives.c:1689342#: directives.c:1679
343msgid "#pragma system_header ignored outside include file"343msgid "#pragma system_header ignored outside include file"
344msgstr "#pragma system_header ignorado fuera del fichero a incluir"344msgstr "#pragma system_header ignorado fuera del fichero a incluir"
345 345
346#: directives.c:1714346#: directives.c:1704
347#, c-format347#, c-format
348msgid "cannot find source file %s"348msgid "cannot find source file %s"
349msgstr "no se puede encontrar el fichero fuente %s"349msgstr "no se puede encontrar el fichero fuente %s"
350 350
351#: directives.c:1718351#: directives.c:1708
352#, c-format352#, c-format
353msgid "current file is older than %s"353msgid "current file is older than %s"
354msgstr "el fichero actual es más antiguo que %s"354msgstr "el fichero actual es más antiguo que %s"
355 355
356#: directives.c:1742356#: directives.c:1732
357#, c-format357#, c-format
358msgid "invalid \"#pragma GCC %s\" directive"358msgid "invalid \"#pragma GCC %s\" directive"
359msgstr "directiva \"#pragma GCC %s\" inválida"359msgstr "directiva \"#pragma GCC %s\" inválida"
360 360
361#: directives.c:1943361#: directives.c:1933
362msgid "_Pragma takes a parenthesized string literal"362msgid "_Pragma takes a parenthesized string literal"
363msgstr "_Pragma lleva una cadena literal entre paréntesis"363msgstr "_Pragma lleva una cadena literal entre paréntesis"
364 364
365#: directives.c:2064365#: directives.c:2021
366msgid "#else without #if"366msgid "#else without #if"
367msgstr "#else sin #if"367msgstr "#else sin #if"
368 368
369#: directives.c:2069369#: directives.c:2026
370msgid "#else after #else"370msgid "#else after #else"
371msgstr "#else tras #else"371msgstr "#else tras #else"
372 372
373#: directives.c:2071 directives.c:2104373#: directives.c:2028 directives.c:2061
374msgid "the conditional began here"374msgid "the conditional began here"
375msgstr "el condicional empezó aquí"375msgstr "el condicional empezó aquí"
376 376
377#: directives.c:2097377#: directives.c:2054
378msgid "#elif without #if"378msgid "#elif without #if"
379msgstr "#elif sin #if"379msgstr "#elif sin #if"
380 380
381#: directives.c:2102381#: directives.c:2059
382msgid "#elif after #else"382msgid "#elif after #else"
383msgstr "#elif después de #else"383msgstr "#elif después de #else"
384 384
385#: directives.c:2133385#: directives.c:2090
386msgid "#endif without #if"386msgid "#endif without #if"
387msgstr "#endif sin #if"387msgstr "#endif sin #if"
388 388
389#: directives.c:2213389#: directives.c:2166
390msgid "missing '(' after predicate"390msgid "missing '(' after predicate"
391msgstr "falta '(' antes del predicado"391msgstr "falta '(' antes del predicado"
392 392
393#: directives.c:2228393#: directives.c:2184
394msgid "missing ')' to complete answer"394msgid "missing ')' to complete answer"
395msgstr "falta ')' para completar la respuesta"395msgstr "falta ')' para completar la respuesta"
396 396
397#: directives.c:2248397#: directives.c:2196
398msgid "predicate's answer is empty"398msgid "predicate's answer is empty"
399msgstr "la respuesta del predicado está vacía"399msgstr "la respuesta del predicado está vacía"
400 400
401#: directives.c:2275401#: directives.c:2226
402msgid "assertion without predicate"402msgid "assertion without predicate"
403msgstr "afirmación sin predicado"403msgstr "afirmación sin predicado"
404 404
405#: directives.c:2278405#: directives.c:2229
406msgid "predicate must be an identifier"406msgid "predicate must be an identifier"
407msgstr "el predicado debe ser un identificador"407msgstr "el predicado debe ser un identificador"
408 408
409#: directives.c:2364409#: directives.c:2311
410#, c-format410#, c-format
411msgid "\"%s\" re-asserted"411msgid "\"%s\" re-asserted"
412msgstr "«%s» reafirmado"412msgstr "«%s» reafirmado"
413 413
414#: directives.c:2656414#: directives.c:2587
415#, c-format415#, c-format
416msgid "unterminated #%s"416msgid "unterminated #%s"
417msgstr "#%s sin terminar"417msgstr "#%s sin terminar"
418 418
419#: directives-only.c:221 lex.c:2851 traditional.c:167419#: directives-only.c:221 lex.c:2862 traditional.c:175
420msgid "unterminated comment"420msgid "unterminated comment"
421msgstr "comentario sin terminar"421msgstr "comentario sin terminar"
422 422
423#: errors.c:284423#: errors.c:291
424#, c-format424#, c-format
425msgid "%s: %s"425msgid "%s: %s"
426msgstr "%s: %s"426msgstr "%s: %s"
427 427
428#: errors.c:296428#: errors.c:304
429msgid "stdout"429msgid "stdout"
430msgstr "salida estándard"430msgstr "salida estándard"
431 431
@@ -518,84 +518,84 @@ msgstr "(«%s» es una marca alternativa para «%s» en C++)" · 86 unmodified lines
518msgid "this use of \"defined\" may not be portable"518msgid "this use of \"defined\" may not be portable"
519msgstr "este uso de \"defined\" puede no ser transportable"519msgstr "este uso de \"defined\" puede no ser transportable"
520 520
521#: expr.c:1125521#: expr.c:1109
522msgid "user-defined literal in preprocessor expression"522msgid "user-defined literal in preprocessor expression"
523msgstr "literal definida por el usuario en una expresión del preprocesador"523msgstr "literal definida por el usuario en una expresión del preprocesador"
524 524
525#: expr.c:1130525#: expr.c:1114
526msgid "floating constant in preprocessor expression"526msgid "floating constant in preprocessor expression"
527msgstr "constante de coma flotante en una expresión del preprocesador"527msgstr "constante de coma flotante en una expresión del preprocesador"
528 528
529#: expr.c:1136529#: expr.c:1120
530msgid "imaginary number in preprocessor expression"530msgid "imaginary number in preprocessor expression"
531msgstr "número imaginario en una expresión del preprocesador"531msgstr "número imaginario en una expresión del preprocesador"
532 532
533#: expr.c:1189533#: expr.c:1173
534#, c-format534#, c-format
535msgid "\"%s\" is not defined, evaluates to 0"535msgid "\"%s\" is not defined, evaluates to 0"
536msgstr "«%s» no está definido, evalúa a 0"536msgstr "«%s» no está definido, evalúa a 0"
537 537
538#: expr.c:1202538#: expr.c:1186
539msgid "assertions are a GCC extension"539msgid "assertions are a GCC extension"
540msgstr "las aserciones son una extensión GCC"540msgstr "las aserciones son una extensión GCC"
541 541
542#: expr.c:1205542#: expr.c:1189
543msgid "assertions are a deprecated extension"543msgid "assertions are a deprecated extension"
544msgstr "las aserciones son una extensión obsoleta"544msgstr "las aserciones son una extensión obsoleta"
545 545
546#: expr.c:1451546#: expr.c:1435
547#, c-format547#, c-format
548msgid "unbalanced stack in %s"548msgid "unbalanced stack in %s"
549msgstr "pila desbalanceada en %s"549msgstr "pila desbalanceada en %s"
550 550
551#: expr.c:1471551#: expr.c:1455
552#, c-format552#, c-format
553msgid "impossible operator '%u'"553msgid "impossible operator '%u'"
554msgstr "operador '%u' imposible"554msgstr "operador '%u' imposible"
555 555
556#: expr.c:1572556#: expr.c:1556
557msgid "missing ')' in expression"557msgid "missing ')' in expression"
558msgstr "falta ')' en la expresión"558msgstr "falta ')' en la expresión"
559 559
560#: expr.c:1601560#: expr.c:1585
561msgid "'?' without following ':'"561msgid "'?' without following ':'"
562msgstr "'?' sin ':' a continuación"562msgstr "'?' sin ':' a continuación"
563 563
564#: expr.c:1611564#: expr.c:1595
565msgid "integer overflow in preprocessor expression"565msgid "integer overflow in preprocessor expression"
566msgstr "desbordamiento entero en expresión del preprocesador"566msgstr "desbordamiento entero en expresión del preprocesador"
567 567
568#: expr.c:1616568#: expr.c:1600
569msgid "missing '(' in expression"569msgid "missing '(' in expression"
570msgstr "falta '(' en la expresión"570msgstr "falta '(' en la expresión"
571 571
572#: expr.c:1648572#: expr.c:1632
573#, c-format573#, c-format
574msgid "the left operand of \"%s\" changes sign when promoted"574msgid "the left operand of \"%s\" changes sign when promoted"
575msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido"575msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido"
576 576
577#: expr.c:1653577#: expr.c:1637
578#, c-format578#, c-format
579msgid "the right operand of \"%s\" changes sign when promoted"579msgid "the right operand of \"%s\" changes sign when promoted"
580msgstr "el operando derecho de «%s» cambia de signo cuando es promovido"580msgstr "el operando derecho de «%s» cambia de signo cuando es promovido"
581 581
582#: expr.c:1912582#: expr.c:1896
583msgid "traditional C rejects the unary plus operator"583msgid "traditional C rejects the unary plus operator"
584msgstr "C tradicional rechaza el operador unario mas"584msgstr "C tradicional rechaza el operador unario mas"
585 585
586#: expr.c:2010586#: expr.c:1994
587msgid "comma operator in operand of #if"587msgid "comma operator in operand of #if"
588msgstr "operador coma en operando de #if"588msgstr "operador coma en operando de #if"
589 589
590#: expr.c:2146590#: expr.c:2130
591msgid "division by zero in #if"591msgid "division by zero in #if"
592msgstr "división por cero en #if"592msgstr "división por cero en #if"
593 593
594#: expr.c:2243594#: expr.c:2227
595msgid "operator \"__has_include__\" requires a header string"595msgid "operator \"__has_include__\" requires a header string"
596msgstr "el operador \"__has_include__\" requiere una cadena cabecera"596msgstr "el operador \"__has_include__\" requiere una cadena cabecera"
597 597
598#: expr.c:2259598#: expr.c:2243
599msgid "missing ')' after \"__has_include__\""599msgid "missing ')' after \"__has_include__\""
600msgstr "falta ')' tras \"__has_include__\""600msgstr "falta ')' tras \"__has_include__\""
601 601
@@ -612,40 +612,40 @@ msgstr "use -Winvalid-pch para más información" · 10 unmodified lines
612msgid "no include path in which to search for %s"612msgid "no include path in which to search for %s"
613msgstr "no hay ruta de inclusión en la cual se pueda buscar %s"613msgstr "no hay ruta de inclusión en la cual se pueda buscar %s"
614 614
615#: files.c:1441615#: files.c:1455
616msgid "Multiple include guards may be useful for:\n"616msgid "Multiple include guards may be useful for:\n"
617msgstr "Guardias múltiples de include pueden ser útiles para:\n"617msgstr "Guardias múltiples de include pueden ser útiles para:\n"
618 618
619#: init.c:565619#: init.c:569
620msgid "cppchar_t must be an unsigned type"620msgid "cppchar_t must be an unsigned type"
621msgstr "cppchar_t debe ser de un tipo unsigned"621msgstr "cppchar_t debe ser de un tipo unsigned"
622 622
623#: init.c:569623#: init.c:573
624#, c-format624#, c-format
625msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"625msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
626msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits"626msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits"
627 627
628#: init.c:576628#: init.c:580
629msgid "CPP arithmetic must be at least as precise as a target int"629msgid "CPP arithmetic must be at least as precise as a target int"
630msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo"630msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo"
631 631
632#: init.c:579632#: init.c:583
633msgid "target char is less than 8 bits wide"633msgid "target char is less than 8 bits wide"
634msgstr "el char del objetivo tiene menos de 8 bits de ancho"634msgstr "el char del objetivo tiene menos de 8 bits de ancho"
635 635
636#: init.c:583636#: init.c:587
637msgid "target wchar_t is narrower than target char"637msgid "target wchar_t is narrower than target char"
638msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo"638msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo"
639 639
640#: init.c:587640#: init.c:591
641msgid "target int is narrower than target char"641msgid "target int is narrower than target char"
642msgstr "el int del objetivo es más estrecho que el char del objetivo"642msgstr "el int del objetivo es más estrecho que el char del objetivo"
643 643
644#: init.c:592644#: init.c:596
645msgid "CPP half-integer narrower than CPP character"645msgid "CPP half-integer narrower than CPP character"
646msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP"646msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP"
647 647
648#: init.c:596648#: init.c:600
649#, c-format649#, c-format
650msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"650msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
651msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits"651msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits"
@@ -717,258 +717,275 @@ msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro varia · 65 unmodified lines
717msgid "identifier \"%s\" is a special operator name in C++"717msgid "identifier \"%s\" is a special operator name in C++"
718msgstr "el identificador «%s» es un nombre de operador especial en C++"718msgstr "el identificador «%s» es un nombre de operador especial en C++"
719 719
720#: lex.c:1811720#: lex.c:1826
721msgid "raw string delimiter longer than 16 characters"721msgid "raw string delimiter longer than 16 characters"
722msgstr "el delimitador de cadena cruda es más largo que 16 caracteres"722msgstr "el delimitador de cadena cruda es más largo que 16 caracteres"
723 723
724#: lex.c:1815724#: lex.c:1830
725msgid "invalid new-line in raw string delimiter"725msgid "invalid new-line in raw string delimiter"
726msgstr "carácter inválido nueva línea en un delimitador de cadena cruda"726msgstr "carácter inválido nueva línea en un delimitador de cadena cruda"
727 727
728#: lex.c:1819728#: lex.c:1834
729#, c-format729#, c-format
730msgid "invalid character '%c' in raw string delimiter"730msgid "invalid character '%c' in raw string delimiter"
731msgstr "carácter inválido '%c' en un delimitador de cadena cruda"731msgstr "carácter inválido '%c' en un delimitador de cadena cruda"
732 732
733#: lex.c:1868 lex.c:1890733#: lex.c:1883 lex.c:1905
734msgid "unterminated raw string"734msgid "unterminated raw string"
735msgstr "cadena cruda sin terminar"735msgstr "cadena cruda sin terminar"
736 736
737#: lex.c:1912 lex.c:2043737#: lex.c:1925 lex.c:2054
738msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"738msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
739msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro"739msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro"
740 740
741#: lex.c:2024741#: lex.c:2037
742msgid "null character(s) preserved in literal"742msgid "null character(s) preserved in literal"
743msgstr "caracter(es) nulo(s) preservados en la literal"743msgstr "caracter(es) nulo(s) preservados en la literal"
744 744
745#: lex.c:2027745#: lex.c:2040
746#, c-format746#, c-format
747msgid "missing terminating %c character"747msgid "missing terminating %c character"
748msgstr "falta el carácter de terminación %c"748msgstr "falta el carácter de terminación %c"
749 749
750#: lex.c:2061750#: lex.c:2072
751msgid "C++11 requires a space between string literal and macro"751msgid "C++11 requires a space between string literal and macro"
752msgstr "C++11 requiere un espacio entre cadena literal y macro"752msgstr "C++11 requiere un espacio entre cadena literal y macro"
753 753
754#: lex.c:2865 lex.c:2899754#: lex.c:2876 lex.c:2910
755msgid "C++ style comments are not allowed in ISO C90"755msgid "C++ style comments are not allowed in ISO C90"
756msgstr "los comentarios de estilo C++ no se permiten en ISO C90"756msgstr "los comentarios de estilo C++ no se permiten en ISO C90"
757 757
758#: lex.c:2867 lex.c:2878 lex.c:2901758#: lex.c:2878 lex.c:2889 lex.c:2913
759msgid "(this will be reported only once per input file)"759msgid "(this will be reported only once per input file)"
760msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"760msgstr "(esto se reportará solamente una vez por cada fichero de entrada)"
761 761
762#: lex.c:2876762#: lex.c:2887
763msgid "C++ style comments are incompatible with C90"763msgid "C++ style comments are incompatible with C90"
764msgstr "los comentarios de estilo C++ son incompatibles con C90"764msgstr "los comentarios de estilo C++ son incompatibles con C90"
765 765
766#: lex.c:2907766#: lex.c:2919
767msgid "multi-line comment"767msgid "multi-line comment"
768msgstr "comentario en múltiples líneas"768msgstr "comentario en múltiples líneas"
769 769
770#: lex.c:3287770#: lex.c:3299
771#, c-format771#, c-format
772msgid "unspellable token %s"772msgid "unspellable token %s"
773msgstr "elemento %s impronunciable"773msgstr "elemento %s impronunciable"
774 774
775#: macro.c:93775#: macro.c:94
776msgid "'##' cannot appear at either end of __VA_OPT__"776msgid "'##' cannot appear at either end of __VA_OPT__"
777msgstr "'##' no puede aparecer o en el final de una __VA_OPT__"777msgstr "'##' no puede aparecer o en el final de una __VA_OPT__"
778 778
779#: macro.c:352779#: macro.c:354
780#, c-format780#, c-format
781msgid "macro \"%s\" is not used"781msgid "macro \"%s\" is not used"
782msgstr "la macro «%s» no se utiliza"782msgstr "la macro «%s» no se utiliza"
783 783
784#: macro.c:391 macro.c:639784#: macro.c:393 macro.c:641
785#, c-format785#, c-format
786msgid "invalid built-in macro \"%s\""786msgid "invalid built-in macro \"%s\""
787msgstr "macro interna «%s» inválida"787msgstr "macro interna «%s» inválida"
788 788
789#: macro.c:398 macro.c:500789#: macro.c:400 macro.c:502
790#, c-format790#, c-format
791msgid "macro \"%s\" might prevent reproducible builds"791msgid "macro \"%s\" might prevent reproducible builds"
792msgstr "macro «%s» quizá previene compilaciones reproducibles"792msgstr "macro «%s» quizá previene compilaciones reproducibles"
793 793
794#: macro.c:429794#: macro.c:431
795msgid "could not determine file timestamp"795msgid "could not determine file timestamp"
796msgstr "no se puede determinar la marca de fecha del fichero"796msgstr "no se puede determinar la marca de fecha del fichero"
797 797
798#: macro.c:546798#: macro.c:548
799msgid "could not determine date and time"799msgid "could not determine date and time"
800msgstr "no se puede determinar la fecha y la hora"800msgstr "no se puede determinar la fecha y la hora"
801 801
802#: macro.c:562802#: macro.c:564
803msgid "__COUNTER__ expanded inside directive with -fdirectives-only"803msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
804msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only"804msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only"
805 805
806#: macro.c:758806#: macro.c:760
807msgid "invalid string literal, ignoring final '\\'"807msgid "invalid string literal, ignoring final '\\'"
808msgstr "cadena literal inválida, se ignora el '\\' final"808msgstr "cadena literal inválida, se ignora el '\\' final"
809 809
810#: macro.c:820810#: macro.c:822
811#, c-format811#, c-format
812msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"812msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
813msgstr "pegar «%s» y «%s» no da un elemento válido de preprocesamiento"813msgstr "pegar «%s» y «%s» no da un elemento válido de preprocesamiento"
814 814
815#: macro.c:946815#: macro.c:948
816msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"816msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
817msgstr "ISO C++ requiere al menos un argumento: para la \"...\" en una macro variadic"817msgstr "ISO C++ requiere al menos un argumento: para la \"...\" en una macro variadic"
818 818
819#: macro.c:950819#: macro.c:952
820msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"820msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
821msgstr "ISO C99 requiere al menos un argumento para la \"...\" en una macro variadic"821msgstr "ISO C99 requiere al menos un argumento para la \"...\" en una macro variadic"
822 822
823#: macro.c:957823#: macro.c:959
824#, c-format824#, c-format
825msgid "macro \"%s\" requires %u arguments, but only %u given"825msgid "macro \"%s\" requires %u arguments, but only %u given"
826msgstr "la macro «%s» requiere %u argumentos, pero solo se proporcionan %u"826msgstr "la macro «%s» requiere %u argumentos, pero solo se proporcionan %u"
827 827
828#: macro.c:962828#: macro.c:964
829#, c-format829#, c-format
830msgid "macro \"%s\" passed %u arguments, but takes just %u"830msgid "macro \"%s\" passed %u arguments, but takes just %u"
831msgstr "la macro «%s» pasó %u argumentos, pero solamente toma %u"831msgstr "la macro «%s» pasó %u argumentos, pero solamente toma %u"
832 832
833#: macro.c:1156 traditional.c:819833#: macro.c:1162 traditional.c:827
834#, c-format834#, c-format
835msgid "unterminated argument list invoking macro \"%s\""835msgid "unterminated argument list invoking macro \"%s\""
836msgstr "lista de argumentos sin terminar al invocar la macro «%s»"836msgstr "lista de argumentos sin terminar al invocar la macro «%s»"
837 837
838#: macro.c:1307838#: macro.c:1304
839#, c-format839#, c-format
840msgid "function-like macro \"%s\" must be used with arguments in traditional C"840msgid "function-like macro \"%s\" must be used with arguments in traditional C"
841msgstr "la función de macro «%s» se debe usar con argumentos en C tradicional"841msgstr "la función de macro «%s» se debe usar con argumentos en C tradicional"
842 842
843#: macro.c:2003843#: macro.c:2083
844#, c-format844#, c-format
845msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"845msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
846msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C++98"846msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C++98"
847 847
848#: macro.c:2011 macro.c:2020848#: macro.c:2091 macro.c:2100
849#, c-format849#, c-format
850msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"850msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
851msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90"851msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90"
852 852
853#: macro.c:2984853#: macro.c:3059
854#, c-format854#, c-format
855msgid "duplicate macro parameter \"%s\""855msgid "duplicate macro parameter \"%s\""
856msgstr "parámetro de macro «%s» duplicado"856msgstr "parámetro de macro «%s» duplicado"
857 857
858#: macro.c:3033858#: macro.c:3141
859#, c-format859#, c-format
860msgid "\"%s\" may not appear in macro parameter list"860msgid "expected parameter name, found \"%s\""
861msgstr "«%s» podría faltar en la lista de parámetro de macro"861msgstr ""
862
863#: macro.c:3142
864#, c-format
865msgid "expected ',' or ')', found \"%s\""
866msgstr ""
862 867
863#: macro.c:3041868#: macro.c:3143
864msgid "macro parameters must be comma-separated"869msgid "expected parameter name before end of line"
865msgstr "los parámetros de macro deben ser separados por comas"870msgstr ""
871
872#: macro.c:3144
873#, fuzzy
874#| msgid "unexpected end of file after #line"
875msgid "expected ')' before end of line"
876msgstr "fin de fichero inesperado después de #line"
866 877
867#: macro.c:3060878#: macro.c:3145
868msgid "parameter name missing"879msgid "expected ')' after \"...\""
869msgstr "falta el nombre del parámetro"880msgstr ""
870 881
871#: macro.c:3081882#: macro.c:3202
872msgid "anonymous variadic macros were introduced in C++11"883msgid "anonymous variadic macros were introduced in C++11"
873msgstr "las macros variadic anónimas se introdujeron en C++11"884msgstr "las macros variadic anónimas se introdujeron en C++11"
874 885
875#: macro.c:3085 macro.c:3090886#: macro.c:3203 macro.c:3207
876msgid "anonymous variadic macros were introduced in C99"887msgid "anonymous variadic macros were introduced in C99"
877msgstr "los macros variadic anónimos se introdujeron en C99"888msgstr "los macros variadic anónimos se introdujeron en C99"
878 889
879#: macro.c:3097890#: macro.c:3213
880msgid "ISO C++ does not permit named variadic macros"891msgid "ISO C++ does not permit named variadic macros"
881msgstr "ISO C++ no permite macros variadic nombrados"892msgstr "ISO C++ no permite macros variadic nombrados"
882 893
883#: macro.c:3100894#: macro.c:3214
884msgid "ISO C does not permit named variadic macros"895msgid "ISO C does not permit named variadic macros"
885msgstr "ISO C no permite macros variadic nombrados"896msgstr "ISO C no permite macros variadic nombrados"
886 897
887#: macro.c:3110898#: macro.c:3260
888msgid "missing ')' in macro parameter list"
889msgstr "falta ')' en la lista de parámetros de macro"
890
891#: macro.c:3161
892msgid "'##' cannot appear at either end of a macro expansion"899msgid "'##' cannot appear at either end of a macro expansion"
893msgstr "'##' no puede aparece en o al final de una expansión de macro"900msgstr "'##' no puede aparece en o al final de una expansión de macro"
894 901
895#: macro.c:3198902#: macro.c:3298
896msgid "ISO C++11 requires whitespace after the macro name"903msgid "ISO C++11 requires whitespace after the macro name"
897msgstr "ISO C++11 requiere espacios en blanco tras del nombre de macro"904msgstr "ISO C++11 requiere espacios en blanco tras del nombre de macro"
898 905
899#: macro.c:3201906#: macro.c:3299
900msgid "ISO C99 requires whitespace after the macro name"907msgid "ISO C99 requires whitespace after the macro name"
901msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"908msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"
902 909
903#: macro.c:3226910#: macro.c:3323
904msgid "missing whitespace after the macro name"911msgid "missing whitespace after the macro name"
905msgstr "faltan espacios en blanco después del nombre de macro"912msgstr "faltan espacios en blanco después del nombre de macro"
906 913
907#: macro.c:3263914#: macro.c:3373
908msgid "'#' is not followed by a macro parameter"915msgid "'#' is not followed by a macro parameter"
909msgstr "'#' no es seguido por un parámetro de macro"916msgstr "'#' no es seguido por un parámetro de macro"
910 917
911#: macro.c:3430918#: macro.c:3524
912#, c-format919#, c-format
913msgid "\"%s\" redefined"920msgid "\"%s\" redefined"
914msgstr "«%s» redefinido"921msgstr "«%s» redefinido"
915 922
916#: macro.c:3435923#: macro.c:3529
917msgid "this is the location of the previous definition"924msgid "this is the location of the previous definition"
918msgstr "esta es la ubicación de la definición previa"925msgstr "esta es la ubicación de la definición previa"
919 926
920#: macro.c:3496927#: macro.c:3633
921#, c-format928#, c-format
922msgid "macro argument \"%s\" would be stringified in traditional C"929msgid "macro argument \"%s\" would be stringified in traditional C"
923msgstr "el argumento de macro «%s» debería ser convertido a cadena en C tradicional"930msgstr "el argumento de macro «%s» debería ser convertido a cadena en C tradicional"
924 931
925#: macro.c:3532932#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
926#, c-format
927msgid "invalid hash type %d in cpp_macro_definition"
928msgstr "tipo de hash %d inválido en cpp_macro_definition"
929
930#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
931msgid "while writing precompiled header"933msgid "while writing precompiled header"
932msgstr "al escribir el encabezado precompilado"934msgstr "al escribir el encabezado precompilado"
933 935
934#: pch.c:621936#: pch.c:616
935#, c-format937#, c-format
936msgid "%s: not used because `%.*s' is poisoned"938msgid "%s: not used because `%.*s' is poisoned"
937msgstr "%s: no se usa porque `%.*s' está envenenado"939msgstr "%s: no se usa porque `%.*s' está envenenado"
938 940
939#: pch.c:643941#: pch.c:638
940#, c-format942#, c-format
941msgid "%s: not used because `%.*s' not defined"943msgid "%s: not used because `%.*s' not defined"
942msgstr "%s: no se usa porque `%.*s' no está definido"944msgstr "%s: no se usa porque `%.*s' no está definido"
943 945
944#: pch.c:655946#: pch.c:650
945#, c-format947#, c-format
946msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"948msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
947msgstr "%s: no se usa porque `%.*s' está definido como `%s' no como `%.*s'"949msgstr "%s: no se usa porque `%.*s' está definido como `%s' no como `%.*s'"
948 950
949#: pch.c:696951#: pch.c:691
950#, c-format952#, c-format
951msgid "%s: not used because `%s' is defined"953msgid "%s: not used because `%s' is defined"
952msgstr "%s: no se usa porque `%s' está definido"954msgstr "%s: no se usa porque `%s' está definido"
953 955
954#: pch.c:716956#: pch.c:711
955#, c-format957#, c-format
956msgid "%s: not used because `__COUNTER__' is invalid"958msgid "%s: not used because `__COUNTER__' is invalid"
957msgstr "%s: no se usa porque `__COUNTER__' es inválido"959msgstr "%s: no se usa porque `__COUNTER__' es inválido"
958 960
959#: pch.c:725 pch.c:903961#: pch.c:720 pch.c:878
960msgid "while reading precompiled header"962msgid "while reading precompiled header"
961msgstr "al leer el encabezado precompilado"963msgstr "al leer el encabezado precompilado"
962 964
963#: traditional.c:889965#: traditional.c:896
964#, c-format966#, c-format
965msgid "detected recursion whilst expanding macro \"%s\""967msgid "detected recursion whilst expanding macro \"%s\""
966msgstr "se detectó recursión al expandir la macro «%s»"968msgstr "se detectó recursión al expandir la macro «%s»"
967 969
968#: traditional.c:1108970#: traditional.c:1119
969msgid "syntax error in macro parameter list"971msgid "syntax error in macro parameter list"
970msgstr "error de sintaxis en la lista de parámetros de macro"972msgstr "error de sintaxis en la lista de parámetros de macro"
971 973
974#~ msgid "\"%s\" may not appear in macro parameter list"
975#~ msgstr "«%s» podría faltar en la lista de parámetro de macro"
976
977#~ msgid "macro parameters must be comma-separated"
978#~ msgstr "los parámetros de macro deben ser separados por comas"
979
980#~ msgid "parameter name missing"
981#~ msgstr "falta el nombre del parámetro"
982
983#~ msgid "missing ')' in macro parameter list"
984#~ msgstr "falta ')' en la lista de parámetros de macro"
985
986#~ msgid "invalid hash type %d in cpp_macro_definition"
987#~ msgstr "tipo de hash %d inválido en cpp_macro_definition"
988
972#~ msgid "Character %x might not be NFKC"989#~ msgid "Character %x might not be NFKC"
973#~ msgstr "El carácter %x puede no ser NFKC"990#~ msgstr "El carácter %x puede no ser NFKC"
974 991
gcc/libcpp/po/fi.gmo+0−0

Binary file not shown.

gcc/libcpp/po/fi.po+185−170
@@ -1,15 +1,15 @@
1# Finnish messages for cpplib.1# Finnish messages for cpplib.
2# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018 Free Software Foundation, Inc.2# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2019 Free Software Foundation, Inc.
3# This file is distributed under the same license as the gcc package.3# This file is distributed under the same license as the gcc package.
4# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.4# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.
5# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018.5# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018, 2019.
6#6#
7msgid ""7msgid ""
8msgstr ""8msgstr ""
9"Project-Id-Version: cpplib 8.1-b20180128\n"9"Project-Id-Version: cpplib 9.1-b20190203\n"
10"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"10"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
11"POT-Creation-Date: 2018-01-26 22:47+0000\n"11"POT-Creation-Date: 2019-02-01 23:01+0000\n"
12"PO-Revision-Date: 2018-01-31 01:28+0200\n"12"PO-Revision-Date: 2019-02-05 20:41+0200\n"
13"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"13"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
14"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"14"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
15"Language: fi\n"15"Language: fi\n"
@@ -18,7 +18,7 @@ msgstr "" · 2 unmodified lines
18"Content-Transfer-Encoding: 8bit\n"18"Content-Transfer-Encoding: 8bit\n"
19"X-Bugs: Report translation errors to the Language-Team address.\n"19"X-Bugs: Report translation errors to the Language-Team address.\n"
20"Plural-Forms: nplurals=2; plural=(n != 1);\n"20"Plural-Forms: nplurals=2; plural=(n != 1);\n"
21"X-Generator: Poedit 2.0.6\n"21"X-Generator: Poedit 2.2.1\n"
22 22
23#: charset.c:67423#: charset.c:674
24#, c-format24#, c-format
@@ -90,7 +90,7 @@ msgstr "universaali merkki %.*s ei ole kelvollinen tunniste" · 65 unmodified lines
90msgid "universal character %.*s is not valid at the start of an identifier"90msgid "universal character %.*s is not valid at the start of an identifier"
91msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"91msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"
92 92
93#: charset.c:1181 charset.c:200093#: charset.c:1181 charset.c:2002
94msgid "converting UCN to source character set"94msgid "converting UCN to source character set"
95msgstr "muunnetaan UCN lähdemerkistöön"95msgstr "muunnetaan UCN lähdemerkistöön"
96 96
@@ -141,295 +141,295 @@ msgstr "muunnetaan ohjaussarja suoritusmerkistöön" · 44 unmodified lines
141msgid "missing open quote"141msgid "missing open quote"
142msgstr "avautuva sulje puuttuu"142msgstr "avautuva sulje puuttuu"
143 143
144#: charset.c:1827 charset.c:1891144#: charset.c:1829 charset.c:1893
145msgid "character constant too long for its type"145msgid "character constant too long for its type"
146msgstr "merkkivakio on liian pitkä tyypilleen"146msgstr "merkkivakio on liian pitkä tyypilleen"
147 147
148#: charset.c:1830148#: charset.c:1832
149msgid "multi-character character constant"149msgid "multi-character character constant"
150msgstr "monimerkkinen merkkivakio"150msgstr "monimerkkinen merkkivakio"
151 151
152#: charset.c:1931152#: charset.c:1933
153msgid "empty character constant"153msgid "empty character constant"
154msgstr "tyhjä merkkivakio"154msgstr "tyhjä merkkivakio"
155 155
156#: charset.c:2047156#: charset.c:2049
157#, c-format157#, c-format
158msgid "failure to convert %s to %s"158msgid "failure to convert %s to %s"
159msgstr "muunnos %s -> %s epäonnistui"159msgstr "muunnos %s -> %s epäonnistui"
160 160
161#: directives.c:235 directives.c:278161#: directives.c:229 directives.c:272
162#, c-format162#, c-format
163msgid "extra tokens at end of #%s directive"163msgid "extra tokens at end of #%s directive"
164msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"164msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"
165 165
166#: directives.c:385166#: directives.c:379
167#, c-format167#, c-format
168msgid "#%s is a GCC extension"168msgid "#%s is a GCC extension"
169msgstr "#%s on GCC-laajennos"169msgstr "#%s on GCC-laajennos"
170 170
171#: directives.c:390171#: directives.c:384
172#, c-format172#, c-format
173msgid "#%s is a deprecated GCC extension"173msgid "#%s is a deprecated GCC extension"
174msgstr "#%s on vanhentunut GCC-laajennos"174msgstr "#%s on vanhentunut GCC-laajennos"
175 175
176#: directives.c:403176#: directives.c:397
177msgid "suggest not using #elif in traditional C"177msgid "suggest not using #elif in traditional C"
178msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"178msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"
179 179
180#: directives.c:406180#: directives.c:400
181#, c-format181#, c-format
182msgid "traditional C ignores #%s with the # indented"182msgid "traditional C ignores #%s with the # indented"
183msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"183msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"
184 184
185#: directives.c:410185#: directives.c:404
186#, c-format186#, c-format
187msgid "suggest hiding #%s from traditional C with an indented #"187msgid "suggest hiding #%s from traditional C with an indented #"
188msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"188msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"
189 189
190#: directives.c:436190#: directives.c:430
191msgid "embedding a directive within macro arguments is not portable"191msgid "embedding a directive within macro arguments is not portable"
192msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"192msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"
193 193
194#: directives.c:456194#: directives.c:450
195msgid "style of line directive is a GCC extension"195msgid "style of line directive is a GCC extension"
196msgstr "rividirektiivin tyyli on GCC-laajennos"196msgstr "rividirektiivin tyyli on GCC-laajennos"
197 197
198#: directives.c:537198#: directives.c:531
199#, c-format199#, c-format
200msgid "invalid preprocessing directive #%s"200msgid "invalid preprocessing directive #%s"
201msgstr "virheellinen esikääntäjän direktiivi #%s"201msgstr "virheellinen esikääntäjän direktiivi #%s"
202 202
203#: directives.c:606203#: directives.c:600
204msgid "\"defined\" cannot be used as a macro name"204msgid "\"defined\" cannot be used as a macro name"
205msgstr "”defined” ei ole kelvollinen makron nimi"205msgstr "”defined” ei ole kelvollinen makron nimi"
206 206
207#: directives.c:611207#: directives.c:605
208msgid "\"__has_include__\" cannot be used as a macro name"208msgid "\"__has_include__\" cannot be used as a macro name"
209msgstr "”__has_include__” ei ole kelvollinen makron nimi"209msgstr "”__has_include__” ei ole kelvollinen makron nimi"
210 210
211#: directives.c:617211#: directives.c:611
212#, c-format212#, c-format
213msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"213msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
214msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"214msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"
215 215
216#: directives.c:620216#: directives.c:614
217#, c-format217#, c-format
218msgid "no macro name given in #%s directive"218msgid "no macro name given in #%s directive"
219msgstr "makron nimeä ei ole annettu #%s-direktiivissä"219msgstr "makron nimeä ei ole annettu #%s-direktiivissä"
220 220
221#: directives.c:623221#: directives.c:617
222msgid "macro names must be identifiers"222msgid "macro names must be identifiers"
223msgstr "makrojen nimien on oltava tunnisteita"223msgstr "makrojen nimien on oltava tunnisteita"
224 224
225#: directives.c:672 directives.c:677225#: directives.c:666 directives.c:671
226#, c-format226#, c-format
227msgid "undefining \"%s\""227msgid "undefining \"%s\""
228msgstr "kumotaan määrittely ”%s”"228msgstr "kumotaan määrittely ”%s”"
229 229
230#: directives.c:732230#: directives.c:727
231msgid "missing terminating > character"231msgid "missing terminating > character"
232msgstr "päättävä >-merkki puuttuu"232msgstr "päättävä >-merkki puuttuu"
233 233
234#: directives.c:791234#: directives.c:786
235#, c-format235#, c-format
236msgid "#%s expects \"FILENAME\" or <FILENAME>"236msgid "#%s expects \"FILENAME\" or <FILENAME>"
237msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"237msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"
238 238
239#: directives.c:837239#: directives.c:828
240#, c-format240#, c-format
241msgid "empty filename in #%s"241msgid "empty filename in #%s"
242msgstr "tyhjä tiedostonimi direktiivissä #%s"242msgstr "tyhjä tiedostonimi direktiivissä #%s"
243 243
244#: directives.c:847244#: directives.c:835
245msgid "#include nested too deeply"245msgid "#include nested too deeply"
246msgstr "liikaa sisäkkäisiä #include:ja"246msgstr "liikaa sisäkkäisiä #include:ja"
247 247
248#: directives.c:888248#: directives.c:877
249msgid "#include_next in primary source file"249msgid "#include_next in primary source file"
250msgstr "#include_next ensisijaisessa lähdetiedostossa"250msgstr "#include_next ensisijaisessa lähdetiedostossa"
251 251
252#: directives.c:914252#: directives.c:903
253#, c-format253#, c-format
254msgid "invalid flag \"%s\" in line directive"254msgid "invalid flag \"%s\" in line directive"
255msgstr "virheellinen lippu ”%s” rividirektiivissä"255msgstr "virheellinen lippu ”%s” rividirektiivissä"
256 256
257#: directives.c:974257#: directives.c:963
258msgid "unexpected end of file after #line"258msgid "unexpected end of file after #line"
259msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"259msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"
260 260
261#: directives.c:977261#: directives.c:966
262#, c-format262#, c-format
263msgid "\"%s\" after #line is not a positive integer"263msgid "\"%s\" after #line is not a positive integer"
264msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"264msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
265 265
266#: directives.c:983 directives.c:985266#: directives.c:972 directives.c:974
267msgid "line number out of range"267msgid "line number out of range"
268msgstr "rivinumero sallitun välin ulkopuolella"268msgstr "rivinumero sallitun välin ulkopuolella"
269 269
270#: directives.c:998 directives.c:1079270#: directives.c:987 directives.c:1068
271#, c-format271#, c-format
272msgid "\"%s\" is not a valid filename"272msgid "\"%s\" is not a valid filename"
273msgstr "”%s” ei ole kelvollinen tiedostonimi"273msgstr "”%s” ei ole kelvollinen tiedostonimi"
274 274
275#: directives.c:1039275#: directives.c:1028
276#, c-format276#, c-format
277msgid "\"%s\" after # is not a positive integer"277msgid "\"%s\" after # is not a positive integer"
278msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"278msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"
279 279
280#: directives.c:1098280#: directives.c:1087
281#, c-format281#, c-format
282msgid "file \"%s\" linemarker ignored due to incorrect nesting"282msgid "file \"%s\" linemarker ignored due to incorrect nesting"
283msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"283msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"
284 284
285#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747285#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
286#, c-format286#, c-format
287msgid "%s"287msgid "%s"
288msgstr "%s"288msgstr "%s"
289 289
290#: directives.c:1185290#: directives.c:1175
291#, c-format291#, c-format
292msgid "invalid #%s directive"292msgid "invalid #%s directive"
293msgstr "virheellinen #%s-direktiivi"293msgstr "virheellinen #%s-direktiivi"
294 294
295#: directives.c:1248295#: directives.c:1238
296#, c-format296#, c-format
297msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"297msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
298msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"298msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"
299 299
300#: directives.c:1257300#: directives.c:1247
301#, c-format301#, c-format
302msgid "registering pragma \"%s\" with name expansion and no namespace"302msgid "registering pragma \"%s\" with name expansion and no namespace"
303msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"303msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"
304 304
305#: directives.c:1275305#: directives.c:1265
306#, c-format306#, c-format
307msgid "registering \"%s\" as both a pragma and a pragma namespace"307msgid "registering \"%s\" as both a pragma and a pragma namespace"
308msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"308msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"
309 309
310#: directives.c:1278310#: directives.c:1268
311#, c-format311#, c-format
312msgid "#pragma %s %s is already registered"312msgid "#pragma %s %s is already registered"
313msgstr "#pragma %s %s on jo rekisteröity"313msgstr "#pragma %s %s on jo rekisteröity"
314 314
315#: directives.c:1281315#: directives.c:1271
316#, c-format316#, c-format
317msgid "#pragma %s is already registered"317msgid "#pragma %s is already registered"
318msgstr "#pragma %s on jo rekisteröity"318msgstr "#pragma %s on jo rekisteröity"
319 319
320#: directives.c:1311320#: directives.c:1301
321msgid "registering pragma with NULL handler"321msgid "registering pragma with NULL handler"
322msgstr "rekisteröidään pragma NULL-käsittelijällä"322msgstr "rekisteröidään pragma NULL-käsittelijällä"
323 323
324#: directives.c:1528324#: directives.c:1518
325msgid "#pragma once in main file"325msgid "#pragma once in main file"
326msgstr "#pragma once päätiedostossa"326msgstr "#pragma once päätiedostossa"
327 327
328#: directives.c:1551328#: directives.c:1541
329msgid "invalid #pragma push_macro directive"329msgid "invalid #pragma push_macro directive"
330msgstr "virheellinen #pragma push_macro -direktiivi"330msgstr "virheellinen #pragma push_macro -direktiivi"
331 331
332#: directives.c:1606332#: directives.c:1596
333msgid "invalid #pragma pop_macro directive"333msgid "invalid #pragma pop_macro directive"
334msgstr "virheellinen #pragma pop_macro -direktiivi"334msgstr "virheellinen #pragma pop_macro -direktiivi"
335 335
336# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä336# poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
337#: directives.c:1661337#: directives.c:1651
338msgid "invalid #pragma GCC poison directive"338msgid "invalid #pragma GCC poison directive"
339msgstr "virheellinen #pragma GCC poison -direktiivi"339msgstr "virheellinen #pragma GCC poison -direktiivi"
340 340
341#: directives.c:1670341#: directives.c:1660
342#, c-format342#, c-format
343msgid "poisoning existing macro \"%s\""343msgid "poisoning existing macro \"%s\""
344msgstr "myrkytetään olemassa oleva makro ”%s”"344msgstr "myrkytetään olemassa oleva makro ”%s”"
345 345
346#: directives.c:1689346#: directives.c:1679
347msgid "#pragma system_header ignored outside include file"347msgid "#pragma system_header ignored outside include file"
348msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"348msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"
349 349
350#: directives.c:1714350#: directives.c:1704
351#, c-format351#, c-format
352msgid "cannot find source file %s"352msgid "cannot find source file %s"
353msgstr "lähdetiedostoa %s ei löydy"353msgstr "lähdetiedostoa %s ei löydy"
354 354
355#: directives.c:1718355#: directives.c:1708
356#, c-format356#, c-format
357msgid "current file is older than %s"357msgid "current file is older than %s"
358msgstr "nykyinen tiedosto on vanhempi kuin %s"358msgstr "nykyinen tiedosto on vanhempi kuin %s"
359 359
360#: directives.c:1742360#: directives.c:1732
361#, c-format361#, c-format
362msgid "invalid \"#pragma GCC %s\" directive"362msgid "invalid \"#pragma GCC %s\" directive"
363msgstr "virheellinen ”#pragma GCC %s” -direktiivi"363msgstr "virheellinen ”#pragma GCC %s” -direktiivi"
364 364
365#: directives.c:1943365#: directives.c:1933
366msgid "_Pragma takes a parenthesized string literal"366msgid "_Pragma takes a parenthesized string literal"
367msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"367msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"
368 368
369#: directives.c:2064369#: directives.c:2021
370msgid "#else without #if"370msgid "#else without #if"
371msgstr "#else ilman #if:iä"371msgstr "#else ilman #if:iä"
372 372
373#: directives.c:2069373#: directives.c:2026
374msgid "#else after #else"374msgid "#else after #else"
375msgstr "#else #else:n jälkeen"375msgstr "#else #else:n jälkeen"
376 376
377#: directives.c:2071 directives.c:2104377#: directives.c:2028 directives.c:2061
378msgid "the conditional began here"378msgid "the conditional began here"
379msgstr "ehtolause alkoi tästä"379msgstr "ehtolause alkoi tästä"
380 380
381#: directives.c:2097381#: directives.c:2054
382msgid "#elif without #if"382msgid "#elif without #if"
383msgstr "#elif ilman #if:iä"383msgstr "#elif ilman #if:iä"
384 384
385#: directives.c:2102385#: directives.c:2059
386msgid "#elif after #else"386msgid "#elif after #else"
387msgstr "#elif #else:n jälkeen"387msgstr "#elif #else:n jälkeen"
388 388
389#: directives.c:2133389#: directives.c:2090
390msgid "#endif without #if"390msgid "#endif without #if"
391msgstr "#endif ilman #if:iä"391msgstr "#endif ilman #if:iä"
392 392
393#: directives.c:2213393#: directives.c:2166
394msgid "missing '(' after predicate"394msgid "missing '(' after predicate"
395msgstr "’(’ puuttuu predikaatin jäljestä"395msgstr "’(’ puuttuu predikaatin jäljestä"
396 396
397#: directives.c:2228397#: directives.c:2184
398msgid "missing ')' to complete answer"398msgid "missing ')' to complete answer"
399msgstr "’)’ puuttuu vastauksen täydentämisestä"399msgstr "’)’ puuttuu vastauksen täydentämisestä"
400 400
401#: directives.c:2248401#: directives.c:2196
402msgid "predicate's answer is empty"402msgid "predicate's answer is empty"
403msgstr "predikaatin vastaus on tyhjä"403msgstr "predikaatin vastaus on tyhjä"
404 404
405#: directives.c:2275405#: directives.c:2226
406msgid "assertion without predicate"406msgid "assertion without predicate"
407msgstr "väite ilman predikaattia"407msgstr "väite ilman predikaattia"
408 408
409#: directives.c:2278409#: directives.c:2229
410msgid "predicate must be an identifier"410msgid "predicate must be an identifier"
411msgstr "predikaatin on oltava tunniste"411msgstr "predikaatin on oltava tunniste"
412 412
413#: directives.c:2364413#: directives.c:2311
414#, c-format414#, c-format
415msgid "\"%s\" re-asserted"415msgid "\"%s\" re-asserted"
416msgstr "”%s” väitetty uudelleen"416msgstr "”%s” väitetty uudelleen"
417 417
418#: directives.c:2656418#: directives.c:2587
419#, c-format419#, c-format
420msgid "unterminated #%s"420msgid "unterminated #%s"
421msgstr "päättämätön #%s"421msgstr "päättämätön #%s"
422 422
423#: directives-only.c:221 lex.c:2851 traditional.c:167423#: directives-only.c:221 lex.c:2862 traditional.c:175
424msgid "unterminated comment"424msgid "unterminated comment"
425msgstr "päättämätön kommentti"425msgstr "päättämätön kommentti"
426 426
427#: errors.c:284427#: errors.c:291
428#, c-format428#, c-format
429msgid "%s: %s"429msgid "%s: %s"
430msgstr "%s: %s"430msgstr "%s: %s"
431 431
432#: errors.c:296432#: errors.c:304
433msgid "stdout"433msgid "stdout"
434msgstr "vakiotuloste"434msgstr "vakiotuloste"
435 435
@@ -522,85 +522,85 @@ msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)" · 86 unmodified lines
522msgid "this use of \"defined\" may not be portable"522msgid "this use of \"defined\" may not be portable"
523msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"523msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"
524 524
525#: expr.c:1125525#: expr.c:1109
526msgid "user-defined literal in preprocessor expression"526msgid "user-defined literal in preprocessor expression"
527msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"527msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"
528 528
529#: expr.c:1130529#: expr.c:1114
530msgid "floating constant in preprocessor expression"530msgid "floating constant in preprocessor expression"
531msgstr "liukulukuvakio esikääntäjän lausekkeessa"531msgstr "liukulukuvakio esikääntäjän lausekkeessa"
532 532
533#: expr.c:1136533#: expr.c:1120
534msgid "imaginary number in preprocessor expression"534msgid "imaginary number in preprocessor expression"
535msgstr "imaginääriluku esikääntäjän lausekkeessa"535msgstr "imaginääriluku esikääntäjän lausekkeessa"
536 536
537#: expr.c:1189537#: expr.c:1173
538#, c-format538#, c-format
539msgid "\"%s\" is not defined, evaluates to 0"539msgid "\"%s\" is not defined, evaluates to 0"
540msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"540msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"
541 541
542#: expr.c:1202542#: expr.c:1186
543msgid "assertions are a GCC extension"543msgid "assertions are a GCC extension"
544msgstr "väitteet ovat GCC-laajennos"544msgstr "väitteet ovat GCC-laajennos"
545 545
546#: expr.c:1205546#: expr.c:1189
547msgid "assertions are a deprecated extension"547msgid "assertions are a deprecated extension"
548msgstr "väitteet ovat vanhentunut laajennos"548msgstr "väitteet ovat vanhentunut laajennos"
549 549
550# %s on #if tai #elif550# %s on #if tai #elif
551#: expr.c:1451551#: expr.c:1435
552#, c-format552#, c-format
553msgid "unbalanced stack in %s"553msgid "unbalanced stack in %s"
554msgstr "tasapainoton pino %s:ssä"554msgstr "tasapainoton pino %s:ssä"
555 555
556#: expr.c:1471556#: expr.c:1455
557#, c-format557#, c-format
558msgid "impossible operator '%u'"558msgid "impossible operator '%u'"
559msgstr "mahdoton operaattori ’%u’"559msgstr "mahdoton operaattori ’%u’"
560 560
561#: expr.c:1572561#: expr.c:1556
562msgid "missing ')' in expression"562msgid "missing ')' in expression"
563msgstr "’)’ puuttuu lausekkeesta"563msgstr "’)’ puuttuu lausekkeesta"
564 564
565#: expr.c:1601565#: expr.c:1585
566msgid "'?' without following ':'"566msgid "'?' without following ':'"
567msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"567msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"
568 568
569#: expr.c:1611569#: expr.c:1595
570msgid "integer overflow in preprocessor expression"570msgid "integer overflow in preprocessor expression"
571msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"571msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"
572 572
573#: expr.c:1616573#: expr.c:1600
574msgid "missing '(' in expression"574msgid "missing '(' in expression"
575msgstr "’(’ puuttuu lausekkeesta"575msgstr "’(’ puuttuu lausekkeesta"
576 576
577#: expr.c:1648577#: expr.c:1632
578#, c-format578#, c-format
579msgid "the left operand of \"%s\" changes sign when promoted"579msgid "the left operand of \"%s\" changes sign when promoted"
580msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"580msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"
581 581
582#: expr.c:1653582#: expr.c:1637
583#, c-format583#, c-format
584msgid "the right operand of \"%s\" changes sign when promoted"584msgid "the right operand of \"%s\" changes sign when promoted"
585msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"585msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"
586 586
587#: expr.c:1912587#: expr.c:1896
588msgid "traditional C rejects the unary plus operator"588msgid "traditional C rejects the unary plus operator"
589msgstr "perinteinen C ei salli unaarista plus-operaattoria"589msgstr "perinteinen C ei salli unaarista plus-operaattoria"
590 590
591#: expr.c:2010591#: expr.c:1994
592msgid "comma operator in operand of #if"592msgid "comma operator in operand of #if"
593msgstr "pilkkuoperaattori #if:in operandissa"593msgstr "pilkkuoperaattori #if:in operandissa"
594 594
595#: expr.c:2146595#: expr.c:2130
596msgid "division by zero in #if"596msgid "division by zero in #if"
597msgstr "jako nollalla #if-ehdossa"597msgstr "jako nollalla #if-ehdossa"
598 598
599#: expr.c:2243599#: expr.c:2227
600msgid "operator \"__has_include__\" requires a header string"600msgid "operator \"__has_include__\" requires a header string"
601msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon"601msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon"
602 602
603#: expr.c:2259603#: expr.c:2243
604msgid "missing ')' after \"__has_include__\""604msgid "missing ')' after \"__has_include__\""
605msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"605msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"
606 606
@@ -617,40 +617,40 @@ msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi" · 10 unmodified lines
617msgid "no include path in which to search for %s"617msgid "no include path in which to search for %s"
618msgstr "ei include-polkua, josta etsiä tiedostoa %s"618msgstr "ei include-polkua, josta etsiä tiedostoa %s"
619 619
620#: files.c:1441620#: files.c:1455
621msgid "Multiple include guards may be useful for:\n"621msgid "Multiple include guards may be useful for:\n"
622msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"622msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"
623 623
624#: init.c:565624#: init.c:569
625msgid "cppchar_t must be an unsigned type"625msgid "cppchar_t must be an unsigned type"
626msgstr "cppchar_t:n on oltava etumerkitön tyyppi"626msgstr "cppchar_t:n on oltava etumerkitön tyyppi"
627 627
628#: init.c:569628#: init.c:573
629#, c-format629#, c-format
630msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"630msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
631msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"631msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"
632 632
633#: init.c:576633#: init.c:580
634msgid "CPP arithmetic must be at least as precise as a target int"634msgid "CPP arithmetic must be at least as precise as a target int"
635msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"635msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"
636 636
637#: init.c:579637#: init.c:583
638msgid "target char is less than 8 bits wide"638msgid "target char is less than 8 bits wide"
639msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"639msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"
640 640
641#: init.c:583641#: init.c:587
642msgid "target wchar_t is narrower than target char"642msgid "target wchar_t is narrower than target char"
643msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"643msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"
644 644
645#: init.c:587645#: init.c:591
646msgid "target int is narrower than target char"646msgid "target int is narrower than target char"
647msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"647msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"
648 648
649#: init.c:592649#: init.c:596
650msgid "CPP half-integer narrower than CPP character"650msgid "CPP half-integer narrower than CPP character"
651msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"651msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"
652 652
653#: init.c:596653#: init.c:600
654#, c-format654#, c-format
655msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"655msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
656msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"656msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"
@@ -729,260 +729,275 @@ msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa" · 72 unmodified lines
729msgid "identifier \"%s\" is a special operator name in C++"729msgid "identifier \"%s\" is a special operator name in C++"
730msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"730msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"
731 731
732#: lex.c:1811732#: lex.c:1826
733msgid "raw string delimiter longer than 16 characters"733msgid "raw string delimiter longer than 16 characters"
734msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"734msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"
735 735
736#: lex.c:1815736#: lex.c:1830
737msgid "invalid new-line in raw string delimiter"737msgid "invalid new-line in raw string delimiter"
738msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"738msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"
739 739
740#: lex.c:1819740#: lex.c:1834
741#, c-format741#, c-format
742msgid "invalid character '%c' in raw string delimiter"742msgid "invalid character '%c' in raw string delimiter"
743msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"743msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"
744 744
745#: lex.c:1868 lex.c:1890745#: lex.c:1883 lex.c:1905
746msgid "unterminated raw string"746msgid "unterminated raw string"
747msgstr "päättämätön raaka merkkijono"747msgstr "päättämätön raaka merkkijono"
748 748
749#: lex.c:1912 lex.c:2043749#: lex.c:1925 lex.c:2054
750msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"750msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
751msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"751msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
752 752
753#: lex.c:2024753#: lex.c:2037
754msgid "null character(s) preserved in literal"754msgid "null character(s) preserved in literal"
755msgstr "null-merkit säilytetään literaalissa"755msgstr "null-merkit säilytetään literaalissa"
756 756
757#: lex.c:2027757#: lex.c:2040
758#, c-format758#, c-format
759msgid "missing terminating %c character"759msgid "missing terminating %c character"
760msgstr "päättävä merkki %c puuttuu"760msgstr "päättävä merkki %c puuttuu"
761 761
762#: lex.c:2061762#: lex.c:2072
763msgid "C++11 requires a space between string literal and macro"763msgid "C++11 requires a space between string literal and macro"
764msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"764msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"
765 765
766#: lex.c:2865 lex.c:2899766#: lex.c:2876 lex.c:2910
767msgid "C++ style comments are not allowed in ISO C90"767msgid "C++ style comments are not allowed in ISO C90"
768msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"768msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"
769 769
770#: lex.c:2867 lex.c:2878 lex.c:2901770#: lex.c:2878 lex.c:2889 lex.c:2913
771msgid "(this will be reported only once per input file)"771msgid "(this will be reported only once per input file)"
772msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"772msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"
773 773
774#: lex.c:2876774#: lex.c:2887
775msgid "C++ style comments are incompatible with C90"775msgid "C++ style comments are incompatible with C90"
776msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"776msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"
777 777
778#: lex.c:2907778#: lex.c:2919
779msgid "multi-line comment"779msgid "multi-line comment"
780msgstr "monirivinen kommentti"780msgstr "monirivinen kommentti"
781 781
782#: lex.c:3287782#: lex.c:3299
783#, c-format783#, c-format
784msgid "unspellable token %s"784msgid "unspellable token %s"
785msgstr "kirjoitusasuton symboli %s"785msgstr "kirjoitusasuton symboli %s"
786 786
787#: macro.c:93787#: macro.c:94
788msgid "'##' cannot appear at either end of __VA_OPT__"788msgid "'##' cannot appear at either end of __VA_OPT__"
789msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"789msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"
790 790
791#: macro.c:352791#: macro.c:354
792#, c-format792#, c-format
793msgid "macro \"%s\" is not used"793msgid "macro \"%s\" is not used"
794msgstr "makroa ”%s” ei käytetä"794msgstr "makroa ”%s” ei käytetä"
795 795
796#: macro.c:391 macro.c:639796#: macro.c:393 macro.c:641
797#, c-format797#, c-format
798msgid "invalid built-in macro \"%s\""798msgid "invalid built-in macro \"%s\""
799msgstr "virheellinen sisäinen makro ”%s”"799msgstr "virheellinen sisäinen makro ”%s”"
800 800
801#: macro.c:398 macro.c:500801#: macro.c:400 macro.c:502
802#, c-format802#, c-format
803msgid "macro \"%s\" might prevent reproducible builds"803msgid "macro \"%s\" might prevent reproducible builds"
804msgstr "makro ”%s” saattaa estää toistettavat käännökset"804msgstr "makro ”%s” saattaa estää toistettavat käännökset"
805 805
806#: macro.c:429806#: macro.c:431
807msgid "could not determine file timestamp"807msgid "could not determine file timestamp"
808msgstr "ei voitu selvittää tiedoston aikaleimaa"808msgstr "ei voitu selvittää tiedoston aikaleimaa"
809 809
810#: macro.c:546810#: macro.c:548
811msgid "could not determine date and time"811msgid "could not determine date and time"
812msgstr "ei voitu selvittää päivämäärää ja aikaa"812msgstr "ei voitu selvittää päivämäärää ja aikaa"
813 813
814#: macro.c:562814#: macro.c:564
815msgid "__COUNTER__ expanded inside directive with -fdirectives-only"815msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
816msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"816msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"
817 817
818#: macro.c:758818#: macro.c:760
819msgid "invalid string literal, ignoring final '\\'"819msgid "invalid string literal, ignoring final '\\'"
820msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"820msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"
821 821
822#: macro.c:820822#: macro.c:822
823#, c-format823#, c-format
824msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"824msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
825msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia"825msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia"
826 826
827# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.827# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
828#: macro.c:946828#: macro.c:948
829msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"829msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
830msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"830msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"
831 831
832# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.832# Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
833#: macro.c:950833#: macro.c:952
834msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"834msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
835msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"835msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"
836 836
837#: macro.c:957837#: macro.c:959
838#, c-format838#, c-format
839msgid "macro \"%s\" requires %u arguments, but only %u given"839msgid "macro \"%s\" requires %u arguments, but only %u given"
840msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"840msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"
841 841
842#: macro.c:962842#: macro.c:964
843#, c-format843#, c-format
844msgid "macro \"%s\" passed %u arguments, but takes just %u"844msgid "macro \"%s\" passed %u arguments, but takes just %u"
845msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u"845msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u"
846 846
847#: macro.c:1156 traditional.c:819847#: macro.c:1162 traditional.c:827
848#, c-format848#, c-format
849msgid "unterminated argument list invoking macro \"%s\""849msgid "unterminated argument list invoking macro \"%s\""
850msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"850msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"
851 851
852#: macro.c:1307852#: macro.c:1304
853#, c-format853#, c-format
854msgid "function-like macro \"%s\" must be used with arguments in traditional C"854msgid "function-like macro \"%s\" must be used with arguments in traditional C"
855msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä"855msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä"
856 856
857#: macro.c:2003857#: macro.c:2083
858#, c-format858#, c-format
859msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"859msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
860msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"860msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"
861 861
862#: macro.c:2011 macro.c:2020862#: macro.c:2091 macro.c:2100
863#, c-format863#, c-format
864msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"864msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
865msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"865msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"
866 866
867#: macro.c:2984867#: macro.c:3059
868#, c-format868#, c-format
869msgid "duplicate macro parameter \"%s\""869msgid "duplicate macro parameter \"%s\""
870msgstr "kahdenkertainen makroparametri ”%s”"870msgstr "kahdenkertainen makroparametri ”%s”"
871 871
872#: macro.c:3033872#: macro.c:3141
873#, c-format
874msgid "expected parameter name, found \"%s\""
875msgstr "odotettiin parametrin nimeä, löytyi ”%s”"
876
877#: macro.c:3142
873#, c-format878#, c-format
874msgid "\"%s\" may not appear in macro parameter list"879msgid "expected ',' or ')', found \"%s\""
875msgstr "”%s” ei saa esiintyä makron parametriluettelossa"880msgstr "odotettiin ”,” tai ”)”, löytyi ”%s”"
876 881
877#: macro.c:3041882#: macro.c:3143
878msgid "macro parameters must be comma-separated"883msgid "expected parameter name before end of line"
879msgstr "makron parametrien on oltava pilkuin eroteltuja"884msgstr "odotettiin parametrin nimeä ennen rivin loppua"
880 885
881#: macro.c:3060886#: macro.c:3144
882msgid "parameter name missing"887msgid "expected ')' before end of line"
883msgstr "parametrin nimi puuttuu"888msgstr "odotettiin tulevan ”)” ennen rivin loppua"
884 889
885#: macro.c:3081890#: macro.c:3145
891msgid "expected ')' after \"...\""
892msgstr "odotettiin ”...”:n jälkeen tulevan ”)”"
893
894#: macro.c:3202
886msgid "anonymous variadic macros were introduced in C++11"895msgid "anonymous variadic macros were introduced in C++11"
887msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"896msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"
888 897
889#: macro.c:3085 macro.c:3090898#: macro.c:3203 macro.c:3207
890msgid "anonymous variadic macros were introduced in C99"899msgid "anonymous variadic macros were introduced in C99"
891msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"900msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"
892 901
893#: macro.c:3097902#: macro.c:3213
894msgid "ISO C++ does not permit named variadic macros"903msgid "ISO C++ does not permit named variadic macros"
895msgstr "ISO C++ ei salli nimettyjä variadisia makroja"904msgstr "ISO C++ ei salli nimettyjä variadisia makroja"
896 905
897#: macro.c:3100906#: macro.c:3214
898msgid "ISO C does not permit named variadic macros"907msgid "ISO C does not permit named variadic macros"
899msgstr "ISO C ei salli nimettyjä variadisia makroja"908msgstr "ISO C ei salli nimettyjä variadisia makroja"
900 909
901#: macro.c:3110910#: macro.c:3260
902msgid "missing ')' in macro parameter list"
903msgstr "’)’ puuttuu makron parametriluettelosta"
904
905#: macro.c:3161
906msgid "'##' cannot appear at either end of a macro expansion"911msgid "'##' cannot appear at either end of a macro expansion"
907msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"912msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"
908 913
909#: macro.c:3198914#: macro.c:3298
910msgid "ISO C++11 requires whitespace after the macro name"915msgid "ISO C++11 requires whitespace after the macro name"
911msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"916msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"
912 917
913#: macro.c:3201918#: macro.c:3299
914msgid "ISO C99 requires whitespace after the macro name"919msgid "ISO C99 requires whitespace after the macro name"
915msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"920msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"
916 921
917#: macro.c:3226922#: macro.c:3323
918msgid "missing whitespace after the macro name"923msgid "missing whitespace after the macro name"
919msgstr "tyhjemerkki puuttuu makron nimen jäljestä"924msgstr "tyhjemerkki puuttuu makron nimen jäljestä"
920 925
921#: macro.c:3263926#: macro.c:3373
922msgid "'#' is not followed by a macro parameter"927msgid "'#' is not followed by a macro parameter"
923msgstr "”#” ilman sitä seuraavaa makroparametria"928msgstr "”#” ilman sitä seuraavaa makroparametria"
924 929
925#: macro.c:3430930#: macro.c:3524
926#, c-format931#, c-format
927msgid "\"%s\" redefined"932msgid "\"%s\" redefined"
928msgstr "”%s” määritelty uudelleen"933msgstr "”%s” määritelty uudelleen"
929 934
930#: macro.c:3435935#: macro.c:3529
931msgid "this is the location of the previous definition"936msgid "this is the location of the previous definition"
932msgstr "tämä on edellisen määrittelyn sijainti"937msgstr "tämä on edellisen määrittelyn sijainti"
933 938
934#: macro.c:3496939#: macro.c:3633
935#, c-format940#, c-format
936msgid "macro argument \"%s\" would be stringified in traditional C"941msgid "macro argument \"%s\" would be stringified in traditional C"
937msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"942msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"
938 943
939#: macro.c:3532944#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
940#, c-format
941msgid "invalid hash type %d in cpp_macro_definition"
942msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"
943
944#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
945msgid "while writing precompiled header"945msgid "while writing precompiled header"
946msgstr "kirjoitettaessa esikäännettyä otsaketta"946msgstr "kirjoitettaessa esikäännettyä otsaketta"
947 947
948#: pch.c:621948#: pch.c:616
949#, c-format949#, c-format
950msgid "%s: not used because `%.*s' is poisoned"950msgid "%s: not used because `%.*s' is poisoned"
951msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"951msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"
952 952
953#: pch.c:643953#: pch.c:638
954#, c-format954#, c-format
955msgid "%s: not used because `%.*s' not defined"955msgid "%s: not used because `%.*s' not defined"
956msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"956msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"
957 957
958#: pch.c:655958#: pch.c:650
959#, c-format959#, c-format
960msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"960msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
961msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”"961msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”"
962 962
963#: pch.c:696963#: pch.c:691
964#, c-format964#, c-format
965msgid "%s: not used because `%s' is defined"965msgid "%s: not used because `%s' is defined"
966msgstr "%s: ei käytetä, koska ”%s” on määritelty"966msgstr "%s: ei käytetä, koska ”%s” on määritelty"
967 967
968#: pch.c:716968#: pch.c:711
969#, c-format969#, c-format
970msgid "%s: not used because `__COUNTER__' is invalid"970msgid "%s: not used because `__COUNTER__' is invalid"
971msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"971msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"
972 972
973#: pch.c:725 pch.c:903973#: pch.c:720 pch.c:878
974msgid "while reading precompiled header"974msgid "while reading precompiled header"
975msgstr "luettaessa esikäännettyä otsaketta"975msgstr "luettaessa esikäännettyä otsaketta"
976 976
977#: traditional.c:889977#: traditional.c:896
978#, c-format978#, c-format
979msgid "detected recursion whilst expanding macro \"%s\""979msgid "detected recursion whilst expanding macro \"%s\""
980msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"980msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"
981 981
982#: traditional.c:1108982#: traditional.c:1119
983msgid "syntax error in macro parameter list"983msgid "syntax error in macro parameter list"
984msgstr "syntaksivirhe makron parameteriluettelossa"984msgstr "syntaksivirhe makron parameteriluettelossa"
985 985
986#~ msgid "\"%s\" may not appear in macro parameter list"
987#~ msgstr "”%s” ei saa esiintyä makron parametriluettelossa"
988
989#~ msgid "macro parameters must be comma-separated"
990#~ msgstr "makron parametrien on oltava pilkuin eroteltuja"
991
992#~ msgid "parameter name missing"
993#~ msgstr "parametrin nimi puuttuu"
994
995#~ msgid "missing ')' in macro parameter list"
996#~ msgstr "’)’ puuttuu makron parametriluettelosta"
997
998#~ msgid "invalid hash type %d in cpp_macro_definition"
999#~ msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"
1000
986#~ msgid "NULL directory in find_file"1001#~ msgid "NULL directory in find_file"
987#~ msgstr "NULL-hakemisto funktiossa find_file"1002#~ msgstr "NULL-hakemisto funktiossa find_file"
988 1003
gcc/libcpp/po/fr.gmo+0−0

Binary file not shown.

gcc/libcpp/po/fr.po+183−168
@@ -4,7 +4,7 @@ · 3 unmodified lines
4# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.4# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
5# François-Xavier Coudert <fxcoudert@gcc.gnu.org>, 2008.5# François-Xavier Coudert <fxcoudert@gcc.gnu.org>, 2008.
6# Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.6# Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.
7# Frédéric Marchal <fmarchal@perso.be>, 2018.7# Frédéric Marchal <fmarchal@perso.be>, 2019.
8#8#
9# Vocabulaire utilisé9# Vocabulaire utilisé
10# lvalue = membre gauche10# lvalue = membre gauche
@@ -120,10 +120,10 @@ · 109 unmodified lines
120#120#
121msgid ""121msgid ""
122msgstr ""122msgstr ""
123"Project-Id-Version: GNU cpplib 8.1-b20180128\n"123"Project-Id-Version: GNU cpplib 9.1-b20190203\n"
124"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"124"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
125"POT-Creation-Date: 2018-01-26 22:47+0000\n"125"POT-Creation-Date: 2019-02-01 23:01+0000\n"
126"PO-Revision-Date: 2018-06-10 14:01+0200\n"126"PO-Revision-Date: 2019-02-05 20:35+0100\n"
127"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"127"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
128"Language-Team: French <traduc@traduc.org>\n"128"Language-Team: French <traduc@traduc.org>\n"
129"Language: fr\n"129"Language: fr\n"
@@ -203,7 +203,7 @@ msgstr "le caractère universel %.*s n’est pas valide dans un identificateur" · 73 unmodified lines
203msgid "universal character %.*s is not valid at the start of an identifier"203msgid "universal character %.*s is not valid at the start of an identifier"
204msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur"204msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur"
205 205
206#: charset.c:1181 charset.c:2000206#: charset.c:1181 charset.c:2002
207msgid "converting UCN to source character set"207msgid "converting UCN to source character set"
208msgstr "conversion d'un UCN vers le jeu de caractères source"208msgstr "conversion d'un UCN vers le jeu de caractères source"
209 209
@@ -254,294 +254,294 @@ msgstr "conversion d’une séquence d’échappement vers le jeu de caractères · 44 unmodified lines
254msgid "missing open quote"254msgid "missing open quote"
255msgstr "guillemet ouvrant de chaîne de caractères manquant"255msgstr "guillemet ouvrant de chaîne de caractères manquant"
256 256
257#: charset.c:1827 charset.c:1891257#: charset.c:1829 charset.c:1893
258msgid "character constant too long for its type"258msgid "character constant too long for its type"
259msgstr "constante caractère trop longue pour son type"259msgstr "constante caractère trop longue pour son type"
260 260
261#: charset.c:1830261#: charset.c:1832
262msgid "multi-character character constant"262msgid "multi-character character constant"
263msgstr "constante caractère multi-caractères"263msgstr "constante caractère multi-caractères"
264 264
265#: charset.c:1931265#: charset.c:1933
266msgid "empty character constant"266msgid "empty character constant"
267msgstr "constante caractère vide"267msgstr "constante caractère vide"
268 268
269#: charset.c:2047269#: charset.c:2049
270#, c-format270#, c-format
271msgid "failure to convert %s to %s"271msgid "failure to convert %s to %s"
272msgstr "échec de conversion de %s vers %s"272msgstr "échec de conversion de %s vers %s"
273 273
274#: directives.c:235 directives.c:278274#: directives.c:229 directives.c:272
275#, c-format275#, c-format
276msgid "extra tokens at end of #%s directive"276msgid "extra tokens at end of #%s directive"
277msgstr "éléments lexicaux superflus à la fin de la directive #%s"277msgstr "éléments lexicaux superflus à la fin de la directive #%s"
278 278
279#: directives.c:385279#: directives.c:379
280#, c-format280#, c-format
281msgid "#%s is a GCC extension"281msgid "#%s is a GCC extension"
282msgstr "#%s est une extension GCC"282msgstr "#%s est une extension GCC"
283 283
284#: directives.c:390284#: directives.c:384
285#, c-format285#, c-format
286msgid "#%s is a deprecated GCC extension"286msgid "#%s is a deprecated GCC extension"
287msgstr "#%s est une extension obsolète de GCC"287msgstr "#%s est une extension obsolète de GCC"
288 288
289#: directives.c:403289#: directives.c:397
290msgid "suggest not using #elif in traditional C"290msgid "suggest not using #elif in traditional C"
291msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"291msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"
292 292
293#: directives.c:406293#: directives.c:400
294#, c-format294#, c-format
295msgid "traditional C ignores #%s with the # indented"295msgid "traditional C ignores #%s with the # indented"
296msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté"296msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté"
297 297
298#: directives.c:410298#: directives.c:404
299#, c-format299#, c-format
300msgid "suggest hiding #%s from traditional C with an indented #"300msgid "suggest hiding #%s from traditional C with an indented #"
301msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »"301msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »"
302 302
303#: directives.c:436303#: directives.c:430
304msgid "embedding a directive within macro arguments is not portable"304msgid "embedding a directive within macro arguments is not portable"
305msgstr "placer une directive dans les arguments d’une macro n’est pas portable"305msgstr "placer une directive dans les arguments d’une macro n’est pas portable"
306 306
307#: directives.c:456307#: directives.c:450
308msgid "style of line directive is a GCC extension"308msgid "style of line directive is a GCC extension"
309msgstr "la directive de style de ligne est une extension GCC"309msgstr "la directive de style de ligne est une extension GCC"
310 310
311#: directives.c:537311#: directives.c:531
312#, c-format312#, c-format
313msgid "invalid preprocessing directive #%s"313msgid "invalid preprocessing directive #%s"
314msgstr "la directive de pré-traitement #%s invalide"314msgstr "la directive de pré-traitement #%s invalide"
315 315
316#: directives.c:606316#: directives.c:600
317msgid "\"defined\" cannot be used as a macro name"317msgid "\"defined\" cannot be used as a macro name"
318msgstr "« defined » ne peut être utilisé comme nom de macro"318msgstr "« defined » ne peut être utilisé comme nom de macro"
319 319
320#: directives.c:611320#: directives.c:605
321msgid "\"__has_include__\" cannot be used as a macro name"321msgid "\"__has_include__\" cannot be used as a macro name"
322msgstr "« __has_include__ » ne peut être utilisé comme nom de macro"322msgstr "« __has_include__ » ne peut être utilisé comme nom de macro"
323 323
324#: directives.c:617324#: directives.c:611
325#, c-format325#, c-format
326msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"326msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
327msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++"327msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++"
328 328
329#: directives.c:620329#: directives.c:614
330#, c-format330#, c-format
331msgid "no macro name given in #%s directive"331msgid "no macro name given in #%s directive"
332msgstr "aucun nom de macro donné dans la directive #%s"332msgstr "aucun nom de macro donné dans la directive #%s"
333 333
334#: directives.c:623334#: directives.c:617
335msgid "macro names must be identifiers"335msgid "macro names must be identifiers"
336msgstr "les noms de macro doivent être des identificateurs"336msgstr "les noms de macro doivent être des identificateurs"
337 337
338#: directives.c:672 directives.c:677338#: directives.c:666 directives.c:671
339#, c-format339#, c-format
340msgid "undefining \"%s\""340msgid "undefining \"%s\""
341msgstr "suppression de la définition de « %s »"341msgstr "suppression de la définition de « %s »"
342 342
343#: directives.c:732343#: directives.c:727
344msgid "missing terminating > character"344msgid "missing terminating > character"
345msgstr "caractère > de terminaison manquant"345msgstr "caractère > de terminaison manquant"
346 346
347#: directives.c:791347#: directives.c:786
348#, c-format348#, c-format
349msgid "#%s expects \"FILENAME\" or <FILENAME>"349msgid "#%s expects \"FILENAME\" or <FILENAME>"
350msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"350msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
351 351
352#: directives.c:837352#: directives.c:828
353#, c-format353#, c-format
354msgid "empty filename in #%s"354msgid "empty filename in #%s"
355msgstr "nom de fichier vide dans #%s"355msgstr "nom de fichier vide dans #%s"
356 356
357#: directives.c:847357#: directives.c:835
358msgid "#include nested too deeply"358msgid "#include nested too deeply"
359msgstr "#include imbriqué trop profondément"359msgstr "#include imbriqué trop profondément"
360 360
361#: directives.c:888361#: directives.c:877
362msgid "#include_next in primary source file"362msgid "#include_next in primary source file"
363msgstr "#include_next dans un fichier source primaire"363msgstr "#include_next dans un fichier source primaire"
364 364
365#: directives.c:914365#: directives.c:903
366#, c-format366#, c-format
367msgid "invalid flag \"%s\" in line directive"367msgid "invalid flag \"%s\" in line directive"
368msgstr "drapeau « %s » invalide dans la ligne de directive"368msgstr "drapeau « %s » invalide dans la ligne de directive"
369 369
370#: directives.c:974370#: directives.c:963
371msgid "unexpected end of file after #line"371msgid "unexpected end of file after #line"
372msgstr "fin de fichier inattendue après #line"372msgstr "fin de fichier inattendue après #line"
373 373
374#: directives.c:977374#: directives.c:966
375#, c-format375#, c-format
376msgid "\"%s\" after #line is not a positive integer"376msgid "\"%s\" after #line is not a positive integer"
377msgstr "« %s » après #line n’est pas un nombre entier positif"377msgstr "« %s » après #line n’est pas un nombre entier positif"
378 378
379#: directives.c:983 directives.c:985379#: directives.c:972 directives.c:974
380msgid "line number out of range"380msgid "line number out of range"
381msgstr "numéro de ligne hors intervalle"381msgstr "numéro de ligne hors intervalle"
382 382
383#: directives.c:998 directives.c:1079383#: directives.c:987 directives.c:1068
384#, c-format384#, c-format
385msgid "\"%s\" is not a valid filename"385msgid "\"%s\" is not a valid filename"
386msgstr "« %s » n’est pas un nom de fichier valide"386msgstr "« %s » n’est pas un nom de fichier valide"
387 387
388#: directives.c:1039388#: directives.c:1028
389#, c-format389#, c-format
390msgid "\"%s\" after # is not a positive integer"390msgid "\"%s\" after # is not a positive integer"
391msgstr "« %s » après # n’est pas un nombre entier positif"391msgstr "« %s » après # n’est pas un nombre entier positif"
392 392
393#: directives.c:1098393#: directives.c:1087
394#, c-format394#, c-format
395msgid "file \"%s\" linemarker ignored due to incorrect nesting"395msgid "file \"%s\" linemarker ignored due to incorrect nesting"
396msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte"396msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte"
397 397
398#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747398#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
399#, c-format399#, c-format
400msgid "%s"400msgid "%s"
401msgstr "%s"401msgstr "%s"
402 402
403#: directives.c:1185403#: directives.c:1175
404#, c-format404#, c-format
405msgid "invalid #%s directive"405msgid "invalid #%s directive"
406msgstr "directive #%s invalide"406msgstr "directive #%s invalide"
407 407
408#: directives.c:1248408#: directives.c:1238
409#, c-format409#, c-format
410msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"410msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
411msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"411msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"
412 412
413#: directives.c:1257413#: directives.c:1247
414#, c-format414#, c-format
415msgid "registering pragma \"%s\" with name expansion and no namespace"415msgid "registering pragma \"%s\" with name expansion and no namespace"
416msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom"416msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom"
417 417
418#: directives.c:1275418#: directives.c:1265
419#, c-format419#, c-format
420msgid "registering \"%s\" as both a pragma and a pragma namespace"420msgid "registering \"%s\" as both a pragma and a pragma namespace"
421msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma"421msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma"
422 422
423#: directives.c:1278423#: directives.c:1268
424#, c-format424#, c-format
425msgid "#pragma %s %s is already registered"425msgid "#pragma %s %s is already registered"
426msgstr "le #pragma %s %s est déjà enregistré"426msgstr "le #pragma %s %s est déjà enregistré"
427 427
428#: directives.c:1281428#: directives.c:1271
429#, c-format429#, c-format
430msgid "#pragma %s is already registered"430msgid "#pragma %s is already registered"
431msgstr "le #pragma %s est déjà enregistré"431msgstr "le #pragma %s est déjà enregistré"
432 432
433#: directives.c:1311433#: directives.c:1301
434msgid "registering pragma with NULL handler"434msgid "registering pragma with NULL handler"
435msgstr "enregistrement d’un pragma avec un handler NULL"435msgstr "enregistrement d’un pragma avec un handler NULL"
436 436
437#: directives.c:1528437#: directives.c:1518
438msgid "#pragma once in main file"438msgid "#pragma once in main file"
439msgstr "#pragma once utilisé une seule fois dans le fichier principal"439msgstr "#pragma once utilisé une seule fois dans le fichier principal"
440 440
441#: directives.c:1551441#: directives.c:1541
442msgid "invalid #pragma push_macro directive"442msgid "invalid #pragma push_macro directive"
443msgstr "directive #pragma push_macro invalide"443msgstr "directive #pragma push_macro invalide"
444 444
445#: directives.c:1606445#: directives.c:1596
446msgid "invalid #pragma pop_macro directive"446msgid "invalid #pragma pop_macro directive"
447msgstr "directive #pragma pop_macro invalide"447msgstr "directive #pragma pop_macro invalide"
448 448
449#: directives.c:1661449#: directives.c:1651
450msgid "invalid #pragma GCC poison directive"450msgid "invalid #pragma GCC poison directive"
451msgstr "directive #pragma GCC poison invalide"451msgstr "directive #pragma GCC poison invalide"
452 452
453#: directives.c:1670453#: directives.c:1660
454#, c-format454#, c-format
455msgid "poisoning existing macro \"%s\""455msgid "poisoning existing macro \"%s\""
456msgstr "empoisonnement de la macro existante « %s »"456msgstr "empoisonnement de la macro existante « %s »"
457 457
458#: directives.c:1689458#: directives.c:1679
459msgid "#pragma system_header ignored outside include file"459msgid "#pragma system_header ignored outside include file"
460msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"460msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"
461 461
462#: directives.c:1714462#: directives.c:1704
463#, c-format463#, c-format
464msgid "cannot find source file %s"464msgid "cannot find source file %s"
465msgstr "impossible de trouver le fichier source %s"465msgstr "impossible de trouver le fichier source %s"
466 466
467#: directives.c:1718467#: directives.c:1708
468#, c-format468#, c-format
469msgid "current file is older than %s"469msgid "current file is older than %s"
470msgstr "le fichier courant est plus vieux que %s"470msgstr "le fichier courant est plus vieux que %s"
471 471
472#: directives.c:1742472#: directives.c:1732
473#, c-format473#, c-format
474msgid "invalid \"#pragma GCC %s\" directive"474msgid "invalid \"#pragma GCC %s\" directive"
475msgstr "directive « #pragma GCC %s » invalide"475msgstr "directive « #pragma GCC %s » invalide"
476 476
477#: directives.c:1943477#: directives.c:1933
478msgid "_Pragma takes a parenthesized string literal"478msgid "_Pragma takes a parenthesized string literal"
479msgstr "_Pragma attend une chaîne entourée de parenthèses"479msgstr "_Pragma attend une chaîne entourée de parenthèses"
480 480
481#: directives.c:2064481#: directives.c:2021
482msgid "#else without #if"482msgid "#else without #if"
483msgstr "#else sans #if"483msgstr "#else sans #if"
484 484
485#: directives.c:2069485#: directives.c:2026
486msgid "#else after #else"486msgid "#else after #else"
487msgstr "#else après #else"487msgstr "#else après #else"
488 488
489#: directives.c:2071 directives.c:2104489#: directives.c:2028 directives.c:2061
490msgid "the conditional began here"490msgid "the conditional began here"
491msgstr "la condition débute ici"491msgstr "la condition débute ici"
492 492
493#: directives.c:2097493#: directives.c:2054
494msgid "#elif without #if"494msgid "#elif without #if"
495msgstr "#elif sans #if"495msgstr "#elif sans #if"
496 496
497#: directives.c:2102497#: directives.c:2059
498msgid "#elif after #else"498msgid "#elif after #else"
499msgstr "#elif après #else"499msgstr "#elif après #else"
500 500
501#: directives.c:2133501#: directives.c:2090
502msgid "#endif without #if"502msgid "#endif without #if"
503msgstr "#endif sans #if"503msgstr "#endif sans #if"
504 504
505#: directives.c:2213505#: directives.c:2166
506msgid "missing '(' after predicate"506msgid "missing '(' after predicate"
507msgstr "« ( » manquante après le prédicat"507msgstr "« ( » manquante après le prédicat"
508 508
509#: directives.c:2228509#: directives.c:2184
510msgid "missing ')' to complete answer"510msgid "missing ')' to complete answer"
511msgstr "« ) » manquante pour compléter la réponse"511msgstr "« ) » manquante pour compléter la réponse"
512 512
513#: directives.c:2248513#: directives.c:2196
514msgid "predicate's answer is empty"514msgid "predicate's answer is empty"
515msgstr "la réponse du prédicat est vide"515msgstr "la réponse du prédicat est vide"
516 516
517#: directives.c:2275517#: directives.c:2226
518msgid "assertion without predicate"518msgid "assertion without predicate"
519msgstr "assertion sans prédicat"519msgstr "assertion sans prédicat"
520 520
521#: directives.c:2278521#: directives.c:2229
522msgid "predicate must be an identifier"522msgid "predicate must be an identifier"
523msgstr "le prédicat doit être un identificateur"523msgstr "le prédicat doit être un identificateur"
524 524
525#: directives.c:2364525#: directives.c:2311
526#, c-format526#, c-format
527msgid "\"%s\" re-asserted"527msgid "\"%s\" re-asserted"
528msgstr "assertion « %s » redondante"528msgstr "assertion « %s » redondante"
529 529
530#: directives.c:2656530#: directives.c:2587
531#, c-format531#, c-format
532msgid "unterminated #%s"532msgid "unterminated #%s"
533msgstr "#%s non terminé"533msgstr "#%s non terminé"
534 534
535#: directives-only.c:221 lex.c:2851 traditional.c:167535#: directives-only.c:221 lex.c:2862 traditional.c:175
536msgid "unterminated comment"536msgid "unterminated comment"
537msgstr "commentaire non terminé"537msgstr "commentaire non terminé"
538 538
539#: errors.c:284539#: errors.c:291
540#, c-format540#, c-format
541msgid "%s: %s"541msgid "%s: %s"
542msgstr "%s : %s"542msgstr "%s : %s"
543 543
544#: errors.c:296544#: errors.c:304
545msgid "stdout"545msgid "stdout"
546msgstr "sortie standard"546msgstr "sortie standard"
547 547
@@ -634,84 +634,84 @@ msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)" · 86 unmodified lines
634msgid "this use of \"defined\" may not be portable"634msgid "this use of \"defined\" may not be portable"
635msgstr "cette utilisation de « defined » peut ne pas être portable"635msgstr "cette utilisation de « defined » peut ne pas être portable"
636 636
637#: expr.c:1125637#: expr.c:1109
638msgid "user-defined literal in preprocessor expression"638msgid "user-defined literal in preprocessor expression"
639msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"639msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"
640 640
641#: expr.c:1130641#: expr.c:1114
642msgid "floating constant in preprocessor expression"642msgid "floating constant in preprocessor expression"
643msgstr "constante flottante dans une expression pour le préprocesseur"643msgstr "constante flottante dans une expression pour le préprocesseur"
644 644
645#: expr.c:1136645#: expr.c:1120
646msgid "imaginary number in preprocessor expression"646msgid "imaginary number in preprocessor expression"
647msgstr "constante complexe dans une expression pour le préprocesseur"647msgstr "constante complexe dans une expression pour le préprocesseur"
648 648
649#: expr.c:1189649#: expr.c:1173
650#, c-format650#, c-format
651msgid "\"%s\" is not defined, evaluates to 0"651msgid "\"%s\" is not defined, evaluates to 0"
652msgstr "« %s » n’est pas défini, évalué à 0"652msgstr "« %s » n’est pas défini, évalué à 0"
653 653
654#: expr.c:1202654#: expr.c:1186
655msgid "assertions are a GCC extension"655msgid "assertions are a GCC extension"
656msgstr "les assertions sont une extension GCC"656msgstr "les assertions sont une extension GCC"
657 657
658#: expr.c:1205658#: expr.c:1189
659msgid "assertions are a deprecated extension"659msgid "assertions are a deprecated extension"
660msgstr "les assertions sont une extension obsolète"660msgstr "les assertions sont une extension obsolète"
661 661
662#: expr.c:1451662#: expr.c:1435
663#, c-format663#, c-format
664msgid "unbalanced stack in %s"664msgid "unbalanced stack in %s"
665msgstr "pile non balancée dans %s"665msgstr "pile non balancée dans %s"
666 666
667#: expr.c:1471667#: expr.c:1455
668#, c-format668#, c-format
669msgid "impossible operator '%u'"669msgid "impossible operator '%u'"
670msgstr "opérateur « %u » impossible"670msgstr "opérateur « %u » impossible"
671 671
672#: expr.c:1572672#: expr.c:1556
673msgid "missing ')' in expression"673msgid "missing ')' in expression"
674msgstr "« ) » manquante dans l'expression"674msgstr "« ) » manquante dans l'expression"
675 675
676#: expr.c:1601676#: expr.c:1585
677msgid "'?' without following ':'"677msgid "'?' without following ':'"
678msgstr "« ? » n’est pas suivi de « : »"678msgstr "« ? » n’est pas suivi de « : »"
679 679
680#: expr.c:1611680#: expr.c:1595
681msgid "integer overflow in preprocessor expression"681msgid "integer overflow in preprocessor expression"
682msgstr "débordement d’entier dans l'expression pour le préprocesseur"682msgstr "débordement d’entier dans l'expression pour le préprocesseur"
683 683
684#: expr.c:1616684#: expr.c:1600
685msgid "missing '(' in expression"685msgid "missing '(' in expression"
686msgstr "« ( » manquante dans l'expression"686msgstr "« ( » manquante dans l'expression"
687 687
688#: expr.c:1648688#: expr.c:1632
689#, c-format689#, c-format
690msgid "the left operand of \"%s\" changes sign when promoted"690msgid "the left operand of \"%s\" changes sign when promoted"
691msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion"691msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion"
692 692
693#: expr.c:1653693#: expr.c:1637
694#, c-format694#, c-format
695msgid "the right operand of \"%s\" changes sign when promoted"695msgid "the right operand of \"%s\" changes sign when promoted"
696msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion"696msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion"
697 697
698#: expr.c:1912698#: expr.c:1896
699msgid "traditional C rejects the unary plus operator"699msgid "traditional C rejects the unary plus operator"
700msgstr "le C traditionnel rejette l'opérateur d'addition unaire"700msgstr "le C traditionnel rejette l'opérateur d'addition unaire"
701 701
702#: expr.c:2010702#: expr.c:1994
703msgid "comma operator in operand of #if"703msgid "comma operator in operand of #if"
704msgstr "opérateur virgule dans l'opérande de #if"704msgstr "opérateur virgule dans l'opérande de #if"
705 705
706#: expr.c:2146706#: expr.c:2130
707msgid "division by zero in #if"707msgid "division by zero in #if"
708msgstr "division par zéro dans #if"708msgstr "division par zéro dans #if"
709 709
710#: expr.c:2243710#: expr.c:2227
711msgid "operator \"__has_include__\" requires a header string"711msgid "operator \"__has_include__\" requires a header string"
712msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête"712msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête"
713 713
714#: expr.c:2259714#: expr.c:2243
715msgid "missing ')' after \"__has_include__\""715msgid "missing ')' after \"__has_include__\""
716msgstr "« ) » manquante après « __has_include__ »"716msgstr "« ) » manquante après « __has_include__ »"
717 717
@@ -728,40 +728,40 @@ msgstr "utilisez -Winvalid-pch pour plus d’informations" · 10 unmodified lines
728msgid "no include path in which to search for %s"728msgid "no include path in which to search for %s"
729msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"729msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"
730 730
731#: files.c:1441731#: files.c:1455
732msgid "Multiple include guards may be useful for:\n"732msgid "Multiple include guards may be useful for:\n"
733msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"733msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"
734 734
735#: init.c:565735#: init.c:569
736msgid "cppchar_t must be an unsigned type"736msgid "cppchar_t must be an unsigned type"
737msgstr "cppchar_t doit être d’un type non signé"737msgstr "cppchar_t doit être d’un type non signé"
738 738
739#: init.c:569739#: init.c:573
740#, c-format740#, c-format
741msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"741msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
742msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"742msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"
743 743
744#: init.c:576744#: init.c:580
745msgid "CPP arithmetic must be at least as precise as a target int"745msgid "CPP arithmetic must be at least as precise as a target int"
746msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible"746msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible"
747 747
748#: init.c:579748#: init.c:583
749msgid "target char is less than 8 bits wide"749msgid "target char is less than 8 bits wide"
750msgstr "sur la cible, char fait moins de 8 bits"750msgstr "sur la cible, char fait moins de 8 bits"
751 751
752#: init.c:583752#: init.c:587
753msgid "target wchar_t is narrower than target char"753msgid "target wchar_t is narrower than target char"
754msgstr "sur la cible, wchar_t est plus petit que char"754msgstr "sur la cible, wchar_t est plus petit que char"
755 755
756#: init.c:587756#: init.c:591
757msgid "target int is narrower than target char"757msgid "target int is narrower than target char"
758msgstr "sur la cible, int est plus petit que char"758msgstr "sur la cible, int est plus petit que char"
759 759
760#: init.c:592760#: init.c:596
761msgid "CPP half-integer narrower than CPP character"761msgid "CPP half-integer narrower than CPP character"
762msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"762msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"
763 763
764#: init.c:596764#: init.c:600
765#, c-format765#, c-format
766msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"766msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
767msgstr "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"767msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits"
@@ -834,254 +834,269 @@ msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion des macr · 66 unmodified lines
834msgid "identifier \"%s\" is a special operator name in C++"834msgid "identifier \"%s\" is a special operator name in C++"
835msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++"835msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++"
836 836
837#: lex.c:1811837#: lex.c:1826
838msgid "raw string delimiter longer than 16 characters"838msgid "raw string delimiter longer than 16 characters"
839msgstr "délimiteur de chaîne brute plus long que 16 caractères"839msgstr "délimiteur de chaîne brute plus long que 16 caractères"
840 840
841#: lex.c:1815841#: lex.c:1830
842msgid "invalid new-line in raw string delimiter"842msgid "invalid new-line in raw string delimiter"
843msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"843msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"
844 844
845#: lex.c:1819845#: lex.c:1834
846#, c-format846#, c-format
847msgid "invalid character '%c' in raw string delimiter"847msgid "invalid character '%c' in raw string delimiter"
848msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"848msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"
849 849
850#: lex.c:1868 lex.c:1890850#: lex.c:1883 lex.c:1905
851msgid "unterminated raw string"851msgid "unterminated raw string"
852msgstr "chaîne brute non terminée"852msgstr "chaîne brute non terminée"
853 853
854#: lex.c:1912 lex.c:2043854#: lex.c:1925 lex.c:2054
855msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"855msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
856msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"856msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"
857 857
858#: lex.c:2024858#: lex.c:2037
859msgid "null character(s) preserved in literal"859msgid "null character(s) preserved in literal"
860msgstr "caractère(s) nul préservé(s) dans la chaîne"860msgstr "caractère(s) nul préservé(s) dans la chaîne"
861 861
862#: lex.c:2027862#: lex.c:2040
863#, c-format863#, c-format
864msgid "missing terminating %c character"864msgid "missing terminating %c character"
865msgstr "caractère %c de terminaison manquant"865msgstr "caractère %c de terminaison manquant"
866 866
867#: lex.c:2061867#: lex.c:2072
868msgid "C++11 requires a space between string literal and macro"868msgid "C++11 requires a space between string literal and macro"
869msgstr "C++11 requière un espace entre une chaîne et une macro"869msgstr "C++11 requière un espace entre une chaîne et une macro"
870 870
871#: lex.c:2865 lex.c:2899871#: lex.c:2876 lex.c:2910
872msgid "C++ style comments are not allowed in ISO C90"872msgid "C++ style comments are not allowed in ISO C90"
873msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO"873msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO"
874 874
875#: lex.c:2867 lex.c:2878 lex.c:2901875#: lex.c:2878 lex.c:2889 lex.c:2913
876msgid "(this will be reported only once per input file)"876msgid "(this will be reported only once per input file)"
877msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"877msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"
878 878
879#: lex.c:2876879#: lex.c:2887
880msgid "C++ style comments are incompatible with C90"880msgid "C++ style comments are incompatible with C90"
881msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"881msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"
882 882
883#: lex.c:2907883#: lex.c:2919
884msgid "multi-line comment"884msgid "multi-line comment"
885msgstr "commentaire multi-lignes"885msgstr "commentaire multi-lignes"
886 886
887#: lex.c:3287887#: lex.c:3299
888#, c-format888#, c-format
889msgid "unspellable token %s"889msgid "unspellable token %s"
890msgstr "l'élément lexical %s ne peut être épelé"890msgstr "l'élément lexical %s ne peut être épelé"
891 891
892#: macro.c:93892#: macro.c:94
893msgid "'##' cannot appear at either end of __VA_OPT__"893msgid "'##' cannot appear at either end of __VA_OPT__"
894msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__"894msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__"
895 895
896#: macro.c:352896#: macro.c:354
897#, c-format897#, c-format
898msgid "macro \"%s\" is not used"898msgid "macro \"%s\" is not used"
899msgstr "la macro « %s » n’est pas utilisée"899msgstr "la macro « %s » n’est pas utilisée"
900 900
901#: macro.c:391 macro.c:639901#: macro.c:393 macro.c:641
902#, c-format902#, c-format
903msgid "invalid built-in macro \"%s\""903msgid "invalid built-in macro \"%s\""
904msgstr "macro interne « %s » invalide"904msgstr "macro interne « %s » invalide"
905 905
906#: macro.c:398 macro.c:500906#: macro.c:400 macro.c:502
907#, c-format907#, c-format
908msgid "macro \"%s\" might prevent reproducible builds"908msgid "macro \"%s\" might prevent reproducible builds"
909msgstr "la macro « %s » pourrait empêcher les compilations reproductibles"909msgstr "la macro « %s » pourrait empêcher les compilations reproductibles"
910 910
911#: macro.c:429911#: macro.c:431
912msgid "could not determine file timestamp"912msgid "could not determine file timestamp"
913msgstr "date de modification du fichier indéterminable"913msgstr "date de modification du fichier indéterminable"
914 914
915#: macro.c:546915#: macro.c:548
916msgid "could not determine date and time"916msgid "could not determine date and time"
917msgstr "date et heure indéterminable"917msgstr "date et heure indéterminable"
918 918
919#: macro.c:562919#: macro.c:564
920msgid "__COUNTER__ expanded inside directive with -fdirectives-only"920msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
921msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only"921msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only"
922 922
923#: macro.c:758923#: macro.c:760
924msgid "invalid string literal, ignoring final '\\'"924msgid "invalid string literal, ignoring final '\\'"
925msgstr "chaîne invalide, le « \\ » final est ignoré"925msgstr "chaîne invalide, le « \\ » final est ignoré"
926 926
927#: macro.c:820927#: macro.c:822
928#, c-format928#, c-format
929msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"929msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
930msgstr "le collage de « %s » et de « %s » ne donne pas un élément lexical de pré-traitement valide"930msgstr "le collage de « %s » et de « %s » ne donne pas un élément lexical de pré-traitement valide"
931 931
932#: macro.c:946932#: macro.c:948
933msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"933msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
934msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"934msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
935 935
936#: macro.c:950936#: macro.c:952
937msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"937msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
938msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"938msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
939 939
940#: macro.c:957940#: macro.c:959
941#, c-format941#, c-format
942msgid "macro \"%s\" requires %u arguments, but only %u given"942msgid "macro \"%s\" requires %u arguments, but only %u given"
943msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés"943msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés"
944 944
945#: macro.c:962945#: macro.c:964
946#, c-format946#, c-format
947msgid "macro \"%s\" passed %u arguments, but takes just %u"947msgid "macro \"%s\" passed %u arguments, but takes just %u"
948msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u"948msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u"
949 949
950#: macro.c:1156 traditional.c:819950#: macro.c:1162 traditional.c:827
951#, c-format951#, c-format
952msgid "unterminated argument list invoking macro \"%s\""952msgid "unterminated argument list invoking macro \"%s\""
953msgstr "liste d'arguments non terminée en invoquant la macro « %s »"953msgstr "liste d'arguments non terminée en invoquant la macro « %s »"
954 954
955#: macro.c:1307955#: macro.c:1304
956#, c-format956#, c-format
957msgid "function-like macro \"%s\" must be used with arguments in traditional C"957msgid "function-like macro \"%s\" must be used with arguments in traditional C"
958msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel"958msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel"
959 959
960#: macro.c:2003960#: macro.c:2083
961#, c-format961#, c-format
962msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"962msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
963msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++98"963msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++98"
964 964
965#: macro.c:2011 macro.c:2020965#: macro.c:2091 macro.c:2100
966#, c-format966#, c-format
967msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"967msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
968msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++90"968msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++90"
969 969
970#: macro.c:2984970#: macro.c:3059
971#, c-format971#, c-format
972msgid "duplicate macro parameter \"%s\""972msgid "duplicate macro parameter \"%s\""
973msgstr "paramètre de macro « %s » dupliqués"973msgstr "paramètre de macro « %s » dupliqués"
974 974
975#: macro.c:3033975#: macro.c:3141
976#, c-format
977msgid "expected parameter name, found \"%s\""
978msgstr "nom de paramètre attendu, « %s » rencontré"
979
980#: macro.c:3142
976#, c-format981#, c-format
977msgid "\"%s\" may not appear in macro parameter list"982msgid "expected ',' or ')', found \"%s\""
978msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro"983msgstr "« , » ou « ) » attendue, « %s » rencontré"
979 984
980#: macro.c:3041985#: macro.c:3143
981msgid "macro parameters must be comma-separated"986msgid "expected parameter name before end of line"
982msgstr "les paramètres de macro doivent être séparés par des virgules"987msgstr "nom de paramètre attendu avant la fin de la ligne"
983 988
984#: macro.c:3060989#: macro.c:3144
985msgid "parameter name missing"990msgid "expected ')' before end of line"
986msgstr "nom de paramètre manquant"991msgstr "« ) » attendue avant la fin de la ligne"
987 992
988#: macro.c:3081993#: macro.c:3145
994msgid "expected ')' after \"...\""
995msgstr "« ) » attendue après « ... »"
996
997#: macro.c:3202
989msgid "anonymous variadic macros were introduced in C++11"998msgid "anonymous variadic macros were introduced in C++11"
990msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11"999msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11"
991 1000
992#: macro.c:3085 macro.c:30901001#: macro.c:3203 macro.c:3207
993msgid "anonymous variadic macros were introduced in C99"1002msgid "anonymous variadic macros were introduced in C99"
994msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"1003msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"
995 1004
996#: macro.c:30971005#: macro.c:3213
997msgid "ISO C++ does not permit named variadic macros"1006msgid "ISO C++ does not permit named variadic macros"
998msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments"1007msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments"
999 1008
1000#: macro.c:31001009#: macro.c:3214
1001msgid "ISO C does not permit named variadic macros"1010msgid "ISO C does not permit named variadic macros"
1002msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments"1011msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments"
1003 1012
1004#: macro.c:31101013#: macro.c:3260
1005msgid "missing ')' in macro parameter list"
1006msgstr "« ) » manquante dans la liste des paramètres de macro"
1007
1008#: macro.c:3161
1009msgid "'##' cannot appear at either end of a macro expansion"1014msgid "'##' cannot appear at either end of a macro expansion"
1010msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro"1015msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro"
1011 1016
1012#: macro.c:31981017#: macro.c:3298
1013msgid "ISO C++11 requires whitespace after the macro name"1018msgid "ISO C++11 requires whitespace after the macro name"
1014msgstr "ISO C++11 requiert un blanc après le nom de la macro"1019msgstr "ISO C++11 requiert un blanc après le nom de la macro"
1015 1020
1016#: macro.c:32011021#: macro.c:3299
1017msgid "ISO C99 requires whitespace after the macro name"1022msgid "ISO C99 requires whitespace after the macro name"
1018msgstr "ISO C99 requiert un blanc après le nom de la macro"1023msgstr "ISO C99 requiert un blanc après le nom de la macro"
1019 1024
1020#: macro.c:32261025#: macro.c:3323
1021msgid "missing whitespace after the macro name"1026msgid "missing whitespace after the macro name"
1022msgstr "espacement manquant après le nom de la macro"1027msgstr "espacement manquant après le nom de la macro"
1023 1028
1024#: macro.c:32631029#: macro.c:3373
1025msgid "'#' is not followed by a macro parameter"1030msgid "'#' is not followed by a macro parameter"
1026msgstr "« # » n'est pas suivi d’un paramètre de macro"1031msgstr "« # » n'est pas suivi d’un paramètre de macro"
1027 1032
1028#: macro.c:34301033#: macro.c:3524
1029#, c-format1034#, c-format
1030msgid "\"%s\" redefined"1035msgid "\"%s\" redefined"
1031msgstr "« %s » redéfini"1036msgstr "« %s » redéfini"
1032 1037
1033#: macro.c:34351038#: macro.c:3529
1034msgid "this is the location of the previous definition"1039msgid "this is the location of the previous definition"
1035msgstr "ceci est l'emplacement d’une précédente définition"1040msgstr "ceci est l'emplacement d’une précédente définition"
1036 1041
1037#: macro.c:34961042#: macro.c:3633
1038#, c-format1043#, c-format
1039msgid "macro argument \"%s\" would be stringified in traditional C"1044msgid "macro argument \"%s\" would be stringified in traditional C"
1040msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel"1045msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel"
1041 1046
1042#: macro.c:35321047#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
1043#, c-format
1044msgid "invalid hash type %d in cpp_macro_definition"
1045msgstr "type de hachage %d invalide dans cpp_macro_definition"
1046
1047#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
1048msgid "while writing precompiled header"1048msgid "while writing precompiled header"
1049msgstr "lors de l'écriture de l'en-tête pré-compilée"1049msgstr "lors de l'écriture de l'en-tête pré-compilée"
1050 1050
1051#: pch.c:6211051#: pch.c:616
1052#, c-format1052#, c-format
1053msgid "%s: not used because `%.*s' is poisoned"1053msgid "%s: not used because `%.*s' is poisoned"
1054msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné"1054msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné"
1055 1055
1056#: pch.c:6431056#: pch.c:638
1057#, c-format1057#, c-format
1058msgid "%s: not used because `%.*s' not defined"1058msgid "%s: not used because `%.*s' not defined"
1059msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini"1059msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini"
1060 1060
1061#: pch.c:6551061#: pch.c:650
1062#, c-format1062#, c-format
1063msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"1063msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
1064msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »"1064msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »"
1065 1065
1066#: pch.c:6961066#: pch.c:691
1067#, c-format1067#, c-format
1068msgid "%s: not used because `%s' is defined"1068msgid "%s: not used because `%s' is defined"
1069msgstr "%s: n'est pas utilisé parce que « %s » est défini"1069msgstr "%s: n'est pas utilisé parce que « %s » est défini"
1070 1070
1071#: pch.c:7161071#: pch.c:711
1072#, c-format1072#, c-format
1073msgid "%s: not used because `__COUNTER__' is invalid"1073msgid "%s: not used because `__COUNTER__' is invalid"
1074msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"1074msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"
1075 1075
1076#: pch.c:725 pch.c:9031076#: pch.c:720 pch.c:878
1077msgid "while reading precompiled header"1077msgid "while reading precompiled header"
1078msgstr "lors de la lecture d’un entête pré-compilée"1078msgstr "lors de la lecture d’un entête pré-compilée"
1079 1079
1080#: traditional.c:8891080#: traditional.c:896
1081#, c-format1081#, c-format
1082msgid "detected recursion whilst expanding macro \"%s\""1082msgid "detected recursion whilst expanding macro \"%s\""
1083msgstr "récursion détectée lors de l'expansion de la macro « %s »"1083msgstr "récursion détectée lors de l'expansion de la macro « %s »"
1084 1084
1085#: traditional.c:11081085#: traditional.c:1119
1086msgid "syntax error in macro parameter list"1086msgid "syntax error in macro parameter list"
1087msgstr "erreur de syntaxe dans la liste des paramètres de macro"1087msgstr "erreur de syntaxe dans la liste des paramètres de macro"
1088
1089#~ msgid "\"%s\" may not appear in macro parameter list"
1090#~ msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro"
1091
1092#~ msgid "macro parameters must be comma-separated"
1093#~ msgstr "les paramètres de macro doivent être séparés par des virgules"
1094
1095#~ msgid "parameter name missing"
1096#~ msgstr "nom de paramètre manquant"
1097
1098#~ msgid "missing ')' in macro parameter list"
1099#~ msgstr "« ) » manquante dans la liste des paramètres de macro"
1100
1101#~ msgid "invalid hash type %d in cpp_macro_definition"
1102#~ msgstr "type de hachage %d invalide dans cpp_macro_definition"
gcc/libcpp/po/id.gmo+0−0

Binary file not shown.

gcc/libcpp/po/id.po+182−165
@@ -7,7 +7,7 @@ msgid "" · 6 unmodified lines
7msgstr ""7msgstr ""
8"Project-Id-Version: cpplib 4.5-b20100204\n"8"Project-Id-Version: cpplib 4.5-b20100204\n"
9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"9"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
10"POT-Creation-Date: 2018-01-26 22:47+0000\n"10"POT-Creation-Date: 2019-02-01 23:01+0000\n"
11"PO-Revision-Date: 2010-02-05 19:00+0700\n"11"PO-Revision-Date: 2010-02-05 19:00+0700\n"
12"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"12"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
13"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"13"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -88,7 +88,7 @@ msgstr "karakter universal %.*s tidak valid dalam sebuah pengidentifikasi" · 74 unmodified lines
88msgid "universal character %.*s is not valid at the start of an identifier"88msgid "universal character %.*s is not valid at the start of an identifier"
89msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi"89msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi"
90 90
91#: charset.c:1181 charset.c:200091#: charset.c:1181 charset.c:2002
92msgid "converting UCN to source character set"92msgid "converting UCN to source character set"
93msgstr "mengubah UCN ke set karakter asal"93msgstr "mengubah UCN ke set karakter asal"
94 94
@@ -139,297 +139,297 @@ msgstr "mengubah escape sequence ke set karakter eksekusi" · 44 unmodified lines
139msgid "missing open quote"139msgid "missing open quote"
140msgstr ""140msgstr ""
141 141
142#: charset.c:1827 charset.c:1891142#: charset.c:1829 charset.c:1893
143msgid "character constant too long for its type"143msgid "character constant too long for its type"
144msgstr "konstanta karakter terlalu panjang untuk tipenya"144msgstr "konstanta karakter terlalu panjang untuk tipenya"
145 145
146#: charset.c:1830146#: charset.c:1832
147msgid "multi-character character constant"147msgid "multi-character character constant"
148msgstr "konstanta karakter multi-karakter"148msgstr "konstanta karakter multi-karakter"
149 149
150#: charset.c:1931150#: charset.c:1933
151msgid "empty character constant"151msgid "empty character constant"
152msgstr "konstanta karakter kosong"152msgstr "konstanta karakter kosong"
153 153
154#: charset.c:2047154#: charset.c:2049
155#, c-format155#, c-format
156msgid "failure to convert %s to %s"156msgid "failure to convert %s to %s"
157msgstr "gagal untuk mengubah %s ke %s"157msgstr "gagal untuk mengubah %s ke %s"
158 158
159#: directives.c:235 directives.c:278159#: directives.c:229 directives.c:272
160#, c-format160#, c-format
161msgid "extra tokens at end of #%s directive"161msgid "extra tokens at end of #%s directive"
162msgstr "ekstra token di akhir dari #%s direktif"162msgstr "ekstra token di akhir dari #%s direktif"
163 163
164#: directives.c:385164#: directives.c:379
165#, c-format165#, c-format
166msgid "#%s is a GCC extension"166msgid "#%s is a GCC extension"
167msgstr "#%s adalah sebuah ekstensi GCC"167msgstr "#%s adalah sebuah ekstensi GCC"
168 168
169#: directives.c:390169#: directives.c:384
170#, c-format170#, c-format
171msgid "#%s is a deprecated GCC extension"171msgid "#%s is a deprecated GCC extension"
172msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan"172msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan"
173 173
174#: directives.c:403174#: directives.c:397
175msgid "suggest not using #elif in traditional C"175msgid "suggest not using #elif in traditional C"
176msgstr "disarankan tidak menggunakan #elif dalam tradisional C"176msgstr "disarankan tidak menggunakan #elif dalam tradisional C"
177 177
178#: directives.c:406178#: directives.c:400
179#, c-format179#, c-format
180msgid "traditional C ignores #%s with the # indented"180msgid "traditional C ignores #%s with the # indented"
181msgstr "tradisional C mengabaikan #%s dengan # terindentasi"181msgstr "tradisional C mengabaikan #%s dengan # terindentasi"
182 182
183#: directives.c:410183#: directives.c:404
184#, c-format184#, c-format
185msgid "suggest hiding #%s from traditional C with an indented #"185msgid "suggest hiding #%s from traditional C with an indented #"
186msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #"186msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #"
187 187
188#: directives.c:436188#: directives.c:430
189msgid "embedding a directive within macro arguments is not portable"189msgid "embedding a directive within macro arguments is not portable"
190msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel"190msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel"
191 191
192#: directives.c:456192#: directives.c:450
193msgid "style of line directive is a GCC extension"193msgid "style of line directive is a GCC extension"
194msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC"194msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC"
195 195
196#: directives.c:537196#: directives.c:531
197#, c-format197#, c-format
198msgid "invalid preprocessing directive #%s"198msgid "invalid preprocessing directive #%s"
199msgstr "preprosesing direktif #%s tidak valid"199msgstr "preprosesing direktif #%s tidak valid"
200 200
201#: directives.c:606201#: directives.c:600
202msgid "\"defined\" cannot be used as a macro name"202msgid "\"defined\" cannot be used as a macro name"
203msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"203msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
204 204
205#: directives.c:611205#: directives.c:605
206#, fuzzy206#, fuzzy
207#| msgid "\"defined\" cannot be used as a macro name"207#| msgid "\"defined\" cannot be used as a macro name"
208msgid "\"__has_include__\" cannot be used as a macro name"208msgid "\"__has_include__\" cannot be used as a macro name"
209msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"209msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro"
210 210
211#: directives.c:617211#: directives.c:611
212#, c-format212#, c-format
213msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"213msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
214msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++"214msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++"
215 215
216#: directives.c:620216#: directives.c:614
217#, c-format217#, c-format
218msgid "no macro name given in #%s directive"218msgid "no macro name given in #%s directive"
219msgstr "tidak ada nama makro yang diberikan dalam direktif #%s"219msgstr "tidak ada nama makro yang diberikan dalam direktif #%s"
220 220
221#: directives.c:623221#: directives.c:617
222msgid "macro names must be identifiers"222msgid "macro names must be identifiers"
223msgstr "nama makro harus berupa pengidentifikasi"223msgstr "nama makro harus berupa pengidentifikasi"
224 224
225#: directives.c:672 directives.c:677225#: directives.c:666 directives.c:671
226#, c-format226#, c-format
227msgid "undefining \"%s\""227msgid "undefining \"%s\""
228msgstr "tidak terdefinisi \"%s\""228msgstr "tidak terdefinisi \"%s\""
229 229
230#: directives.c:732230#: directives.c:727
231msgid "missing terminating > character"231msgid "missing terminating > character"
232msgstr "hilang karakter pengakhir >"232msgstr "hilang karakter pengakhir >"
233 233
234#: directives.c:791234#: directives.c:786
235#, c-format235#, c-format
236msgid "#%s expects \"FILENAME\" or <FILENAME>"236msgid "#%s expects \"FILENAME\" or <FILENAME>"
237msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>"237msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>"
238 238
239#: directives.c:837239#: directives.c:828
240#, c-format240#, c-format
241msgid "empty filename in #%s"241msgid "empty filename in #%s"
242msgstr "nama berkas kosong dalam #%s"242msgstr "nama berkas kosong dalam #%s"
243 243
244#: directives.c:847244#: directives.c:835
245msgid "#include nested too deeply"245msgid "#include nested too deeply"
246msgstr "#include nested terlalu dalam"246msgstr "#include nested terlalu dalam"
247 247
248#: directives.c:888248#: directives.c:877
249msgid "#include_next in primary source file"249msgid "#include_next in primary source file"
250msgstr "#include_next dalam berkas kode program utama"250msgstr "#include_next dalam berkas kode program utama"
251 251
252#: directives.c:914252#: directives.c:903
253#, c-format253#, c-format
254msgid "invalid flag \"%s\" in line directive"254msgid "invalid flag \"%s\" in line directive"
255msgstr "tanda \"%s\" tidak valid dalam baris direktif"255msgstr "tanda \"%s\" tidak valid dalam baris direktif"
256 256
257#: directives.c:974257#: directives.c:963
258msgid "unexpected end of file after #line"258msgid "unexpected end of file after #line"
259msgstr "tidak terduga akhir dari berkas setelah #line"259msgstr "tidak terduga akhir dari berkas setelah #line"
260 260
261#: directives.c:977261#: directives.c:966
262#, c-format262#, c-format
263msgid "\"%s\" after #line is not a positive integer"263msgid "\"%s\" after #line is not a positive integer"
264msgstr "\"%s\" setelah #line bukan sebuah integer positif"264msgstr "\"%s\" setelah #line bukan sebuah integer positif"
265 265
266#: directives.c:983 directives.c:985266#: directives.c:972 directives.c:974
267msgid "line number out of range"267msgid "line number out of range"
268msgstr "nomor baris diluar dari jangkauan"268msgstr "nomor baris diluar dari jangkauan"
269 269
270#: directives.c:998 directives.c:1079270#: directives.c:987 directives.c:1068
271#, c-format271#, c-format
272msgid "\"%s\" is not a valid filename"272msgid "\"%s\" is not a valid filename"
273msgstr "\"%s\" bukan sebuah nama berkas yang valid"273msgstr "\"%s\" bukan sebuah nama berkas yang valid"
274 274
275#: directives.c:1039275#: directives.c:1028
276#, c-format276#, c-format
277msgid "\"%s\" after # is not a positive integer"277msgid "\"%s\" after # is not a positive integer"
278msgstr "\"%s\" setelah # bukan sebuah integer positif"278msgstr "\"%s\" setelah # bukan sebuah integer positif"
279 279
280#: directives.c:1098280#: directives.c:1087
281#, c-format281#, c-format
282msgid "file \"%s\" linemarker ignored due to incorrect nesting"282msgid "file \"%s\" linemarker ignored due to incorrect nesting"
283msgstr ""283msgstr ""
284 284
285#: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747285#: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737
286#, c-format286#, c-format
287msgid "%s"287msgid "%s"
288msgstr "%s"288msgstr "%s"
289 289
290#: directives.c:1185290#: directives.c:1175
291#, c-format291#, c-format
292msgid "invalid #%s directive"292msgid "invalid #%s directive"
293msgstr "direktif #%s tidak valid"293msgstr "direktif #%s tidak valid"
294 294
295#: directives.c:1248295#: directives.c:1238
296#, c-format296#, c-format
297msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"297msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
298msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok"298msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok"
299 299
300#: directives.c:1257300#: directives.c:1247
301#, c-format301#, c-format
302msgid "registering pragma \"%s\" with name expansion and no namespace"302msgid "registering pragma \"%s\" with name expansion and no namespace"
303msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama"303msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama"
304 304
305#: directives.c:1275305#: directives.c:1265
306#, c-format306#, c-format
307msgid "registering \"%s\" as both a pragma and a pragma namespace"307msgid "registering \"%s\" as both a pragma and a pragma namespace"
308msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama"308msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama"
309 309
310#: directives.c:1278310#: directives.c:1268
311#, c-format311#, c-format
312msgid "#pragma %s %s is already registered"312msgid "#pragma %s %s is already registered"
313msgstr "#pragma %s %s telah terdaftar"313msgstr "#pragma %s %s telah terdaftar"
314 314
315#: directives.c:1281315#: directives.c:1271
316#, c-format316#, c-format
317msgid "#pragma %s is already registered"317msgid "#pragma %s is already registered"
318msgstr "#pragma %s telah terdaftar"318msgstr "#pragma %s telah terdaftar"
319 319
320#: directives.c:1311320#: directives.c:1301
321msgid "registering pragma with NULL handler"321msgid "registering pragma with NULL handler"
322msgstr "mendaftarkan pragma dengan penanganan KOSONG"322msgstr "mendaftarkan pragma dengan penanganan KOSONG"
323 323
324#: directives.c:1528324#: directives.c:1518
325msgid "#pragma once in main file"325msgid "#pragma once in main file"
326msgstr "#pragma sekali dalam berkas utama"326msgstr "#pragma sekali dalam berkas utama"
327 327
328#: directives.c:1551328#: directives.c:1541
329msgid "invalid #pragma push_macro directive"329msgid "invalid #pragma push_macro directive"
330msgstr "#pragma push_macro direktif tidak valid"330msgstr "#pragma push_macro direktif tidak valid"
331 331
332#: directives.c:1606332#: directives.c:1596
333msgid "invalid #pragma pop_macro directive"333msgid "invalid #pragma pop_macro directive"
334msgstr "#pragma pop_macro direktif tidak valid"334msgstr "#pragma pop_macro direktif tidak valid"
335 335
336#: directives.c:1661336#: directives.c:1651
337msgid "invalid #pragma GCC poison directive"337msgid "invalid #pragma GCC poison directive"
338msgstr "#pragma GCC tidak valid merusak direktif"338msgstr "#pragma GCC tidak valid merusak direktif"
339 339
340#: directives.c:1670340#: directives.c:1660
341#, c-format341#, c-format
342msgid "poisoning existing macro \"%s\""342msgid "poisoning existing macro \"%s\""
343msgstr "merusak makro \"%s\" yang sudah ada"343msgstr "merusak makro \"%s\" yang sudah ada"
344 344
345#: directives.c:1689345#: directives.c:1679
346msgid "#pragma system_header ignored outside include file"346msgid "#pragma system_header ignored outside include file"
347msgstr "#pragma system_header diabaikan diluar berkas include"347msgstr "#pragma system_header diabaikan diluar berkas include"
348 348
349#: directives.c:1714349#: directives.c:1704
350#, c-format350#, c-format
351msgid "cannot find source file %s"351msgid "cannot find source file %s"
352msgstr "tidak dapat menemukan berkas sumber %s"352msgstr "tidak dapat menemukan berkas sumber %s"
353 353
354#: directives.c:1718354#: directives.c:1708
355#, c-format355#, c-format
356msgid "current file is older than %s"356msgid "current file is older than %s"
357msgstr "berkas ini lebih lama daripada %s"357msgstr "berkas ini lebih lama daripada %s"
358 358
359#: directives.c:1742359#: directives.c:1732
360#, fuzzy, c-format360#, fuzzy, c-format
361#| msgid "invalid #pragma GCC poison directive"361#| msgid "invalid #pragma GCC poison directive"
362msgid "invalid \"#pragma GCC %s\" directive"362msgid "invalid \"#pragma GCC %s\" directive"
363msgstr "#pragma GCC tidak valid merusak direktif"363msgstr "#pragma GCC tidak valid merusak direktif"
364 364
365#: directives.c:1943365#: directives.c:1933
366msgid "_Pragma takes a parenthesized string literal"366msgid "_Pragma takes a parenthesized string literal"
367msgstr "_Pragma mengambil sebuah string literal tanda kurung"367msgstr "_Pragma mengambil sebuah string literal tanda kurung"
368 368
369#: directives.c:2064369#: directives.c:2021
370msgid "#else without #if"370msgid "#else without #if"
371msgstr "#else tanpa #if"371msgstr "#else tanpa #if"
372 372
373#: directives.c:2069373#: directives.c:2026
374msgid "#else after #else"374msgid "#else after #else"
375msgstr "#else setelah #else"375msgstr "#else setelah #else"
376 376
377#: directives.c:2071 directives.c:2104377#: directives.c:2028 directives.c:2061
378msgid "the conditional began here"378msgid "the conditional began here"
379msgstr "kondisional berawal disini"379msgstr "kondisional berawal disini"
380 380
381#: directives.c:2097381#: directives.c:2054
382msgid "#elif without #if"382msgid "#elif without #if"
383msgstr "#elif tanpa #if"383msgstr "#elif tanpa #if"
384 384
385#: directives.c:2102385#: directives.c:2059
386msgid "#elif after #else"386msgid "#elif after #else"
387msgstr "#elif setelah #else"387msgstr "#elif setelah #else"
388 388
389#: directives.c:2133389#: directives.c:2090
390msgid "#endif without #if"390msgid "#endif without #if"
391msgstr "#endif tanpa #if"391msgstr "#endif tanpa #if"
392 392
393#: directives.c:2213393#: directives.c:2166
394msgid "missing '(' after predicate"394msgid "missing '(' after predicate"
395msgstr "hilang '(' setelah predikat"395msgstr "hilang '(' setelah predikat"
396 396
397#: directives.c:2228397#: directives.c:2184
398msgid "missing ')' to complete answer"398msgid "missing ')' to complete answer"
399msgstr "hilang ')' untuk melengkapi jawaban"399msgstr "hilang ')' untuk melengkapi jawaban"
400 400
401#: directives.c:2248401#: directives.c:2196
402msgid "predicate's answer is empty"402msgid "predicate's answer is empty"
403msgstr "jawaban predikat kosong"403msgstr "jawaban predikat kosong"
404 404
405#: directives.c:2275405#: directives.c:2226
406msgid "assertion without predicate"406msgid "assertion without predicate"
407msgstr "assertion tanpa predikat"407msgstr "assertion tanpa predikat"
408 408
409#: directives.c:2278409#: directives.c:2229
410msgid "predicate must be an identifier"410msgid "predicate must be an identifier"
411msgstr "predikat harus berupa sebuah pengidentifikasi"411msgstr "predikat harus berupa sebuah pengidentifikasi"
412 412
413#: directives.c:2364413#: directives.c:2311
414#, c-format414#, c-format
415msgid "\"%s\" re-asserted"415msgid "\"%s\" re-asserted"
416msgstr "\"%s\" re-asserted"416msgstr "\"%s\" re-asserted"
417 417
418#: directives.c:2656418#: directives.c:2587
419#, c-format419#, c-format
420msgid "unterminated #%s"420msgid "unterminated #%s"
421msgstr "tidak terakhiri #%s"421msgstr "tidak terakhiri #%s"
422 422
423#: directives-only.c:221 lex.c:2851 traditional.c:167423#: directives-only.c:221 lex.c:2862 traditional.c:175
424msgid "unterminated comment"424msgid "unterminated comment"
425msgstr "komentar tidak terakhiri"425msgstr "komentar tidak terakhiri"
426 426
427#: errors.c:284427#: errors.c:291
428#, c-format428#, c-format
429msgid "%s: %s"429msgid "%s: %s"
430msgstr "%s: %s"430msgstr "%s: %s"
431 431
432#: errors.c:296432#: errors.c:304
433msgid "stdout"433msgid "stdout"
434msgstr "stdout"434msgstr "stdout"
435 435
@@ -530,89 +530,89 @@ msgstr "(\"%s\" adalah sebuah tanda alternatif untuk \"%s\" dalam C++)" · 94 unmodified lines
530msgid "this use of \"defined\" may not be portable"530msgid "this use of \"defined\" may not be portable"
531msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel"531msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel"
532 532
533#: expr.c:1125533#: expr.c:1109
534#, fuzzy534#, fuzzy
535#| msgid "integer overflow in preprocessor expression"535#| msgid "integer overflow in preprocessor expression"
536msgid "user-defined literal in preprocessor expression"536msgid "user-defined literal in preprocessor expression"
537msgstr "integer overflow dalam ekspresi preprosesor"537msgstr "integer overflow dalam ekspresi preprosesor"
538 538
539#: expr.c:1130539#: expr.c:1114
540msgid "floating constant in preprocessor expression"540msgid "floating constant in preprocessor expression"
541msgstr "konstanta pecahan dalam ekspresi preprosesor"541msgstr "konstanta pecahan dalam ekspresi preprosesor"
542 542
543#: expr.c:1136543#: expr.c:1120
544msgid "imaginary number in preprocessor expression"544msgid "imaginary number in preprocessor expression"
545msgstr "angka imaginari dalam ekspresi preprosesor"545msgstr "angka imaginari dalam ekspresi preprosesor"
546 546
547#: expr.c:1189547#: expr.c:1173
548#, fuzzy, c-format548#, fuzzy, c-format
549#| msgid "\"%s\" is not defined"549#| msgid "\"%s\" is not defined"
550msgid "\"%s\" is not defined, evaluates to 0"550msgid "\"%s\" is not defined, evaluates to 0"
551msgstr "\"%s\" tidak didefinisikan"551msgstr "\"%s\" tidak didefinisikan"
552 552
553#: expr.c:1202553#: expr.c:1186
554msgid "assertions are a GCC extension"554msgid "assertions are a GCC extension"
555msgstr "assertions adalah sebuah ekstensi GCC"555msgstr "assertions adalah sebuah ekstensi GCC"
556 556
557#: expr.c:1205557#: expr.c:1189
558msgid "assertions are a deprecated extension"558msgid "assertions are a deprecated extension"
559msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan"559msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan"
560 560
561#: expr.c:1451561#: expr.c:1435
562#, c-format562#, c-format
563msgid "unbalanced stack in %s"563msgid "unbalanced stack in %s"
564msgstr "stack dalam %s tidak seimbang"564msgstr "stack dalam %s tidak seimbang"
565 565
566#: expr.c:1471566#: expr.c:1455
567#, c-format567#, c-format
568msgid "impossible operator '%u'"568msgid "impossible operator '%u'"
569msgstr "operator '%u' tidak mungkin"569msgstr "operator '%u' tidak mungkin"
570 570
571#: expr.c:1572571#: expr.c:1556
572msgid "missing ')' in expression"572msgid "missing ')' in expression"
573msgstr "hilang ')' dalam ekspresi"573msgstr "hilang ')' dalam ekspresi"
574 574
575#: expr.c:1601575#: expr.c:1585
576msgid "'?' without following ':'"576msgid "'?' without following ':'"
577msgstr "'?' tanpa diikuti ':'"577msgstr "'?' tanpa diikuti ':'"
578 578
579#: expr.c:1611579#: expr.c:1595
580msgid "integer overflow in preprocessor expression"580msgid "integer overflow in preprocessor expression"
581msgstr "integer overflow dalam ekspresi preprosesor"581msgstr "integer overflow dalam ekspresi preprosesor"
582 582
583#: expr.c:1616583#: expr.c:1600
584msgid "missing '(' in expression"584msgid "missing '(' in expression"
585msgstr "hilang '(' dalam ekspresi"585msgstr "hilang '(' dalam ekspresi"
586 586
587#: expr.c:1648587#: expr.c:1632
588#, c-format588#, c-format
589msgid "the left operand of \"%s\" changes sign when promoted"589msgid "the left operand of \"%s\" changes sign when promoted"
590msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan"590msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan"
591 591
592#: expr.c:1653592#: expr.c:1637
593#, c-format593#, c-format
594msgid "the right operand of \"%s\" changes sign when promoted"594msgid "the right operand of \"%s\" changes sign when promoted"
595msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan"595msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan"
596 596
597#: expr.c:1912597#: expr.c:1896
598msgid "traditional C rejects the unary plus operator"598msgid "traditional C rejects the unary plus operator"
599msgstr "tradisional C menolak operator unary plus"599msgstr "tradisional C menolak operator unary plus"
600 600
601#: expr.c:2010601#: expr.c:1994
602msgid "comma operator in operand of #if"602msgid "comma operator in operand of #if"
603msgstr "operator koma dalam operator dari #if"603msgstr "operator koma dalam operator dari #if"
604 604
605#: expr.c:2146605#: expr.c:2130
606msgid "division by zero in #if"606msgid "division by zero in #if"
607msgstr "pembagian oleh nol dalam #if"607msgstr "pembagian oleh nol dalam #if"
608 608
609#: expr.c:2243609#: expr.c:2227
610#, fuzzy610#, fuzzy
611#| msgid "operator \"defined\" requires an identifier"611#| msgid "operator \"defined\" requires an identifier"
612msgid "operator \"__has_include__\" requires a header string"612msgid "operator \"__has_include__\" requires a header string"
613msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"613msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi"
614 614
615#: expr.c:2259615#: expr.c:2243
616#, fuzzy616#, fuzzy
617#| msgid "missing ')' after \"defined\""617#| msgid "missing ')' after \"defined\""
618msgid "missing ')' after \"__has_include__\""618msgid "missing ')' after \"__has_include__\""
@@ -631,40 +631,40 @@ msgstr "gunakan -Winvalid-pch untuk informasi lebih lanjut" · 12 unmodified lines
631msgid "no include path in which to search for %s"631msgid "no include path in which to search for %s"
632msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s"632msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s"

413 more lines aren’t shown here.

gcc/libcpp/po/ja.gmo+0−0

Binary file not shown.

gcc/libcpp/po/ja.po+182−165

This diff is large: its 903 lines aren’t shown here.

gcc/libcpp/po/nl.gmo+0−0

Binary file not shown.

gcc/libcpp/po/nl.po+182−165

This diff is large: its 901 lines aren’t shown here.

gcc/libcpp/po/pt_BR.po+184−169

This diff is large: its 888 lines aren’t shown here.

gcc/libcpp/po/ru.gmo+0−0

Binary file not shown.

gcc/libcpp/po/ru.po+183−168

This diff is large: its 885 lines aren’t shown here.

gcc/libcpp/po/sr.po+182−165

This diff is large: its 880 lines aren’t shown here.

gcc/libcpp/po/sv.gmo+0−0

Binary file not shown.

gcc/libcpp/po/sv.po+169−169

This diff is large: its 871 lines aren’t shown here.

gcc/libcpp/po/tr.gmo+0−0

Binary file not shown.

gcc/libcpp/po/tr.po+182−165

This diff is large: its 907 lines aren’t shown here.

gcc/libcpp/po/uk.gmo+0−0

Binary file not shown.

gcc/libcpp/po/uk.po+184−169

This diff is large: its 894 lines aren’t shown here.

gcc/libcpp/po/vi.gmo+0−0

Binary file not shown.

gcc/libcpp/po/vi.po+183−166

This diff is large: its 887 lines aren’t shown here.

gcc/libcpp/po/zh_CN.gmo+0−0

Binary file not shown.

gcc/libcpp/po/zh_CN.po+182−165

This diff is large: its 906 lines aren’t shown here.

gcc/libcpp/po/zh_TW.gmo+0−0

Binary file not shown.

gcc/libcpp/po/zh_TW.po+182−165

This diff is large: its 886 lines aren’t shown here.

gcc/libcpp/symtab.c+23−14

This diff is large: its 64 lines aren’t shown here.

gcc/libcpp/system.h+5−1

This diff is large: its 19 lines aren’t shown here.

gcc/libcpp/traditional.c+51−42

This diff is large: its 254 lines aren’t shown here.

gcc/libcpp/ucnid.h+1−1

This diff is large: its 7 lines aren’t shown here.

gcc/libcpp/ucnid.tab+1−1

This diff is large: its 7 lines aren’t shown here.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t