Showing the changes to gcc/libcpp (73 of 31387 files). Show all
Unified · Split
| @@ -1,10 +1,458 @@ | |||
| 1 | 2018-07-26 Release Manager | 1 | 2019-05-03 Release Manager |
| 2 | 2 | ||
| 3 | * GCC 8.2.0 released. | 3 | * GCC 9.1.0 released. |
| 4 | 4 | ||
| 5 | 2018-05-02 Release Manager | 5 | 2019-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 | |||
| 9 | 2019-02-26 Martin Liska <mliska@suse.cz> | ||
| 10 | |||
| 11 | * symtab.c (ht_dump_statistics): Make | ||
| 12 | horizontal alignment for statistics. | ||
| 13 | |||
| 14 | 2019-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 | |||
| 20 | 2019-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 | |||
| 26 | 2019-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 | |||
| 33 | 2019-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 | |||
| 40 | 2019-01-01 Jakub Jelinek <jakub@redhat.com> | ||
| 41 | |||
| 42 | Update copyright years. | ||
| 43 | |||
| 44 | 2018-11-27 Mike Gulick <mgulick@mathworks.com> | ||
| 45 | |||
| 46 | PR preprocessor/83173 | ||
| 47 | * location-example.txt: Update example -fdump-internal-locations | ||
| 48 | output. | ||
| 49 | |||
| 50 | 2018-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 | |||
| 57 | 2018-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 | |||
| 77 | 2018-11-07 Hafiz Abid Qadeer <abidh@codesourcery.com> | ||
| 78 | |||
| 79 | * configure: Regenerated. | ||
| 80 | |||
| 81 | 2018-11-05 Martin Liska <mliska@suse.cz> | ||
| 82 | |||
| 83 | * symtab.c (ht_dump_statistics): Replace %zu with %lu format. | ||
| 84 | |||
| 85 | 2018-11-05 Martin Liska <mliska@suse.cz> | ||
| 86 | |||
| 87 | * symtab.c (ht_dump_statistics): Fix format and | ||
| 88 | pass missing argument. | ||
| 89 | |||
| 90 | 2018-11-05 Martin Liska <mliska@suse.cz> | ||
| 91 | |||
| 92 | * symtab.c (ht_dump_statistics): Make dump conditional | ||
| 93 | based on alloc_subobject. | ||
| 94 | |||
| 95 | 2018-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 | |||
| 101 | 2018-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 | |||
| 132 | 2018-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 | |||
| 138 | 2018-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 | |||
| 143 | 2018-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 | |||
| 150 | 2018-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 | |||
| 194 | 2018-09-17 David Malcolm <dmalcolm@redhat.com> | ||
| 195 | |||
| 196 | * include/line-map.h (range_label::get_text): Add param | ||
| 197 | "range_idx". | ||
| 198 | |||
| 199 | 2018-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 | |||
| 205 | 2018-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 | |||
| 221 | 2018-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 | |||
| 229 | 2018-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 | |||
| 287 | 2018-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 | |||
| 331 | 2018-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 | |||
| 370 | 2018-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 | |||
| 384 | 2018-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 | |||
| 402 | 2018-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 | |||
| 407 | 2018-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 | |||
| 413 | 2018-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 | |||
| 420 | 2018-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 | |||
| 428 | 2018-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 | |||
| 448 | 2018-05-23 Jason Merrill <jason@redhat.com> | ||
| 449 | |||
| 450 | * system.h: #include <new> earlier. | ||
| 451 | |||
| 452 | 2018-05-17 Jason Merrill <jason@redhat.com> | ||
| 453 | |||
| 454 | * line-map.c (linemap_init): Use placement new. | ||
| 455 | * system.h: #include <new>. | ||
| 8 | 456 | ||
| 9 | 2018-03-14 David Malcolm <dmalcolm@redhat.com> | 457 | 2018-03-14 David Malcolm <dmalcolm@redhat.com> |
| 10 | 458 | ||
| @@ -52,10 +500,10 @@ · 41 unmodified lines | |||
| 52 | 500 | ||
| 53 | 2018-01-18 Boris Kolpackov <boris@codesynthesis.com> | 501 | 2018-01-18 Boris Kolpackov <boris@codesynthesis.com> |
| 54 | 502 | ||
| 55 | PR other/70268 | 503 | 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 for | 505 | * macro.c (_cpp_builtin_macro_text): Call remap_filename for |
| 58 | __FILE__ and __BASE_FILE__. | 506 | __FILE__ and __BASE_FILE__. |
| 59 | 507 | ||
| 60 | 2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org> | 508 | 2018-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 header | 5760 | * include/symtab.h: Moved from gcc/hashtable.h. Change header |
| 5313 | guard name. | 5761 | guard name. |
| 5314 | 5762 | ||
| 5315 | Copyright (C) 2004-2018 Free Software Foundation, Inc. | 5763 | Copyright (C) 2004-2019 Free Software Foundation, Inc. |
| 5316 | 5764 | ||
| 5317 | Copying and distribution of this file, with or without modification, | 5765 | Copying and distribution of this file, with or without modification, |
| 5318 | are permitted in any medium without royalty provided the copyright | 5766 | are permitted in any medium without royalty provided the copyright |
| @@ -1,7 +1,7 @@ | |||
| 1 | # @configure_input@ | 1 | # @configure_input@ |
| 2 | # Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in | 2 | # 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).pot | 261 | sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot |
| 262 | rm po/$(PACKAGE).pot.tmp | 262 | rm po/$(PACKAGE).pot.tmp |
| 263 | 263 | ||
| 264 | TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h ucnid.h \ | 264 | TAGS_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 | ||
| 268 | TAGS: $(TAGS_SOURCES) | 267 | TAGS: $(TAGS_SOURCES) |
| 269 | cd $(srcdir) && etags $(TAGS_SOURCES) | 268 | cd $(srcdir) && etags $(TAGS_SOURCES) |
| @@ -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 Foundation | 5 | # 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 A | 11 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| 13 | # PARTICULAR PURPOSE. | 12 | # PARTICULAR PURPOSE. |
| 14 | 13 | ||
| 14 | m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) | ||
| 15 | m4_include([../config/acx.m4]) | 15 | m4_include([../config/acx.m4]) |
| 16 | m4_include([../config/codeset.m4]) | 16 | m4_include([../config/codeset.m4]) |
| 17 | m4_include([../config/depstand.m4]) | 17 | m4_include([../config/depstand.m4]) |
| @@ -21,5 +21,4 @@ m4_include([../config/lead-dot.m4]) · 3 unmodified lines | |||
| 21 | m4_include([../config/lib-ld.m4]) | 21 | m4_include([../config/lib-ld.m4]) |
| 22 | m4_include([../config/lib-link.m4]) | 22 | m4_include([../config/lib-link.m4]) |
| 23 | m4_include([../config/lib-prefix.m4]) | 23 | m4_include([../config/lib-prefix.m4]) |
| 24 | m4_include([../config/override.m4]) | ||
| 25 | m4_include([../config/warnings.m4]) | 24 | m4_include([../config/warnings.m4]) |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* CPP Library - charsets | 1 | /* 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 by | 1696 | /* A "do nothing" diagnostic-handling callback for use by |
| 1697 | cpp_interpret_string_ranges, so that it can temporarily suppress | 1697 | cpp_interpret_string_ranges, so that it can temporarily suppress |
| 1698 | error-handling. */ | 1698 | diagnostic-handling. */ |
| 1699 | 1699 | ||
| 1700 | static bool | 1700 | static bool |
| 1701 | noop_error_cb (cpp_reader *, int, int, rich_location *, | 1701 | noop_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 there | 1740 | /* For on-demand strings we have already lexed the strings, so there |
| 1740 | should be no errors. However, if we have bogus source location | 1741 | should be no diagnostics. However, if we have bogus source location |
| 1741 | data (or stringified macro arguments), the attempt to lex the | 1742 | data (or stringified macro arguments), the attempt to lex the |
| 1742 | strings could fail with an error. Temporarily install an | 1743 | strings could fail with an diagnostic. Temporarily install an |
| 1743 | error-handler to catch the error, so that it can lead to this call | 1744 | 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 of | 1746 | 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 | ||
| 2135 | cpp_string_location_reader:: | 2137 | cpp_string_location_reader:: |
| 2136 | cpp_string_location_reader (source_location src_loc, | 2138 | cpp_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 | { |
| @@ -318,6 +318,11 @@ · 317 unmodified lines | |||
| 318 | # endif | 318 | # endif |
| 319 | #endif | 319 | #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_BITS | 327 | #undef _FILE_OFFSET_BITS |
| 323 | 328 | ||
| @@ -1,12 +1,12 @@ | |||
| 1 | #! /bin/sh | 1 | #! /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 Software | 8 | # 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 Foundation | 11 | # 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 | |||
| 89 | IFS=" "" $as_nl" | 89 | IFS=" "" $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. |
| 92 | as_myself= | ||
| 92 | case $0 in #(( | 93 | case $0 in #(( |
| 93 | *[\\/]* ) as_myself=$0 ;; | 94 | *[\\/]* ) as_myself=$0 ;; |
| 94 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 95 | *) 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 CDPATH | 135 | (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. | ||
| 145 | BASH_ENV=/dev/null | ||
| 146 | ENV=/dev/null | ||
| 147 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | ||
| 148 | case $- in # (((( | ||
| 149 | *v*x* | *x*v* ) as_opts=-vx ;; | ||
| 150 | *v* ) as_opts=-v ;; | ||
| 151 | *x* ) as_opts=-x ;; | ||
| 152 | * ) as_opts= ;; | ||
| 153 | esac | ||
| 154 | exec $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 | ||
| 158 | as_fn_exit 255 | ||
| 159 | fi | ||
| 160 | # We don't want this to propagate to other subprocesses. | ||
| 161 | { _as_can_reexec=; unset _as_can_reexec;} | ||
| 136 | if test "x$CONFIG_SHELL" = x; then | 162 | if 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 sh | 164 | emulate sh |
| @@ -166,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : · 27 unmodified lines | |||
| 166 | else | 192 | else |
| 167 | exitcode=1; echo positional parameters were not saved. | 193 | exitcode=1; echo positional parameters were not saved. |
| 168 | fi | 194 | fi |
| 169 | test x\$exitcode = x0 || exit 1" | 195 | test x\$exitcode = x0 || exit 1 |
| 196 | test -x / || exit 1" | ||
| 170 | as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO | 197 | 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=\$LINENO | 198 | 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 a | 241 | export CONFIG_SHELL |
| 215 | # neutralization value for shells without unset; and this also | 242 | # 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/null | 244 | # works around shells that cannot unset nonexistent variables. |
| 218 | ENV=/dev/null | 245 | # Preserve -v and -x to the replacement shell. |
| 219 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | 246 | BASH_ENV=/dev/null |
| 220 | export CONFIG_SHELL | 247 | ENV=/dev/null |
| 221 | exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} | 248 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV |
| 249 | case $- in # (((( | ||
| 250 | *v*x* | *x*v* ) as_opts=-vx ;; | ||
| 251 | *v* ) as_opts=-v ;; | ||
| 252 | *x* ) as_opts=-x ;; | ||
| 253 | * ) as_opts= ;; | ||
| 254 | esac | ||
| 255 | exec $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 | ||
| 259 | exit 255 | ||
| 222 | fi | 260 | fi |
| 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" && break | 355 | test -d "$as_dir" && break |
| 318 | done | 356 | 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_p | 361 | } # as_fn_mkdir_p |
| 362 | |||
| 363 | # as_fn_executable_p FILE | ||
| 364 | # ----------------------- | ||
| 365 | # Test if FILE is an executable regular file. | ||
| 366 | as_fn_executable_p () | ||
| 367 | { | ||
| 368 | test -f "$1" && test -x "$1" | ||
| 369 | } # as_fn_executable_p | ||
| 324 | # as_fn_append VAR VALUE | 370 | # as_fn_append VAR VALUE |
| 325 | # ---------------------- | 371 | # ---------------------- |
| 326 | # Append the text in VALUE to the end of the definition contained in VAR. Take | 372 | # Append the text in VALUE to the end of the definition contained in VAR. Take |
| @@ -357,19 +403,19 @@ else · 30 unmodified lines | |||
| 357 | fi # as_fn_arith | 403 | fi # 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 are | 408 | # 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 the | 409 | # 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. |
| 365 | as_fn_error () | 411 | as_fn_error () |
| 366 | { | 412 | { |
| 367 | as_status=$?; test $as_status -eq 0 && as_status=1 | 413 | as_status=$1; test $as_status -eq 0 && as_status=1 |
| 368 | if test "$3"; then | 414 | if test "$4"; then |
| 369 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 415 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 370 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 416 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| 371 | fi | 417 | fi |
| 372 | $as_echo "$as_me: error: $1" >&2 | 418 | $as_echo "$as_me: error: $2" >&2 |
| 373 | as_fn_exit $as_status | 419 | as_fn_exit $as_status |
| 374 | } # as_fn_error | 420 | } # 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 problems | 495 | # 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 the | 496 | # (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; then | 532 | elif ln conf$$.file conf$$ 2>/dev/null; then |
| 483 | as_ln_s=ln | 533 | as_ln_s=ln |
| 484 | else | 534 | else |
| 485 | as_ln_s='cp -p' | 535 | as_ln_s='cp -pR' |
| 486 | fi | 536 | fi |
| 487 | else | 537 | else |
| 488 | as_ln_s='cp -p' | 538 | as_ln_s='cp -pR' |
| 489 | fi | 539 | fi |
| 490 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | 540 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
| 491 | rmdir conf$$.dir 2>/dev/null | 541 | rmdir conf$$.dir 2>/dev/null |
| @@ -497,28 +547,8 @@ else · 5 unmodified lines | |||
| 497 | as_mkdir_p=false | 547 | as_mkdir_p=false |
| 498 | fi | 548 | fi |
| 499 | 549 | ||
| 500 | if test -x / >/dev/null 2>&1; then | 550 | as_test_x='test -x' |
| 501 | as_test_x='test -x' | 551 | as_executable_p=as_fn_executable_p |
| 502 | else | ||
| 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 | ' | ||
| 520 | fi | ||
| 521 | as_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. |
| 524 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | 554 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
| @@ -527,10 +557,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" · 2 unmodified lines | |||
| 527 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | 557 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
| 528 | 558 | ||
| 529 | 559 | ||
| 530 | exec 7<&0 </dev/null 6>&1 | 560 | test -n "$DJDIR" || exec 7<&0 </dev/null |
| 561 | exec 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. |
| 535 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | 566 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
| 536 | 567 | ||
| @@ -779,8 +810,9 @@ do · 242 unmodified lines | |||
| 779 | fi | 810 | fi |
| 780 | 811 | ||
| 781 | case $ac_option in | 812 | 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 | esac | 816 | 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_useropt | 861 | 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 in | 863 | 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_useropt | 887 | 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 in | 889 | 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_useropt | 1091 | 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 in | 1093 | 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_useropt | 1107 | 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 in | 1109 | 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' |
| 1105 | Try \`$0 --help' for more information." | 1137 | Try \`$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 | esac | 1146 | esac |
| 1115 | eval $ac_envvar=\$ac_optarg | 1147 | 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" >&2 | 1152 | $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" >&2 | 1154 | $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 | esac | 1158 | esac |
| @@ -1128,13 +1160,13 @@ done · 1 unmodified line | |||
| 1128 | 1160 | ||
| 1129 | if test -n "$ac_prev"; then | 1161 | if 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" |
| 1132 | fi | 1164 | fi |
| 1133 | 1165 | ||
| 1134 | if test -n "$ac_unrecognized_opts"; then | 1166 | if test -n "$ac_unrecognized_opts"; then |
| 1135 | case $enable_option_checking in | 1167 | 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 | esac | 1171 | esac |
| 1140 | fi | 1172 | fi |
| @@ -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 | esac | 1191 | 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" |
| 1161 | done | 1193 | done |
| 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 | |||
| 1171 | if test "x$host_alias" != x; then | 1203 | if test "x$host_alias" != x; then |
| 1172 | if test "x$build_alias" = x; then | 1204 | if test "x$build_alias" = x; then |
| 1173 | cross_compiling=maybe | 1205 | 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"; then | 1206 | elif test "x$build_alias" != "x$host_alias"; then |
| 1177 | cross_compiling=yes | 1207 | cross_compiling=yes |
| 1178 | fi | 1208 | fi |
| @@ -1187,9 +1217,9 @@ test "$silent" = yes && exec 6>/dev/null · 8 unmodified lines | |||
| 1187 | ac_pwd=`pwd` && test -n "$ac_pwd" && | 1217 | ac_pwd=`pwd` && test -n "$ac_pwd" && |
| 1188 | ac_ls_di=`ls -di .` && | 1218 | ac_ls_di=`ls -di .` && |
| 1189 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | 1219 | ac_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" |
| 1191 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | 1221 | test "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 | |||
| 1228 | fi | 1258 | fi |
| 1229 | if test ! -r "$srcdir/$ac_unique_file"; then | 1259 | if 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" |
| 1232 | fi | 1262 | fi |
| 1233 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | 1263 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
| 1234 | ac_abs_confdir=`( | 1264 | ac_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=. |
| 1238 | if test "$ac_abs_confdir" = "$ac_pwd"; then | 1268 | if test "$ac_abs_confdir" = "$ac_pwd"; then |
| @@ -1272,7 +1302,7 @@ Configuration: · 33 unmodified lines | |||
| 1272 | --help=short display options specific to this package | 1302 | --help=short display options specific to this package |
| 1273 | --help=recursive display the short help of all the included packages | 1303 | --help=recursive display the short help of all the included packages |
| 1274 | -V, --version display version information and exit | 1304 | -V, --version display version information and exit |
| 1275 | -q, --quiet, --silent do not print \`checking...' messages | 1305 | -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 files | 1308 | -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 a | 1390 | 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> if | 1393 | 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 command | 1395 | CXX C++ compiler command |
| 1366 | CXXFLAGS C++ compiler flags | 1396 | CXXFLAGS C++ compiler flags |
| @@ -1433,9 +1463,9 @@ test -n "$ac_init_help" && exit $ac_status · 66 unmodified lines | |||
| 1433 | if $ac_init_version; then | 1463 | if $ac_init_version; then |
| 1434 | cat <<\_ACEOF | 1464 | cat <<\_ACEOF |
| 1435 | cpplib configure | 1465 | cpplib configure |
| 1436 | generated by GNU Autoconf 2.64 | 1466 | generated by GNU Autoconf 2.69 |
| 1437 | 1467 | ||
| 1438 | Copyright (C) 2009 Free Software Foundation, Inc. | 1468 | Copyright (C) 2012 Free Software Foundation, Inc. |
| 1439 | This configure script is free software; the Free Software Foundation | 1469 | This configure script is free software; the Free Software Foundation |
| 1440 | gives unlimited permission to copy, distribute and modify it. | 1470 | gives unlimited permission to copy, distribute and modify it. |
| 1441 | _ACEOF | 1471 | _ACEOF |
| @@ -1479,8 +1509,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 · 37 unmodified lines | |||
| 1479 | 1509 | ||
| 1480 | ac_retval=1 | 1510 | ac_retval=1 |
| 1481 | fi | 1511 | fi |
| 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_retval | 1513 | as_fn_set_status $ac_retval |
| 1484 | 1514 | ||
| 1485 | } # ac_fn_c_try_compile | 1515 | } # 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=1 | 1548 | ac_retval=1 |
| 1519 | fi | 1549 | fi |
| 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_retval | 1551 | as_fn_set_status $ac_retval |
| 1522 | 1552 | ||
| 1523 | } # ac_fn_cxx_try_compile | 1553 | } # 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.err | 1573 | mv -f conftest.er1 conftest.err |
| 1544 | fi | 1574 | fi |
| 1545 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 1575 | $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.err | 1578 | 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=1 | 1585 | ac_retval=1 |
| 1556 | fi | 1586 | fi |
| 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_retval | 1588 | as_fn_set_status $ac_retval |
| 1559 | 1589 | ||
| 1560 | } # ac_fn_c_try_cpp | 1590 | } # ac_fn_c_try_cpp |
| 1561 | 1591 | ||
| @@ -1567,10 +1597,10 @@ fi · 5 unmodified lines | |||
| 1567 | ac_fn_c_check_header_mongrel () | 1597 | ac_fn_c_check_header_mongrel () |
| 1568 | { | 1598 | { |
| 1569 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1599 | 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" >&5 | 1601 | { $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; } |
| 1573 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1603 | if eval \${$3+:} false; then : |
| 1574 | $as_echo_n "(cached) " >&6 | 1604 | $as_echo_n "(cached) " >&6 |
| 1575 | fi | 1605 | fi |
| 1576 | eval ac_res=\$$3 | 1606 | eval ac_res=\$$3 |
| @@ -1606,7 +1636,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : · 29 unmodified lines | |||
| 1606 | else | 1636 | else |
| 1607 | ac_header_preproc=no | 1637 | ac_header_preproc=no |
| 1608 | fi | 1638 | fi |
| 1609 | rm -f conftest.err conftest.$ac_ext | 1639 | rm -f conftest.err conftest.i conftest.$ac_ext |
| 1610 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 | 1640 | { $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" >&5 | 1660 | { $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 <<\_ASBOX | 1662 | ( $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: /" >&2 | 1665 | ) | sed "s/^/$as_me: WARNING: /" >&2 |
| 1638 | ;; | 1666 | ;; |
| 1639 | esac | 1667 | esac |
| 1640 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1668 | { $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; } |
| 1642 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1670 | if eval \${$3+:} false; then : |
| 1643 | $as_echo_n "(cached) " >&6 | 1671 | $as_echo_n "(cached) " >&6 |
| 1644 | else | 1672 | else |
| 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" >&5 | 1676 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |
| 1649 | $as_echo "$ac_res" >&6; } | 1677 | $as_echo "$ac_res" >&6; } |
| 1650 | fi | 1678 | fi |
| 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_mongrel | 1681 | } # 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_status | 1717 | ac_retval=$ac_status |
| 1690 | fi | 1718 | fi |
| 1691 | rm -rf conftest.dSYM conftest_ipa8_conftest.oo | 1719 | 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_retval | 1721 | as_fn_set_status $ac_retval |
| 1694 | 1722 | ||
| 1695 | } # ac_fn_c_try_run | 1723 | } # 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_stack | 1731 | 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" >&5 | 1732 | { $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; } |
| 1706 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1734 | if eval \${$3+:} false; then : |
| 1707 | $as_echo_n "(cached) " >&6 | 1735 | $as_echo_n "(cached) " >&6 |
| 1708 | else | 1736 | else |
| 1709 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1737 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -1721,7 +1749,7 @@ fi · 11 unmodified lines | |||
| 1721 | eval ac_res=\$$3 | 1749 | eval ac_res=\$$3 |
| 1722 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | 1750 | { $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_compile | 1754 | } # 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.err | 1780 | 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_exeext | 1783 | test -x conftest$ac_exeext |
| 1756 | }; then : | 1784 | }; then : |
| 1757 | ac_retval=0 | 1785 | ac_retval=0 |
| 1758 | else | 1786 | else |
| @@ -1766,8 +1794,8 @@ fi · 7 unmodified lines | |||
| 1766 | # interfere with the next link command; also delete a directory that is | 1794 | # 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.oo | 1796 | 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_retval | 1798 | as_fn_set_status $ac_retval |
| 1771 | 1799 | ||
| 1772 | } # ac_fn_c_try_link | 1800 | } # 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_stack | 1808 | 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" >&5 | 1809 | { $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; } |
| 1783 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1811 | if eval \${$3+:} false; then : |
| 1784 | $as_echo_n "(cached) " >&6 | 1812 | $as_echo_n "(cached) " >&6 |
| 1785 | else | 1813 | else |
| 1786 | eval "$3=no" | 1814 | eval "$3=no" |
| @@ -1821,7 +1849,7 @@ fi · 34 unmodified lines | |||
| 1821 | eval ac_res=\$$3 | 1849 | eval ac_res=\$$3 |
| 1822 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | 1850 | { $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_type | 1854 | } # 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_stack | 1862 | 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" >&5 | 1863 | { $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; } |
| 1837 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1865 | if eval \${$3+:} false; then : |
| 1838 | $as_echo_n "(cached) " >&6 | 1866 | $as_echo_n "(cached) " >&6 |
| 1839 | else | 1867 | else |
| 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'; do | 1872 | 'unsigned long long int' 'unsigned short int' 'unsigned char'; do |
| 1843 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 1873 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -1846,8 +1876,9 @@ $ac_includes_default · 2 unmodified lines | |||
| 1846 | int | 1876 | int |
| 1847 | main () | 1877 | main () |
| 1848 | { | 1878 | { |
| 1849 | static int test_array [1 - 2 * !(($ac_type) -1 >> ($2 - 1) == 1)]; | 1879 | static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; |
| 1850 | test_array [0] = 0 | 1880 | test_array [0] = 0; |
| 1881 | return 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 | |||
| 1862 | esac | 1893 | esac |
| 1863 | fi | 1894 | fi |
| 1864 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 1895 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| 1865 | eval as_val=\$$3 | 1896 | if eval test \"x\$"$3"\" = x"no"; then : |
| 1866 | if test "x$as_val" = x""no; then : | ||
| 1867 | 1897 | ||
| 1868 | else | 1898 | else |
| 1869 | break | 1899 | break |
| @@ -1873,7 +1903,7 @@ fi · 3 unmodified lines | |||
| 1873 | eval ac_res=\$$3 | 1903 | eval ac_res=\$$3 |
| 1874 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | 1904 | { $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_t | 1908 | } # ac_fn_c_find_uintX_t |
| 1879 | 1909 | ||
| @@ -1894,7 +1924,8 @@ int · 14 unmodified lines | |||
| 1894 | main () | 1924 | main () |
| 1895 | { | 1925 | { |
| 1896 | static int test_array [1 - 2 * !(($2) >= 0)]; | 1926 | static int test_array [1 - 2 * !(($2) >= 0)]; |
| 1897 | test_array [0] = 0 | 1927 | test_array [0] = 0; |
| 1928 | return test_array [0]; | ||
| 1898 | 1929 | ||
| 1899 | ; | 1930 | ; |
| 1900 | return 0; | 1931 | return 0; |
| @@ -1910,7 +1941,8 @@ int · 9 unmodified lines | |||
| 1910 | main () | 1941 | main () |
| 1911 | { | 1942 | { |
| 1912 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; | 1943 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; |
| 1913 | test_array [0] = 0 | 1944 | test_array [0] = 0; |
| 1945 | return test_array [0]; | ||
| 1914 | 1946 | ||
| 1915 | ; | 1947 | ; |
| 1916 | return 0; | 1948 | return 0; |
| @@ -1936,7 +1968,8 @@ int · 19 unmodified lines | |||
| 1936 | main () | 1968 | main () |
| 1937 | { | 1969 | { |
| 1938 | static int test_array [1 - 2 * !(($2) < 0)]; | 1970 | static int test_array [1 - 2 * !(($2) < 0)]; |
| 1939 | test_array [0] = 0 | 1971 | test_array [0] = 0; |
| 1972 | return test_array [0]; | ||
| 1940 | 1973 | ||
| 1941 | ; | 1974 | ; |
| 1942 | return 0; | 1975 | return 0; |
| @@ -1952,7 +1985,8 @@ int · 9 unmodified lines | |||
| 1952 | main () | 1985 | main () |
| 1953 | { | 1986 | { |
| 1954 | static int test_array [1 - 2 * !(($2) >= $ac_mid)]; | 1987 | static int test_array [1 - 2 * !(($2) >= $ac_mid)]; |
| 1955 | test_array [0] = 0 | 1988 | test_array [0] = 0; |
| 1989 | return test_array [0]; | ||
| 1956 | 1990 | ||
| 1957 | ; | 1991 | ; |
| 1958 | return 0; | 1992 | return 0; |
| @@ -1986,7 +2020,8 @@ int · 27 unmodified lines | |||
| 1986 | main () | 2020 | main () |
| 1987 | { | 2021 | { |
| 1988 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; | 2022 | static int test_array [1 - 2 * !(($2) <= $ac_mid)]; |
| 1989 | test_array [0] = 0 | 2023 | test_array [0] = 0; |
| 2024 | return 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 | |||
| 2050 | rm -f conftest.val | 2085 | rm -f conftest.val |
| 2051 | 2086 | ||
| 2052 | fi | 2087 | 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_retval | 2089 | as_fn_set_status $ac_retval |
| 2055 | 2090 | ||
| 2056 | } # ac_fn_c_compute_int | 2091 | } # 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_stack | 2098 | 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" >&5 | 2099 | { $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; } |
| 2066 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2101 | if eval \${$3+:} false; then : |
| 2067 | $as_echo_n "(cached) " >&6 | 2102 | $as_echo_n "(cached) " >&6 |
| 2068 | else | 2103 | else |
| 2069 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2104 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -2118,13 +2153,14 @@ fi · 48 unmodified lines | |||
| 2118 | eval ac_res=\$$3 | 2153 | eval ac_res=\$$3 |
| 2119 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | 2154 | { $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_func | 2158 | } # ac_fn_c_check_func |
| 2124 | 2159 | ||
| 2125 | # ac_fn_c_check_decl LINENO SYMBOL VAR | 2160 | # 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. | ||
| 2128 | ac_fn_c_check_decl () | 2164 | ac_fn_c_check_decl () |
| 2129 | { | 2165 | { |
| 2130 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2166 | 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" >&5 | 2169 | { $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; } |
| 2135 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2171 | if eval \${$3+:} false; then : |
| 2136 | $as_echo_n "(cached) " >&6 | 2172 | $as_echo_n "(cached) " >&6 |
| 2137 | else | 2173 | else |
| 2138 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2174 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -2163,7 +2199,7 @@ fi · 24 unmodified lines | |||
| 2163 | eval ac_res=\$$3 | 2199 | eval ac_res=\$$3 |
| 2164 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | 2200 | { $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_decl | 2204 | } # ac_fn_c_check_decl |
| 2169 | 2205 | ||
| @@ -2194,7 +2230,7 @@ $as_echo "$ac_try_echo"; } >&5 · 24 unmodified lines | |||
| 2194 | test ! -s conftest.err | 2230 | 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_exeext | 2233 | test -x conftest$ac_exeext |
| 2198 | }; then : | 2234 | }; then : |
| 2199 | ac_retval=0 | 2235 | ac_retval=0 |
| 2200 | else | 2236 | else |
| @@ -2208,8 +2244,8 @@ fi · 7 unmodified lines | |||
| 2208 | # interfere with the next link command; also delete a directory that is | 2244 | # 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.oo | 2246 | 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_retval | 2248 | as_fn_set_status $ac_retval |
| 2213 | 2249 | ||
| 2214 | } # ac_fn_cxx_try_link | 2250 | } # ac_fn_cxx_try_link |
| 2215 | cat >config.log <<_ACEOF | 2251 | cat >config.log <<_ACEOF |
| @@ -2217,7 +2253,7 @@ This file contains any messages produced by compilers while · 1 unmodified line | |||
| 2217 | running configure, to aid debugging if configure makes a mistake. | 2253 | running configure, to aid debugging if configure makes a mistake. |
| 2218 | 2254 | ||
| 2219 | It was created by cpplib $as_me , which was | 2255 | It was created by cpplib $as_me , which was |
| 2220 | generated by GNU Autoconf 2.64. Invocation command line was | 2256 | generated 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 | echo | 2364 | echo |
| 2329 | 2365 | ||
| 2330 | cat <<\_ASBOX | 2366 | $as_echo "## ---------------- ## |
| 2331 | ## ---------------- ## | ||
| 2332 | ## Cache variables. ## | 2367 | ## Cache variables. ## |
| 2333 | ## ---------------- ## | 2368 | ## ---------------- ##" |
| 2334 | _ASBOX | ||
| 2335 | echo | 2369 | 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 | echo | 2400 | echo |
| 2367 | 2401 | ||
| 2368 | cat <<\_ASBOX | 2402 | $as_echo "## ----------------- ## |
| 2369 | ## ----------------- ## | ||
| 2370 | ## Output variables. ## | 2403 | ## Output variables. ## |
| 2371 | ## ----------------- ## | 2404 | ## ----------------- ##" |
| 2372 | _ASBOX | ||
| 2373 | echo | 2405 | echo |
| 2374 | for ac_var in $ac_subst_vars | 2406 | for ac_var in $ac_subst_vars |
| 2375 | do | 2407 | do |
| @@ -2382,11 +2414,9 @@ _ASBOX · 6 unmodified lines | |||
| 2382 | echo | 2414 | echo |
| 2383 | 2415 | ||
| 2384 | if test -n "$ac_subst_files"; then | 2416 | if test -n "$ac_subst_files"; then |
| 2385 | cat <<\_ASBOX | 2417 | $as_echo "## ------------------- ## |
| 2386 | ## ------------------- ## | ||
| 2387 | ## File substitutions. ## | 2418 | ## File substitutions. ## |
| 2388 | ## ------------------- ## | 2419 | ## ------------------- ##" |
| 2389 | _ASBOX | ||
| 2390 | echo | 2420 | echo |
| 2391 | for ac_var in $ac_subst_files | 2421 | for ac_var in $ac_subst_files |
| 2392 | do | 2422 | do |
| @@ -2400,11 +2430,9 @@ _ASBOX · 7 unmodified lines | |||
| 2400 | fi | 2430 | fi |
| 2401 | 2431 | ||
| 2402 | if test -s confdefs.h; then | 2432 | if test -s confdefs.h; then |
| 2403 | cat <<\_ASBOX | 2433 | $as_echo "## ----------- ## |
| 2404 | ## ----------- ## | ||
| 2405 | ## confdefs.h. ## | 2434 | ## confdefs.h. ## |
| 2406 | ## ----------- ## | 2435 | ## ----------- ##" |
| 2407 | _ASBOX | ||
| 2408 | echo | 2436 | echo |
| 2409 | cat confdefs.h | 2437 | cat confdefs.h |
| 2410 | echo | 2438 | echo |
| @@ -2459,7 +2487,12 @@ _ACEOF · 48 unmodified lines | |||
| 2459 | ac_site_file1=NONE | 2487 | ac_site_file1=NONE |
| 2460 | ac_site_file2=NONE | 2488 | ac_site_file2=NONE |
| 2461 | if test -n "$CONFIG_SITE"; then | 2489 | if test -n "$CONFIG_SITE"; then |
| 2462 | ac_site_file1=$CONFIG_SITE | 2490 | # 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 | ||
| 2463 | elif test "x$prefix" != xNONE; then | 2496 | elif test "x$prefix" != xNONE; then |
| 2464 | ac_site_file1=$prefix/share/config.site | 2497 | ac_site_file1=$prefix/share/config.site |
| 2465 | ac_site_file2=$prefix/etc/config.site | 2498 | ac_site_file2=$prefix/etc/config.site |
| @@ -2470,18 +2503,22 @@ fi · 4 unmodified lines | |||
| 2470 | for ac_site_file in "$ac_site_file1" "$ac_site_file2" | 2503 | for ac_site_file in "$ac_site_file1" "$ac_site_file2" |
| 2471 | do | 2504 | do |
| 2472 | test "x$ac_site_file" = xNONE && continue | 2505 | test "x$ac_site_file" = xNONE && continue |
| 2473 | if test -r "$ac_site_file"; then | 2506 | 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" >&5 | 2507 | { $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" >&5 | 2509 | 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;} | ||
| 2513 | as_fn_error $? "failed to load site script $ac_site_file | ||
| 2514 | See \`config.log' for more details" "$LINENO" 5; } | ||
| 2478 | fi | 2515 | fi |
| 2479 | done | 2516 | done |
| 2480 | 2517 | ||
| 2481 | if test -r "$cache_file"; then | 2518 | if test -r "$cache_file"; then |
| 2482 | # Some versions of bash will fail to source /dev/null (special | 2519 | # 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"; then | 2521 | if test /dev/null != "$cache_file" && test -f "$cache_file"; then |
| 2485 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 | 2522 | { $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 in | 2524 | 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" >&5 | 2588 | { $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" 5 | 2590 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
| 2554 | fi | 2591 | fi |
| 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 | |||
| 2571 | ac_aux_dir= | 2605 | ac_aux_dir= |
| 2572 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do | 2606 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
| 2573 | for ac_t in install-sh install.sh shtool; do | 2607 | if test -f "$ac_dir/install-sh"; then |
| 2574 | if test -f "$ac_dir/$ac_t"; then | 2608 | ac_aux_dir=$ac_dir |
| 2575 | ac_aux_dir=$ac_dir | 2609 | ac_install_sh="$ac_aux_dir/install-sh -c" |
| 2576 | ac_install_sh="$ac_aux_dir/$ac_t -c" | 2610 | break |
| 2577 | break 2 | 2611 | elif test -f "$ac_dir/install.sh"; then |
| 2578 | fi | 2612 | ac_aux_dir=$ac_dir |
| 2579 | done | 2613 | 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 | ||
| 2580 | done | 2620 | done |
| 2581 | if test -z "$ac_aux_dir"; then | 2621 | if test -z "$ac_aux_dir"; then |
| 2582 | as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 | 2622 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
| 2583 | fi | 2623 | fi |
| 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" 5 | 2636 | 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" >&5 | 2638 | { $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; } |
| 2600 | if test "${ac_cv_build+set}" = set; then : | 2640 | if ${ac_cv_build+:} false; then : |
| 2601 | $as_echo_n "(cached) " >&6 | 2641 | $as_echo_n "(cached) " >&6 |
| 2602 | else | 2642 | else |
| 2603 | ac_build_alias=$build_alias | 2643 | ac_build_alias=$build_alias |
| 2604 | test "x$ac_build_alias" = x && | 2644 | test "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"` |
| 2606 | test "x$ac_build_alias" = x && | 2646 | test "x$ac_build_alias" = x && |
| 2607 | as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 | 2647 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
| 2608 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | 2648 | ac_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" 5 | 2649 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
| 2610 | 2650 | ||
| 2611 | fi | 2651 | fi |
| 2612 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | 2652 | { $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; } |
| 2614 | case $ac_cv_build in | 2654 | case $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;; |
| 2617 | esac | 2657 | esac |
| 2618 | build=$ac_cv_build | 2658 | build=$ac_cv_build |
| 2619 | ac_save_IFS=$IFS; IFS='-' | 2659 | ac_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" >&5 | 2672 | { $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; } |
| 2634 | if test "${ac_cv_host+set}" = set; then : | 2674 | if ${ac_cv_host+:} false; then : |
| 2635 | $as_echo_n "(cached) " >&6 | 2675 | $as_echo_n "(cached) " >&6 |
| 2636 | else | 2676 | else |
| 2637 | if test "x$host_alias" = x; then | 2677 | if test "x$host_alias" = x; then |
| 2638 | ac_cv_host=$ac_cv_build | 2678 | ac_cv_host=$ac_cv_build |
| 2639 | else | 2679 | else |
| 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" 5 | 2681 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
| 2642 | fi | 2682 | fi |
| 2643 | 2683 | ||
| 2644 | fi | 2684 | fi |
| @@ -2646,7 +2686,7 @@ fi · 1 unmodified line | |||
| 2646 | $as_echo "$ac_cv_host" >&6; } | 2686 | $as_echo "$ac_cv_host" >&6; } |
| 2647 | case $ac_cv_host in | 2687 | case $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;; |
| 2650 | esac | 2690 | esac |
| 2651 | host=$ac_cv_host | 2691 | host=$ac_cv_host |
| 2652 | ac_save_IFS=$IFS; IFS='-' | 2692 | ac_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" >&5 | 2705 | { $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; } |
| 2667 | if test "${ac_cv_target+set}" = set; then : | 2707 | if ${ac_cv_target+:} false; then : |
| 2668 | $as_echo_n "(cached) " >&6 | 2708 | $as_echo_n "(cached) " >&6 |
| 2669 | else | 2709 | else |
| 2670 | if test "x$target_alias" = x; then | 2710 | if test "x$target_alias" = x; then |
| 2671 | ac_cv_target=$ac_cv_host | 2711 | ac_cv_target=$ac_cv_host |
| 2672 | else | 2712 | else |
| 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" 5 | 2714 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 |
| 2675 | fi | 2715 | fi |
| 2676 | 2716 | ||
| 2677 | fi | 2717 | fi |
| @@ -2679,7 +2719,7 @@ fi · 1 unmodified line | |||
| 2679 | $as_echo "$ac_cv_target" >&6; } | 2719 | $as_echo "$ac_cv_target" >&6; } |
| 2680 | case $ac_cv_target in | 2720 | case $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;; |
| 2683 | esac | 2723 | esac |
| 2684 | target=$ac_cv_target | 2724 | target=$ac_cv_target |
| 2685 | ac_save_IFS=$IFS; IFS='-' | 2725 | ac_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; } |
| 2709 | set x ${MAKE-make} | 2749 | set x ${MAKE-make} |
| 2710 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | 2750 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` |
| 2711 | if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : | 2751 | if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : |
| 2712 | $as_echo_n "(cached) " >&6 | 2752 | $as_echo_n "(cached) " >&6 |
| 2713 | else | 2753 | else |
| 2714 | cat >conftest.make <<\_ACEOF | 2754 | cat >conftest.make <<\_ACEOF |
| @@ -2716,7 +2756,7 @@ SHELL = /bin/sh · 1 unmodified line | |||
| 2716 | all: | 2756 | all: |
| 2717 | @echo '@@@%%%=$(MAKE)=@@@%%%' | 2757 | @echo '@@@%%%=$(MAKE)=@@@%%%' |
| 2718 | _ACEOF | 2758 | _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. |
| 2720 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | 2760 | case `${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" >&5 | 2792 | { $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; } |
| 2754 | if test -z "$INSTALL"; then | 2794 | if test -z "$INSTALL"; then |
| 2755 | if test "${ac_cv_path_install+set}" = set; then : | 2795 | if ${ac_cv_path_install+:} false; then : |
| 2756 | $as_echo_n "(cached) " >&6 | 2796 | $as_echo_n "(cached) " >&6 |
| 2757 | else | 2797 | else |
| 2758 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 2798 | 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; do | 2813 | for ac_prog in ginstall scoinst install; do |
| 2774 | for ac_exec_ext in '' $ac_executable_extensions; do | 2814 | 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"; }; then | 2815 | 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; then | 2817 | 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 | |||
| 2838 | set dummy ${ac_tool_prefix}gcc; ac_word=$2 | 2878 | set dummy ${ac_tool_prefix}gcc; ac_word=$2 |
| 2839 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 2879 | { $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; } |
| 2841 | if test "${ac_cv_prog_CC+set}" = set; then : | 2881 | if ${ac_cv_prog_CC+:} false; then : |
| 2842 | $as_echo_n "(cached) " >&6 | 2882 | $as_echo_n "(cached) " >&6 |
| 2843 | else | 2883 | else |
| 2844 | if test -n "$CC"; then | 2884 | if test -n "$CC"; then |
| @@ -2850,7 +2890,7 @@ do · 5 unmodified lines | |||
| 2850 | IFS=$as_save_IFS | 2890 | 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; do | 2892 | 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"; }; then | 2893 | 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" >&5 | 2895 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 2856 | break 2 | 2896 | break 2 |
| @@ -2878,7 +2918,7 @@ if test -z "$ac_cv_prog_CC"; then · 21 unmodified lines | |||
| 2878 | set dummy gcc; ac_word=$2 | 2918 | set dummy gcc; ac_word=$2 |
| 2879 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 2919 | { $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; } |
| 2881 | if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : | 2921 | if ${ac_cv_prog_ac_ct_CC+:} false; then : |
| 2882 | $as_echo_n "(cached) " >&6 | 2922 | $as_echo_n "(cached) " >&6 |
| 2883 | else | 2923 | else |
| 2884 | if test -n "$ac_ct_CC"; then | 2924 | if test -n "$ac_ct_CC"; then |
| @@ -2890,7 +2930,7 @@ do · 5 unmodified lines | |||
| 2890 | IFS=$as_save_IFS | 2930 | 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; do | 2932 | 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"; }; then | 2933 | 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" >&5 | 2935 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 2896 | break 2 | 2936 | break 2 |
| @@ -2931,7 +2971,7 @@ if test -z "$CC"; then · 34 unmodified lines | |||
| 2931 | set dummy ${ac_tool_prefix}cc; ac_word=$2 | 2971 | set dummy ${ac_tool_prefix}cc; ac_word=$2 |
| 2932 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 2972 | { $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; } |
| 2934 | if test "${ac_cv_prog_CC+set}" = set; then : | 2974 | if ${ac_cv_prog_CC+:} false; then : |
| 2935 | $as_echo_n "(cached) " >&6 | 2975 | $as_echo_n "(cached) " >&6 |
| 2936 | else | 2976 | else |
| 2937 | if test -n "$CC"; then | 2977 | if test -n "$CC"; then |
| @@ -2943,7 +2983,7 @@ do · 5 unmodified lines | |||
| 2943 | IFS=$as_save_IFS | 2983 | 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; do | 2985 | 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"; }; then | 2986 | 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" >&5 | 2988 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 2949 | break 2 | 2989 | break 2 |
| @@ -2971,7 +3011,7 @@ if test -z "$CC"; then · 21 unmodified lines | |||
| 2971 | set dummy cc; ac_word=$2 | 3011 | set dummy cc; ac_word=$2 |
| 2972 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3012 | { $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; } |
| 2974 | if test "${ac_cv_prog_CC+set}" = set; then : | 3014 | if ${ac_cv_prog_CC+:} false; then : |
| 2975 | $as_echo_n "(cached) " >&6 | 3015 | $as_echo_n "(cached) " >&6 |
| 2976 | else | 3016 | else |
| 2977 | if test -n "$CC"; then | 3017 | if test -n "$CC"; then |
| @@ -2984,7 +3024,7 @@ do · 6 unmodified lines | |||
| 2984 | IFS=$as_save_IFS | 3024 | 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; do | 3026 | 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"; }; then | 3027 | 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"; then | 3028 | if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then |
| 2989 | ac_prog_rejected=yes | 3029 | ac_prog_rejected=yes |
| 2990 | continue | 3030 | continue |
| @@ -3030,7 +3070,7 @@ if test -z "$CC"; then · 39 unmodified lines | |||
| 3030 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | 3070 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| 3031 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3071 | { $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; } |
| 3033 | if test "${ac_cv_prog_CC+set}" = set; then : | 3073 | if ${ac_cv_prog_CC+:} false; then : |
| 3034 | $as_echo_n "(cached) " >&6 | 3074 | $as_echo_n "(cached) " >&6 |
| 3035 | else | 3075 | else |
| 3036 | if test -n "$CC"; then | 3076 | if test -n "$CC"; then |
| @@ -3042,7 +3082,7 @@ do · 5 unmodified lines | |||
| 3042 | IFS=$as_save_IFS | 3082 | 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; do | 3084 | 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"; }; then | 3085 | 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" >&5 | 3087 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3048 | break 2 | 3088 | break 2 |
| @@ -3074,7 +3114,7 @@ do · 25 unmodified lines | |||
| 3074 | set dummy $ac_prog; ac_word=$2 | 3114 | set dummy $ac_prog; ac_word=$2 |
| 3075 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3115 | { $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; } |
| 3077 | if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : | 3117 | if ${ac_cv_prog_ac_ct_CC+:} false; then : |
| 3078 | $as_echo_n "(cached) " >&6 | 3118 | $as_echo_n "(cached) " >&6 |
| 3079 | else | 3119 | else |
| 3080 | if test -n "$ac_ct_CC"; then | 3120 | if test -n "$ac_ct_CC"; then |
| @@ -3086,7 +3126,7 @@ do · 5 unmodified lines | |||
| 3086 | IFS=$as_save_IFS | 3126 | 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; do | 3128 | 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"; }; then | 3129 | 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" >&5 | 3131 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3092 | break 2 | 3132 | break 2 |
| @@ -3128,8 +3168,8 @@ fi · 35 unmodified lines | |||
| 3128 | 3168 | ||
| 3129 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3169 | test -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;} |
| 3131 | as_fn_error "no acceptable C compiler found in \$PATH | 3171 | as_fn_error $? "no acceptable C compiler found in \$PATH |
| 3132 | See \`config.log' for more details." "$LINENO" 5; } | 3172 | See \`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" >&5 | 3175 | $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.er1 | 3191 | 10q' conftest.err >conftest.er1 |
| 3152 | cat conftest.er1 >&5 | 3192 | cat conftest.er1 >&5 |
| 3153 | rm -f conftest.er1 conftest.err | ||
| 3154 | fi | 3193 | fi |
| 3194 | rm -f conftest.er1 conftest.err | ||
| 3155 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 3195 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| 3156 | test $ac_status = 0; } | 3196 | test $ac_status = 0; } |
| 3157 | done | 3197 | done |
| @@ -3168,12 +3208,12 @@ main () · 10 unmodified lines | |||
| 3168 | } | 3208 | } |
| 3169 | _ACEOF | 3209 | _ACEOF |
| 3170 | ac_clean_files_save=$ac_clean_files | 3210 | ac_clean_files_save=$ac_clean_files |
| 3171 | ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" | 3211 | ac_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 intuition | 3213 | # 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" >&5 | 3215 | { $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; } |
| 3177 | ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` | 3217 | ac_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 | |||
| 3235 | else | 3275 | else |
| 3236 | ac_file='' | 3276 | ac_file='' |
| 3237 | fi | 3277 | fi |
| 3238 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 | ||
| 3239 | $as_echo "$ac_file" >&6; } | ||
| 3240 | if test -z "$ac_file"; then : | 3278 | if test -z "$ac_file"; then : |
| 3241 | $as_echo "$as_me: failed program was:" >&5 | 3279 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| 3280 | $as_echo "no" >&6; } | ||
| 3281 | $as_echo "$as_me: failed program was:" >&5 | ||
| 3242 | sed 's/^/| /' conftest.$ac_ext >&5 | 3282 | sed 's/^/| /' conftest.$ac_ext >&5 |
| 3243 | 3283 | ||
| 3244 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3284 | { { $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 77 | 3286 | as_fn_error 77 "C compiler cannot create executables |
| 3247 | as_fn_error "C compiler cannot create executables | 3287 | See \`config.log' for more details" "$LINENO" 5; } |
| 3248 | See \`config.log' for more details." "$LINENO" 5; }; } | 3288 | else |
| 3289 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
| 3290 | $as_echo "yes" >&6; } | ||
| 3249 | fi | 3291 | fi |
| 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; } | ||
| 3250 | ac_exeext=$ac_cv_exeext | 3296 | ac_exeext=$ac_cv_exeext |
| 3251 | 3297 | ||
| 3252 | # Check that the compiler produces executables we can run. If not, either | 3298 | rm -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. | ||
| 3257 | if 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;; | ||
| 3262 | esac | ||
| 3263 | eval 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;} | ||
| 3276 | as_fn_error "cannot run C compiled programs. | ||
| 3277 | If you meant to cross compile, use \`--host'. | ||
| 3278 | See \`config.log' for more details." "$LINENO" 5; } | ||
| 3279 | fi | ||
| 3280 | fi | ||
| 3281 | fi | ||
| 3282 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
| 3283 | $as_echo "yes" >&6; } | ||
| 3284 | |||
| 3285 | rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out | ||
| 3286 | ac_clean_files=$ac_clean_files_save | 3299 | ac_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" >&5 | 3300 | { $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; } |
| 3296 | if { { ac_try="$ac_link" | 3302 | if { { ac_try="$ac_link" |
| @@ -3320,19 +3326,78 @@ done · 23 unmodified lines | |||
| 3320 | else | 3326 | else |
| 3321 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3327 | { { $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;} |
| 3323 | as_fn_error "cannot compute suffix of executables: cannot compile and link | 3329 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
| 3324 | See \`config.log' for more details." "$LINENO" 5; } | 3330 | See \`config.log' for more details" "$LINENO" 5; } |
| 3325 | fi | 3331 | fi |
| 3326 | rm -f conftest$ac_cv_exeext | 3332 | rm -f conftest conftest$ac_cv_exeext |
| 3327 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 | 3333 | { $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 | ||
| 3330 | rm -f conftest.$ac_ext | 3336 | rm -f conftest.$ac_ext |
| 3331 | EXEEXT=$ac_cv_exeext | 3337 | EXEEXT=$ac_cv_exeext |
| 3332 | ac_exeext=$EXEEXT | 3338 | ac_exeext=$EXEEXT |
| 3339 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
| 3340 | /* end confdefs.h. */ | ||
| 3341 | #include <stdio.h> | ||
| 3342 | int | ||
| 3343 | main () | ||
| 3344 | { | ||
| 3345 | FILE *f = fopen ("conftest.out", "w"); | ||
| 3346 | return ferror (f) || fclose (f) != 0; | ||
| 3347 | |||
| 3348 | ; | ||
| 3349 | return 0; | ||
| 3350 | } | ||
| 3351 | _ACEOF | ||
| 3352 | ac_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; } | ||
| 3357 | if test "$cross_compiling" != yes; then | ||
| 3358 | { { ac_try="$ac_link" | ||
| 3359 | case "(($ac_try" in | ||
| 3360 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
| 3361 | *) ac_try_echo=$ac_try;; | ||
| 3362 | esac | ||
| 3363 | eval 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;; | ||
| 3373 | esac | ||
| 3374 | eval 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;} | ||
| 3387 | as_fn_error $? "cannot run C compiled programs. | ||
| 3388 | If you meant to cross compile, use \`--host'. | ||
| 3389 | See \`config.log' for more details" "$LINENO" 5; } | ||
| 3390 | fi | ||
| 3391 | fi | ||
| 3392 | fi | ||
| 3393 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 | ||
| 3394 | $as_echo "$cross_compiling" >&6; } | ||
| 3395 | |||
| 3396 | rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out | ||
| 3397 | ac_clean_files=$ac_clean_files_save | ||
| 3333 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 | 3398 | { $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; } |
| 3335 | if test "${ac_cv_objext+set}" = set; then : | 3400 | if ${ac_cv_objext+:} false; then : |
| 3336 | $as_echo_n "(cached) " >&6 | 3401 | $as_echo_n "(cached) " >&6 |
| 3337 | else | 3402 | else |
| 3338 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 3403 | 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':" >&5 | 3438 | { { $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;} |
| 3375 | as_fn_error "cannot compute suffix of object files: cannot compile | 3440 | as_fn_error $? "cannot compute suffix of object files: cannot compile |
| 3376 | See \`config.log' for more details." "$LINENO" 5; } | 3441 | See \`config.log' for more details" "$LINENO" 5; } |
| 3377 | fi | 3442 | fi |
| 3378 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | 3443 | rm -f conftest.$ac_cv_objext conftest.$ac_ext |
| 3379 | fi | 3444 | fi |
| @@ -3383,7 +3448,7 @@ OBJEXT=$ac_cv_objext · 3 unmodified lines | |||
| 3383 | ac_objext=$OBJEXT | 3448 | ac_objext=$OBJEXT |
| 3384 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 | 3449 | { $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; } |
| 3386 | if test "${ac_cv_c_compiler_gnu+set}" = set; then : | 3451 | if ${ac_cv_c_compiler_gnu+:} false; then : |
| 3387 | $as_echo_n "(cached) " >&6 | 3452 | $as_echo_n "(cached) " >&6 |
| 3388 | else | 3453 | else |
| 3389 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 3454 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -3420,7 +3485,7 @@ ac_test_CFLAGS=${CFLAGS+set} · 30 unmodified lines | |||
| 3420 | ac_save_CFLAGS=$CFLAGS | 3485 | ac_save_CFLAGS=$CFLAGS |
| 3421 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 | 3486 | { $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; } |
| 3423 | if test "${ac_cv_prog_cc_g+set}" = set; then : | 3488 | if ${ac_cv_prog_cc_g+:} false; then : |
| 3424 | $as_echo_n "(cached) " >&6 | 3489 | $as_echo_n "(cached) " >&6 |
| 3425 | else | 3490 | else |
| 3426 | ac_save_c_werror_flag=$ac_c_werror_flag | 3491 | ac_save_c_werror_flag=$ac_c_werror_flag |
| @@ -3498,7 +3563,7 @@ else · 71 unmodified lines | |||
| 3498 | fi | 3563 | fi |
| 3499 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 | 3564 | { $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; } |
| 3501 | if test "${ac_cv_prog_cc_c89+set}" = set; then : | 3566 | if ${ac_cv_prog_cc_c89+:} false; then : |
| 3502 | $as_echo_n "(cached) " >&6 | 3567 | $as_echo_n "(cached) " >&6 |
| 3503 | else | 3568 | else |
| 3504 | ac_cv_prog_cc_c89=no | 3569 | 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> | 3575 | struct 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. */ |
| 3513 | struct buf { int x; }; | 3577 | struct buf { int x; }; |
| 3514 | FILE * (*rcsopen) (struct buf *, struct stat *, int); | 3578 | FILE * (*rcsopen) (struct buf *, struct stat *, int); |
| @@ -3609,7 +3673,7 @@ if test -z "$CXX"; then · 94 unmodified lines | |||
| 3609 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | 3673 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 |
| 3610 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3674 | { $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; } |
| 3612 | if test "${ac_cv_prog_CXX+set}" = set; then : | 3676 | if ${ac_cv_prog_CXX+:} false; then : |
| 3613 | $as_echo_n "(cached) " >&6 | 3677 | $as_echo_n "(cached) " >&6 |
| 3614 | else | 3678 | else |
| 3615 | if test -n "$CXX"; then | 3679 | if test -n "$CXX"; then |
| @@ -3621,7 +3685,7 @@ do · 5 unmodified lines | |||
| 3621 | IFS=$as_save_IFS | 3685 | 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; do | 3687 | 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"; }; then | 3688 | 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" >&5 | 3690 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3627 | break 2 | 3691 | break 2 |
| @@ -3653,7 +3717,7 @@ do · 25 unmodified lines | |||
| 3653 | set dummy $ac_prog; ac_word=$2 | 3717 | set dummy $ac_prog; ac_word=$2 |
| 3654 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3718 | { $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; } |
| 3656 | if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : | 3720 | if ${ac_cv_prog_ac_ct_CXX+:} false; then : |
| 3657 | $as_echo_n "(cached) " >&6 | 3721 | $as_echo_n "(cached) " >&6 |
| 3658 | else | 3722 | else |
| 3659 | if test -n "$ac_ct_CXX"; then | 3723 | if test -n "$ac_ct_CXX"; then |
| @@ -3665,7 +3729,7 @@ do · 5 unmodified lines | |||
| 3665 | IFS=$as_save_IFS | 3729 | 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; do | 3731 | 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"; }; then | 3732 | 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" >&5 | 3734 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3671 | break 2 | 3735 | 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.er1 | 3788 | 10q' conftest.err >conftest.er1 |
| 3725 | cat conftest.er1 >&5 | 3789 | cat conftest.er1 >&5 |
| 3726 | rm -f conftest.er1 conftest.err | ||
| 3727 | fi | 3790 | fi |
| 3791 | rm -f conftest.er1 conftest.err | ||
| 3728 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 3792 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
| 3729 | test $ac_status = 0; } | 3793 | test $ac_status = 0; } |
| 3730 | done | 3794 | done |
| 3731 | 3795 | ||
| 3732 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 | 3796 | { $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; } |
| 3734 | if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : | 3798 | if ${ac_cv_cxx_compiler_gnu+:} false; then : |
| 3735 | $as_echo_n "(cached) " >&6 | 3799 | $as_echo_n "(cached) " >&6 |
| 3736 | else | 3800 | else |
| 3737 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 3801 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -3768,7 +3832,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set} · 30 unmodified lines | |||
| 3768 | ac_save_CXXFLAGS=$CXXFLAGS | 3832 | ac_save_CXXFLAGS=$CXXFLAGS |
| 3769 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 | 3833 | { $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; } |
| 3771 | if test "${ac_cv_prog_cxx_g+set}" = set; then : | 3835 | if ${ac_cv_prog_cxx_g+:} false; then : |
| 3772 | $as_echo_n "(cached) " >&6 | 3836 | $as_echo_n "(cached) " >&6 |
| 3773 | else | 3837 | else |
| 3774 | ac_save_cxx_werror_flag=$ac_cxx_werror_flag | 3838 | ac_save_cxx_werror_flag=$ac_cxx_werror_flag |
| @@ -3855,7 +3919,7 @@ if test -n "$ac_tool_prefix"; then · 80 unmodified lines | |||
| 3855 | set dummy ${ac_tool_prefix}ranlib; ac_word=$2 | 3919 | set dummy ${ac_tool_prefix}ranlib; ac_word=$2 |
| 3856 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3920 | { $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; } |
| 3858 | if test "${ac_cv_prog_RANLIB+set}" = set; then : | 3922 | if ${ac_cv_prog_RANLIB+:} false; then : |
| 3859 | $as_echo_n "(cached) " >&6 | 3923 | $as_echo_n "(cached) " >&6 |
| 3860 | else | 3924 | else |
| 3861 | if test -n "$RANLIB"; then | 3925 | if test -n "$RANLIB"; then |
| @@ -3867,7 +3931,7 @@ do · 5 unmodified lines | |||
| 3867 | IFS=$as_save_IFS | 3931 | 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; do | 3933 | 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"; }; then | 3934 | 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" >&5 | 3936 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3873 | break 2 | 3937 | break 2 |
| @@ -3895,7 +3959,7 @@ if test -z "$ac_cv_prog_RANLIB"; then · 21 unmodified lines | |||
| 3895 | set dummy ranlib; ac_word=$2 | 3959 | set dummy ranlib; ac_word=$2 |
| 3896 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 3960 | { $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; } |
| 3898 | if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : | 3962 | if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : |
| 3899 | $as_echo_n "(cached) " >&6 | 3963 | $as_echo_n "(cached) " >&6 |
| 3900 | else | 3964 | else |
| 3901 | if test -n "$ac_ct_RANLIB"; then | 3965 | if test -n "$ac_ct_RANLIB"; then |
| @@ -3907,7 +3971,7 @@ do · 5 unmodified lines | |||
| 3907 | IFS=$as_save_IFS | 3971 | 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; do | 3973 | 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"; }; then | 3974 | 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" >&5 | 3976 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 3913 | break 2 | 3977 | break 2 |
| @@ -3956,7 +4020,7 @@ if test -n "$CPP" && test -d "$CPP"; then · 42 unmodified lines | |||
| 3956 | CPP= | 4020 | CPP= |
| 3957 | fi | 4021 | fi |
| 3958 | if test -z "$CPP"; then | 4022 | if 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) " >&6 | 4024 | $as_echo_n "(cached) " >&6 |
| 3961 | else | 4025 | else |
| 3962 | # Double quotes because CPP needs to be expanded | 4026 | # 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. |
| 3987 | continue | 4051 | continue |
| 3988 | fi | 4052 | fi |
| 3989 | rm -f conftest.err conftest.$ac_ext | 4053 | rm -f conftest.err conftest.i conftest.$ac_ext |
| 3990 | 4054 | ||
| 3991 | # OK, works on sane cases. Now check whether nonexistent headers | 4055 | # 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 | |||
| 4002 | ac_preproc_ok=: | 4066 | ac_preproc_ok=: |
| 4003 | break | 4067 | break |
| 4004 | fi | 4068 | fi |
| 4005 | rm -f conftest.err conftest.$ac_ext | 4069 | rm -f conftest.err conftest.i conftest.$ac_ext |
| 4006 | 4070 | ||
| 4007 | done | 4071 | done |
| 4008 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4072 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
| 4009 | rm -f conftest.err conftest.$ac_ext | 4073 | rm -f conftest.i conftest.err conftest.$ac_ext |
| 4010 | if $ac_preproc_ok; then : | 4074 | if $ac_preproc_ok; then : |
| 4011 | break | 4075 | break |
| 4012 | fi | 4076 | fi |
| @@ -4045,7 +4109,7 @@ else · 32 unmodified lines | |||
| 4045 | # Broken: fails on valid input. | 4109 | # Broken: fails on valid input. |
| 4046 | continue | 4110 | continue |
| 4047 | fi | 4111 | fi |
| 4048 | rm -f conftest.err conftest.$ac_ext | 4112 | rm -f conftest.err conftest.i conftest.$ac_ext |
| 4049 | 4113 | ||
| 4050 | # OK, works on sane cases. Now check whether nonexistent headers | 4114 | # 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 | |||
| 4061 | ac_preproc_ok=: | 4125 | ac_preproc_ok=: |
| 4062 | break | 4126 | break |
| 4063 | fi | 4127 | fi |
| 4064 | rm -f conftest.err conftest.$ac_ext | 4128 | rm -f conftest.err conftest.i conftest.$ac_ext |
| 4065 | 4129 | ||
| 4066 | done | 4130 | done |
| 4067 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4131 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
| 4068 | rm -f conftest.err conftest.$ac_ext | 4132 | rm -f conftest.i conftest.err conftest.$ac_ext |
| 4069 | if $ac_preproc_ok; then : | 4133 | if $ac_preproc_ok; then : |
| 4070 | 4134 | ||
| 4071 | else | 4135 | else |
| 4072 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4136 | { { $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;} |
| 4074 | as_fn_error "C preprocessor \"$CPP\" fails sanity check | 4138 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
| 4075 | See \`config.log' for more details." "$LINENO" 5; } | 4139 | See \`config.log' for more details" "$LINENO" 5; } |
| 4076 | fi | 4140 | fi |
| 4077 | 4141 | ||
| 4078 | ac_ext=c | 4142 | ac_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" >&5 | 4149 | { $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; } |
| 4087 | if test "${ac_cv_path_GREP+set}" = set; then : | 4151 | if ${ac_cv_path_GREP+:} false; then : |
| 4088 | $as_echo_n "(cached) " >&6 | 4152 | $as_echo_n "(cached) " >&6 |
| 4089 | else | 4153 | else |
| 4090 | if test -z "$GREP"; then | 4154 | if test -z "$GREP"; then |
| @@ -4098,7 +4162,7 @@ do · 7 unmodified lines | |||
| 4098 | for ac_prog in grep ggrep; do | 4162 | for ac_prog in grep ggrep; do |
| 4099 | for ac_exec_ext in '' $ac_executable_extensions; do | 4163 | 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"; } || continue | 4165 | 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_GREP | 4167 | # Check for GNU $ac_path_GREP |
| 4104 | case `"$ac_path_GREP" --version 2>&1` in | 4168 | case `"$ac_path_GREP" --version 2>&1` in |
| @@ -4133,7 +4197,7 @@ esac · 28 unmodified lines | |||
| 4133 | done | 4197 | done |
| 4134 | IFS=$as_save_IFS | 4198 | IFS=$as_save_IFS |
| 4135 | if test -z "$ac_cv_path_GREP"; then | 4199 | 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" 5 | 4200 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| 4137 | fi | 4201 | fi |
| 4138 | else | 4202 | else |
| 4139 | ac_cv_path_GREP=$GREP | 4203 | 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" >&5 | 4212 | { $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; } |
| 4150 | if test "${ac_cv_path_EGREP+set}" = set; then : | 4214 | if ${ac_cv_path_EGREP+:} false; then : |
| 4151 | $as_echo_n "(cached) " >&6 | 4215 | $as_echo_n "(cached) " >&6 |
| 4152 | else | 4216 | else |
| 4153 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 | 4217 | 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; do | 4228 | for ac_prog in egrep; do |
| 4165 | for ac_exec_ext in '' $ac_executable_extensions; do | 4229 | 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"; } || continue | 4231 | 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_EGREP | 4233 | # Check for GNU $ac_path_EGREP |
| 4170 | case `"$ac_path_EGREP" --version 2>&1` in | 4234 | case `"$ac_path_EGREP" --version 2>&1` in |
| @@ -4199,7 +4263,7 @@ esac · 28 unmodified lines | |||
| 4199 | done | 4263 | done |
| 4200 | IFS=$as_save_IFS | 4264 | IFS=$as_save_IFS |
| 4201 | if test -z "$ac_cv_path_EGREP"; then | 4265 | 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" 5 | 4266 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
| 4203 | fi | 4267 | fi |
| 4204 | else | 4268 | else |
| 4205 | ac_cv_path_EGREP=$EGREP | 4269 | 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" >&5 | 4279 | { $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; } |
| 4217 | if test "${ac_cv_header_stdc+set}" = set; then : | 4281 | if ${ac_cv_header_stdc+:} false; then : |
| 4218 | $as_echo_n "(cached) " >&6 | 4282 | $as_echo_n "(cached) " >&6 |
| 4219 | else | 4283 | else |
| 4220 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 4284 | 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` |
| 4332 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | 4396 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
| 4333 | " | 4397 | " |
| 4334 | eval as_val=\$$as_ac_Header | 4398 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 4335 | if test "x$as_val" = x""yes; then : | ||
| 4336 | cat >>confdefs.h <<_ACEOF | 4399 | cat >>confdefs.h <<_ACEOF |
| 4337 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 4400 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 4338 | _ACEOF | 4401 | _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" |
| 4347 | if test "x$ac_cv_header_minix_config_h" = x""yes; then : | 4410 | if test "x$ac_cv_header_minix_config_h" = xyes; then : |
| 4348 | MINIX=yes | 4411 | MINIX=yes |
| 4349 | else | 4412 | else |
| 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__" >&5 | 4430 | { $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; } |
| 4369 | if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : | 4432 | if ${ac_cv_safe_to_define___extensions__+:} false; then : |
| 4370 | $as_echo_n "(cached) " >&6 | 4433 | $as_echo_n "(cached) " >&6 |
| 4371 | else | 4434 | else |
| 4372 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 4435 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| 4373 | /* end confdefs.h. */ | 4436 | /* end confdefs.h. */ |
| 4374 | 4437 | ||
| 4375 | # define __EXTENSIONS__ 1 | 4438 | # define __EXTENSIONS__ 1 |
| 4376 | $ac_includes_default | 4439 | $ac_includes_default |
| 4377 | int | 4440 | int |
| 4378 | main () | 4441 | main () |
| 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" >&5 | 4476 | { $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; } |
| 4415 | if test "${ac_cv_sys_largefile_CC+set}" = set; then : | 4478 | if ${ac_cv_sys_largefile_CC+:} false; then : |
| 4416 | $as_echo_n "(cached) " >&6 | 4479 | $as_echo_n "(cached) " >&6 |
| 4417 | else | 4480 | else |
| 4418 | ac_cv_sys_largefile_CC=no | 4481 | 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" >&5 | 4527 | { $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; } |
| 4466 | if test "${ac_cv_sys_file_offset_bits+set}" = set; then : | 4529 | if ${ac_cv_sys_file_offset_bits+:} false; then : |
| 4467 | $as_echo_n "(cached) " >&6 | 4530 | $as_echo_n "(cached) " >&6 |
| 4468 | else | 4531 | else |
| 4469 | while :; do | 4532 | while :; do |
| @@ -4532,7 +4595,7 @@ rm -rf conftest* · 62 unmodified lines | |||
| 4532 | if test $ac_cv_sys_file_offset_bits = unknown; then | 4595 | 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" >&5 | 4596 | { $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; } |
| 4535 | if test "${ac_cv_sys_large_files+set}" = set; then : | 4598 | if ${ac_cv_sys_large_files+:} false; then : |
| 4536 | $as_echo_n "(cached) " >&6 | 4599 | $as_echo_n "(cached) " >&6 |
| 4537 | else | 4600 | else |
| 4538 | while :; do | 4601 | while :; do |
| @@ -4599,6 +4662,8 @@ _ACEOF · 60 unmodified lines | |||
| 4599 | esac | 4662 | esac |
| 4600 | rm -rf conftest* | 4663 | rm -rf conftest* |
| 4601 | fi | 4664 | fi |
| 4665 | |||
| 4666 | |||
| 4602 | fi | 4667 | fi |
| 4603 | 4668 | ||
| 4604 | 4669 | ||
| @@ -4609,7 +4674,7 @@ do · 4 unmodified lines | |||
| 4609 | set dummy $ac_prog; ac_word=$2 | 4674 | set dummy $ac_prog; ac_word=$2 |
| 4610 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 4675 | { $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; } |
| 4612 | if test "${ac_cv_prog_ACLOCAL+set}" = set; then : | 4677 | if ${ac_cv_prog_ACLOCAL+:} false; then : |
| 4613 | $as_echo_n "(cached) " >&6 | 4678 | $as_echo_n "(cached) " >&6 |
| 4614 | else | 4679 | else |
| 4615 | if test -n "$ACLOCAL"; then | 4680 | if test -n "$ACLOCAL"; then |
| @@ -4621,7 +4686,7 @@ do · 5 unmodified lines | |||
| 4621 | IFS=$as_save_IFS | 4686 | 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; do | 4688 | 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"; }; then | 4689 | 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" >&5 | 4691 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 4627 | break 2 | 4692 | break 2 |
| @@ -4652,7 +4717,7 @@ do · 24 unmodified lines | |||
| 4652 | set dummy $ac_prog; ac_word=$2 | 4717 | set dummy $ac_prog; ac_word=$2 |
| 4653 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 4718 | { $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; } |
| 4655 | if test "${ac_cv_prog_AUTOCONF+set}" = set; then : | 4720 | if ${ac_cv_prog_AUTOCONF+:} false; then : |
| 4656 | $as_echo_n "(cached) " >&6 | 4721 | $as_echo_n "(cached) " >&6 |
| 4657 | else | 4722 | else |
| 4658 | if test -n "$AUTOCONF"; then | 4723 | if test -n "$AUTOCONF"; then |
| @@ -4664,7 +4729,7 @@ do · 5 unmodified lines | |||
| 4664 | IFS=$as_save_IFS | 4729 | 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; do | 4731 | 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"; }; then | 4732 | 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" >&5 | 4734 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 4670 | break 2 | 4735 | break 2 |
| @@ -4695,7 +4760,7 @@ do · 24 unmodified lines | |||
| 4695 | set dummy $ac_prog; ac_word=$2 | 4760 | set dummy $ac_prog; ac_word=$2 |
| 4696 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 4761 | { $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; } |
| 4698 | if test "${ac_cv_prog_AUTOHEADER+set}" = set; then : | 4763 | if ${ac_cv_prog_AUTOHEADER+:} false; then : |
| 4699 | $as_echo_n "(cached) " >&6 | 4764 | $as_echo_n "(cached) " >&6 |
| 4700 | else | 4765 | else |
| 4701 | if test -n "$AUTOHEADER"; then | 4766 | if test -n "$AUTOHEADER"; then |
| @@ -4707,7 +4772,7 @@ do · 5 unmodified lines | |||
| 4707 | IFS=$as_save_IFS | 4772 | 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; do | 4774 | 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"; }; then | 4775 | 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" >&5 | 4777 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
| 4713 | break 2 | 4778 | 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" >&5 | 4822 | { $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; } |
| 4759 | if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then : | 4824 | if eval \${$as_acx_Woption+:} false; then : |
| 4760 | $as_echo_n "(cached) " >&6 | 4825 | $as_echo_n "(cached) " >&6 |
| 4761 | else | 4826 | else |
| 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" >&5 | 4880 | { $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; } |
| 4817 | if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then : | 4882 | if eval \${$as_acx_Woption+:} false; then : |
| 4818 | $as_echo_n "(cached) " >&6 | 4883 | $as_echo_n "(cached) " >&6 |
| 4819 | else | 4884 | else |
| 4820 | CFLAGS="$option" | 4885 | CFLAGS="$option" |
| @@ -4864,7 +4929,7 @@ WARN_PEDANTIC= · 43 unmodified lines | |||
| 4864 | if test "$GCC" = yes; then : | 4929 | if test "$GCC" = yes; then : |
| 4865 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5 | 4930 | { $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; } |
| 4867 | if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then : | 4932 | if ${acx_cv_prog_cc_pedantic__Wlong_long+:} false; then : |
| 4868 | $as_echo_n "(cached) " >&6 | 4933 | $as_echo_n "(cached) " >&6 |
| 4869 | else | 4934 | else |
| 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" >&5 | 4989 | { $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; } |
| 4926 | if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then : | 4991 | if eval \${$as_acx_Woption+:} false; then : |
| 4927 | $as_echo_n "(cached) " >&6 | 4992 | $as_echo_n "(cached) " >&6 |
| 4928 | else | 4993 | else |
| 4929 | CFLAGS="$option" | 4994 | CFLAGS="$option" |
| @@ -5019,7 +5084,7 @@ _ACEOF · 89 unmodified lines | |||
| 5019 | if ac_fn_cxx_try_compile "$LINENO"; then : | 5084 | if ac_fn_cxx_try_compile "$LINENO"; then : |
| 5020 | 5085 | ||
| 5021 | else | 5086 | else |
| 5022 | as_fn_error "C++ compiler missing or inoperational" "$LINENO" 5 | 5087 | as_fn_error $? "C++ compiler missing or inoperational" "$LINENO" 5 |
| 5023 | fi | 5088 | fi |
| 5024 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | 5089 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| 5025 | ac_ext=c | 5090 | ac_ext=c |
| @@ -5033,7 +5098,7 @@ depcc="$CXX" am_compiler_list= · 7 unmodified lines | |||
| 5033 | am_depcomp=$ac_aux_dir/depcomp | 5098 | am_depcomp=$ac_aux_dir/depcomp |
| 5034 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 | 5099 | { $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; } |
| 5036 | if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : | 5101 | if ${am_cv_CXX_dependencies_compiler_type+:} false; then : |
| 5037 | $as_echo_n "(cached) " >&6 | 5102 | $as_echo_n "(cached) " >&6 |
| 5038 | else | 5103 | else |
| 5039 | if test -f "$am_depcomp"; then | 5104 | 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" >&5 | 5184 | { $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; } |
| 5121 | if test x${am_cv_CXX_dependencies_compiler_type-none} = xnone | 5186 | if test x${am_cv_CXX_dependencies_compiler_type-none} = xnone |
| 5122 | then as_fn_error "no usable dependency style found" "$LINENO" 5 | 5187 | then as_fn_error $? "no usable dependency style found" "$LINENO" 5 |
| 5123 | else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type | 5188 | else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type |
| 5124 | 5189 | ||
| 5125 | fi | 5190 | fi |
| @@ -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" >&5 | 5194 | { $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; } |
| 5131 | if test "${ac_cv_header_time+set}" = set; then : | 5196 | if ${ac_cv_header_time+:} false; then : |
| 5132 | $as_echo_n "(cached) " >&6 | 5197 | $as_echo_n "(cached) " >&6 |
| 5133 | else | 5198 | else |
| 5134 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 5199 | 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" >&5 | 5229 | { $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; } |
| 5166 | if test "${gcc_cv_header_string+set}" = set; then : | 5231 | if ${gcc_cv_header_string+:} false; then : |
| 5167 | $as_echo_n "(cached) " >&6 | 5232 | $as_echo_n "(cached) " >&6 |
| 5168 | else | 5233 | else |
| 5169 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 5234 | 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 | |||
| 5199 | do : | 5264 | do : |
| 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` |
| 5201 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 5266 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
| 5202 | eval as_val=\$$as_ac_Header | 5267 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
| 5203 | if test "x$as_val" = x""yes; then : | ||
| 5204 | cat >>confdefs.h <<_ACEOF | 5268 | cat >>confdefs.h <<_ACEOF |
| 5205 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 5269 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
| 5206 | _ACEOF | 5270 | _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" >&5 | 5278 | { $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; } |
| 5216 | if test "${ac_cv_c_bigendian+set}" = set; then : | 5280 | if ${ac_cv_c_bigendian+:} false; then : |
| 5217 | $as_echo_n "(cached) " >&6 | 5281 | $as_echo_n "(cached) " >&6 |
| 5218 | else | 5282 | else |
| 5219 | ac_cv_c_bigendian=unknown | 5283 | 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 endianness | 5498 | 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 | esac | 5500 | esac |
| 5437 | 5501 | ||
| 5438 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 | 5502 | { $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; } |
| 5440 | if test "${ac_cv_c_const+set}" = set; then : | 5504 | if ${ac_cv_c_const+:} false; then : |
| 5441 | $as_echo_n "(cached) " >&6 | 5505 | $as_echo_n "(cached) " >&6 |
| 5442 | else | 5506 | else |
| 5443 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 5507 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -5446,11 +5510,11 @@ else · 2 unmodified lines | |||
| 5446 | int | 5510 | int |
| 5447 | main () | 5511 | main () |
| 5448 | { | 5512 | { |
| 5449 | /* FIXME: Include the comments suggested by Paul. */ | 5513 | |
| 5450 | #ifndef __cplusplus | 5514 | #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 saying | 5552 | { /* 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" >&5 | 5583 | { $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; } |
| 5520 | if test "${ac_cv_c_inline+set}" = set; then : | 5585 | if ${ac_cv_c_inline+:} false; then : |
| 5521 | $as_echo_n "(cached) " >&6 | 5586 | $as_echo_n "(cached) " >&6 |
| 5522 | else | 5587 | else |
| 5523 | ac_cv_c_inline=no | 5588 | 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" >&5 | 5625 | { $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; } |
| 5562 | if test "${ac_cv_func_obstack+set}" = set; then : | 5627 | if ${ac_cv_func_obstack+:} false; then : |
| 5563 | $as_echo_n "(cached) " >&6 | 5628 | $as_echo_n "(cached) " >&6 |
| 5564 | else | 5629 | else |
| 5565 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 5630 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -5602,7 +5667,7 @@ esac · 36 unmodified lines | |||
| 5602 | fi | 5667 | fi |
| 5603 | 5668 | ||
| 5604 | ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" | 5669 | ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" |
| 5605 | if test "x$ac_cv_type_off_t" = x""yes; then : | 5670 | if test "x$ac_cv_type_off_t" = xyes; then : |
| 5606 | 5671 | ||
| 5607 | else | 5672 | else |
| 5608 | 5673 | ||
| @@ -5613,7 +5678,7 @@ _ACEOF · 4 unmodified lines | |||
| 5613 | fi | 5678 | fi |
| 5614 | 5679 | ||
| 5615 | ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" | 5680 | ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" |
| 5616 | if test "x$ac_cv_type_size_t" = x""yes; then : | 5681 | if test "x$ac_cv_type_size_t" = xyes; then : |
| 5617 | 5682 | ||
| 5618 | else | 5683 | else |
| 5619 | 5684 | ||
| @@ -5624,7 +5689,7 @@ _ACEOF · 4 unmodified lines | |||
| 5624 | fi | 5689 | fi |
| 5625 | 5690 | ||
| 5626 | ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" | 5691 | ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" |
| 5627 | if test "x$ac_cv_type_ssize_t" = x""yes; then : | 5692 | if test "x$ac_cv_type_ssize_t" = xyes; then : |
| 5628 | 5693 | ||
| 5629 | else | 5694 | else |
| 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" |
| 5639 | if test "x$ac_cv_type_uintptr_t" = x""yes; then : | 5704 | if test "x$ac_cv_type_uintptr_t" = xyes; then : |
| 5640 | 5705 | ||
| 5641 | $as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h | 5706 | $as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h |
| 5642 | 5707 | ||
| @@ -5650,7 +5715,8 @@ int · 7 unmodified lines | |||
| 5650 | main () | 5715 | main () |
| 5651 | { | 5716 | { |
| 5652 | static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; | 5717 | static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; |
| 5653 | test_array [0] = 0 | 5718 | test_array [0] = 0; |
| 5719 | return 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 | ||
| 5673 | ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" | 5739 | ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" |
| 5674 | if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : | 5740 | if test "x$ac_cv_type_ptrdiff_t" = xyes; then : |
| 5675 | 5741 | ||
| 5676 | else | 5742 | else |
| 5677 | 5743 | ||
| @@ -5696,11 +5762,11 @@ _ACEOF · 18 unmodified lines | |||
| 5696 | esac | 5762 | esac |
| 5697 | 5763 | ||
| 5698 | if test x"$ac_cv_c_uint64_t" = x"no"; then | 5764 | if test x"$ac_cv_c_uint64_t" = x"no"; then |
| 5699 | as_fn_error "uint64_t not found" "$LINENO" 5 | 5765 | as_fn_error $? "uint64_t not found" "$LINENO" 5 |
| 5700 | fi | 5766 | fi |
| 5701 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 | 5767 | { $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; } |
| 5703 | if test "${ac_cv_struct_tm+set}" = set; then : | 5769 | if ${ac_cv_struct_tm+:} false; then : |
| 5704 | $as_echo_n "(cached) " >&6 | 5770 | $as_echo_n "(cached) " >&6 |
| 5705 | else | 5771 | else |
| 5706 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 5772 | 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" >&5 | 5806 | { $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; } |
| 5742 | if test "${ac_cv_sizeof_int+set}" = set; then : | 5808 | if ${ac_cv_sizeof_int+:} false; then : |
| 5743 | $as_echo_n "(cached) " >&6 | 5809 | $as_echo_n "(cached) " >&6 |
| 5744 | else | 5810 | else |
| 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; then | 5814 | if test "$ac_cv_type_int" = yes; then |
| 5749 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 5815 | { { $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 77 | 5817 | as_fn_error 77 "cannot compute sizeof (int) |
| 5752 | as_fn_error "cannot compute sizeof (int) | 5818 | See \`config.log' for more details" "$LINENO" 5; } |
| 5753 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
| 5754 | else | 5819 | else |
| 5755 | ac_cv_sizeof_int=0 | 5820 | ac_cv_sizeof_int=0 |
| 5756 | fi | 5821 | 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" >&5 | 5839 | { $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; } |
| 5776 | if test "${ac_cv_sizeof_long+set}" = set; then : | 5841 | if ${ac_cv_sizeof_long+:} false; then : |
| 5777 | $as_echo_n "(cached) " >&6 | 5842 | $as_echo_n "(cached) " >&6 |
| 5778 | else | 5843 | else |
| 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; then | 5847 | if test "$ac_cv_type_long" = yes; then |
| 5783 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 5848 | { { $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 77 | 5850 | as_fn_error 77 "cannot compute sizeof (long) |
| 5786 | as_fn_error "cannot compute sizeof (long) | 5851 | See \`config.log' for more details" "$LINENO" 5; } |
| 5787 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
| 5788 | else | 5852 | else |
| 5789 | ac_cv_sizeof_long=0 | 5853 | ac_cv_sizeof_long=0 |
| 5790 | fi | 5854 | fi |
| @@ -5806,8 +5870,7 @@ for ac_func in clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked · 15 unmodified lines | |||
| 5806 | do : | 5870 | do : |
| 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` |
| 5808 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 5872 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 5809 | eval as_val=\$$as_ac_var | 5873 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 5810 | if test "x$as_val" = x""yes; then : | ||
| 5811 | cat >>confdefs.h <<_ACEOF | 5874 | cat >>confdefs.h <<_ACEOF |
| 5812 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 5875 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
| 5813 | _ACEOF | 5876 | _ACEOF |
| @@ -5816,7 +5879,7 @@ fi · 2 unmodified lines | |||
| 5816 | done | 5879 | done |
| 5817 | 5880 | ||
| 5818 | ac_fn_c_check_decl "$LINENO" "abort" "ac_cv_have_decl_abort" "$ac_includes_default" | 5881 | ac_fn_c_check_decl "$LINENO" "abort" "ac_cv_have_decl_abort" "$ac_includes_default" |
| 5819 | if test "x$ac_cv_have_decl_abort" = x""yes; then : | 5882 | if test "x$ac_cv_have_decl_abort" = xyes; then : |
| 5820 | ac_have_decl=1 | 5883 | ac_have_decl=1 |
| 5821 | else | 5884 | else |
| 5822 | ac_have_decl=0 | 5885 | ac_have_decl=0 |
| @@ -5826,7 +5889,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5826 | #define HAVE_DECL_ABORT $ac_have_decl | 5889 | #define HAVE_DECL_ABORT $ac_have_decl |
| 5827 | _ACEOF | 5890 | _ACEOF |
| 5828 | ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" | 5891 | ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" |
| 5829 | if test "x$ac_cv_have_decl_asprintf" = x""yes; then : | 5892 | if test "x$ac_cv_have_decl_asprintf" = xyes; then : |
| 5830 | ac_have_decl=1 | 5893 | ac_have_decl=1 |
| 5831 | else | 5894 | else |
| 5832 | ac_have_decl=0 | 5895 | ac_have_decl=0 |
| @@ -5835,8 +5898,9 @@ fi · 2 unmodified lines | |||
| 5835 | cat >>confdefs.h <<_ACEOF | 5898 | cat >>confdefs.h <<_ACEOF |
| 5836 | #define HAVE_DECL_ASPRINTF $ac_have_decl | 5899 | #define HAVE_DECL_ASPRINTF $ac_have_decl |
| 5837 | _ACEOF | 5900 | _ACEOF |
| 5838 | ac_fn_c_check_decl "$LINENO" "basename(char *)" "ac_cv_have_decl_basename_char_p_" "$ac_includes_default" | 5901 | as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh` |
| 5839 | if test "x$ac_cv_have_decl_basename_char_p_" = x""yes; then : | 5902 | ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default" |
| 5903 | if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then : | ||
| 5840 | ac_have_decl=1 | 5904 | ac_have_decl=1 |
| 5841 | else | 5905 | else |
| 5842 | ac_have_decl=0 | 5906 | ac_have_decl=0 |
| @@ -5846,7 +5910,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5846 | #define HAVE_DECL_BASENAME $ac_have_decl | 5910 | #define HAVE_DECL_BASENAME $ac_have_decl |
| 5847 | _ACEOF | 5911 | _ACEOF |
| 5848 | ac_fn_c_check_decl "$LINENO" "errno" "ac_cv_have_decl_errno" "$ac_includes_default" | 5912 | ac_fn_c_check_decl "$LINENO" "errno" "ac_cv_have_decl_errno" "$ac_includes_default" |
| 5849 | if test "x$ac_cv_have_decl_errno" = x""yes; then : | 5913 | if test "x$ac_cv_have_decl_errno" = xyes; then : |
| 5850 | ac_have_decl=1 | 5914 | ac_have_decl=1 |
| 5851 | else | 5915 | else |
| 5852 | ac_have_decl=0 | 5916 | ac_have_decl=0 |
| @@ -5856,7 +5920,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5856 | #define HAVE_DECL_ERRNO $ac_have_decl | 5920 | #define HAVE_DECL_ERRNO $ac_have_decl |
| 5857 | _ACEOF | 5921 | _ACEOF |
| 5858 | ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default" | 5922 | ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default" |
| 5859 | if test "x$ac_cv_have_decl_getopt" = x""yes; then : | 5923 | if test "x$ac_cv_have_decl_getopt" = xyes; then : |
| 5860 | ac_have_decl=1 | 5924 | ac_have_decl=1 |
| 5861 | else | 5925 | else |
| 5862 | ac_have_decl=0 | 5926 | ac_have_decl=0 |
| @@ -5866,7 +5930,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5866 | #define HAVE_DECL_GETOPT $ac_have_decl | 5930 | #define HAVE_DECL_GETOPT $ac_have_decl |
| 5867 | _ACEOF | 5931 | _ACEOF |
| 5868 | ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" | 5932 | ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default" |
| 5869 | if test "x$ac_cv_have_decl_vasprintf" = x""yes; then : | 5933 | if test "x$ac_cv_have_decl_vasprintf" = xyes; then : |
| 5870 | ac_have_decl=1 | 5934 | ac_have_decl=1 |
| 5871 | else | 5935 | else |
| 5872 | ac_have_decl=0 | 5936 | ac_have_decl=0 |
| @@ -5877,7 +5941,7 @@ cat >>confdefs.h <<_ACEOF · 4 unmodified lines | |||
| 5877 | _ACEOF | 5941 | _ACEOF |
| 5878 | 5942 | ||
| 5879 | ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" | 5943 | ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" |
| 5880 | if test "x$ac_cv_have_decl_clearerr_unlocked" = x""yes; then : | 5944 | if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then : |
| 5881 | ac_have_decl=1 | 5945 | ac_have_decl=1 |
| 5882 | else | 5946 | else |
| 5883 | ac_have_decl=0 | 5947 | ac_have_decl=0 |
| @@ -5887,7 +5951,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5887 | #define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl | 5951 | #define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl |
| 5888 | _ACEOF | 5952 | _ACEOF |
| 5889 | ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" | 5953 | ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" |
| 5890 | if test "x$ac_cv_have_decl_feof_unlocked" = x""yes; then : | 5954 | if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then : |
| 5891 | ac_have_decl=1 | 5955 | ac_have_decl=1 |
| 5892 | else | 5956 | else |
| 5893 | ac_have_decl=0 | 5957 | ac_have_decl=0 |
| @@ -5897,7 +5961,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5897 | #define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl | 5961 | #define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl |
| 5898 | _ACEOF | 5962 | _ACEOF |
| 5899 | ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" | 5963 | ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" |
| 5900 | if test "x$ac_cv_have_decl_ferror_unlocked" = x""yes; then : | 5964 | if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then : |
| 5901 | ac_have_decl=1 | 5965 | ac_have_decl=1 |
| 5902 | else | 5966 | else |
| 5903 | ac_have_decl=0 | 5967 | ac_have_decl=0 |
| @@ -5907,7 +5971,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5907 | #define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl | 5971 | #define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl |
| 5908 | _ACEOF | 5972 | _ACEOF |
| 5909 | ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" | 5973 | ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" |
| 5910 | if test "x$ac_cv_have_decl_fflush_unlocked" = x""yes; then : | 5974 | if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : |
| 5911 | ac_have_decl=1 | 5975 | ac_have_decl=1 |
| 5912 | else | 5976 | else |
| 5913 | ac_have_decl=0 | 5977 | ac_have_decl=0 |
| @@ -5917,7 +5981,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5917 | #define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl | 5981 | #define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl |
| 5918 | _ACEOF | 5982 | _ACEOF |
| 5919 | ac_fn_c_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default" | 5983 | ac_fn_c_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default" |
| 5920 | if test "x$ac_cv_have_decl_fgetc_unlocked" = x""yes; then : | 5984 | if test "x$ac_cv_have_decl_fgetc_unlocked" = xyes; then : |
| 5921 | ac_have_decl=1 | 5985 | ac_have_decl=1 |
| 5922 | else | 5986 | else |
| 5923 | ac_have_decl=0 | 5987 | ac_have_decl=0 |
| @@ -5927,7 +5991,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5927 | #define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl | 5991 | #define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl |
| 5928 | _ACEOF | 5992 | _ACEOF |
| 5929 | ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" | 5993 | ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" |
| 5930 | if test "x$ac_cv_have_decl_fgets_unlocked" = x""yes; then : | 5994 | if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then : |
| 5931 | ac_have_decl=1 | 5995 | ac_have_decl=1 |
| 5932 | else | 5996 | else |
| 5933 | ac_have_decl=0 | 5997 | ac_have_decl=0 |
| @@ -5937,7 +6001,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5937 | #define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl | 6001 | #define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl |
| 5938 | _ACEOF | 6002 | _ACEOF |
| 5939 | ac_fn_c_check_decl "$LINENO" "fileno_unlocked" "ac_cv_have_decl_fileno_unlocked" "$ac_includes_default" | 6003 | ac_fn_c_check_decl "$LINENO" "fileno_unlocked" "ac_cv_have_decl_fileno_unlocked" "$ac_includes_default" |
| 5940 | if test "x$ac_cv_have_decl_fileno_unlocked" = x""yes; then : | 6004 | if test "x$ac_cv_have_decl_fileno_unlocked" = xyes; then : |
| 5941 | ac_have_decl=1 | 6005 | ac_have_decl=1 |
| 5942 | else | 6006 | else |
| 5943 | ac_have_decl=0 | 6007 | ac_have_decl=0 |
| @@ -5947,7 +6011,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5947 | #define HAVE_DECL_FILENO_UNLOCKED $ac_have_decl | 6011 | #define HAVE_DECL_FILENO_UNLOCKED $ac_have_decl |
| 5948 | _ACEOF | 6012 | _ACEOF |
| 5949 | ac_fn_c_check_decl "$LINENO" "fprintf_unlocked" "ac_cv_have_decl_fprintf_unlocked" "$ac_includes_default" | 6013 | ac_fn_c_check_decl "$LINENO" "fprintf_unlocked" "ac_cv_have_decl_fprintf_unlocked" "$ac_includes_default" |
| 5950 | if test "x$ac_cv_have_decl_fprintf_unlocked" = x""yes; then : | 6014 | if test "x$ac_cv_have_decl_fprintf_unlocked" = xyes; then : |
| 5951 | ac_have_decl=1 | 6015 | ac_have_decl=1 |
| 5952 | else | 6016 | else |
| 5953 | ac_have_decl=0 | 6017 | ac_have_decl=0 |
| @@ -5957,7 +6021,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5957 | #define HAVE_DECL_FPRINTF_UNLOCKED $ac_have_decl | 6021 | #define HAVE_DECL_FPRINTF_UNLOCKED $ac_have_decl |
| 5958 | _ACEOF | 6022 | _ACEOF |
| 5959 | ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" | 6023 | ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" |
| 5960 | if test "x$ac_cv_have_decl_fputc_unlocked" = x""yes; then : | 6024 | if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then : |
| 5961 | ac_have_decl=1 | 6025 | ac_have_decl=1 |
| 5962 | else | 6026 | else |
| 5963 | ac_have_decl=0 | 6027 | ac_have_decl=0 |
| @@ -5967,7 +6031,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5967 | #define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl | 6031 | #define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl |
| 5968 | _ACEOF | 6032 | _ACEOF |
| 5969 | ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" | 6033 | ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" |
| 5970 | if test "x$ac_cv_have_decl_fputs_unlocked" = x""yes; then : | 6034 | if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : |
| 5971 | ac_have_decl=1 | 6035 | ac_have_decl=1 |
| 5972 | else | 6036 | else |
| 5973 | ac_have_decl=0 | 6037 | ac_have_decl=0 |
| @@ -5977,7 +6041,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5977 | #define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl | 6041 | #define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl |
| 5978 | _ACEOF | 6042 | _ACEOF |
| 5979 | ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" | 6043 | ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" |
| 5980 | if test "x$ac_cv_have_decl_fread_unlocked" = x""yes; then : | 6044 | if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then : |
| 5981 | ac_have_decl=1 | 6045 | ac_have_decl=1 |
| 5982 | else | 6046 | else |
| 5983 | ac_have_decl=0 | 6047 | ac_have_decl=0 |
| @@ -5987,7 +6051,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5987 | #define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl | 6051 | #define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl |
| 5988 | _ACEOF | 6052 | _ACEOF |
| 5989 | ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" | 6053 | ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" |
| 5990 | if test "x$ac_cv_have_decl_fwrite_unlocked" = x""yes; then : | 6054 | if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then : |
| 5991 | ac_have_decl=1 | 6055 | ac_have_decl=1 |
| 5992 | else | 6056 | else |
| 5993 | ac_have_decl=0 | 6057 | ac_have_decl=0 |
| @@ -5997,7 +6061,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 5997 | #define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl | 6061 | #define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl |
| 5998 | _ACEOF | 6062 | _ACEOF |
| 5999 | ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" | 6063 | ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" |
| 6000 | if test "x$ac_cv_have_decl_getchar_unlocked" = x""yes; then : | 6064 | if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then : |
| 6001 | ac_have_decl=1 | 6065 | ac_have_decl=1 |
| 6002 | else | 6066 | else |
| 6003 | ac_have_decl=0 | 6067 | ac_have_decl=0 |
| @@ -6007,7 +6071,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 6007 | #define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl | 6071 | #define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl |
| 6008 | _ACEOF | 6072 | _ACEOF |
| 6009 | ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" | 6073 | ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" |
| 6010 | if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then : | 6074 | if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : |
| 6011 | ac_have_decl=1 | 6075 | ac_have_decl=1 |
| 6012 | else | 6076 | else |
| 6013 | ac_have_decl=0 | 6077 | ac_have_decl=0 |
| @@ -6017,7 +6081,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 6017 | #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl | 6081 | #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl |
| 6018 | _ACEOF | 6082 | _ACEOF |
| 6019 | ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" | 6083 | ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" |
| 6020 | if test "x$ac_cv_have_decl_putchar_unlocked" = x""yes; then : | 6084 | if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then : |
| 6021 | ac_have_decl=1 | 6085 | ac_have_decl=1 |
| 6022 | else | 6086 | else |
| 6023 | ac_have_decl=0 | 6087 | ac_have_decl=0 |
| @@ -6027,7 +6091,7 @@ cat >>confdefs.h <<_ACEOF · 3 unmodified lines | |||
| 6027 | #define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl | 6091 | #define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl |
| 6028 | _ACEOF | 6092 | _ACEOF |
| 6029 | ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" | 6093 | ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" |
| 6030 | if test "x$ac_cv_have_decl_putc_unlocked" = x""yes; then : | 6094 | if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : |
| 6031 | ac_have_decl=1 | 6095 | ac_have_decl=1 |
| 6032 | else | 6096 | else |
| 6033 | ac_have_decl=0 | 6097 | 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" >&5 | 6108 | { $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; } |
| 6046 | if test "${ac_cv_working_alloca_h+set}" = set; then : | 6110 | if ${ac_cv_working_alloca_h+:} false; then : |
| 6047 | $as_echo_n "(cached) " >&6 | 6111 | $as_echo_n "(cached) " >&6 |
| 6048 | else | 6112 | else |
| 6049 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6113 | 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" >&5 | 6141 | { $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; } |
| 6079 | if test "${ac_cv_func_alloca_works+set}" = set; then : | 6143 | if ${ac_cv_func_alloca_works+:} false; then : |
| 6080 | $as_echo_n "(cached) " >&6 | 6144 | $as_echo_n "(cached) " >&6 |
| 6081 | else | 6145 | else |
| 6082 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6146 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| @@ -6095,7 +6159,7 @@ else · 12 unmodified lines | |||
| 6095 | #pragma alloca | 6159 | #pragma alloca |
| 6096 | # else | 6160 | # else |
| 6097 | # ifndef alloca /* predefined by HP cc +Olibcalls */ | 6161 | # ifndef alloca /* predefined by HP cc +Olibcalls */ |
| 6098 | char *alloca (); | 6162 | void *alloca (size_t); |
| 6099 | # endif | 6163 | # endif |
| 6100 | # endif | 6164 | # endif |
| 6101 | # endif | 6165 | # 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" >&5 | 6204 | { $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; } |
| 6142 | if test "${ac_cv_os_cray+set}" = set; then : | 6206 | if ${ac_cv_os_cray+:} false; then : |
| 6143 | $as_echo_n "(cached) " >&6 | 6207 | $as_echo_n "(cached) " >&6 |
| 6144 | else | 6208 | else |
| 6145 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6209 | 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; do | 6230 | 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` |
| 6168 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 6232 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
| 6169 | eval as_val=\$$as_ac_var | 6233 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
| 6170 | if test "x$as_val" = x""yes; then : | ||
| 6171 | 6234 | ||
| 6172 | cat >>confdefs.h <<_ACEOF | 6235 | cat >>confdefs.h <<_ACEOF |
| 6173 | #define CRAY_STACKSEG_END $ac_func | 6236 | #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" >&5 | 6245 | { $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; } |
| 6184 | if test "${ac_cv_c_stack_direction+set}" = set; then : | 6247 | if ${ac_cv_c_stack_direction+:} false; then : |
| 6185 | $as_echo_n "(cached) " >&6 | 6248 | $as_echo_n "(cached) " >&6 |
| 6186 | else | 6249 | else |
| 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_default | 6255 | $ac_includes_default |
| 6193 | int | 6256 | int |
| 6194 | find_stack_direction () | 6257 | find_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 | ||
| 6207 | int | 6267 | int |
| 6208 | main () | 6268 | main (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 | _ACEOF | 6272 | _ACEOF |
| 6213 | if ac_fn_c_try_run "$LINENO"; then : | 6273 | if 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" >&5 | 6292 | { $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; } |
| 6234 | if test "${ac_cv_header_stdc+set}" = set; then : | 6294 | if ${ac_cv_header_stdc+:} false; then : |
| 6235 | $as_echo_n "(cached) " >&6 | 6295 | $as_echo_n "(cached) " >&6 |
| 6236 | else | 6296 | else |
| 6237 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6297 | 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" >&5 | 6405 | { $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; } |
| 6347 | if test "${am_cv_langinfo_codeset+set}" = set; then : | 6407 | if ${am_cv_langinfo_codeset+:} false; then : |
| 6348 | $as_echo_n "(cached) " >&6 | 6408 | $as_echo_n "(cached) " >&6 |
| 6349 | else | 6409 | else |
| 6350 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6410 | 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" >&5 | 6509 | { $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; } |
| 6451 | if test "${gcc_cv_type_uchar+set}" = set; then : | 6511 | if ${gcc_cv_type_uchar+:} false; then : |
| 6452 | $as_echo_n "(cached) " >&6 | 6512 | $as_echo_n "(cached) " >&6 |
| 6453 | else | 6513 | else |
| 6454 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 6514 | 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" >&5 | 6624 | { $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; } |
| 6566 | fi | 6626 | fi |
| 6567 | if test "${acl_cv_path_LD+set}" = set; then : | 6627 | if ${acl_cv_path_LD+:} false; then : |
| 6568 | $as_echo_n "(cached) " >&6 | 6628 | $as_echo_n "(cached) " >&6 |
| 6569 | else | 6629 | else |
| 6570 | if test -z "$LD"; then | 6630 | if test -z "$LD"; then |
| @@ -6597,10 +6657,10 @@ else · 26 unmodified lines | |||
| 6597 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 6657 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| 6598 | $as_echo "no" >&6; } | 6658 | $as_echo "no" >&6; } |
| 6599 | fi | 6659 | fi |
| 6600 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 6660 | test -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" >&5 | 6661 | { $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; } |
| 6603 | if test "${acl_cv_prog_gnu_ld+set}" = set; then : | 6663 | if ${acl_cv_prog_gnu_ld+:} false; then : |
| 6604 | $as_echo_n "(cached) " >&6 | 6664 | $as_echo_n "(cached) " >&6 |
| 6605 | else | 6665 | else |
| 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" >&5 | 6679 | { $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; } |
| 6621 | if test "${acl_cv_rpath+set}" = set; then : | 6681 | if ${acl_cv_rpath+:} false; then : |
| 6622 | $as_echo_n "(cached) " >&6 | 6682 | $as_echo_n "(cached) " >&6 |
| 6623 | else | 6683 | else |
| 6624 | 6684 | ||
| @@ -7036,7 +7096,7 @@ fi · 411 unmodified lines | |||
| 7036 | 7096 | ||
| 7037 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 | 7097 | { $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; } |
| 7039 | if test "${am_cv_func_iconv+set}" = set; then : | 7099 | if ${am_cv_func_iconv+:} false; then : |
| 7040 | $as_echo_n "(cached) " >&6 | 7100 | $as_echo_n "(cached) " >&6 |
| 7041 | else | 7101 | else |
| 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; then | 7165 | 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_ext | 7170 | 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; then | 7237 | if test "$am_cv_func_iconv" = yes; then |
| 7178 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 | 7238 | { $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) " >&6 | 7241 | $as_echo_n "(cached) " >&6 |
| 7182 | else | 7242 | else |
| 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); then | 7440 | && 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" 5 | 7441 | as_fn_error $? "*** Can't find valgrind/memcheck.h, memcheck.h or valgrind.h" "$LINENO" 5 |
| 7382 | fi | 7442 | fi |
| 7383 | 7443 | ||
| 7384 | $as_echo "#define ENABLE_VALGRIND_ANNOTATIONS 1" >>confdefs.h | 7444 | $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' >>confcache | 7515 | :end' >>confcache |
| 7456 | if diff "$cache_file" confcache >/dev/null 2>&1; then :; else | 7516 | if diff "$cache_file" confcache >/dev/null 2>&1; then :; else |
| 7457 | if test -w "$cache_file"; then | 7517 | 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" >&5 | 7519 | { $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_file | 7521 | 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 | else | 7533 | else |
| 7463 | { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 | 7534 | { $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 | ||
| 7475 | ac_libobjs= | 7546 | ac_libobjs= |
| 7476 | ac_ltlibobjs= | 7547 | ac_ltlibobjs= |
| 7548 | U= | ||
| 7477 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | 7549 | for 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}" |
| 7494 | ac_write_fail=0 | 7566 | ac_write_fail=0 |
| 7495 | ac_clean_files_save=$ac_clean_files | 7567 | ac_clean_files_save=$ac_clean_files |
| 7496 | ac_clean_files="$ac_clean_files $CONFIG_STATUS" | 7568 | ac_clean_files="$ac_clean_files $CONFIG_STATUS" |
| @@ -7591,6 +7663,7 @@ fi · 94 unmodified lines | |||
| 7591 | IFS=" "" $as_nl" | 7663 | IFS=" "" $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. |
| 7666 | as_myself= | ||
| 7594 | case $0 in #(( | 7667 | case $0 in #(( |
| 7595 | *[\\/]* ) as_myself=$0 ;; | 7668 | *[\\/]* ) as_myself=$0 ;; |
| 7596 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | 7669 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
| @@ -7636,19 +7709,19 @@ export LANGUAGE · 39 unmodified lines | |||
| 7636 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | 7709 | (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 are | 7714 | # 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 the | 7715 | # 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. |
| 7644 | as_fn_error () | 7717 | as_fn_error () |
| 7645 | { | 7718 | { |
| 7646 | as_status=$?; test $as_status -eq 0 && as_status=1 | 7719 | as_status=$1; test $as_status -eq 0 && as_status=1 |
| 7647 | if test "$3"; then | 7720 | if test "$4"; then |
| 7648 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 7721 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
| 7649 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 7722 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
| 7650 | fi | 7723 | fi |
| 7651 | $as_echo "$as_me: error: $1" >&2 | 7724 | $as_echo "$as_me: error: $2" >&2 |
| 7652 | as_fn_exit $as_status | 7725 | as_fn_exit $as_status |
| 7653 | } # as_fn_error | 7726 | } # 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; then | 7865 | elif ln conf$$.file conf$$ 2>/dev/null; then |
| 7793 | as_ln_s=ln | 7866 | as_ln_s=ln |
| 7794 | else | 7867 | else |
| 7795 | as_ln_s='cp -p' | 7868 | as_ln_s='cp -pR' |
| 7796 | fi | 7869 | fi |
| 7797 | else | 7870 | else |
| 7798 | as_ln_s='cp -p' | 7871 | as_ln_s='cp -pR' |
| 7799 | fi | 7872 | fi |
| 7800 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | 7873 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
| 7801 | rmdir conf$$.dir 2>/dev/null | 7874 | rmdir conf$$.dir 2>/dev/null |
| @@ -7844,7 +7917,7 @@ $as_echo X"$as_dir" | · 42 unmodified lines | |||
| 7844 | test -d "$as_dir" && break | 7917 | test -d "$as_dir" && break |
| 7845 | done | 7918 | 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_p | 7923 | } # as_fn_mkdir_p |
| @@ -7855,28 +7928,16 @@ else · 4 unmodified lines | |||
| 7855 | as_mkdir_p=false | 7928 | as_mkdir_p=false |
| 7856 | fi | 7929 | fi |
| 7857 | 7930 | ||
| 7858 | if test -x / >/dev/null 2>&1; then | 7931 | |
| 7859 | as_test_x='test -x' | 7932 | # as_fn_executable_p FILE |
| 7860 | else | 7933 | # ----------------------- |
| 7861 | if ls -dL / >/dev/null 2>&1; then | 7934 | # Test if FILE is an executable regular file. |
| 7862 | as_ls_L_option=L | 7935 | as_fn_executable_p () |
| 7863 | else | 7936 | { |
| 7864 | as_ls_L_option= | 7937 | test -f "$1" && test -x "$1" |
| 7865 | fi | 7938 | } # as_fn_executable_p |
| 7866 | as_test_x=' | 7939 | as_test_x='test -x' |
| 7867 | eval sh -c '\'' | 7940 | as_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 | ' | ||
| 7878 | fi | ||
| 7879 | as_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. |
| 7882 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | 7943 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
| @@ -7898,7 +7959,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 · 15 unmodified lines | |||
| 7898 | # values after options handling. | 7959 | # values after options handling. |
| 7899 | ac_log=" | 7960 | ac_log=" |
| 7900 | This file was extended by cpplib $as_me , which was | 7961 | This file was extended by cpplib $as_me , which was |
| 7901 | generated by GNU Autoconf 2.64. Invocation command line was | 7962 | generated by GNU Autoconf 2.69. Invocation command line was |
| 7902 | 7963 | ||
| 7903 | CONFIG_FILES = $CONFIG_FILES | 7964 | CONFIG_FILES = $CONFIG_FILES |
| 7904 | CONFIG_HEADERS = $CONFIG_HEADERS | 7965 | CONFIG_HEADERS = $CONFIG_HEADERS |
| @@ -7938,6 +7999,7 @@ Usage: $0 [OPTION]... [TAG]... · 33 unmodified lines | |||
| 7938 | 7999 | ||
| 7939 | -h, --help print this help, then exit | 8000 | -h, --help print this help, then exit |
| 7940 | -V, --version print version number and configuration settings, then exit | 8001 | -V, --version print version number and configuration settings, then exit |
| 8002 | --config print configuration, then exit | ||
| 7941 | -q, --quiet, --silent | 8003 | -q, --quiet, --silent |
| 7942 | do not print progress messages | 8004 | do not print progress messages |
| 7943 | -d, --debug don't remove temporary files | 8005 | -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 | _ACEOF | 8023 | _ACEOF |
| 7962 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 8024 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| 8025 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | ||
| 7963 | ac_cs_version="\\ | 8026 | ac_cs_version="\\ |
| 7964 | cpplib config.status | 8027 | cpplib config.status |
| 7965 | configured by $0, generated by GNU Autoconf 2.64, | 8028 | configured 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 | ||
| 7968 | Copyright (C) 2009 Free Software Foundation, Inc. | 8031 | Copyright (C) 2012 Free Software Foundation, Inc. |
| 7969 | This config.status script is free software; the Free Software Foundation | 8032 | This config.status script is free software; the Free Software Foundation |
| 7970 | gives unlimited permission to copy, distribute and modify it." | 8033 | gives unlimited permission to copy, distribute and modify it." |
| 7971 | 8034 | ||
| @@ -7981,11 +8044,16 @@ ac_need_defaults=: · 9 unmodified lines | |||
| 7981 | while test $# != 0 | 8044 | while test $# != 0 |
| 7982 | do | 8045 | do |
| 7983 | case $1 in | 8046 | 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=$1 | 8058 | ac_option=$1 |
| 7991 | ac_optarg=$2 | 8059 | 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_shift | 8075 | $ac_shift |
| 8006 | case $ac_optarg in | 8076 | 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 | esac | 8079 | 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 --header | 8090 | # Conflict between --help and --header |
| 8020 | as_fn_error "ambiguous option: \`$1' | 8091 | as_fn_error $? "ambiguous option: \`$1' |
| 8021 | Try \`$0 --help' for more information.";; | 8092 | Try \`$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' |
| 8030 | Try \`$0 --help' for more information." ;; | 8101 | Try \`$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 | _ACEOF | 8117 | _ACEOF |
| 8047 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 8118 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| 8048 | if \$ac_cs_recheck; then | 8119 | if \$ac_cs_recheck; then |
| 8049 | set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | 8120 | set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion |
| 8050 | shift | 8121 | shift |
| 8051 | \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 | 8122 | \$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 | esac | 8159 | esac |
| 8089 | done | 8160 | done |
| 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_status | 8183 | : "${ac_tmp:=$tmp}" |
| 8184 | { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status | ||
| 8113 | ' 0 | 8185 | ' 0 |
| 8114 | trap 'as_fn_exit 1' 1 2 13 15 | 8186 | 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$$-$RANDOM | 8195 | tmp=./conf$$-$RANDOM |
| 8124 | (umask 077 && mkdir "$tmp") | 8196 | (umask 077 && mkdir "$tmp") |
| 8125 | } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 | 8197 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
| 8198 | ac_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 | |||
| 8139 | fi | 8212 | fi |
| 8140 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | 8213 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` |
| 8141 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | 8214 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then |
| 8142 | ac_cs_awk_cr='\r' | 8215 | ac_cs_awk_cr='\\r' |
| 8143 | else | 8216 | else |
| 8144 | ac_cs_awk_cr=$ac_cr | 8217 | ac_cs_awk_cr=$ac_cr |
| 8145 | fi | 8218 | fi |
| 8146 | 8219 | ||
| 8147 | echo 'BEGIN {' >"$tmp/subs1.awk" && | 8220 | echo 'BEGIN {' >"$ac_tmp/subs1.awk" && |
| 8148 | _ACEOF | 8221 | _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" 5 | 8229 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 8157 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` | 8230 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` |
| 8158 | ac_delim='%!_!# ' | 8231 | ac_delim='%!_!# ' |
| 8159 | for ac_last_try in false false false false false :; do | 8232 | for 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" 5 | 8234 | 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; then | 8237 | if test $ac_delim_n = $ac_delim_num; then |
| 8165 | break | 8238 | break |
| 8166 | elif $ac_last_try; then | 8239 | elif $ac_last_try; then |
| 8167 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 8240 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
| 8168 | else | 8241 | else |
| 8169 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 8242 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| 8170 | fi | 8243 | fi |
| @@ -8172,7 +8245,7 @@ done · 1 unmodified line | |||
| 8172 | rm -f conf$$subs.sh | 8245 | rm -f conf$$subs.sh |
| 8173 | 8246 | ||
| 8174 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 8247 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| 8175 | cat >>"\$tmp/subs1.awk" <<\\_ACAWK && | 8248 | cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && |
| 8176 | _ACEOF | 8249 | _ACEOF |
| 8177 | sed -n ' | 8250 | sed -n ' |
| 8178 | h | 8251 | h |
| @@ -8186,7 +8259,7 @@ s/'"$ac_delim"'$// · 7 unmodified lines | |||
| 8186 | t delim | 8259 | t delim |
| 8187 | :nl | 8260 | :nl |
| 8188 | h | 8261 | h |
| 8189 | s/\(.\{148\}\).*/\1/ | 8262 | s/\(.\{148\}\)..*/\1/ |
| 8190 | t more1 | 8263 | t more1 |
| 8191 | s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ | 8264 | s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ |
| 8192 | p | 8265 | p |
| @@ -8200,7 +8273,7 @@ s/.\{148\}// · 7 unmodified lines | |||
| 8200 | t nl | 8273 | t nl |
| 8201 | :delim | 8274 | :delim |
| 8202 | h | 8275 | h |
| 8203 | s/\(.\{148\}\).*/\1/ | 8276 | s/\(.\{148\}\)..*/\1/ |
| 8204 | t more2 | 8277 | t more2 |
| 8205 | s/["\\]/\\&/g; s/^/"/; s/$/"/ | 8278 | s/["\\]/\\&/g; s/^/"/; s/$/"/ |
| 8206 | p | 8279 | p |
| @@ -8220,7 +8293,7 @@ t delim · 13 unmodified lines | |||
| 8220 | rm -f conf$$subs.awk | 8293 | rm -f conf$$subs.awk |
| 8221 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 8294 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
| 8222 | _ACAWK | 8295 | _ACAWK |
| 8223 | cat >>"\$tmp/subs1.awk" <<_ACAWK && | 8296 | cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && |
| 8224 | for (key in S) S_is_set[key] = 1 | 8297 | 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" |
| 8253 | else | 8326 | else |
| 8254 | cat | 8327 | cat |
| 8255 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ | 8328 | fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ |
| 8256 | || as_fn_error "could not setup config files machinery" "$LINENO" 5 | 8329 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 |
| 8257 | _ACEOF | 8330 | _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 and | 8333 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and |
| 8261 | # trailing colons and then remove the whole line if VPATH becomes empty | 8334 | # 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). |
| 8263 | if test "x$srcdir" = x.; then | 8336 | if test "x$srcdir" = x.; then |
| 8264 | ac_vpsub='/^[ ]*VPATH[ ]*=/{ | 8337 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ |
| 8265 | s/:*\$(srcdir):*/:/ | 8338 | h |
| 8266 | s/:*\${srcdir}:*/:/ | 8339 | s/// |
| 8267 | s/:*@srcdir@:*/:/ | 8340 | s/^/:/ |
| 8268 | s/^\([^=]*=[ ]*\):*/\1/ | 8341 | s/[ ]*$/:/ |
| 8342 | s/:\$(srcdir):/:/g | ||
| 8343 | s/:\${srcdir}:/:/g | ||
| 8344 | s/:@srcdir@:/:/g | ||
| 8345 | s/^:*// | ||
| 8269 | s/:*$// | 8346 | s/:*$// |
| 8347 | x | ||
| 8348 | s/\(=[ ]*\).*/\1/ | ||
| 8349 | G | ||
| 8350 | s/\n// | ||
| 8270 | s/^[^=]*=[ ]*$// | 8351 | s/^[^=]*=[ ]*$// |
| 8271 | }' | 8352 | }' |
| 8272 | fi | 8353 | fi |
| @@ -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'. |
| 8280 | if test -n "$CONFIG_HEADERS"; then | 8361 | if test -n "$CONFIG_HEADERS"; then |
| 8281 | cat >"$tmp/defines.awk" <<\_ACAWK || | 8362 | cat >"$ac_tmp/defines.awk" <<\_ACAWK || |
| 8282 | BEGIN { | 8363 | BEGIN { |
| 8283 | _ACEOF | 8364 | _ACEOF |
| 8284 | 8365 | ||
| @@ -8290,11 +8371,11 @@ _ACEOF · 5 unmodified lines | |||
| 8290 | # handling of long lines. | 8371 | # handling of long lines. |
| 8291 | ac_delim='%!_!# ' | 8372 | ac_delim='%!_!# ' |
| 8292 | for ac_last_try in false false :; do | 8373 | for 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"; then | 8375 | if test -z "$ac_tt"; then |
| 8295 | break | 8376 | break |
| 8296 | elif $ac_last_try; then | 8377 | elif $ac_last_try; then |
| 8297 | as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 | 8378 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
| 8298 | else | 8379 | else |
| 8299 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 8380 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
| 8300 | fi | 8381 | fi |
| @@ -8379,7 +8460,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 · 78 unmodified lines | |||
| 8379 | _ACAWK | 8460 | _ACAWK |
| 8380 | _ACEOF | 8461 | _ACEOF |
| 8381 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | 8462 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
| 8382 | as_fn_error "could not setup config headers machinery" "$LINENO" 5 | 8463 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 |
| 8383 | fi # test -n "$CONFIG_HEADERS" | 8464 | fi # test -n "$CONFIG_HEADERS" |
| 8384 | 8465 | ||
| 8385 | 8466 | ||
| @@ -8392,7 +8473,7 @@ do · 6 unmodified lines | |||
| 8392 | esac | 8473 | esac |
| 8393 | case $ac_mode$ac_tag in | 8474 | 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 | esac | 8479 | esac |
| @@ -8411,7 +8492,7 @@ do · 12 unmodified lines | |||
| 8411 | for ac_f | 8492 | for ac_f |
| 8412 | do | 8493 | do |
| 8413 | case $ac_f in | 8494 | 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 tree | 8496 | *) # 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 | esac | 8505 | esac |
| 8425 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac | 8506 | 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 | esac | 8527 | esac |
| 8447 | 8528 | ||
| 8448 | case $ac_tag in | 8529 | 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 | esac | 8532 | esac |
| 8452 | ;; | 8533 | ;; |
| 8453 | esac | 8534 | esac |
| @@ -8577,23 +8658,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t · 123 unmodified lines | |||
| 8577 | s&@INSTALL@&$ac_INSTALL&;t t | 8658 | s&@INSTALL@&$ac_INSTALL&;t t |
| 8578 | $ac_datarootdir_hack | 8659 | $ac_datarootdir_hack |
| 8579 | " | 8660 | " |
| 8580 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ | 8661 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ |
| 8581 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 8662 | >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 8582 | 8663 | ||
| 8583 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | 8664 | test -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' |
| 8587 | which seems to be undefined. Please make sure it is defined." >&5 | 8669 | which 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' |
| 8589 | which seems to be undefined. Please make sure it is defined." >&2;} | 8671 | which 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 in | 8674 | 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" 5 | 8678 | || 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-; then | 8684 | 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" 5 | 8689 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 8608 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then | 8690 | 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" >&5 | 8691 | { $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 | else | 8693 | 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" 5 | 8696 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
| 8615 | fi | 8697 | fi |
| 8616 | else | 8698 | 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" 5 | 8701 | || as_fn_error $? "could not create -" "$LINENO" 5 |
| 8620 | fi | 8702 | fi |
| 8621 | ;; | 8703 | ;; |
| 8622 | 8704 | ||
| @@ -8639,7 +8721,7 @@ _ACEOF · 16 unmodified lines | |||
| 8639 | ac_clean_files=$ac_clean_files_save | 8721 | ac_clean_files=$ac_clean_files_save |
| 8640 | 8722 | ||
| 8641 | test $ac_write_fail = 0 || | 8723 | test $ac_write_fail = 0 || |
| 8642 | as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 | 8724 | 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.log | 8742 | exec 5>>config.log |
| 8661 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | 8743 | # 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 |
| 8664 | fi | 8746 | fi |
| 8665 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | 8747 | if 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" >&5 | 8748 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 |
| @@ -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 | ||
| 4 | AC_PREREQ(2.64) | ||
| 5 | AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib) | 4 | AC_INIT(cpplib, [ ], gcc-bugs@gcc.gnu.org, cpplib) |
| 6 | AC_CONFIG_SRCDIR(ucnid.h) | 5 | AC_CONFIG_SRCDIR(ucnid.h) |
| 7 | AC_CONFIG_MACRO_DIR(../config) | 6 | AC_CONFIG_MACRO_DIR(../config) |
| @@ -42,7 +41,7 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) · 34 unmodified lines | |||
| 42 | # Dependency checking. | 41 | # Dependency checking. |
| 43 | ZW_CREATE_DEPDIR | 42 | ZW_CREATE_DEPDIR |
| 44 | AC_LANG_PUSH([C++]) | 43 | AC_LANG_PUSH([C++]) |
| 45 | AC_COMPILE_IFELSE([[int i;]], [], | 44 | AC_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])]) |
| 47 | AC_LANG_POP([C++]) | 46 | AC_LANG_POP([C++]) |
| 48 | ZW_PROG_COMPILER_DEPENDENCIES([CXX]) | 47 | ZW_PROG_COMPILER_DEPENDENCIES([CXX]) |
| @@ -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 | ||
| 5 | This program is free software; you can redistribute it and/or modify it | 5 | This 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(). */ |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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 | |||
| 30 | struct if_stack | 30 | struct 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 | |||
| 98 | static void run_directive (cpp_reader *, int, const char *, size_t); | 98 | static void run_directive (cpp_reader *, int, const char *, size_t); |
| 99 | static char *glue_header_name (cpp_reader *); | 99 | static char *glue_header_name (cpp_reader *); |
| 100 | static const char *parse_include (cpp_reader *, int *, const cpp_token ***, | 100 | static const char *parse_include (cpp_reader *, int *, const cpp_token ***, |
| 101 | source_location *); | 101 | location_t *); |
| 102 | static void push_conditional (cpp_reader *, int, int, const cpp_hashnode *); | 102 | static void push_conditional (cpp_reader *, int, int, const cpp_hashnode *); |
| 103 | static unsigned int read_flag (cpp_reader *, unsigned int); | 103 | static unsigned int read_flag (cpp_reader *, unsigned int); |
| 104 | static bool strtolinenum (const uchar *, size_t, linenum_type *, bool *); | 104 | static bool strtolinenum (const uchar *, size_t, linenum_type *, bool *); |
| 105 | static void do_diagnostic (cpp_reader *, int, int, int); | 105 | static void do_diagnostic (cpp_reader *, enum cpp_diagnostic_level code, |
| 106 | enum cpp_warning_reason reason, int); | ||
| 106 | static cpp_hashnode *lex_macro_node (cpp_reader *, bool); | 107 | static cpp_hashnode *lex_macro_node (cpp_reader *, bool); |
| 107 | static int undefine_macros (cpp_reader *, cpp_hashnode *, void *); | 108 | static int undefine_macros (cpp_reader *, cpp_hashnode *, void *); |
| 108 | static void do_include_common (cpp_reader *, enum include_type); | 109 | static void do_include_common (cpp_reader *, enum include_type); |
| @@ -123,44 +124,39 @@ static void do_linemarker (cpp_reader *); · 14 unmodified lines | |||
| 123 | static const cpp_token *get_token_no_padding (cpp_reader *); | 124 | static const cpp_token *get_token_no_padding (cpp_reader *); |
| 124 | static const cpp_token *get__Pragma_string (cpp_reader *); | 125 | static const cpp_token *get__Pragma_string (cpp_reader *); |
| 125 | static void destringize_and_run (cpp_reader *, const cpp_string *, | 126 | static void destringize_and_run (cpp_reader *, const cpp_string *, |
| 126 | source_location); | 127 | location_t); |
| 127 | static int parse_answer (cpp_reader *, struct answer **, int, source_location); | 128 | static bool parse_answer (cpp_reader *, int, location_t, cpp_macro **); |
| 128 | static cpp_hashnode *parse_assertion (cpp_reader *, struct answer **, int); | 129 | static cpp_hashnode *parse_assertion (cpp_reader *, int, cpp_macro **); |
| 129 | static struct answer ** find_answer (cpp_hashnode *, const struct answer *); | 130 | static cpp_macro **find_answer (cpp_hashnode *, const cpp_macro *); |
| 130 | static void handle_assertion (cpp_reader *, const char *, int); | 131 | static void handle_assertion (cpp_reader *, const char *, int); |
| 131 | static void do_pragma_push_macro (cpp_reader *); | 132 | static void do_pragma_push_macro (cpp_reader *); |
| 132 | static void do_pragma_pop_macro (cpp_reader *); | 133 | static void do_pragma_pop_macro (cpp_reader *); |
| 133 | static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *); | 134 | static void cpp_pop_definition (cpp_reader *, struct def_pragma_macro *); |
| 134 | 135 | ||
| 135 | /* This is the table of directive handlers. It is ordered by | 136 | /* This is the table of directive handlers. All extensions other than |
| 136 | frequency of occurrence; the numbers at the end are directive | 137 | #warning, #include_next, and #import are deprecated. The name is |
| 137 | counts from all the source code I have lying around (egcs and libc | 138 | 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 \ |
| 145 | D(define, T_DEFINE = 0, KANDR, IN_I) /* 270554 */ \ | 141 | D(define, T_DEFINE = 0, KANDR, IN_I) \ |
| 146 | D(include, T_INCLUDE, KANDR, INCL | EXPAND) /* 52262 */ \ | 142 | D(include, T_INCLUDE, KANDR, INCL | EXPAND) \ |
| 147 | D(endif, T_ENDIF, KANDR, COND) /* 45855 */ \ | 143 | D(endif, T_ENDIF, KANDR, COND) \ |
| 148 | D(ifdef, T_IFDEF, KANDR, COND | IF_COND) /* 22000 */ \ | 144 | D(ifdef, T_IFDEF, KANDR, COND | IF_COND) \ |
| 149 | D(if, T_IF, KANDR, COND | IF_COND | EXPAND) /* 18162 */ \ | 145 | D(if, T_IF, KANDR, COND | IF_COND | EXPAND) \ |
| 150 | D(else, T_ELSE, KANDR, COND) /* 9863 */ \ | 146 | D(else, T_ELSE, KANDR, COND) \ |
| 151 | D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) /* 9675 */ \ | 147 | D(ifndef, T_IFNDEF, KANDR, COND | IF_COND) \ |
| 152 | D(undef, T_UNDEF, KANDR, IN_I) /* 4837 */ \ | 148 | D(undef, T_UNDEF, KANDR, IN_I) \ |
| 153 | D(line, T_LINE, KANDR, EXPAND) /* 2465 */ \ | 149 | D(line, T_LINE, KANDR, EXPAND) \ |
| 154 | D(elif, T_ELIF, STDC89, COND | EXPAND) /* 610 */ \ | 150 | D(elif, T_ELIF, STDC89, COND | EXPAND) \ |
| 155 | D(error, T_ERROR, STDC89, 0) /* 475 */ \ | 151 | D(error, T_ERROR, STDC89, 0) \ |
| 156 | D(pragma, T_PRAGMA, STDC89, IN_I) /* 195 */ \ | 152 | D(pragma, T_PRAGMA, STDC89, IN_I) \ |
| 157 | D(warning, T_WARNING, EXTENSION, 0) /* 22 */ \ | 153 | D(warning, T_WARNING, EXTENSION, 0) \ |
| 158 | D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) /* 19 */ \ | 154 | D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) \ |
| 159 | D(ident, T_IDENT, EXTENSION, IN_I) /* 11 */ \ | 155 | D(ident, T_IDENT, EXTENSION, IN_I) \ |
| 160 | D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* 0 ObjC */ \ | 156 | D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* ObjC */ \ |
| 161 | D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \ | 157 | D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \ |
| 162 | D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \ | 158 | D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* SVR4 */ \ |
| 163 | D(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_ident | 162 | #define do_sccs do_ident |
| @@ -208,8 +204,6 @@ static const directive linemarker_dir = · 41 unmodified lines | |||
| 208 | do_linemarker, UC"#", 1, KANDR, IN_I | 204 | 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. */ |
| 214 | static void | 208 | static void |
| 215 | skip_rest_of_line (cpp_reader *pfile) | 209 | skip_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 | ||
| 229 | static void | 223 | static void |
| 230 | check_eol_1 (cpp_reader *pfile, bool expand, int reason) | 224 | check_eol_1 (cpp_reader *pfile, bool expand, enum cpp_warning_reason reason) |
| 231 | { | 225 | { |
| 232 | if (! SEEN_EOL () && (expand | 226 | 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 specified | 660 | /* 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 | ||
| 760 | static const char * | 755 | static const char * |
| 761 | parse_include (cpp_reader *pfile, int *pangle_brackets, | 756 | parse_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 include | 817 | /* 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 a | 1077 | /* 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_file | 1083 | || (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 in | 1092 | /* Compensate for the increment in linemap_add that occurs in |
| 1104 | _cpp_do_file_change. We're currently at the start of the line | 1093 | _cpp_do_file_change. We're currently at the start of the line |
| 1105 | *following* the #line directive. A separate source_location for this | 1094 | *following* the #line directive. A separate location_t for this |
| 1106 | location makes no sense (until we do the LC_LEAVE), and | 1095 | 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 are | 1128 | /* 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. */ |
| 1141 | static void | 1130 | static void |
| 1142 | do_diagnostic (cpp_reader *pfile, int code, int reason, int print_dir) | 1131 | do_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 | |||
| 1165 | static void | 1155 | static void |
| 1166 | do_error (cpp_reader *pfile) | 1156 | do_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 | ||
| 1171 | static void | 1161 | static 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. */ |
| 1810 | static void | 1800 | static void |
| 1811 | destringize_and_run (cpp_reader *pfile, const cpp_string *in, | 1801 | destringize_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. */ |
| 1931 | int | 1921 | int |
| 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 messes | 1951 | '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_MACRO | 1953 | 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 messes | 1980 | '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_MACRO | 1982 | 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 sets | 2139 | 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 the | 2140 | ANSWERP to point to the answer. PRED_LOC is the location of the |
| 2184 | predicate. */ | 2141 | predicate. */ |
| 2185 | static int | 2142 | static bool |
| 2186 | parse_answer (cpp_reader *pfile, struct answer **answerp, int type, | 2143 | parse_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. We | 2146 | /* 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 to | 2209 | /* 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 was | 2210 | 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. */ | ||
| 2263 | static cpp_hashnode * | 2214 | static cpp_hashnode * |
| 2264 | parse_assertion (cpp_reader *pfile, struct answer **answerp, int type) | 2215 | parse_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. */ |
| 2296 | static struct answer ** | 2248 | static cpp_macro ** |
| 2297 | find_answer (cpp_hashnode *node, const struct answer *candidate) | 2249 | find_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 | |||
| 2323 | int | 2276 | int |
| 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 a | 2282 | /* 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 | |||
| 2346 | static void | 2299 | static void |
| 2347 | do_assert (cpp_reader *pfile) | 2300 | do_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 there | 2307 | /* 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_subobject | 2322 | 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 | |||
| 2391 | static void | 2330 | static void |
| 2392 | do_unassert (cpp_reader *pfile) | 2331 | do_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. */ |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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 | ||
| 32 | ATTRIBUTE_FPTR_PRINTF(5,0) | 32 | ATTRIBUTE_FPTR_PRINTF(5,0) |
| 33 | static bool | 33 | static bool |
| 34 | cpp_diagnostic_at (cpp_reader * pfile, int level, int reason, | 34 | cpp_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 | ||
| 49 | ATTRIBUTE_FPTR_PRINTF(4,0) | 49 | ATTRIBUTE_FPTR_PRINTF(4,0) |
| 50 | static bool | 50 | static bool |
| 51 | cpp_diagnostic (cpp_reader * pfile, int level, int reason, | 51 | cpp_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 | ||
| 79 | bool | 80 | bool |
| 80 | cpp_error (cpp_reader * pfile, int level, const char *msgid, ...) | 81 | cpp_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 | ||
| 95 | bool | 97 | bool |
| 96 | cpp_warning (cpp_reader * pfile, int reason, const char *msgid, ...) | 98 | cpp_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 | ||
| 111 | bool | 114 | bool |
| 112 | cpp_pedwarning (cpp_reader * pfile, int reason, const char *msgid, ...) | 115 | cpp_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 | ||
| 128 | bool | 132 | bool |
| 129 | cpp_warning_syshdr (cpp_reader * pfile, int reason, const char *msgid, ...) | 133 | cpp_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 | ||
| 144 | ATTRIBUTE_FPTR_PRINTF(6,0) | 149 | ATTRIBUTE_FPTR_PRINTF(6,0) |
| 145 | static bool | 150 | static bool |
| 146 | cpp_diagnostic_with_line (cpp_reader * pfile, int level, int reason, | 151 | cpp_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 | ||
| 164 | bool | 170 | bool |
| 165 | cpp_error_with_line (cpp_reader *pfile, int level, | 171 | cpp_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 | ||
| 183 | bool | 189 | bool |
| 184 | cpp_warning_with_line (cpp_reader *pfile, int reason, | 190 | cpp_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 | ||
| 202 | bool | 208 | bool |
| 203 | cpp_pedwarning_with_line (cpp_reader *pfile, int reason, | 209 | cpp_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 | ||
| 222 | bool | 228 | bool |
| 223 | cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason, | 229 | cpp_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 | ||
| 242 | bool | 248 | bool |
| 243 | cpp_error_at (cpp_reader * pfile, int level, source_location src_loc, | 249 | cpp_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 | ||
| 262 | bool | 268 | bool |
| 263 | cpp_error_at (cpp_reader * pfile, int level, rich_location *richloc, | 269 | cpp_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 | ||
| 281 | bool | 287 | bool |
| 282 | cpp_errno (cpp_reader *pfile, int level, const char *msgid) | 288 | cpp_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 | ||
| 291 | bool | 298 | bool |
| 292 | cpp_errno_filename (cpp_reader *pfile, int level, const char *filename, | 299 | cpp_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"); |
| @@ -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 | ||
| 5 | This program is free software; you can redistribute it and/or modify it | 5 | This 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); |
| 53 | static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num); | 53 | static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num); |
| 54 | static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype, | 54 | static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype, |
| 55 | source_location); | 55 | location_t); |
| 56 | static cpp_num num_lshift (cpp_num, size_t, size_t); | 56 | static cpp_num num_lshift (cpp_num, size_t, size_t); |
| 57 | static cpp_num num_rshift (cpp_num, size_t, size_t); | 57 | static cpp_num num_rshift (cpp_num, size_t, size_t); |
| 58 | 58 | ||
| 59 | static cpp_num append_digit (cpp_num, int, int, size_t); | 59 | static cpp_num append_digit (cpp_num, int, int, size_t); |
| 60 | static cpp_num parse_defined (cpp_reader *); | 60 | static cpp_num parse_defined (cpp_reader *); |
| 61 | static cpp_num eval_token (cpp_reader *, const cpp_token *, source_location); | 61 | static cpp_num eval_token (cpp_reader *, const cpp_token *, location_t); |
| 62 | static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype); | 62 | static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype); |
| 63 | static unsigned int interpret_float_suffix (cpp_reader *, const uchar *, size_t); | 63 | static unsigned int interpret_float_suffix (cpp_reader *, const uchar *, size_t); |
| 64 | static unsigned int interpret_int_suffix (cpp_reader *, const uchar *, size_t); | 64 | static 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. */ |
| 506 | unsigned int | 506 | unsigned int |
| 507 | cpp_classify_number (cpp_reader *pfile, const cpp_token *token, | 507 | cpp_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_MACRO | 1084 | 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). */ |
| 1108 | static cpp_num | 1092 | static cpp_num |
| 1109 | eval_token (cpp_reader *pfile, const cpp_token *token, | 1093 | eval_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 | ||
| 2103 | static cpp_num | 2087 | static cpp_num |
| 2104 | num_div_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op, | 2088 | num_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 | ||
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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 | union | 148 | 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 | |||
| 171 | static bool pch_open_file (cpp_reader *pfile, _cpp_file *file, | 171 | static bool pch_open_file (cpp_reader *pfile, _cpp_file *file, |
| 172 | bool *invalid_pch); | 172 | bool *invalid_pch); |
| 173 | static bool find_file_in_dir (cpp_reader *pfile, _cpp_file *file, | 173 | static 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); |
| 175 | static bool read_file_guts (cpp_reader *pfile, _cpp_file *file, | 175 | static bool read_file_guts (cpp_reader *pfile, _cpp_file *file, |
| 176 | source_location loc); | 176 | location_t loc); |
| 177 | static bool read_file (cpp_reader *pfile, _cpp_file *file, | 177 | static bool read_file (cpp_reader *pfile, _cpp_file *file, |
| 178 | source_location loc); | 178 | location_t loc); |
| 179 | static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import, | 179 | static bool should_stack_file (cpp_reader *, _cpp_file *file, bool import, |
| 180 | source_location loc); | 180 | location_t loc); |
| 181 | static struct cpp_dir *search_path_head (cpp_reader *, const char *fname, | 181 | static 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); |
| 183 | static const char *dir_name_of_file (_cpp_file *file); | 183 | static const char *dir_name_of_file (_cpp_file *file); |
| 184 | static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int, | 184 | static void open_file_failed (cpp_reader *pfile, _cpp_file *file, int, |
| 185 | source_location); | 185 | location_t); |
| 186 | static struct cpp_file_hash_entry *search_cache (struct cpp_file_hash_entry *head, | 186 | static 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); |
| 188 | static _cpp_file *make_cpp_file (cpp_reader *, cpp_dir *, const char *fname); | 188 | static _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 | ||
| 378 | static bool | 378 | static bool |
| 379 | find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch, | 379 | find_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. */ |
| 459 | static bool | 459 | static bool |
| 460 | search_path_exhausted (cpp_reader *pfile, const char *header, _cpp_file *file) | 460 | search_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. */ |
| 673 | static bool | 673 | static bool |
| 674 | read_file_guts (cpp_reader *pfile, _cpp_file *file, source_location loc) | 674 | read_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 for | 755 | have been passed through find_file() at some stage. Use LOC for |
| 756 | any diagnostics. */ | 756 | any diagnostics. */ |
| 757 | static bool | 757 | static bool |
| 758 | read_file (cpp_reader *pfile, _cpp_file *file, source_location loc) | 758 | read_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. */ |
| 784 | static bool | 784 | static bool |
| 785 | should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import, | 785 | should_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. */ |
| 893 | bool | 893 | bool |
| 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. */ |
| 1008 | bool | 1008 | bool |
| 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, where | 1018 | 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 if | 1038 | /* Compensate for the increment in linemap_add that occurs if |
| 1038 | _cpp_stack_file actually stacks the file. In the case of a | 1039 | _cpp_stack_file actually stacks the file. In the case of a normal |
| 1039 | normal #include, we're currently at the start of the line | 1040 | #include, we're currently at the start of the line *following* the |
| 1040 | *following* the #include. A separate source_location for this | 1041 | #include. A separate location_t for this location makes no |
| 1041 | location makes no sense (until we do the LC_LEAVE), and | 1042 | sense (until we do the LC_LEAVE), and complicates |
| 1042 | complicates LAST_SOURCE_LINE_LOCATION. This does not apply if we | 1043 | 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 we | 1044 | 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 == 0 | 1050 | 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 the | 1066 | /* _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. */ |
| 1060 | static void | 1074 | static void |
| 1061 | open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets, | 1075 | open_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. */ |
| 1248 | bool | 1262 | bool |
| 1249 | cpp_included_before (cpp_reader *pfile, const char *fname, | 1263 | cpp_included_before (cpp_reader *pfile, const char *fname, |
| 1250 | source_location location) | 1264 | location_t location) |
| 1251 | { | 1265 | { |
| 1252 | struct cpp_file_hash_entry *entry | 1266 | struct cpp_file_hash_entry *entry |
| 1253 | = (struct cpp_file_hash_entry *) | 1267 | = (struct cpp_file_hash_entry *) |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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 first | 111 | /* We don't need a proxy since the hash table's identifier comes first |
| @@ -1,82 +0,0 @@ | |||
| 1 | /* Structures that hang off cpp_identifier, for PCH. | ||
| 2 | Copyright (C) 1986-2018 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This program is free software; you can redistribute it and/or modify it | ||
| 5 | under the terms of the GNU General Public License as published by the | ||
| 6 | Free Software Foundation; either version 3, or (at your option) any | ||
| 7 | later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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) | ||
| 21 | typedef 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. */ | ||
| 27 | struct 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. */ | ||
| 35 | struct 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 | }; | ||
| @@ -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 | ||
| 5 | This program is free software; you can redistribute it and/or modify it | 5 | This 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 | |||
| 36 | typedef struct cpp_callbacks cpp_callbacks; | 36 | typedef struct cpp_callbacks cpp_callbacks; |
| 37 | typedef struct cpp_dir cpp_dir; | 37 | typedef struct cpp_dir cpp_dir; |
| 38 | 38 | ||
| 39 | struct answer; | ||
| 40 | struct _cpp_file; | 39 | struct _cpp_file; |
| 41 | 40 | ||
| 42 | /* The first three groups, apart from '=', can appear in preprocessor | 41 | /* The first three groups, apart from '=', can appear in preprocessor |
| @@ -168,8 +167,9 @@ enum cpp_ttype · 125 unmodified lines | |||
| 168 | #undef TK | 167 | #undef TK |
| 169 | 168 | ||
| 170 | /* C language kind, used when calling cpp_create_reader. */ | 169 | /* C language kind, used when calling cpp_create_reader. */ |
| 171 | enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, | 170 | enum 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 should | 240 | /* 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. */ |
| 242 | struct GTY(()) cpp_token { | 242 | struct 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 | |||
| 559 | enum 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 | |||
| 580 | enum 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 a | 608 | /* 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 headers | 609 | 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 the | 643 | /* 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 (whether | 652 | /* 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 definition | 656 | /* 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. For | 679 | 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__ macro | 684 | /* 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 has | 732 | /* The kind of the cpp_macro. */ |
| 675 | entries for all identifiers: either macros defined by #define | 733 | enum cpp_macro_kind { |
| 676 | commands (type NT_MACRO), assertions created with #assert | 734 | cmk_macro, /* An ISO macro (token expansion). */ |
| 677 | (NT_ASSERTION), or neither of the above (NT_VOID). Builtin macros | 735 | cmk_assert, /* An assertion. */ |
| 678 | like __LINE__ are flagged NODE_BUILTIN. Poisoned identifiers are | 736 | cmk_traditional /* A traditional macro (text expansion). */ |
| 679 | flagged NODE_POISONED. NODE_OPERATOR (C++ only) indicates an | 737 | }; |
| 680 | identifier that behaves like an operator such as "xor". | 738 | |
| 681 | NODE_DIAGNOSTIC is for speed in lex_token: it indicates a | 739 | /* Each macro definition is recorded in a cpp_macro structure. |
| 740 | Variadic macros cannot occur with traditional cpp. */ | ||
| 741 | struct 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 only | 807 | diagnostic may be required for this node. Currently this only |
| 683 | applies to __VA_ARGS__, poisoned identifiers, and -Wc++-compat | 808 | 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. */ |
| 699 | enum node_type | 822 | enum 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 we | 831 | /* 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 | |||
| 732 | enum { | ||
| 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 front | 853 | /* 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 of | 854 | 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 | ||
| 751 | union GTY(()) _cpp_hashnode_value { | 857 | union 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 | ||
| 762 | struct GTY(()) cpp_hashnode { | 868 | struct 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 a | 883 | /* A class for iterating through the source locations within a |
| @@ -778,13 +886,13 @@ struct GTY(()) cpp_hashnode { · 2 unmodified lines | |||
| 778 | 886 | ||
| 779 | class cpp_string_location_reader { | 887 | class 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 *); |
| 890 | extern const cpp_token *cpp_get_token (cpp_reader *); | 998 | extern const cpp_token *cpp_get_token (cpp_reader *); |
| 891 | extern const cpp_token *cpp_get_token_with_location (cpp_reader *, | 999 | extern const cpp_token *cpp_get_token_with_location (cpp_reader *, |
| 892 | source_location *); | 1000 | location_t *); |
| 893 | extern bool cpp_fun_like_macro_p (cpp_hashnode *); | 1001 | inline bool cpp_user_macro_p (const cpp_hashnode *node) |
| 1002 | { | ||
| 1003 | return node->type == NT_USER_MACRO; | ||
| 1004 | } | ||
| 1005 | inline bool cpp_builtin_macro_p (const cpp_hashnode *node) | ||
| 1006 | { | ||
| 1007 | return node->type == NT_BUILTIN_MACRO; | ||
| 1008 | } | ||
| 1009 | inline 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. */ | ||
| 1015 | inline bool cpp_fun_like_macro_p (cpp_hashnode *node) | ||
| 1016 | { | ||
| 1017 | return cpp_user_macro_p (node) && node->value.macro->fun_like; | ||
| 1018 | } | ||
| 1019 | |||
| 894 | extern const unsigned char *cpp_macro_definition (cpp_reader *, | 1020 | extern const unsigned char *cpp_macro_definition (cpp_reader *, |
| 895 | cpp_hashnode *); | 1021 | cpp_hashnode *); |
| 896 | extern source_location cpp_macro_definition_location (cpp_hashnode *); | 1022 | inline location_t cpp_macro_definition_location (cpp_hashnode *node) |
| 1023 | { | ||
| 1024 | return node->value.macro->line; | ||
| 1025 | } | ||
| 897 | extern void _cpp_backup_tokens (cpp_reader *, unsigned int); | 1026 | extern void _cpp_backup_tokens (cpp_reader *, unsigned int); |
| 898 | extern const cpp_token *cpp_peek_token (cpp_reader *, int); | 1027 | extern 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 | |||
| 926 | extern void cpp_undef (cpp_reader *, const char *); | 1055 | extern void cpp_undef (cpp_reader *, const char *); |
| 927 | extern void cpp_unassert (cpp_reader *, const char *); | 1056 | extern void cpp_unassert (cpp_reader *, const char *); |
| 928 | 1057 | ||
| 1058 | /* Mark a node as a lazily defined macro. */ | ||
| 1059 | extern void cpp_define_lazily (cpp_reader *, cpp_hashnode *node, unsigned N); | ||
| 1060 | |||
| 929 | /* Undefine all macros and assertions. */ | 1061 | /* Undefine all macros and assertions. */ |
| 930 | extern void cpp_undef_all (cpp_reader *); | 1062 | extern 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 of | 1128 | /* 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. */ |
| 998 | extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *, | 1130 | extern 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. */ |
| 1002 | extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *, | 1134 | extern 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. */ |
| 1015 | cpp_num cpp_num_sign_extend (cpp_num, size_t); | 1147 | cpp_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 | |||
| 1021 | enum { | ||
| 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. */ | ||
| 1041 | enum { | ||
| 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. */ |
| 1070 | extern bool cpp_error (cpp_reader *, int, const char *msgid, ...) | 1150 | extern bool cpp_error (cpp_reader *, enum cpp_diagnostic_level, |
| 1151 | const char *msgid, ...) | ||
| 1071 | ATTRIBUTE_PRINTF_3; | 1152 | ATTRIBUTE_PRINTF_3; |
| 1072 | extern bool cpp_warning (cpp_reader *, int, const char *msgid, ...) | 1153 | extern bool cpp_warning (cpp_reader *, enum cpp_warning_reason, |
| 1154 | const char *msgid, ...) | ||
| 1073 | ATTRIBUTE_PRINTF_3; | 1155 | ATTRIBUTE_PRINTF_3; |
| 1074 | extern bool cpp_pedwarning (cpp_reader *, int, const char *msgid, ...) | 1156 | extern bool cpp_pedwarning (cpp_reader *, enum cpp_warning_reason, |
| 1157 | const char *msgid, ...) | ||
| 1075 | ATTRIBUTE_PRINTF_3; | 1158 | ATTRIBUTE_PRINTF_3; |
| 1076 | extern bool cpp_warning_syshdr (cpp_reader *, int, const char *msgid, ...) | 1159 | extern 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 the | 1163 | /* 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. */ |
| 1081 | extern bool cpp_errno (cpp_reader *, int, const char *msgid); | 1165 | extern bool cpp_errno (cpp_reader *, enum cpp_diagnostic_level, |
| 1166 | const char *msgid); | ||
| 1082 | /* Similarly, but with "FILENAME: " instead of "MSGID: ", where | 1167 | /* Similarly, but with "FILENAME: " instead of "MSGID: ", where |
| 1083 | the filename is not localized. */ | 1168 | the filename is not localized. */ |
| 1084 | extern bool cpp_errno_filename (cpp_reader *, int, const char *filename, | 1169 | extern 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 a | 1172 | /* Same as cpp_error, except additionally specifies a position as a |
| 1088 | (translation unit) physical line and physical column. If the line is | 1173 | (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. */ |
| 1090 | extern bool cpp_error_with_line (cpp_reader *, int, source_location, | 1175 | extern 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; |
| 1093 | extern bool cpp_warning_with_line (cpp_reader *, int, source_location, | 1179 | extern 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; |
| 1096 | extern bool cpp_pedwarning_with_line (cpp_reader *, int, source_location, | 1183 | extern 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; |
| 1099 | extern bool cpp_warning_with_line_syshdr (cpp_reader *, int, source_location, | 1187 | extern 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 | ||
| 1103 | extern bool cpp_error_at (cpp_reader * pfile, int level, | 1192 | extern 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 | ||
| 1107 | extern bool cpp_error_at (cpp_reader * pfile, int level, | 1196 | extern 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 */ |
| 1174 | extern bool cpp_included (cpp_reader *, const char *); | 1262 | extern bool cpp_included (cpp_reader *, const char *); |
| 1175 | extern bool cpp_included_before (cpp_reader *, const char *, source_location); | 1263 | extern bool cpp_included_before (cpp_reader *, const char *, location_t); |
| 1176 | extern void cpp_make_system_header (cpp_reader *, int, int); | 1264 | extern void cpp_make_system_header (cpp_reader *, int, int); |
| 1177 | extern bool cpp_push_include (cpp_reader *, const char *); | 1265 | extern bool cpp_push_include (cpp_reader *, const char *); |
| 1178 | extern bool cpp_push_default_include (cpp_reader *, const char *); | 1266 | extern 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 */ |
| 1198 | extern void cpp_force_token_locations (cpp_reader *, source_location *); | 1286 | extern void cpp_force_token_locations (cpp_reader *, location_t); |
| 1199 | extern void cpp_stop_forcing_token_locations (cpp_reader *); | 1287 | extern void cpp_stop_forcing_token_locations (cpp_reader *); |
| 1200 | 1288 | ||
| 1201 | /* In expr.c */ | 1289 | /* In expr.c */ |
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under 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. */ |
| 50 | typedef unsigned int linenum_type; | 50 | typedef unsigned int linenum_type; |
| 51 | 51 | ||
| 52 | /* A type for doing arithmetic on line numbers. */ | ||
| 53 | typedef 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 | ||
| 54 | inline int compare (linenum_type lhs, linenum_type rhs) | 57 | inline 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 is | 67 | /* 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. */ | ||
| 71 | enum lc_reason | 68 | enum 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_MACRO | 74 | 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 range | 80 | 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_LOCATION | 169 | 0x70000000 | LINE_MAP_MAX_LOCATION |
| 172 | | Beyond the point, we give up on ordinary maps; attempts to | 170 | | 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 1 | 185 | | macromap[1]->start_location | Start of macro map 1 |
| 188 | -----------+-------------------------------+------------------------------- | 186 | -----------+-------------------------------+------------------------------- |
| 189 | | macromap[0]->start_location | Start of macro map 0 | 187 | | macromap[0]->start_location | Start of macro map 0 |
| 190 | 0x7fffffff | MAX_SOURCE_LOCATION | Also used as a mask for | 188 | 0x7fffffff | MAX_LOCATION_T | Also used as a mask for |
| 191 | | | accessing the ad-hoc data table | 189 | | | accessing the ad-hoc data table |
| 192 | -----------+-------------------------------+------------------------------- | 190 | -----------+-------------------------------+------------------------------- |
| 193 | 0x80000000 | Start of ad-hoc values; the lower 31 bits are used as an index | 191 | 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 + 0x17260 | 287 | == ordmap->start + 0x17260 |
| 290 | 288 | ||
| 291 | To further see how source_location works in practice, see the | 289 | 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. */ |
| 293 | typedef unsigned int source_location; | 291 | typedef unsigned int location_t; |
| 294 | 292 | ||
| 295 | /* Do not track column numbers higher than this one. As a result, the | 293 | /* 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 are | 294 | 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. */ |
| 303 | const source_location LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000; | 301 | const 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. */ |
| 308 | const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000; | 306 | const location_t LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000; |
| 307 | |||
| 308 | /* Highest possible source location encoded within an ordinary map. */ | ||
| 309 | const 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. */ |
| 318 | struct GTY(()) source_range | 319 | struct 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 that | 324 | /* We avoid using constructors, since various structs that |
| 324 | don't yet have constructors will embed instances of | 325 | 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 in | 378 | location of the expansion point of PLUS. That location is mapped in |
| 378 | the map that is active right before the location of the invocation | 379 | the map that is active right before the location of the invocation |
| 379 | of PLUS. */ | 380 | of PLUS. */ |
| 380 | struct 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. */ |
| 384 | struct 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. Those | 390 | /* 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 0 | 398 | (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. */ |
| 399 | struct GTY((tag ("1"))) line_map_ordinary : public line_map { | 402 | struct 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 end | 405 | /* 4 bytes of integers, each 1 byte for easy extraction/insertion. */ |
| 404 | the current one was included. File(s) at the bottom of the | 406 | |
| 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 file | 410 | /* 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 zero | 411 | 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 numbers | 416 | /* 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 an | 448 | /* This is the highest possible source location encoded within an |
| 435 | ordinary or macro map. */ | 449 | ordinary or macro map. */ |
| 436 | const source_location MAX_SOURCE_LOCATION = 0x7FFFFFFF; | 450 | const location_t MAX_LOCATION_T = 0x7FFFFFFF; |
| 437 | 451 | ||
| 438 | struct cpp_hashnode; | 452 | struct cpp_hashnode; |
| 439 | 453 | ||
| @@ -443,15 +457,20 @@ struct cpp_hashnode; · 3 unmodified lines | |||
| 443 | The offset from START_LOCATION is used to index into | 457 | 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. */ |
| 445 | struct GTY((tag ("2"))) line_map_macro : public line_map { | 459 | struct 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 of | 474 | /* 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 same | 524 | 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 macro | 529 | /* 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 held | 530 | 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. It | 531 | by the map that was current right before the current one. It |
| 513 | could have been either a macro or an ordinary map, depending on | 532 | 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 | #endif | 562 | #endif |
| 542 | 563 | ||
| 564 | /* Get whether location LOC is an ad-hoc, ordinary or macro location. */ | ||
| 565 | |||
| 566 | inline bool | ||
| 567 | IS_ORDINARY_LOC (location_t loc) | ||
| 568 | { | ||
| 569 | return loc < LINE_MAP_MAX_LOCATION; | ||
| 570 | } | ||
| 571 | |||
| 572 | inline bool | ||
| 573 | IS_ADHOC_LOC (location_t loc) | ||
| 574 | { | ||
| 575 | return loc > MAX_LOCATION_T; | ||
| 576 | } | ||
| 577 | |||
| 578 | inline bool | ||
| 579 | IS_MACRO_LOC (location_t loc) | ||
| 580 | { | ||
| 581 | return !IS_ORDINARY_LOC (loc) && !IS_ADHOC_LOC (loc); | ||
| 582 | } | ||
| 583 | |||
| 584 | /* Categorize line map kinds. */ | ||
| 585 | |||
| 586 | inline bool | ||
| 587 | MAP_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 macro | 592 | /* Return TRUE if MAP encodes locations coming from a macro |
| 544 | replacement-list at macro expansion point. */ | 593 | replacement-list at macro expansion point. */ |
| 545 | bool | 594 | bool |
| @@ -552,7 +601,7 @@ linemap_macro_expansion_map_p (const struct line_map *); · 6 unmodified lines | |||
| 552 | inline line_map_ordinary * | 601 | inline line_map_ordinary * |
| 553 | linemap_check_ordinary (struct line_map *map) | 602 | linemap_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 | |||
| 563 | inline const line_map_ordinary * | 612 | inline const line_map_ordinary * |
| 564 | linemap_check_ordinary (const struct line_map *map) | 613 | linemap_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 | ||
| 573 | inline line_map_macro *linemap_check_macro (line_map *map) | 622 | inline 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 | |||
| 582 | inline const line_map_macro * | 631 | inline const line_map_macro * |
| 583 | linemap_check_macro (const line_map *map) | 632 | linemap_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 | ||
| 591 | inline source_location | 640 | inline location_t |
| 592 | MAP_START_LOCATION (const line_map *map) | 641 | MAP_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 | |||
| 610 | inline int | ||
| 611 | ORDINARY_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 system | 654 | /* Return a positive value if map encodes locations from a system |
| 617 | header, 0 otherwise. Returns 1 if ordinary map MAP encodes locations | 655 | 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 header | 656 | 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 | ||
| 655 | inline source_location * | 693 | inline location_t * |
| 656 | MACRO_MAP_LOCATIONS (const line_map_macro *macro_map) | 694 | MACRO_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 | ||
| 663 | inline source_location | 701 | inline location_t |
| 664 | MACRO_MAP_EXPANSION_POINT_LOCATION (const line_map_macro *macro_map) | 702 | MACRO_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 arbitrary | 745 | /* 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. */ |
| 709 | struct GTY(()) location_adhoc_data { | 747 | struct 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 | ||
| 727 | struct GTY(()) location_adhoc_data_map { | 765 | struct 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 numbers | 793 | /* 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 it | 800 | /* 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 for | 806 | /* 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 macro | 1036 | /* Returns the lowest location [of a token resulting from macro |
| 1000 | expansion] encoded in this line table. */ | 1037 | expansion] encoded in this line table. */ |
| 1001 | inline source_location | 1038 | inline location_t |
| 1002 | LINEMAPS_MACRO_LOWEST_LOCATION (const line_maps *set) | 1039 | LINEMAPS_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 | ||
| 1016 | extern source_location get_combined_adhoc_loc (struct line_maps *, | 1053 | extern 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 *); |
| 1020 | extern void *get_data_from_adhoc_loc (struct line_maps *, source_location); | 1057 | extern void *get_data_from_adhoc_loc (struct line_maps *, location_t); |
| 1021 | extern source_location get_location_from_adhoc_loc (struct line_maps *, | 1058 | extern location_t get_location_from_adhoc_loc (struct line_maps *, |
| 1022 | source_location); | 1059 | location_t); |
| 1023 | 1060 | ||
| 1024 | extern source_range get_range_from_loc (line_maps *set, source_location loc); | 1061 | extern source_range get_range_from_loc (line_maps *set, location_t loc); |
| 1025 | |||
| 1026 | /* Get whether location LOC is an ad-hoc location. */ | ||
| 1027 | |||
| 1028 | inline bool | ||
| 1029 | IS_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, or | 1063 | /* 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 | ||
| 1037 | bool | 1066 | bool |
| 1038 | pure_location_p (line_maps *set, source_location loc); | 1067 | pure_location_p (line_maps *set, location_t loc); |
| 1039 | 1068 | ||
| 1040 | /* Given location LOC within SET, strip away any packed range information | 1069 | /* Given location LOC within SET, strip away any packed range information |
| 1041 | or ad-hoc information. */ | 1070 | or ad-hoc information. */ |
| 1042 | 1071 | ||
| 1043 | extern source_location get_pure_location (line_maps *set, | 1072 | extern 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 | ||
| 1048 | inline source_location | 1077 | inline location_t |
| 1049 | COMBINE_LOCATION_DATA (struct line_maps *set, | 1078 | COMBINE_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 has | 1090 | 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. */ |
| 1063 | extern void linemap_init (struct line_maps *set, | 1092 | extern 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 | ||
| 1068 | extern void linemap_check_files_exited (struct line_maps *); | 1097 | extern void linemap_check_files_exited (struct line_maps *); |
| 1069 | 1098 | ||
| 1070 | /* Return a source_location for the start (i.e. column==0) of | 1099 | /* Return a location_t for the start (i.e. column==0) of |
| 1071 | (physical) line TO_LINE in the current source file (as in the | 1100 | (physical) line TO_LINE in the current source file (as in the |
| 1072 | most recent linemap_add). MAX_COLUMN_HINT is the highest column | 1101 | most recent linemap_add). MAX_COLUMN_HINT is the highest column |
| 1073 | number we expect to use in this line (but it does not change | 1102 | number we expect to use in this line (but it does not change |
| 1074 | the highest_location). */ | 1103 | the highest_location). */ |
| 1075 | 1104 | ||
| 1076 | extern source_location linemap_line_start | 1105 | extern 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 and | 1108 | /* 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, this | 1129 | binary search. If no line map have been allocated yet, this |
| 1101 | function returns NULL. */ | 1130 | function returns NULL. */ |
| 1102 | extern const struct line_map *linemap_lookup | 1131 | extern 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 across | 1134 | /* 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 system | 1148 | 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. */ |
| 1121 | int linemap_location_in_system_header_p (struct line_maps *, | 1150 | int 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 of | 1153 | /* 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. */ |
| 1126 | bool linemap_location_from_macro_expansion_p (const struct line_maps *, | 1155 | bool 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 the | 1158 | /* 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. */ |
| 1131 | bool linemap_location_from_macro_definition_p (struct line_maps *, | 1160 | bool 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 is | 1163 | /* 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 the | 1164 | 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 the | 1165 | 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 | ||
| 1139 | extern source_location linemap_macro_map_loc_unwind_toward_spelling | 1168 | extern 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 will | 1171 | /* location_t values from 0 to RESERVED_LOCATION_COUNT-1 will |
| 1143 | be reserved for libcpp user as special values, no token from libcpp | 1172 | 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. */ |
| 1145 | const source_location RESERVED_LOCATION_COUNT = 2; | 1174 | const 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. */ |
| 1148 | inline linenum_type | 1177 | inline linenum_type |
| 1149 | SOURCE_LINE (const line_map_ordinary *ord_map, source_location loc) | 1178 | SOURCE_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. */ |
| 1156 | inline linenum_type | 1185 | inline linenum_type |
| 1157 | SOURCE_COLUMN (const line_map_ordinary *ord_map, source_location loc) | 1186 | SOURCE_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. */ | ||
| 1165 | inline source_location | ||
| 1166 | LAST_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. */ | ||
| 1177 | inline linenum_type | ||
| 1178 | LAST_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 | ||
| 1185 | inline linenum_type | 1193 | inline location_t |
| 1186 | LAST_SOURCE_COLUMN (const line_map_ordinary *map) | 1194 | linemap_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 map | 1199 | /* The linemap containing the included-from location of MAP. */ |
| 1192 | belongs to the main file, i.e, a file that wasn't included by | 1200 | const line_map_ordinary *linemap_included_from_linemap |
| 1193 | another one. */ | 1201 | (line_maps *set, const line_map_ordinary *map); |
| 1194 | inline line_map_ordinary * | ||
| 1195 | INCLUDED_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 | ||
| 1204 | inline bool | 1205 | inline bool |
| 1205 | MAIN_FILE_P (const line_map_ordinary *ord_map) | 1206 | MAIN_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. The | 1211 | /* Encode and return a location_t from a column number. The |
| 1211 | source line considered is the last source line used to call | 1212 | source line considered is the last source line used to call |
| 1212 | linemap_line_start, i.e, the last source line which a location was | 1213 | linemap_line_start, i.e, the last source line which a location was |
| 1213 | encoded from. */ | 1214 | encoded from. */ |
| 1214 | extern source_location | 1215 | extern location_t |
| 1215 | linemap_position_for_column (struct line_maps *, unsigned int); | 1216 | linemap_position_for_column (struct line_maps *, unsigned int); |
| 1216 | 1217 | ||
| 1217 | /* Encode and return a source location from a given line and | 1218 | /* Encode and return a source location from a given line and |
| 1218 | column. */ | 1219 | column. */ |
| 1219 | source_location | 1220 | location_t |
| 1220 | linemap_position_for_line_and_column (line_maps *set, | 1221 | linemap_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 and | 1225 | /* Encode and return a location_t starting from location LOC and |
| 1225 | shifting it by OFFSET columns. This function does not support | 1226 | shifting it by OFFSET columns. This function does not support |
| 1226 | virtual locations. */ | 1227 | virtual locations. */ |
| 1227 | source_location | 1228 | location_t |
| 1228 | linemap_position_for_loc_and_offset (struct line_maps *set, | 1229 | linemap_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 value | 1259 | the same token as the token for POST, and a negative value |
| 1259 | otherwise. */ | 1260 | otherwise. */ |
| 1260 | int linemap_compare_locations (struct line_maps *set, | 1261 | int 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 comes | 1265 | /* Return TRUE if LOC_A denotes the location a token that comes |
| 1265 | topogically before the token denoted by location LOC_B, or if they | 1266 | topogically before the token denoted by location LOC_B, or if they |
| 1266 | are equal. */ | 1267 | are equal. */ |
| 1267 | inline bool | 1268 | inline bool |
| 1268 | linemap_location_before_p (struct line_maps *set, | 1269 | linemap_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, with | 1292 | class range_label; |
| 1292 | the caret potentially flagged for display. */ | ||
| 1293 | 1293 | ||
| 1294 | struct location_range | 1294 | /* 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 is | 1297 | 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 + y | 1302 | x = x + y |
| 1303 | 1 2 | 1303 | 1 2 |
| 1304 | Error: Shapes for operands at (1) and (2) are not conformable | 1304 | 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 | |
| 1308 | enum 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 | |||
| 1328 | struct 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 storing | 1338 | /* 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 other | 1474 | 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 stack | 1479 | 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 diagnostic | 1521 | 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 E | 1524 | 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 at | 1535 | - 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 for | 1537 | - 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 hints | 1541 | Fix-it hints |
| 1508 | ------------ | 1542 | ------------ |
| @@ -1562,9 +1596,21 @@ class fixit_hint; · 53 unmodified lines | |||
| 1562 | added via | 1596 | 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 content | 1611 | 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 no | 1612 | 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 | void | 1653 | 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 | void | 1659 | 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 | void | 1683 | 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 primary | 1687 | /* 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 | void | 1693 | 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 finish | 1703 | /* Suggest removing the content covered between the start and finish |
| 1654 | of WHERE. */ | 1704 | of WHERE. */ |
| 1655 | void | 1705 | 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 | void | 1709 | void |
| @@ -1668,7 +1718,7 @@ class rich_location · 8 unmodified lines | |||
| 1668 | /* Suggest replacing the content between the start and finish of | 1718 | /* Suggest replacing the content between the start and finish of |
| 1669 | WHERE with NEW_CONTENT. */ | 1719 | WHERE with NEW_CONTENT. */ |
| 1670 | void | 1720 | 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 with | 1724 | /* Suggest replacing the content covered by SRC_RANGE with |
| @@ -1704,10 +1754,10 @@ class rich_location · 29 unmodified lines | |||
| 1704 | } | 1754 | } |
| 1705 | 1755 | ||
| 1706 | private: | 1756 | private: |
| 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 | ||
| 1713 | public: | 1763 | public: |
| @@ -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 | |||
| 1786 | struct 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 | |||
| 1821 | class 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 representing | 1833 | 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 | |||
| 1746 | class fixit_hint | 1846 | class 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, like | 1935 | 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 | ||
| 1838 | source_location linemap_resolve_location (struct line_maps *, | 1938 | location_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 the | 1943 | /* 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 the | 1944 | 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 returned | 1948 | When non-NULL, *LOC_MAP is set to the map of the returned |
| 1849 | location. */ | 1949 | location. */ |
| 1850 | source_location linemap_unwind_toward_expansion (struct line_maps *, | 1950 | location_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 expansion | 1954 | /* 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, a | 1955 | 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 is | 1966 | *MAP is set to the map of the returned location if the later is |
| 1867 | different from LOC. */ | 1967 | different from LOC. */ |
| 1868 | source_location linemap_unwind_to_first_non_reserved_loc (struct line_maps *, | 1968 | location_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 source | 1972 | /* Expand source code location LOC and return a user readable source |
| 1873 | code location. LOC must be a spelling (non-virtual) location. If | 1973 | 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. */ |
| 1876 | expanded_location linemap_expand_location (struct line_maps *, | 1976 | expanded_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 by | 1980 | /* 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. */ |
| 1903 | bool linemap_get_file_highest_location (struct line_maps * set, | 2003 | bool 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 some | 2007 | /* 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 file | 2011 | /* 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. */ |
| 1913 | void linemap_dump_location (struct line_maps *, source_location, FILE *); | 2013 | void 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 STREAM | 2015 | /* 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 to | 2016 | 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. */ |
| 1923 | void line_table_dump (FILE *, struct line_maps *, unsigned int, unsigned int); | 2023 | void 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 | ||
| 1927 | enum location_aspect | 2027 | enum location_aspect |
| 1928 | { | 2028 | { |
| @@ -1931,14 +2031,14 @@ enum location_aspect · 2 unmodified lines | |||
| 1931 | LOCATION_ASPECT_FINISH | 2031 | 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 is | 2035 | 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_location | 2036 | 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 following | 2038 | Hence we require client code of libcpp to implement the following |
| 1939 | symbol. */ | 2039 | symbol. */ |
| 1940 | extern expanded_location | 2040 | extern expanded_location |
| 1941 | linemap_client_expand_location_to_spelling_point (source_location, | 2041 | linemap_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 */ |
| @@ -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 2000 | 3 | Contributed by Zack Weinberg, Mar 2000 |
| 4 | 4 | ||
| 5 | This program is free software; you can redistribute it and/or modify it | 5 | This program is free software; you can redistribute it and/or modify it |
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under the terms of the GNU General Public License as published by the |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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_STDC17 | 529 | 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 | |||
| 629 | const char * | 633 | const char * |
| 630 | cpp_read_main_file (cpp_reader *pfile, const char *fname) | 634 | cpp_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 | { |
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under 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_H | 23 | #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_ICONV | 28 | #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. */ |
| 101 | typedef struct _cpp_buff _cpp_buff; | 100 | typedef 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 index | 150 | 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 the | 151 | 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 used | 154 | /* This is a pointer to the current virtual location. This is used |
| 156 | to iterate over the virtual locations while we iterate over the | 155 | 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 the | 420 | /* 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 at | 424 | /* This is the node representing the macro being expanded at |
| 426 | top-level. The value of this data member is valid iff | 425 | 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 token | 573 | /* 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 another | 599 | 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 | |||
| 603 | extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1]; | 604 | extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1]; |
| 604 | #endif | 605 | #endif |
| 605 | 606 | ||
| 607 | #if !defined (HAVE_UCHAR) && !defined (IN_GCC) | ||
| 608 | typedef unsigned char uchar; | ||
| 609 | #endif | ||
| 610 | |||
| 611 | #define UC (const uchar *) /* Intended use: UC"string" */ | ||
| 612 | |||
| 606 | /* Macros. */ | 613 | /* Macros. */ |
| 607 | 614 | ||
| 608 | static inline int cpp_in_system_header (cpp_reader *); | 615 | static 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 */ |
| 632 | extern void _cpp_notify_macro_use (cpp_reader *pfile, cpp_hashnode *node); | ||
| 633 | inline 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 | } | ||
| 638 | extern cpp_macro *_cpp_new_macro (cpp_reader *, cpp_macro_kind, void *); | ||
| 625 | extern void _cpp_free_definition (cpp_hashnode *); | 639 | extern void _cpp_free_definition (cpp_hashnode *); |
| 626 | extern bool _cpp_create_definition (cpp_reader *, cpp_hashnode *); | 640 | extern bool _cpp_create_definition (cpp_reader *, cpp_hashnode *); |
| 627 | extern void _cpp_pop_context (cpp_reader *); | 641 | extern void _cpp_pop_context (cpp_reader *); |
| 628 | extern void _cpp_push_text_context (cpp_reader *, cpp_hashnode *, | 642 | extern void _cpp_push_text_context (cpp_reader *, cpp_hashnode *, |
| 629 | const unsigned char *, size_t); | 643 | const unsigned char *, size_t); |
| 630 | extern bool _cpp_save_parameter (cpp_reader *, cpp_macro *, cpp_hashnode *, | 644 | extern bool _cpp_save_parameter (cpp_reader *, unsigned, cpp_hashnode *, |
| 631 | cpp_hashnode *); | 645 | cpp_hashnode *); |
| 646 | extern void _cpp_unsave_parameters (cpp_reader *, unsigned); | ||
| 632 | extern bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *, | 647 | extern bool _cpp_arguments_ok (cpp_reader *, cpp_macro *, const cpp_hashnode *, |
| 633 | unsigned int); | 648 | unsigned int); |
| 634 | extern const unsigned char *_cpp_builtin_macro_text (cpp_reader *, | 649 | extern const unsigned char *_cpp_builtin_macro_text (cpp_reader *, |
| 635 | cpp_hashnode *, | 650 | cpp_hashnode *, |
| 636 | source_location = 0); | 651 | location_t = 0); |
| 637 | extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *); | 652 | extern int _cpp_warn_if_unused_macro (cpp_reader *, cpp_hashnode *, void *); |
| 638 | extern void _cpp_push_token_context (cpp_reader *, cpp_hashnode *, | 653 | extern 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 */ |
| 647 | typedef struct _cpp_file _cpp_file; | 662 | typedef struct _cpp_file _cpp_file; |
| 648 | extern _cpp_file *_cpp_find_file (cpp_reader *, const char *, cpp_dir *, | 663 | extern _cpp_file *_cpp_find_file (cpp_reader *, const char *, cpp_dir *, |
| 649 | bool, int, bool, source_location); | 664 | bool, int, bool, location_t); |
| 650 | extern bool _cpp_find_failed (_cpp_file *); | 665 | extern bool _cpp_find_failed (_cpp_file *); |
| 651 | extern void _cpp_mark_file_once_only (cpp_reader *, struct _cpp_file *); | 666 | extern void _cpp_mark_file_once_only (cpp_reader *, struct _cpp_file *); |
| 652 | extern void _cpp_fake_include (cpp_reader *, const char *); | 667 | extern void _cpp_fake_include (cpp_reader *, const char *); |
| 653 | extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool, | 668 | extern bool _cpp_stack_file (cpp_reader *, _cpp_file*, bool, |
| 654 | source_location); | 669 | location_t); |
| 655 | extern bool _cpp_stack_include (cpp_reader *, const char *, int, | 670 | extern bool _cpp_stack_include (cpp_reader *, const char *, int, |
| 656 | enum include_type, source_location); | 671 | enum include_type, location_t); |
| 657 | extern int _cpp_compare_file_date (cpp_reader *, const char *, int); | 672 | extern int _cpp_compare_file_date (cpp_reader *, const char *, int); |
| 658 | extern void _cpp_report_missing_guards (cpp_reader *); | 673 | extern void _cpp_report_missing_guards (cpp_reader *); |
| 659 | extern void _cpp_init_files (cpp_reader *); | 674 | extern void _cpp_init_files (cpp_reader *); |
| @@ -685,6 +700,14 @@ extern void _cpp_init_tokenrun (tokenrun *, unsigned int); · 25 unmodified lines | |||
| 685 | extern cpp_hashnode *_cpp_lex_identifier (cpp_reader *, const char *); | 700 | extern cpp_hashnode *_cpp_lex_identifier (cpp_reader *, const char *); |
| 686 | extern int _cpp_remaining_tokens_num_in_context (cpp_context *); | 701 | extern int _cpp_remaining_tokens_num_in_context (cpp_context *); |
| 687 | extern void _cpp_init_lexer (void); | 702 | extern void _cpp_init_lexer (void); |
| 703 | static 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 | } | ||
| 710 | extern void *_cpp_commit_buff (cpp_reader *pfile, size_t size); | ||
| 688 | 711 | ||
| 689 | /* In init.c. */ | 712 | /* In init.c. */ |
| 690 | extern void _cpp_maybe_push_include_file (cpp_reader *); | 713 | extern void _cpp_maybe_push_include_file (cpp_reader *); |
| @@ -696,7 +719,7 @@ extern int _cpp_handle_directive (cpp_reader *, int); · 5 unmodified lines | |||
| 696 | extern void _cpp_define_builtin (cpp_reader *, const char *); | 719 | extern void _cpp_define_builtin (cpp_reader *, const char *); |
| 697 | extern char ** _cpp_save_pragma_names (cpp_reader *); | 720 | extern char ** _cpp_save_pragma_names (cpp_reader *); |
| 698 | extern void _cpp_restore_pragma_names (cpp_reader *, char **); | 721 | extern void _cpp_restore_pragma_names (cpp_reader *, char **); |
| 699 | extern int _cpp_do__Pragma (cpp_reader *, source_location); | 722 | extern int _cpp_do__Pragma (cpp_reader *, location_t); |
| 700 | extern void _cpp_init_directives (cpp_reader *); | 723 | extern void _cpp_init_directives (cpp_reader *); |
| 701 | extern void _cpp_init_internal_pragmas (cpp_reader *); | 724 | extern void _cpp_init_internal_pragmas (cpp_reader *); |
| 702 | extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *, | 725 | extern 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 | ||
| 715 | extern void _cpp_preprocess_dir_only (cpp_reader *, | 738 | extern void _cpp_preprocess_dir_only (cpp_reader *, |
| @@ -721,7 +744,7 @@ extern bool _cpp_read_logical_line_trad (cpp_reader *); · 5 unmodified lines | |||
| 721 | extern void _cpp_overlay_buffer (cpp_reader *pfile, const unsigned char *, | 744 | extern void _cpp_overlay_buffer (cpp_reader *pfile, const unsigned char *, |
| 722 | size_t); | 745 | size_t); |
| 723 | extern void _cpp_remove_overlay (cpp_reader *); | 746 | extern void _cpp_remove_overlay (cpp_reader *); |
| 724 | extern bool _cpp_create_trad_definition (cpp_reader *, cpp_macro *); | 747 | extern cpp_macro *_cpp_create_trad_definition (cpp_reader *); |
| 725 | extern bool _cpp_expansions_different_trad (const cpp_macro *, | 748 | extern bool _cpp_expansions_different_trad (const cpp_macro *, |
| 726 | const cpp_macro *); | 749 | const cpp_macro *); |
| 727 | extern unsigned char *_cpp_copy_replacement_text (const cpp_macro *, | 750 | extern 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. */ |
| 847 | const line_map_macro *linemap_enter_macro (struct line_maps *, | 870 | const 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 a | 875 | /* 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 it | 895 | either of the token itself or of a macro parameter that it |
| 873 | replaces. */ | 896 | replaces. */ |
| 874 | source_location linemap_add_macro_token (const line_map_macro *, | 897 | location_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 location | 902 | /* Return the source line number corresponding to source location |
| 880 | LOCATION. SET is the line map set LOCATION comes from. If | 903 | 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 the | 905 | expansion-list of a macro expansion return the line number of the |
| 883 | macro expansion point. */ | 906 | macro expansion point. */ |
| 884 | int linemap_get_expansion_line (struct line_maps *, | 907 | int 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 location | 910 | /* 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. */ |
| 895 | const char* linemap_get_expansion_filename (struct line_maps *, | 918 | const char* linemap_get_expansion_filename (struct line_maps *, |
| 896 | source_location); | 919 | location_t); |
| 897 | 920 | ||
| 898 | #ifdef __cplusplus | 921 | #ifdef __cplusplus |
| 899 | } | 922 | } |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 |
| @@ -1232,7 +1232,7 @@ static int · 1226 unmodified lines | |||
| 1232 | skip_line_comment (cpp_reader *pfile) | 1232 | skip_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 form | 1633 | /* 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 | else | 2762 | 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 | |||
| 3730 | void * | ||
| 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 | ||
| 3729 | enum cpp_token_fld_kind | 3749 | enum 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 have | 3776 | /* 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, until | 3777 | 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 | ||
| 3760 | void | 3780 | void |
| 3761 | cpp_force_token_locations (cpp_reader *r, source_location *p) | 3781 | cpp_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 | |||
| 3768 | void | 3788 | void |
| 3769 | cpp_stop_forcing_token_locations (cpp_reader *r) | 3789 | cpp_stop_forcing_token_locations (cpp_reader *r) |
| 3770 | { | 3790 | { |
| 3771 | r->forced_token_location_p = NULL; | 3791 | r->forced_token_location = 0; |
| 3772 | } | 3792 | } |
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under 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. */ | ||
| 31 | const source_location LINE_MAP_MAX_SOURCE_LOCATION = 0x70000000; | ||
| 32 | |||
| 33 | static void trace_include (const struct line_maps *, const line_map_ordinary *); | 29 | static void trace_include (const struct line_maps *, const line_map_ordinary *); |
| 34 | static const line_map_ordinary * linemap_ordinary_map_lookup (struct line_maps *, | 30 | static const line_map_ordinary * linemap_ordinary_map_lookup (struct line_maps *, |
| 35 | source_location); | 31 | location_t); |
| 36 | static const line_map_macro* linemap_macro_map_lookup (struct line_maps *, | 32 | static const line_map_macro* linemap_macro_map_lookup (struct line_maps *, |
| 37 | source_location); | 33 | location_t); |
| 38 | static source_location linemap_macro_map_loc_to_def_point | 34 | static location_t linemap_macro_map_loc_to_def_point |
| 39 | (const line_map_macro *, source_location); | 35 | (const line_map_macro *, location_t); |
| 40 | static source_location linemap_macro_map_loc_to_exp_point | 36 | static location_t linemap_macro_map_loc_to_exp_point |
| 41 | (const line_map_macro *, source_location); | 37 | (const line_map_macro *, location_t); |
| 42 | static source_location linemap_macro_loc_to_spelling_point | 38 | static 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 **); |
| 44 | static source_location linemap_macro_loc_to_def_point (struct line_maps *, | 40 | static 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 **); |
| 47 | static source_location linemap_macro_loc_to_exp_point (struct line_maps *, | 43 | static 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. */ |
| 52 | extern unsigned num_expanded_macros_counter; | 48 | extern 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 compactly | 112 | 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 | ||
| 119 | static bool | 115 | static bool |
| 120 | can_be_stored_compactly_p (struct line_maps *set, | 116 | can_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 the | 121 | /* 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 same | 140 | /* 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 | ||
| 160 | source_location | 156 | location_t |
| 161 | get_combined_adhoc_loc (struct line_maps *set, | 157 | get_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 | locus | 166 | 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 | ||
| 249 | void * | 245 | void * |
| 250 | get_data_from_adhoc_loc (struct line_maps *set, source_location loc) | 246 | get_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 | ||
| 258 | source_location | 254 | location_t |
| 259 | get_location_from_adhoc_loc (struct line_maps *set, source_location loc) | 255 | get_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 | ||
| 267 | static source_range | 263 | static source_range |
| 268 | get_range_from_adhoc_loc (struct line_maps *set, source_location loc) | 264 | get_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-hoc | 270 | /* 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 | ||
| 277 | source_range | 273 | source_range |
| 278 | get_range_from_loc (struct line_maps *set, | 274 | get_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 | ||
| 304 | bool | 300 | bool |
| 305 | pure_location_p (line_maps *set, source_location loc) | 301 | pure_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 information | 317 | /* Given location LOC within SET, strip away any packed range information |
| 320 | or ad-hoc information. */ | 318 | or ad-hoc information. */ |
| 321 | 319 | ||
| 322 | source_location | 320 | location_t |
| 323 | get_pure_location (line_maps *set, source_location loc) | 321 | get_pure_location (line_maps *set, location_t loc) |
| 324 | { | 322 | { |
| 325 | if (IS_ADHOC_LOC (loc)) | 323 | if (IS_ADHOC_LOC (loc)) |
| 326 | loc | 324 | 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 | ||
| 343 | void | 341 | void |
| 344 | linemap_init (struct line_maps *set, | 342 | linemap_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 | #else | 348 | #else |
| 351 | *set = line_maps (); | 349 | new (set) line_maps(); |
| 352 | #endif | 350 | #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 | |||
| 363 | const line_map_ordinary * | ||
| 364 | linemap_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 | ||
| 362 | void | 371 | void |
| 363 | linemap_check_files_exited (struct line_maps *set) | 372 | linemap_check_files_exited (struct line_maps *set) |
| 364 | { | 373 | { |
| 365 | const line_map_ordinary *map; | ||
| 366 | /* Depending upon whether we are handling preprocessed input or | 374 | /* 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 | ||
| 380 | static struct line_map * | 388 | static struct line_map * |
| 381 | new_linemap (struct line_maps *set, | 389 | new_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 a | 391 | 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->reallocator | 401 | |
| 396 | ? set->reallocator | 402 | 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_p | 407 | 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 the | 415 | /* We are going to execute some dance to try to reduce the |
| 406 | overhead of the memory allocator, in case we are using the | 416 | 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 the | 419 | 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 the | 420 | 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 if | 425 | /* 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 amounts | 427 | 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 | else | 434 | 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 | else | 476 | 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_location | 480 | || (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 be | 483 | /* 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 next | 515 | /* When we are just leaving an "included" file, and jump to the next |
| 524 | location inside the "includer" right after the #include | 516 | location inside the "includer" right after the #include |
| 525 | "included", this variable points the map in use right before the | 517 | "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. The | 521 | /* (MAP - 1) points to the map we are leaving. The |
| 531 | map from which (MAP - 1) got included should be the map | 522 | 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 | ||
| 616 | const line_map_macro * | 611 | const line_map_macro * |
| 617 | linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node, | 612 | linemap_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_locations | 626 | map->macro_locations |
| 640 | = (source_location*) reallocator (NULL, | 627 | = (location_t*) set->reallocator (NULL, |
| 641 | 2 * num_tokens | 628 | 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 it | 659 | either of the token itself or of a macro parameter that it |
| 673 | replaces. */ | 660 | replaces. */ |
| 674 | 661 | ||
| 675 | source_location | 662 | location_t |
| 676 | linemap_add_macro_token (const line_map_macro *map, | 663 | linemap_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) of | 680 | /* Return a location_t for the start (i.e. column==0) of |
| 694 | (physical) line TO_LINE in the current source file (as in the | 681 | (physical) line TO_LINE in the current source file (as in the |
| 695 | most recent linemap_add). MAX_COLUMN_HINT is the highest column | 682 | most recent linemap_add). MAX_COLUMN_HINT is the highest column |
| 696 | number we expect to use in this line (but it does not change | 683 | number we expect to use in this line (but it does not change |
| 697 | the highest_location). */ | 684 | the highest_location). */ |
| 698 | 685 | ||
| 699 | source_location | 686 | location_t |
| 700 | linemap_line_start (struct line_maps *set, linenum_type to_line, | 687 | linemap_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_RANGES | 705 | || (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_COLS | 707 | || (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 | else | 710 | 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 huge | 719 | /* If the column number is ridiculous or we've allocated a huge |
| 733 | number of source_locations, give up on column numbers | 720 | 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 | else | 728 | else |
| @@ -755,6 +742,11 @@ linemap_line_start (struct line_maps *set, linenum_type to_line, · 13 unmodified lines | |||
| 755 | if (line_delta < 0 | 742 | 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_ordinary | 751 | 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 of | 766 | /* 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. The | 790 | /* Encode and return a location_t from a column number. The |
| 799 | source line considered is the last source line used to call | 791 | source line considered is the last source line used to call |
| 800 | linemap_line_start, i.e, the last source line which a location was | 792 | linemap_line_start, i.e, the last source line which a location was |
| 801 | encoded from. */ | 793 | encoded from. */ |
| 802 | 794 | ||
| 803 | source_location | 795 | location_t |
| 804 | linemap_position_for_column (struct line_maps *set, unsigned int to_column) | 796 | linemap_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_assert | 800 | 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_COLS | 805 | 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 | else | 811 | 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 and | 838 | /* Encode and return a source location from a given line and |
| 847 | column. */ | 839 | column. */ |
| 848 | 840 | ||
| 849 | source_location | 841 | location_t |
| 850 | linemap_position_for_line_and_column (line_maps *set, | 842 | linemap_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 and | 863 | /* Encode and return a location_t starting from location LOC and |
| 872 | shifting it by COLUMN_OFFSET columns. This function does not support | 864 | shifting it by COLUMN_OFFSET columns. This function does not support |
| 873 | virtual locations. */ | 865 | virtual locations. */ |
| 874 | 866 | ||
| 875 | source_location | 867 | location_t |
| 876 | linemap_position_for_loc_and_offset (struct line_maps *set, | 868 | linemap_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 | ||
| 941 | const struct line_map* | 933 | const struct line_map* |
| 942 | linemap_lookup (struct line_maps *set, source_location line) | 934 | linemap_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 | ||
| 956 | static const line_map_ordinary * | 948 | static const line_map_ordinary * |
| 957 | linemap_ordinary_map_lookup (struct line_maps *set, source_location line) | 949 | linemap_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 | ||
| 1004 | static const line_map_macro * | 996 | static const line_map_macro * |
| 1005 | linemap_macro_map_lookup (struct line_maps *set, source_location line) | 997 | linemap_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 | |||
| 1049 | bool | 1041 | bool |
| 1050 | linemap_macro_expansion_map_p (const struct line_map *map) | 1042 | linemap_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 a | 1047 | /* 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 in | 1050 | 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 | ||
| 1063 | static source_location | 1053 | static location_t |
| 1064 | linemap_macro_map_loc_to_exp_point (const line_map_macro *map, | 1054 | linemap_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 the | 1070 | Return the location of the token at the definition point of the |
| 1081 | macro. */ | 1071 | macro. */ |
| 1082 | 1072 | ||
| 1083 | static source_location | 1073 | static location_t |
| 1084 | linemap_macro_map_loc_to_def_point (const line_map_macro *map, | 1074 | linemap_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 the | 1095 | 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. */ |
| 1107 | source_location | 1097 | location_t |
| 1108 | linemap_macro_map_loc_unwind_toward_spelling (line_maps *set, | 1098 | linemap_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 | ||
| 1136 | int | 1126 | int |
| 1137 | linemap_get_expansion_line (struct line_maps *set, | 1127 | linemap_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[location | 1133 | 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 | ||
| 1164 | const char* | 1154 | const char* |
| 1165 | linemap_get_expansion_filename (struct line_maps *set, | 1155 | linemap_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[location | 1161 | 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 | ||
| 1202 | int | 1192 | int |
| 1203 | linemap_location_in_system_header_p (struct line_maps *set, | 1193 | linemap_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[location | 1199 | 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's | 1222 | /* 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 | ||
| 1248 | bool | 1238 | bool |
| 1249 | linemap_location_from_macro_expansion_p (const struct line_maps *set, | 1239 | linemap_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[location | 1243 | 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_LOCATION | 1246 | 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 first | 1249 | /* 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 | ||
| 1269 | static const struct line_map* | 1254 | static const struct line_map* |
| 1270 | first_map_in_common_1 (struct line_maps *set, | 1255 | first_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 | ||
| 1311 | static const struct line_map* | 1296 | static const struct line_map* |
| 1312 | first_map_in_common (struct line_maps *set, | 1297 | first_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 | ||
| 1329 | int | 1314 | int |
| 1330 | linemap_compare_locations (struct line_maps *set, | 1315 | linemap_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 | ||
| 1401 | static source_location | 1386 | static location_t |
| 1402 | linemap_macro_loc_to_spelling_point (struct line_maps *set, | 1387 | linemap_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 | location | 1403 | location = linemap_macro_map_loc_unwind_toward_spelling |
| 1416 | = linemap_macro_map_loc_unwind_toward_spelling | 1404 | (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 | ||
| 1436 | static source_location | 1420 | static location_t |
| 1437 | linemap_macro_loc_to_def_point (struct line_maps *set, | 1421 | linemap_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 | ||
| 1481 | static source_location | 1462 | static location_t |
| 1482 | linemap_macro_loc_to_exp_point (struct line_maps *set, | 1463 | linemap_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[location | 1470 | 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, like | 1534 | 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 | ||
| 1556 | source_location | 1537 | location_t |
| 1557 | linemap_resolve_location (struct line_maps *set, | 1538 | linemap_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 | ||
| 1596 | bool | 1577 | bool |
| 1597 | linemap_location_from_macro_definition_p (struct line_maps *set, | 1578 | linemap_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 *map | 1589 | 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_loc | 1592 | 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 | else | 1596 | else |
| 1616 | { | 1597 | { |
| 1617 | source_location def_loc | 1598 | 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 it | 1614 | *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 | ||
| 1636 | source_location | 1617 | location_t |
| 1637 | linemap_unwind_toward_expansion (struct line_maps *set, | 1618 | linemap_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 is | 1655 | *MAP is set to the map of the returned location if the later is |
| 1675 | different from LOC. */ | 1656 | different from LOC. */ |
| 1676 | source_location | 1657 | location_t |
| 1677 | linemap_unwind_to_first_non_reserved_loc (struct line_maps *set, | 1658 | linemap_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 | |||
| 1720 | expanded_location | 1701 | expanded_location |
| 1721 | linemap_expand_location (struct line_maps *set, | 1702 | linemap_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.data | 1712 | 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 | |||
| 1770 | void | 1751 | void |
| 1771 | linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro) | 1752 | linemap_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 | else | 1768 | 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_macro | 1777 | ((!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 | else | 1792 | else |
| @@ -1824,16 +1806,16 @@ linemap_dump (FILE *stream, struct line_maps *set, unsigned ix, bool is_macro) · 13 unmodified lines | |||
| 1824 | 1806 | ||
| 1825 | void | 1807 | void |
| 1826 | linemap_dump_location (struct line_maps *set, | 1808 | linemap_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 | else | 1838 | 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 | |||
| 1873 | bool | 1857 | bool |
| 1874 | linemap_get_file_highest_location (struct line_maps *set, | 1858 | linemap_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 then | 1862 | /* 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 starting | 1879 | /* The highest location for a given map is either the starting |
| 1896 | location of the next map minus one, or -- if the map is the | 1880 | 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 | else | 1885 | 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 | ||
| 2013 | rich_location::rich_location (line_maps *set, source_location loc) : | 1997 | rich_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 | ||
| 2035 | source_location | 2020 | location_t |
| 2036 | rich_location::get_loc (unsigned int idx) const | 2021 | rich_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 | ||
| 2097 | void | 2082 | void |
| 2098 | rich_location::add_range (source_location loc, bool show_caret_p) | 2083 | rich_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* on | 2097 | 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 | ||
| 2119 | void | 2107 | void |
| 2120 | rich_location::set_range (line_maps * /*set*/, unsigned int idx, | 2108 | rich_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 exactly | 2111 | /* 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 | else | 2117 | 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 | ||
| 2155 | void | 2143 | void |
| 2156 | rich_location::add_fixit_insert_before (source_location where, | 2144 | rich_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 | ||
| 2175 | void | 2163 | void |
| 2176 | rich_location::add_fixit_insert_after (source_location where, | 2164 | rich_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_loc | 2168 | 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 returns | 2171 | /* 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 | ||
| 2208 | void | 2196 | void |
| 2209 | rich_location::add_fixit_remove (source_location where) | 2197 | rich_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 | ||
| 2238 | void | 2226 | void |
| 2239 | rich_location::add_fixit_replace (source_location where, | 2227 | rich_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 | |||
| 2250 | rich_location::add_fixit_replace (source_range src_range, | 2238 | rich_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_loc | 2245 | 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 returns | 2247 | /* 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 | ||
| 2287 | bool | 2275 | bool |
| 2288 | rich_location::reject_impossible_fixit (source_location where) | 2276 | rich_location::reject_impossible_fixit (location_t where) |
| 2289 | { | 2277 | { |
| 2290 | /* Fix-its within a rich_location should either all be suggested, or | 2278 | /* 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 | ||
| 2325 | void | 2313 | void |
| 2326 | rich_location::maybe_add_fixit (source_location start, | 2314 | rich_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 | ||
| 2408 | fixit_hint::fixit_hint (source_location start, | 2396 | fixit_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 | ||
| 2446 | bool | 2434 | bool |
| 2447 | fixit_hint::maybe_append (source_location start, | 2435 | fixit_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's | 2439 | /* For consolidation to be possible, START must be at this hint's |
| @@ -20,213 +20,258 @@ extern int foo (); · 19 unmodified lines | |||
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | The undocumented -fdump-internal-locations option outputs this information | 22 | The undocumented -fdump-internal-locations option outputs this information |
| 23 | to stderr, showing what each source_location value means. Source code | 23 | to stderr, showing what each location_t value means. Source code |
| 24 | lines are quoted, showing both per-line source_location values and | 24 | lines are quoted, showing both per-line location_t values and |
| 25 | per-line&column source_location values (written vertically under the | 25 | per-line&column location_t values (written vertically under the |
| 26 | corresponding character of source code). | 26 | corresponding character of source code). |
| 27 | 27 | ||
| 28 | VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV | 28 | VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV |
| 29 | RESERVED LOCATIONS | 29 | RESERVED LOCATIONS |
| 30 | source_location interval: 0 <= loc < 2 | 30 | location_t interval: 0 <= loc < 2 |
| 31 | 31 | ||
| 32 | ORDINARY MAP: 0 | 32 | ORDINARY MAP: 0 |
| 33 | source_location interval: 32 <= loc < 64 | 33 | location_t interval: 32 <= loc < 64 |
| 34 | file: test.c | 34 | file: test.c |
| 35 | starting at line: 1 | 35 | starting at line: 1 |
| 36 | column bits: 12 | 36 | column and range bits: 12 |
| 37 | column bits: 7 | ||
| 37 | range bits: 5 | 38 | range bits: 5 |
| 39 | reason: 0 (LC_ENTER) | ||
| 40 | included from location: 0 | ||
| 38 | test.c: 1|loc: 32|#include "test.h" | 41 | test.c: 1|loc: 32|#include "test.h" |
| 39 | |69269258258148147 | 42 | |69269258258148147 |
| 40 | |46802468024680246 | 43 | |46802468024680246 |
| 41 | 44 | ||
| 42 | ORDINARY MAP: 1 | 45 | ORDINARY MAP: 1 |
| 43 | source_location interval: 64 <= loc < 96 | 46 | location_t interval: 64 <= loc < 96 |
| 44 | file: <built-in> | 47 | file: <built-in> |
| 45 | starting at line: 0 | 48 | starting at line: 0 |
| 49 | column and range bits: 0 | ||
| 46 | column bits: 0 | 50 | column bits: 0 |
| 47 | range bits: 0 | 51 | range bits: 0 |
| 52 | reason: 2 (LC_RENAME) | ||
| 53 | included from location: 0 | ||
| 48 | 54 | ||
| 49 | ORDINARY MAP: 2 | 55 | ORDINARY MAP: 2 |
| 50 | source_location interval: 96 <= loc < 128 | 56 | location_t interval: 96 <= loc < 128 |
| 51 | file: <command-line> | 57 | file: <command-line> |
| 52 | starting at line: 0 | 58 | starting at line: 0 |
| 59 | column and range bits: 0 | ||
| 53 | column bits: 0 | 60 | column bits: 0 |
| 54 | range bits: 0 | 61 | range bits: 0 |
| 62 | reason: 2 (LC_RENAME) | ||
| 63 | included from location: 0 | ||
| 55 | 64 | ||
| 56 | ORDINARY MAP: 3 | 65 | ORDINARY MAP: 3 |
| 57 | source_location interval: 128 <= loc < 160128 | 66 | location_t interval: 128 <= loc < 250240 |
| 58 | file: /usr/include/stdc-predef.h | 67 | file: /usr/include/stdc-predef.h |
| 59 | starting at line: 1 | 68 | starting at line: 1 |
| 60 | column bits: 12 | 69 | column and range bits: 12 |
| 70 | column bits: 7 | ||
| 61 | range bits: 5 | 71 | 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 | ||
| 64 | ORDINARY MAP: 4 | 76 | ORDINARY MAP: 4 |
| 65 | source_location interval: 160128 <= loc < 160160 | 77 | location_t interval: 250240 <= loc < 250272 |
| 66 | file: <command-line> | 78 | file: <command-line> |
| 67 | starting at line: 32 | 79 | starting at line: 32 |
| 68 | column bits: 12 | 80 | column and range bits: 12 |
| 81 | column bits: 7 | ||
| 69 | range bits: 5 | 82 | range bits: 5 |
| 83 | reason: 1 (LC_LEAVE) | ||
| 84 | included from location: 0 | ||
| 70 | 85 | ||
| 71 | ORDINARY MAP: 5 | 86 | ORDINARY MAP: 5 |
| 72 | source_location interval: 160160 <= loc < 164256 | 87 | location_t interval: 250272 <= loc < 254368 |
| 73 | file: test.c | 88 | file: test.c |
| 74 | starting at line: 1 | 89 | starting at line: 1 |
| 75 | column bits: 12 | 90 | column and range bits: 12 |
| 91 | column bits: 7 | ||
| 76 | range bits: 5 | 92 | range bits: 5 |
| 77 | test.c: 1|loc:160160|#include "test.h" | 93 | reason: 2 (LC_RENAME) |
| 78 | |00000000000000000 | 94 | included from location: 0 |
| 79 | |12223334445556667 | 95 | test.c: 1|loc:250272|#include "test.h" |
| 80 | |92582581481470470 | 96 | |00000000000000000 |
| 81 | |24680246802468024 | 97 | |33344445556667778 |
| 98 | |03603692692582581 | ||
| 99 | |46802468024680246 | ||
| 82 | 100 | ||
| 83 | ORDINARY MAP: 6 | 101 | ORDINARY MAP: 6 |
| 84 | source_location interval: 164256 <= loc < 173280 | 102 | location_t interval: 254368 <= loc < 266720 |
| 85 | file: test.h | 103 | file: test.h |
| 86 | starting at line: 1 | 104 | starting at line: 1 |
| 87 | column bits: 12 | 105 | column and range bits: 12 |
| 106 | column bits: 7 | ||
| 88 | range bits: 5 | 107 | range bits: 5 |
| 89 | test.h: 1|loc:164256|extern int foo (); | 108 | reason: 0 (LC_ENTER) |
| 90 | |444444444444444444 | 109 | included from location: 250272 (in ordinary map 5) |
| 91 | |233344455566677788 | 110 | test.h: 1|loc:254368|extern int foo (); |
| 92 | |825814814704703603 | 111 | |444444444444444444 |
| 93 | |802468024680246802 | 112 | |444455566677788899 |
| 94 | test.h: 2|loc:168352| | 113 | |036926925825814814 |
| 95 | | | 114 | |024680246802468024 |
| 96 | | | 115 | test.h: 2|loc:258464| |
| 97 | | | 116 | | |
| 98 | | | 117 | | |
| 99 | test.h: 3|loc:172448|#define PLUS(A, B) A + B | 118 | | |
| 100 | |222222222222222223333333 | 119 | | |
| 101 | |455566677788889990001112 | 120 | test.h: 3|loc:262560|#define PLUS(A, B) A + B |
| 102 | |814704703603692692582581 | 121 | |222222222222233333333333 |
| 103 | |024680246802468024680246 | 122 | |566677788899900011122223 |
| 123 | |925825814814704703603692 | ||
| 124 | |246802468024680246802468 | ||
| 125 | test.h: 4|loc:266656| | ||
| 126 | | | ||
| 127 | | | ||
| 128 | | | ||
| 129 | | | ||
| 104 | 130 | ||
| 105 | ORDINARY MAP: 7 | 131 | ORDINARY MAP: 7 |
| 106 | source_location interval: 173280 <= loc < 202016 | 132 | location_t interval: 266720 <= loc < 299520 |
| 107 | file: test.c | 133 | file: test.c |
| 108 | starting at line: 2 | 134 | starting at line: 2 |
| 109 | column bits: 12 | 135 | column and range bits: 12 |
| 136 | column bits: 7 | ||
| 110 | range bits: 5 | 137 | range bits: 5 |
| 111 | test.c: 2|loc:173280| | 138 | reason: 1 (LC_LEAVE) |
| 112 | | | 139 | included from location: 0 |
| 113 | | | 140 | test.c: 2|loc:266720| |
| 114 | | | 141 | | |
| 115 | | | 142 | | |
| 116 | test.c: 3|loc:177376|int | 143 | | |
| 117 | |777 | 144 | | |
| 118 | |444 | 145 | test.c: 3|loc:270816|int |
| 119 | |047 | 146 | |000 |
| 120 | |802 | 147 | |889 |
| 121 | test.c: 4|loc:181472|main (int argc, char **argv) | 148 | |481 |
| 122 | |1111111111111111222222222222 | 149 | |802 |
| 123 | |5556666777888999000111222333 | 150 | test.c: 4|loc:274912|main (int argc, char **argv) |
| 124 | |0360369269258258148147047036 | 151 | |4455555555555555555555555555 |
| 125 | |4680246802468024680246802468 | 152 | |9900011122223334445556667778 |
| 126 | test.c: 5|loc:185568|{ | 153 | |4704703603692692582581481470 |
| 127 | |5 | 154 | |4680246802468024680246802468 |
| 128 | |6 | 155 | test.c: 5|loc:279008|{ |
| 129 | |0 | 156 | |9 |
| 130 | |0 | 157 | |0 |
| 131 | test.c: 6|loc:189664| int a = PLUS (1,2); | 158 | |4 |
| 132 | |999999999900000000000 | 159 | |0 |
| 133 | |677788899900011122233 | 160 | test.c: 6|loc:283104| int a = PLUS (1,2); |
| 134 | |926925825814814704703 | 161 | |333333333333333333333 |
| 135 | |680246802468024680246 | 162 | |112222333444555666777 |
| 136 | test.c: 7|loc:193760| int b = PLUS (3,4); | 163 | |360369269258258148147 |
| 137 | |333333344444444444444 | 164 | |680246802468024680246 |
| 138 | |788899900011122233344 | 165 | test.c: 7|loc:287200| int b = PLUS (3,4); |
| 139 | |925825814814704703603 | 166 | |777777777777777777777 |
| 140 | |246802468024680246802 | 167 | |222333444555666777888 |
| 141 | test.c: 8|loc:197856| return 0; | 168 | |369269258258148147047 |
| 142 | |77778888888 | 169 | |246802468024680246802 |
| 143 | |89990001112 | 170 | test.c: 8|loc:291296| return 0; |
| 144 | |82581481470 | 171 | |11111111111 |
| 145 | |80246802468 | 172 | |33344455566 |
| 146 | test.c: 9|loc:201952|} | 173 | |26925825814 |
| 147 | |1 | 174 | |80246802468 |
| 148 | |9 | 175 | test.c: 9|loc:295392|} |
| 149 | |8 | 176 | |5 |
| 150 | |4 | 177 | |4 |
| 178 | |2 | ||
| 179 | |4 | ||
| 180 | test.c: 10|loc:299488| | ||
| 181 | | | ||
| 182 | | | ||
| 183 | | | ||
| 184 | | | ||
| 151 | 185 | ||
| 152 | UNALLOCATED LOCATIONS | 186 | UNALLOCATED LOCATIONS |
| 153 | source_location interval: 202016 <= loc < 2147483633 | 187 | location_t interval: 299520 <= loc < 2147483632 |
| 154 | 188 | ||
| 155 | MACRO 1: PLUS (7 tokens) | 189 | MACRO 3: PLUS (7 tokens) |
| 156 | source_location interval: 2147483633 <= loc < 2147483640 | 190 | location_t interval: 2147483632 <= loc < 2147483639 |
| 157 | test.c:7:11: note: expansion point is location 194115 | 191 | test.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 | ||
| 197 | test.c:7:17: note: token 0 has x-location == 287744 | ||
| 198 | 7 | int b = PLUS (3,4); | ||
| 199 | | ^ | ||
| 200 | test.c:7:17: note: token 0 has y-location == 263200 | ||
| 201 | 1: 263264, 263264 | ||
| 202 | In file included from test.c:1: | ||
| 203 | test.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 | ||
| 207 | test.c:7:19: note: token 2 has x-location == 287808 | ||
| 208 | 7 | int b = PLUS (3,4); | ||
| 209 | | ^ | ||
| 210 | test.c:7:19: note: token 2 has y-location == 263328 | ||
| 211 | 3: 0, 0 | ||
| 212 | cc1: note: token 3 has x-location == y-location == 0 | ||
| 213 | 4: 0, 0 | ||
| 214 | cc1: note: token 4 has x-location == y-location == 0 | ||
| 215 | 5: 0, 0 | ||
| 216 | cc1: note: token 5 has x-location == y-location == 0 | ||
| 217 | 6: 0, 0 | ||
| 218 | cc1: note: token 6 has x-location == y-location == 0 | ||
| 160 | 219 | ||
| 161 | map->start_location: 2147483633 | 220 | MACRO 2: PLUS (7 tokens) |
| 221 | location_t interval: 2147483639 <= loc < 2147483646 | ||
| 222 | test.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, 173088 | 227 | 0: 283648, 263200 |
| 164 | test.c:7:17: note: token 0 has x-location == 194304 | 228 | test.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 | 231 | test.c:6:17: note: token 0 has y-location == 263200 | |
| 168 | test.c:7:17: note: token 0 has y-location == 173088 | 232 | 1: 263264, 263264 |
| 169 | 1: 173152, 173152 | 233 | In file included from test.c:1: |
| 170 | In file included from test.c:1:0: | 234 | test.h:3:22: note: token 1 has x-location == y-location == 263264 |
| 171 | test.h:3:22: note: token 1 has x-location == y-location == 173152 | 235 | 3 | #define PLUS(A, B) A + B |
| 172 | #define PLUS(A, B) A + B | 236 | | ^ |
| 173 | ^ | 237 | 2: 283712, 263328 |
| 174 | 238 | test.c:6:19: note: token 2 has x-location == 283712 | |
| 175 | 2: 194368, 173216 | 239 | 6 | int a = PLUS (1,2); |
| 176 | test.c:7:19: note: token 2 has x-location == 194368 | 240 | | ^ |
| 177 | int b = PLUS (3,4); | 241 | test.c:6:19: note: token 2 has y-location == 263328 |
| 178 | ^ | 242 | 3: 0, 0 |
| 179 | 243 | cc1: note: token 3 has x-location == y-location == 0 | |
| 180 | test.c:7:19: note: token 2 has y-location == 173216 | 244 | 4: 0, 0 |
| 181 | 3: 0, 2947526575 | 245 | cc1: note: token 4 has x-location == y-location == 0 |
| 182 | cc1: note: token 3 has x-location == 0 | 246 | 5: 0, 0 |
| 183 | cc1: note: token 3 has y-location == 2947526575 | 247 | cc1: note: token 5 has x-location == y-location == 0 |
| 184 | 4: 2947526575, 2947526575 | 248 | 6: 0, 0 |
| 185 | x-location == y-location == 2947526575 encodes token # 800042942 | 249 | cc1: note: token 6 has x-location == y-location == 0 |
| 186 | 5: 2947526575, 2947526575 | 250 | |
| 187 | x-location == y-location == 2947526575 encodes token # 800042942 | 251 | MACRO 1: __GCC_IEC_559_COMPLEX (1 tokens) |
| 188 | 6: 2947526575, 2947526575 | 252 | location_t interval: 2147483646 <= loc < 2147483647 |
| 189 | x-location == y-location == 2947526575 encodes token # 800042942 | 253 | In file included from <command-line>:31: |
| 190 | 254 | /usr/include/stdc-predef.h:45:6: note: expansion point is location 180564 | |
| 191 | MACRO 0: PLUS (7 tokens) | 255 | 45 | # if __GCC_IEC_559_COMPLEX > 0 |
| 192 | source_location interval: 2147483640 <= loc < 2147483647 | 256 | | ^~~~~~~~~~~~~~~~~~~~~ |
| 193 | test.c:6:11: note: expansion point is location 190019 | 257 | 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, 173088 | 259 | 0: 1, 1 |
| 200 | test.c:6:17: note: token 0 has x-location == 190208 | 260 | <built-in>: note: token 0 has x-location == y-location == 1 |
| 201 | int a = PLUS (1,2); | 261 | |
| 202 | ^ | 262 | MACRO 0: __GCC_IEC_559 (1 tokens) |
| 203 | 263 | location_t interval: 2147483647 <= loc < 2147483648 | |
| 204 | test.c:6:17: note: token 0 has y-location == 173088 | 264 | /usr/include/stdc-predef.h:37:6: note: expansion point is location 147788 |
| 205 | 1: 173152, 173152 | 265 | 37 | # if __GCC_IEC_559 > 0 |
| 206 | In file included from test.c:1:0: | 266 | | ^~~~~~~~~~~~~ |
| 207 | test.h:3:22: note: token 1 has x-location == y-location == 173152 | 267 | map->start_location: 2147483647 |
| 208 | #define PLUS(A, B) A + B | 268 | macro_locations: |
| 209 | ^ | 269 | 0: 1, 1 |
| 210 | 270 | <built-in>: note: token 0 has x-location == y-location == 1 | |
| 211 | 2: 190272, 173216 | 271 | |
| 212 | test.c:6:19: note: token 2 has x-location == 190272 | 272 | MAX_LOCATION_T |
| 213 | int a = PLUS (1,2); | 273 | location_t interval: 2147483647 <= loc < 2147483648 |
| 214 | ^ | ||
| 215 | |||
| 216 | test.c:6:19: note: token 2 has y-location == 173216 | ||
| 217 | 3: 0, 2947526575 | ||
| 218 | cc1: note: token 3 has x-location == 0 | ||
| 219 | cc1: note: token 3 has y-location == 2947526575 | ||
| 220 | 4: 2947526575, 2947526575 | ||
| 221 | x-location == y-location == 2947526575 encodes token # 800042935 | ||
| 222 | 5: 2947526575, 2947526575 | ||
| 223 | x-location == y-location == 2947526575 encodes token # 800042935 | ||
| 224 | 6: 2947526575, 2947526575 | ||
| 225 | x-location == y-location == 2947526575 encodes token # 800042935 | ||
| 226 | |||
| 227 | MAX_SOURCE_LOCATION | ||
| 228 | source_location interval: 2147483647 <= loc < 2147483648 | ||
| 229 | 274 | ||
| 230 | AD-HOC LOCATIONS | 275 | AD-HOC LOCATIONS |
| 231 | source_location interval: 2147483648 <= loc < 4294967295 | 276 | location_t interval: 2147483648 <= loc < 4294967295 |
| 232 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 277 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| @@ -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 1986 | 4 | Based on CCCP program by Paul Rubin, June 1986 |
| 5 | Adapted to ANSI C, Richard Stallman, Jan 1987 | 5 | 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 for | 42 | 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 for | 44 | location_t *expanded_virt_locs; /* Where virtual locations for |
| 45 | expanded tokens are | 45 | 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. If | 72 | /* A pointer to the "full" location of the current token. If |
| 73 | -ftrack-macro-expansion is used this location tracks loci across | 73 | -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_P | 76 | #if CHECKING_P |
| 77 | /* The number of times the iterator went forward. This useful only | 77 | /* 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 | |||
| 85 | struct macro_arg_saved_data { | 85 | struct 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 | ||
| 92 | static const char *vaopt_paste_error = | 93 | static 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 | ||
| 245 | static int enter_macro_context (cpp_reader *, cpp_hashnode *, | 246 | static int enter_macro_context (cpp_reader *, cpp_hashnode *, |
| 246 | const cpp_token *, source_location); | 247 | const cpp_token *, location_t); |
| 247 | static int builtin_macro (cpp_reader *, cpp_hashnode *, | 248 | static int builtin_macro (cpp_reader *, cpp_hashnode *, |
| 248 | source_location, source_location); | 249 | location_t, location_t); |
| 249 | static void push_ptoken_context (cpp_reader *, cpp_hashnode *, _cpp_buff *, | 250 | static void push_ptoken_context (cpp_reader *, cpp_hashnode *, _cpp_buff *, |
| 250 | const cpp_token **, unsigned int); | 251 | const cpp_token **, unsigned int); |
| 251 | static void push_extended_tokens_context (cpp_reader *, cpp_hashnode *, | 252 | static 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); |
| 254 | static _cpp_buff *collect_args (cpp_reader *, const cpp_hashnode *, | 255 | static _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 | |||
| 259 | static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int); | 260 | static const cpp_token *new_string_token (cpp_reader *, uchar *, unsigned int); |
| 260 | static const cpp_token *stringify_arg (cpp_reader *, macro_arg *); | 261 | static const cpp_token *stringify_arg (cpp_reader *, macro_arg *); |
| 261 | static void paste_all_tokens (cpp_reader *, const cpp_token *); | 262 | static void paste_all_tokens (cpp_reader *, const cpp_token *); |
| 262 | static bool paste_tokens (cpp_reader *, source_location, | 263 | static bool paste_tokens (cpp_reader *, location_t, |
| 263 | const cpp_token **, const cpp_token *); | 264 | const cpp_token **, const cpp_token *); |
| 264 | static void alloc_expanded_arg_mem (cpp_reader *, macro_arg *, size_t); | 265 | static void alloc_expanded_arg_mem (cpp_reader *, macro_arg *, size_t); |
| 265 | static void ensure_expanded_arg_room (cpp_reader *, macro_arg *, size_t, size_t *); | 266 | static void ensure_expanded_arg_room (cpp_reader *, macro_arg *, size_t, size_t *); |
| 266 | static void delete_macro_args (_cpp_buff*, unsigned num_args); | 267 | static void delete_macro_args (_cpp_buff*, unsigned num_args); |
| 267 | static void set_arg_token (macro_arg *, const cpp_token *, | 268 | static 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); |
| 271 | static const source_location *get_arg_token_location (const macro_arg *, | 272 | static const location_t *get_arg_token_location (const macro_arg *, |
| 272 | enum macro_arg_token_kind); | 273 | enum macro_arg_token_kind); |
| 273 | static const cpp_token **arg_token_ptr_at (const macro_arg *, | 274 | static 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 | ||
| 278 | static void macro_arg_token_iter_init (macro_arg_token_iter *, bool, | 279 | static 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 **); |
| 282 | static const cpp_token *macro_arg_token_iter_get_token | 283 | static const cpp_token *macro_arg_token_iter_get_token |
| 283 | (const macro_arg_token_iter *it); | 284 | (const macro_arg_token_iter *it); |
| 284 | static source_location macro_arg_token_iter_get_location | 285 | static location_t macro_arg_token_iter_get_location |
| 285 | (const macro_arg_token_iter *); | 286 | (const macro_arg_token_iter *); |
| 286 | static void macro_arg_token_iter_forward (macro_arg_token_iter *); | 287 | static void macro_arg_token_iter_forward (macro_arg_token_iter *); |
| 287 | static _cpp_buff *tokens_buff_new (cpp_reader *, size_t, | 288 | static _cpp_buff *tokens_buff_new (cpp_reader *, size_t, |
| 288 | source_location **); | 289 | location_t **); |
| 289 | static size_t tokens_buff_count (_cpp_buff *); | 290 | static size_t tokens_buff_count (_cpp_buff *); |
| 290 | static const cpp_token **tokens_buff_last_token_ptr (_cpp_buff *); | 291 | static const cpp_token **tokens_buff_last_token_ptr (_cpp_buff *); |
| 291 | static inline const cpp_token **tokens_buff_put_token_to (const cpp_token **, | 292 | static 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 | ||
| 299 | static const cpp_token **tokens_buff_add_token (_cpp_buff *, | 300 | static 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); |
| 306 | static inline void tokens_buff_remove_last_token (_cpp_buff *); | 307 | static inline void tokens_buff_remove_last_token (_cpp_buff *); |
| 307 | static void replace_args (cpp_reader *, cpp_hashnode *, cpp_macro *, | 308 | static void replace_args (cpp_reader *, cpp_hashnode *, cpp_macro *, |
| 308 | macro_arg *, source_location); | 309 | macro_arg *, location_t); |
| 309 | static _cpp_buff *funlike_invocation_p (cpp_reader *, cpp_hashnode *, | 310 | static _cpp_buff *funlike_invocation_p (cpp_reader *, cpp_hashnode *, |
| 310 | _cpp_buff **, unsigned *); | 311 | _cpp_buff **, unsigned *); |
| 311 | static bool create_iso_definition (cpp_reader *, cpp_macro *); | 312 | static cpp_macro *create_iso_definition (cpp_reader *); |
| 312 | 313 | ||
| 313 | /* #define directive parsing and handling. */ | 314 | /* #define directive parsing and handling. */ |
| 314 | 315 | ||
| 315 | static cpp_token *alloc_expansion_token (cpp_reader *, cpp_macro *); | 316 | static cpp_macro *lex_expansion_token (cpp_reader *, cpp_macro *); |
| 316 | static cpp_token *lex_expansion_token (cpp_reader *, cpp_macro *); | ||
| 317 | static bool warn_of_redefinition (cpp_reader *, cpp_hashnode *, | 317 | static bool warn_of_redefinition (cpp_reader *, cpp_hashnode *, |
| 318 | const cpp_macro *); | 318 | const cpp_macro *); |
| 319 | static bool parse_params (cpp_reader *, cpp_macro *); | 319 | static bool parse_params (cpp_reader *, unsigned *, bool *); |
| 320 | static void check_trad_stringification (cpp_reader *, const cpp_macro *, | 320 | static void check_trad_stringification (cpp_reader *, const cpp_macro *, |
| 321 | const cpp_string *); | 321 | const cpp_string *); |
| 322 | static bool reached_end_of_context (cpp_context *); | 322 | static bool reached_end_of_context (cpp_context *); |
| 323 | static void consume_next_token_from_context (cpp_reader *pfile, | 323 | static void consume_next_token_from_context (cpp_reader *pfile, |
| 324 | const cpp_token **, | 324 | const cpp_token **, |
| 325 | source_location *); | 325 | location_t *); |
| 326 | static const cpp_token* cpp_get_token_1 (cpp_reader *, source_location *); | 326 | static const cpp_token* cpp_get_token_1 (cpp_reader *, location_t *); |
| 327 | 327 | ||
| 328 | static cpp_hashnode* macro_of_context (cpp_context *context); | 328 | static 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. */ |
| 383 | const uchar * | 383 | const 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. */ |
| 588 | static int | 588 | static int |
| 589 | builtin_macro (cpp_reader *pfile, cpp_hashnode *node, | 589 | builtin_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 for | 623 | Create a macro line map and generate a virtual location for |
| 624 | the token resulting from the expansion of the built-in | 624 | 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 is | 773 | 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. */ |
| 775 | static bool | 775 | static bool |
| 776 | paste_tokens (cpp_reader *pfile, source_location location, | 776 | paste_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 token | 846 | /* 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 | |||
| 1235 | static inline unsigned int | 1239 | static inline unsigned int |
| 1236 | macro_real_token_count (const cpp_macro *macro) | 1240 | macro_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 context | 1252 | /* 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. */ |
| 1256 | static int | 1261 | static int |
| 1257 | enter_macro_context (cpp_reader *pfile, cpp_hashnode *node, | 1262 | enter_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_tokens | 1344 | _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 expansion | 1406 | 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 the | 1412 | 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 | else | 1414 | 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 is | 1416 | the location of the expansion point of that top-level macro |
| 1429 | the location of the expansion point of that top-level macro | 1417 | 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. */ |
| 1483 | static void | 1468 | static void |
| 1484 | set_arg_token (macro_arg *arg, const cpp_token *token, | 1469 | set_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 the | 1493 | /* Get the pointer to the location of the argument token of the |
| 1509 | function-like macro argument ARG. This function must be called | 1494 | 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. */ |
| 1511 | static const source_location * | 1496 | static const location_t * |
| 1512 | get_arg_token_location (const macro_arg *arg, | 1497 | get_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 | |||
| 1531 | static const cpp_token ** | 1516 | static const cpp_token ** |
| 1532 | arg_token_ptr_at (const macro_arg *arg, size_t index, | 1517 | arg_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.*/ |
| 1641 | static source_location | 1626 | static location_t |
| 1642 | macro_arg_token_iter_get_location (const macro_arg_token_iter *it) | 1627 | macro_arg_token_iter_get_location (const macro_arg_token_iter *it) |
| 1643 | { | 1628 | { |
| 1644 | #if CHECKING_P | 1629 | #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. */ |
| 1736 | static void | 1721 | static void |
| 1737 | replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, | 1722 | replace_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 | else | 1770 | 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 of | 1798 | As far as tokens are concerned, the memory overhead of |
| 1814 | -ftrack-macro-expansion is proportional to the number of | 1799 | -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 macro | 1801 | 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 | |||
| 2231 | push_extended_tokens_context (cpp_reader *pfile, | 2216 | push_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. */ |
| 2278 | static _cpp_buff* | 2263 | static _cpp_buff* |
| 2279 | tokens_buff_new (cpp_reader *pfile, size_t len, | 2264 | tokens_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. */ |
| 2341 | static inline const cpp_token ** | 2326 | static inline const cpp_token ** |
| 2342 | tokens_buff_put_token_to (const cpp_token **dest, | 2327 | tokens_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. */ |
| 2386 | static const cpp_token ** | 2371 | static const cpp_token ** |
| 2387 | tokens_buff_add_token (_cpp_buff *buffer, | 2372 | tokens_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 | else | 2436 | 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 | |||
| 2631 | static inline void | 2616 | static inline void |
| 2632 | consume_next_token_from_context (cpp_reader *pfile, | 2617 | consume_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 returns | 2655 | location if we are in the traditional mode, and just returns |
| 2671 | LOCATION otherwise. */ | 2656 | LOCATION otherwise. */ |
| 2672 | 2657 | ||
| 2673 | static inline source_location | 2658 | static inline location_t |
| 2674 | maybe_adjust_loc_for_trad_cpp (cpp_reader *pfile, source_location location) | 2659 | maybe_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 this | 2681 | cpp_get_token_with_location to learn more about the meaning of this |
| 2697 | location. */ | 2682 | location. */ |
| 2698 | static const cpp_token* | 2683 | static const cpp_token* |
| 2699 | cpp_get_token_1 (cpp_reader *pfile, source_location *location) | 2684 | cpp_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 location | 2687 | /* 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 calls | 2690 | /* 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 that | 2691 | 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 | ||
| 2901 | const cpp_token * | 2886 | const cpp_token * |
| 2902 | cpp_get_token_with_location (cpp_reader *pfile, source_location *loc) | 2887 | cpp_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. */ |
| 2999 | static bool | 2984 | static bool |
| 3000 | warn_of_redefinition (cpp_reader *pfile, cpp_hashnode *node, | 2985 | warn_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_BUILTIN | 2994 | 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, on | 2997 | /* 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 new | 3011 | /* 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 valid | 3014 | /* 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 (¯o1->exp.tokens[i], ¯o2->exp.tokens[i])) | 3034 | if (!_cpp_equiv_tokens (¯o1->exp.tokens[i], ¯o2->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 of | 3050 | /* Save parameter NODE (spelling SPELLING) to the parameter list of |
| 3063 | macro MACRO. Returns zero on success, nonzero if the parameter is | 3051 | macro MACRO. Returns true on success, false on failure. */ |
| 3064 | a duplicate. */ | ||
| 3065 | bool | 3052 | bool |
| 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. Returns | 3089 | /* Restore the parameters to their previous state. */ |
| 3102 | false if an error occurs. */ | 3090 | void |
| 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 | |||
| 3103 | static bool | 3117 | static bool |
| 3104 | parse_params (cpp_reader *pfile, cpp_macro *macro) | 3118 | parse_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 are | 3130 | /* 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_COMMENT | 3132 | 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_pedwarning | 3201 | 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) > 0 | 3204 | 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 | else | 3215 | 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: |
| 3206 | static cpp_token * | 3220 | *n_ptr = nparms; |
| 3207 | alloc_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 we | 3225 | /* 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. */ |
| 3217 | static cpp_token * | 3227 | static cpp_macro * |
| 3218 | lex_expansion_token (cpp_reader *pfile, cpp_macro *macro) | 3228 | lex_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 = ¯o->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_NAME | 3240 | 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 | ||
| 3243 | static bool | 3255 | static cpp_macro * |
| 3244 | create_iso_definition (cpp_reader *pfile, cpp_macro *macro) | 3256 | create_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 a | 3276 | 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 *) ¯o->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 text | 3292 | /* While ISO C99 requires whitespace before replacement text |
| 3281 | in a macro definition, ISO C90 with TC1 allows characters | 3293 | 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 | else | 3300 | 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 | else | 3337 | 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 = ¯o->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 = ¯o->exp.tokens[macro->count++]; | ||
| 3351 | } | ||
| 3352 | |||
| 3332 | /* Check the stringifying # constraint 6.10.3.2.1 of | 3353 | /* 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 | else | 3411 | 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 in | 3451 | extremely rare, so efficiency is not a priority. */ |
| 3427 | sequences of consecutive such tokens at the end of the | 3452 | cpp_token *temp = (cpp_token *)_cpp_reserve_room |
| 3428 | list to preserve information about where they appear, how | 3453 | (pfile, 0, num_extra_tokens * sizeof (cpp_token)); |
| 3429 | they are spelt and whether they are preceded by | 3454 | unsigned extra_ix = 0, norm_ix = 0; |
| 3430 | whitespace without otherwise interfering with macro | 3455 | 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 | else | 3464 | 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 *) ¯o->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. */ | 3474 | cpp_macro * |
| 3454 | bool | 3475 | _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; | 3497 | bool |
| 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 | |||
| 3554 | extern void | ||
| 3555 | cpp_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 | |||
| 3567 | extern 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's | 3599 | /* 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) == len | 3629 | 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. */ | ||
| 3594 | bool | ||
| 3595 | cpp_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 format | 3641 | /* 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 2 | 3642 | 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 | |||
| 3608 | cpp_macro_definition (cpp_reader *pfile, cpp_hashnode *node) | 3647 | cpp_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_MACRO | 3654 | 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 named | 3660 | 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 = ¯o->exp.tokens[i]; | 3674 | const cpp_token *token = ¯o->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 = ¯o->exp.tokens[i]; | 3738 | const cpp_token *token = ¯o->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 | |||
| 3743 | source_location | ||
| 3744 | cpp_macro_definition_location (cpp_hashnode *node) | ||
| 3745 | { | ||
| 3746 | return node->value.macro->line; | ||
| 3747 | } | ||
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under 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\ |
| @@ -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 2000 | 3 | Contributed by Zack Weinberg, Mar 2000 |
| 4 | 4 | ||
| 5 | This program is free software; you can redistribute it and/or modify it | 5 | This program is free software; you can redistribute it and/or modify it |
| @@ -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 | ||
| 4 | This program is free software; you can redistribute it and/or modify it | 4 | This program is free software; you can redistribute it and/or modify it |
| 5 | under the terms of the GNU General Public License as published by the | 5 | under the terms of the GNU General Public License as published by the |
| @@ -50,50 +50,47 @@ static int · 44 unmodified lines | |||
| 50 | write_macdef (cpp_reader *pfile, cpp_hashnode *hn, void *file_p) | 50 | write_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) != 1 | 75 | 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) != 1 | 501 | 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're | 624 | 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 | ||
| @@ -1,6 +1,36 @@ | |||
| 1 | 2018-07-26 Release Manager | 1 | 2019-05-03 Release Manager |
| 2 | 2 | ||
| 3 | * GCC 8.2.0 released. | 3 | * GCC 9.1.0 released. |
| 4 | |||
| 5 | 2019-03-08 Joseph Myers <joseph@codesourcery.com> | ||
| 6 | |||
| 7 | * sv.po: Update. | ||
| 8 | |||
| 9 | 2019-02-14 Joseph Myers <joseph@codesourcery.com> | ||
| 10 | |||
| 11 | * da.po: Update. | ||
| 12 | |||
| 13 | 2019-02-06 Joseph Myers <joseph@codesourcery.com> | ||
| 14 | |||
| 15 | * eo.po: Update. | ||
| 16 | |||
| 17 | 2019-02-06 Joseph Myers <joseph@codesourcery.com> | ||
| 18 | |||
| 19 | * ru.po: Update. | ||
| 20 | |||
| 21 | 2019-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 | |||
| 27 | 2019-02-01 Joseph Myers <joseph@codesourcery.com> | ||
| 28 | |||
| 29 | * cpplib.pot: Regenerate. | ||
| 30 | |||
| 31 | 2018-07-25 Joseph Myers <joseph@codesourcery.com> | ||
| 32 | |||
| 33 | * cpplib.pot: Regenerate. | ||
| 4 | 34 | ||
| 5 | 2018-06-11 Joseph Myers <joseph@codesourcery.com> | 35 | 2018-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 | ||
| 13 | 2018-05-02 Release Manager | ||
| 14 | |||
| 15 | * GCC 8.1.0 released. | ||
| 16 | |||
| 17 | 2018-04-23 Joseph Myers <joseph@codesourcery.com> | 43 | 2018-04-23 Joseph Myers <joseph@codesourcery.com> |
| 18 | 44 | ||
| 19 | * cpplib.pot: Regenerate. | 45 | * cpplib.pot: Regenerate. |
Binary file not shown.
| @@ -6,7 +6,7 @@ msgid "" · 5 unmodified lines | |||
| 6 | msgstr "" | 6 | msgstr "" |
| 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 | |||
| 85 | msgid "universal character %.*s is not valid at the start of an identifier" | 85 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 86 | msgstr "" | 86 | msgstr "" |
| 87 | 87 | ||
| 88 | #: charset.c:1181 charset.c:2000 | 88 | #: charset.c:1181 charset.c:2002 |
| 89 | msgid "converting UCN to source character set" | 89 | msgid "converting UCN to source character set" |
| 90 | msgstr "" | 90 | msgstr "" |
| 91 | 91 | ||
| @@ -140,299 +140,299 @@ msgstr "" · 48 unmodified lines | |||
| 140 | msgid "missing open quote" | 140 | msgid "missing open quote" |
| 141 | msgstr "Прапушчан ідэнтыфікатар" | 141 | msgstr "Прапушчан ідэнтыфікатар" |
| 142 | 142 | ||
| 143 | #: charset.c:1827 charset.c:1891 | 143 | #: charset.c:1829 charset.c:1893 |
| 144 | #, fuzzy | 144 | #, fuzzy |
| 145 | #| msgid "character constant too long" | 145 | #| msgid "character constant too long" |
| 146 | msgid "character constant too long for its type" | 146 | msgid "character constant too long for its type" |
| 147 | msgstr "сімвальная канстанта вельмі доўгая" | 147 | msgstr "сімвальная канстанта вельмі доўгая" |
| 148 | 148 | ||
| 149 | #: charset.c:1830 | 149 | #: charset.c:1832 |
| 150 | msgid "multi-character character constant" | 150 | msgid "multi-character character constant" |
| 151 | msgstr "мнагасімвальная сімвальная канстанта" | 151 | msgstr "мнагасімвальная сімвальная канстанта" |
| 152 | 152 | ||
| 153 | #: charset.c:1931 | 153 | #: charset.c:1933 |
| 154 | msgid "empty character constant" | 154 | msgid "empty character constant" |
| 155 | msgstr "пустая сімвальная канстанта" | 155 | msgstr "пустая сімвальная канстанта" |
| 156 | 156 | ||
| 157 | #: charset.c:2047 | 157 | #: charset.c:2049 |
| 158 | #, c-format | 158 | #, c-format |
| 159 | msgid "failure to convert %s to %s" | 159 | msgid "failure to convert %s to %s" |
| 160 | msgstr "" | 160 | msgstr "" |
| 161 | 161 | ||
| 162 | #: directives.c:235 directives.c:278 | 162 | #: directives.c:229 directives.c:272 |
| 163 | #, c-format | 163 | #, c-format |
| 164 | msgid "extra tokens at end of #%s directive" | 164 | msgid "extra tokens at end of #%s directive" |
| 165 | msgstr "" | 165 | msgstr "" |
| 166 | 166 | ||
| 167 | #: directives.c:385 | 167 | #: directives.c:379 |
| 168 | #, c-format | 168 | #, c-format |
| 169 | msgid "#%s is a GCC extension" | 169 | msgid "#%s is a GCC extension" |
| 170 | msgstr "" | 170 | msgstr "" |
| 171 | 171 | ||
| 172 | #: directives.c:390 | 172 | #: directives.c:384 |
| 173 | #, c-format | 173 | #, c-format |
| 174 | msgid "#%s is a deprecated GCC extension" | 174 | msgid "#%s is a deprecated GCC extension" |
| 175 | msgstr "" | 175 | msgstr "" |
| 176 | 176 | ||
| 177 | #: directives.c:403 | 177 | #: directives.c:397 |
| 178 | msgid "suggest not using #elif in traditional C" | 178 | msgid "suggest not using #elif in traditional C" |
| 179 | msgstr "" | 179 | msgstr "" |
| 180 | 180 | ||
| 181 | #: directives.c:406 | 181 | #: directives.c:400 |
| 182 | #, c-format | 182 | #, c-format |
| 183 | msgid "traditional C ignores #%s with the # indented" | 183 | msgid "traditional C ignores #%s with the # indented" |
| 184 | msgstr "" | 184 | msgstr "" |
| 185 | 185 | ||
| 186 | #: directives.c:410 | 186 | #: directives.c:404 |
| 187 | #, c-format | 187 | #, c-format |
| 188 | msgid "suggest hiding #%s from traditional C with an indented #" | 188 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 189 | msgstr "" | 189 | msgstr "" |
| 190 | 190 | ||
| 191 | #: directives.c:436 | 191 | #: directives.c:430 |
| 192 | msgid "embedding a directive within macro arguments is not portable" | 192 | msgid "embedding a directive within macro arguments is not portable" |
| 193 | msgstr "" | 193 | msgstr "" |
| 194 | 194 | ||
| 195 | #: directives.c:456 | 195 | #: directives.c:450 |
| 196 | msgid "style of line directive is a GCC extension" | 196 | msgid "style of line directive is a GCC extension" |
| 197 | msgstr "" | 197 | msgstr "" |
| 198 | 198 | ||
| 199 | #: directives.c:537 | 199 | #: directives.c:531 |
| 200 | #, c-format | 200 | #, c-format |
| 201 | msgid "invalid preprocessing directive #%s" | 201 | msgid "invalid preprocessing directive #%s" |
| 202 | msgstr "" | 202 | msgstr "" |
| 203 | 203 | ||
| 204 | #: directives.c:606 | 204 | #: directives.c:600 |
| 205 | msgid "\"defined\" cannot be used as a macro name" | 205 | msgid "\"defined\" cannot be used as a macro name" |
| 206 | msgstr "" | 206 | msgstr "" |
| 207 | 207 | ||
| 208 | #: directives.c:611 | 208 | #: directives.c:605 |
| 209 | msgid "\"__has_include__\" cannot be used as a macro name" | 209 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 210 | msgstr "" | 210 | msgstr "" |
| 211 | 211 | ||
| 212 | #: directives.c:617 | 212 | #: directives.c:611 |
| 213 | #, c-format | 213 | #, c-format |
| 214 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 214 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 215 | msgstr "" | 215 | msgstr "" |
| 216 | 216 | ||
| 217 | #: directives.c:620 | 217 | #: directives.c:614 |
| 218 | #, c-format | 218 | #, c-format |
| 219 | msgid "no macro name given in #%s directive" | 219 | msgid "no macro name given in #%s directive" |
| 220 | msgstr "" | 220 | msgstr "" |
| 221 | 221 | ||
| 222 | #: directives.c:623 | 222 | #: directives.c:617 |
| 223 | msgid "macro names must be identifiers" | 223 | msgid "macro names must be identifiers" |
| 224 | msgstr "" | 224 | msgstr "" |
| 225 | 225 | ||
| 226 | #: directives.c:672 directives.c:677 | 226 | #: directives.c:666 directives.c:671 |
| 227 | #, c-format | 227 | #, c-format |
| 228 | msgid "undefining \"%s\"" | 228 | msgid "undefining \"%s\"" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | 230 | ||
| 231 | #: directives.c:732 | 231 | #: directives.c:727 |
| 232 | msgid "missing terminating > character" | 232 | msgid "missing terminating > character" |
| 233 | msgstr "" | 233 | msgstr "" |
| 234 | 234 | ||
| 235 | #: directives.c:791 | 235 | #: directives.c:786 |
| 236 | #, c-format | 236 | #, c-format |
| 237 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 237 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 238 | msgstr "" | 238 | msgstr "" |
| 239 | 239 | ||
| 240 | #: directives.c:837 | 240 | #: directives.c:828 |
| 241 | #, c-format | 241 | #, c-format |
| 242 | msgid "empty filename in #%s" | 242 | msgid "empty filename in #%s" |
| 243 | msgstr "" | 243 | msgstr "" |
| 244 | 244 | ||
| 245 | #: directives.c:847 | 245 | #: directives.c:835 |
| 246 | msgid "#include nested too deeply" | 246 | msgid "#include nested too deeply" |
| 247 | msgstr "" | 247 | msgstr "" |
| 248 | 248 | ||
| 249 | #: directives.c:888 | 249 | #: directives.c:877 |
| 250 | msgid "#include_next in primary source file" | 250 | msgid "#include_next in primary source file" |
| 251 | msgstr "" | 251 | msgstr "" |
| 252 | 252 | ||
| 253 | #: directives.c:914 | 253 | #: directives.c:903 |
| 254 | #, c-format | 254 | #, c-format |
| 255 | msgid "invalid flag \"%s\" in line directive" | 255 | msgid "invalid flag \"%s\" in line directive" |
| 256 | msgstr "" | 256 | msgstr "" |
| 257 | 257 | ||
| 258 | #: directives.c:974 | 258 | #: directives.c:963 |
| 259 | msgid "unexpected end of file after #line" | 259 | msgid "unexpected end of file after #line" |
| 260 | msgstr "" | 260 | msgstr "" |
| 261 | 261 | ||
| 262 | #: directives.c:977 | 262 | #: directives.c:966 |
| 263 | #, c-format | 263 | #, c-format |
| 264 | msgid "\"%s\" after #line is not a positive integer" | 264 | msgid "\"%s\" after #line is not a positive integer" |
| 265 | msgstr "" | 265 | msgstr "" |
| 266 | 266 | ||
| 267 | #: directives.c:983 directives.c:985 | 267 | #: directives.c:972 directives.c:974 |
| 268 | msgid "line number out of range" | 268 | msgid "line number out of range" |
| 269 | msgstr "" | 269 | msgstr "" |
| 270 | 270 | ||
| 271 | #: directives.c:998 directives.c:1079 | 271 | #: directives.c:987 directives.c:1068 |
| 272 | #, c-format | 272 | #, c-format |
| 273 | msgid "\"%s\" is not a valid filename" | 273 | msgid "\"%s\" is not a valid filename" |
| 274 | msgstr "" | 274 | msgstr "" |
| 275 | 275 | ||
| 276 | #: directives.c:1039 | 276 | #: directives.c:1028 |
| 277 | #, c-format | 277 | #, c-format |
| 278 | msgid "\"%s\" after # is not a positive integer" | 278 | msgid "\"%s\" after # is not a positive integer" |
| 279 | msgstr "" | 279 | msgstr "" |
| 280 | 280 | ||
| 281 | #: directives.c:1098 | 281 | #: directives.c:1087 |
| 282 | #, c-format | 282 | #, c-format |
| 283 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 283 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 284 | msgstr "" | 284 | msgstr "" |
| 285 | 285 | ||
| 286 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 286 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 287 | #, c-format | 287 | #, c-format |
| 288 | msgid "%s" | 288 | msgid "%s" |
| 289 | msgstr "" | 289 | msgstr "" |
| 290 | 290 | ||
| 291 | #: directives.c:1185 | 291 | #: directives.c:1175 |
| 292 | #, fuzzy, c-format | 292 | #, fuzzy, c-format |
| 293 | msgid "invalid #%s directive" | 293 | msgid "invalid #%s directive" |
| 294 | msgstr "нерэчаісны ініцыялізатар" | 294 | msgstr "нерэчаісны ініцыялізатар" |
| 295 | 295 | ||
| 296 | #: directives.c:1248 | 296 | #: directives.c:1238 |
| 297 | #, c-format | 297 | #, c-format |
| 298 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 298 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 299 | msgstr "" | 299 | msgstr "" |
| 300 | 300 | ||
| 301 | #: directives.c:1257 | 301 | #: directives.c:1247 |
| 302 | #, c-format | 302 | #, c-format |
| 303 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 303 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 304 | msgstr "" | 304 | msgstr "" |
| 305 | 305 | ||
| 306 | #: directives.c:1275 | 306 | #: directives.c:1265 |
| 307 | #, c-format | 307 | #, c-format |
| 308 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 308 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 309 | msgstr "" | 309 | msgstr "" |
| 310 | 310 | ||
| 311 | #: directives.c:1278 | 311 | #: directives.c:1268 |
| 312 | #, fuzzy, c-format | 312 | #, fuzzy, c-format |
| 313 | msgid "#pragma %s %s is already registered" | 313 | msgid "#pragma %s %s is already registered" |
| 314 | msgstr "Клас \"%s\" ужо існуе" | 314 | msgstr "Клас \"%s\" ужо існуе" |
| 315 | 315 | ||
| 316 | #: directives.c:1281 | 316 | #: directives.c:1271 |
| 317 | #, c-format | 317 | #, c-format |
| 318 | msgid "#pragma %s is already registered" | 318 | msgid "#pragma %s is already registered" |
| 319 | msgstr "" | 319 | msgstr "" |
| 320 | 320 | ||
| 321 | #: directives.c:1311 | 321 | #: directives.c:1301 |
| 322 | msgid "registering pragma with NULL handler" | 322 | msgid "registering pragma with NULL handler" |
| 323 | msgstr "" | 323 | msgstr "" |
| 324 | 324 | ||
| 325 | #: directives.c:1528 | 325 | #: directives.c:1518 |
| 326 | msgid "#pragma once in main file" | 326 | msgid "#pragma once in main file" |
| 327 | msgstr "" | 327 | msgstr "" |
| 328 | 328 | ||
| 329 | #: directives.c:1551 | 329 | #: directives.c:1541 |
| 330 | #, fuzzy | 330 | #, fuzzy |
| 331 | msgid "invalid #pragma push_macro directive" | 331 | msgid "invalid #pragma push_macro directive" |
| 332 | msgstr "нерэчаісны ініцыялізатар" | 332 | msgstr "нерэчаісны ініцыялізатар" |
| 333 | 333 | ||
| 334 | #: directives.c:1606 | 334 | #: directives.c:1596 |
| 335 | #, fuzzy | 335 | #, fuzzy |
| 336 | msgid "invalid #pragma pop_macro directive" | 336 | msgid "invalid #pragma pop_macro directive" |
| 337 | msgstr "нерэчаісны ініцыялізатар" | 337 | msgstr "нерэчаісны ініцыялізатар" |
| 338 | 338 | ||
| 339 | #: directives.c:1661 | 339 | #: directives.c:1651 |
| 340 | msgid "invalid #pragma GCC poison directive" | 340 | msgid "invalid #pragma GCC poison directive" |
| 341 | msgstr "" | 341 | msgstr "" |
| 342 | 342 | ||
| 343 | #: directives.c:1670 | 343 | #: directives.c:1660 |
| 344 | #, c-format | 344 | #, c-format |
| 345 | msgid "poisoning existing macro \"%s\"" | 345 | msgid "poisoning existing macro \"%s\"" |
| 346 | msgstr "" | 346 | msgstr "" |
| 347 | 347 | ||
| 348 | #: directives.c:1689 | 348 | #: directives.c:1679 |
| 349 | msgid "#pragma system_header ignored outside include file" | 349 | msgid "#pragma system_header ignored outside include file" |
| 350 | msgstr "" | 350 | msgstr "" |
| 351 | 351 | ||
| 352 | #: directives.c:1714 | 352 | #: directives.c:1704 |
| 353 | #, fuzzy, c-format | 353 | #, fuzzy, c-format |
| 354 | #| msgid "cannot find source %s" | 354 | #| msgid "cannot find source %s" |
| 355 | msgid "cannot find source file %s" | 355 | msgid "cannot find source file %s" |
| 356 | msgstr "не магу знайсці крыніцу %s" | 356 | msgstr "не магу знайсці крыніцу %s" |
| 357 | 357 | ||
| 358 | #: directives.c:1718 | 358 | #: directives.c:1708 |
| 359 | #, c-format | 359 | #, c-format |
| 360 | msgid "current file is older than %s" | 360 | msgid "current file is older than %s" |
| 361 | msgstr "" | 361 | msgstr "" |
| 362 | 362 | ||
| 363 | #: directives.c:1742 | 363 | #: directives.c:1732 |
| 364 | #, fuzzy, c-format | 364 | #, fuzzy, c-format |
| 365 | msgid "invalid \"#pragma GCC %s\" directive" | 365 | msgid "invalid \"#pragma GCC %s\" directive" |
| 366 | msgstr "нерэчаісны ініцыялізатар" | 366 | msgstr "нерэчаісны ініцыялізатар" |
| 367 | 367 | ||
| 368 | #: directives.c:1943 | 368 | #: directives.c:1933 |
| 369 | msgid "_Pragma takes a parenthesized string literal" | 369 | msgid "_Pragma takes a parenthesized string literal" |
| 370 | msgstr "" | 370 | msgstr "" |
| 371 | 371 | ||
| 372 | #: directives.c:2064 | 372 | #: directives.c:2021 |
| 373 | msgid "#else without #if" | 373 | msgid "#else without #if" |
| 374 | msgstr "" | 374 | msgstr "" |
| 375 | 375 | ||
| 376 | #: directives.c:2069 | 376 | #: directives.c:2026 |
| 377 | msgid "#else after #else" | 377 | msgid "#else after #else" |
| 378 | msgstr "" | 378 | msgstr "" |
| 379 | 379 | ||
| 380 | #: directives.c:2071 directives.c:2104 | 380 | #: directives.c:2028 directives.c:2061 |
| 381 | msgid "the conditional began here" | 381 | msgid "the conditional began here" |
| 382 | msgstr "" | 382 | msgstr "" |
| 383 | 383 | ||
| 384 | #: directives.c:2097 | 384 | #: directives.c:2054 |
| 385 | msgid "#elif without #if" | 385 | msgid "#elif without #if" |
| 386 | msgstr "" | 386 | msgstr "" |
| 387 | 387 | ||
| 388 | #: directives.c:2102 | 388 | #: directives.c:2059 |
| 389 | msgid "#elif after #else" | 389 | msgid "#elif after #else" |
| 390 | msgstr "" | 390 | msgstr "" |
| 391 | 391 | ||
| 392 | #: directives.c:2133 | 392 | #: directives.c:2090 |
| 393 | msgid "#endif without #if" | 393 | msgid "#endif without #if" |
| 394 | msgstr "" | 394 | msgstr "" |
| 395 | 395 | ||
| 396 | #: directives.c:2213 | 396 | #: directives.c:2166 |
| 397 | msgid "missing '(' after predicate" | 397 | msgid "missing '(' after predicate" |
| 398 | msgstr "" | 398 | msgstr "" |
| 399 | 399 | ||
| 400 | #: directives.c:2228 | 400 | #: directives.c:2184 |
| 401 | msgid "missing ')' to complete answer" | 401 | msgid "missing ')' to complete answer" |
| 402 | msgstr "" | 402 | msgstr "" |
| 403 | 403 | ||
| 404 | #: directives.c:2248 | 404 | #: directives.c:2196 |
| 405 | msgid "predicate's answer is empty" | 405 | msgid "predicate's answer is empty" |
| 406 | msgstr "" | 406 | msgstr "" |
| 407 | 407 | ||
| 408 | #: directives.c:2275 | 408 | #: directives.c:2226 |
| 409 | msgid "assertion without predicate" | 409 | msgid "assertion without predicate" |
| 410 | msgstr "" | 410 | msgstr "" |
| 411 | 411 | ||
| 412 | #: directives.c:2278 | 412 | #: directives.c:2229 |
| 413 | msgid "predicate must be an identifier" | 413 | msgid "predicate must be an identifier" |
| 414 | msgstr "" | 414 | msgstr "" |
| 415 | 415 | ||
| 416 | #: directives.c:2364 | 416 | #: directives.c:2311 |
| 417 | #, c-format | 417 | #, c-format |
| 418 | msgid "\"%s\" re-asserted" | 418 | msgid "\"%s\" re-asserted" |
| 419 | msgstr "" | 419 | msgstr "" |
| 420 | 420 | ||
| 421 | #: directives.c:2656 | 421 | #: directives.c:2587 |
| 422 | #, c-format | 422 | #, c-format |
| 423 | msgid "unterminated #%s" | 423 | msgid "unterminated #%s" |
| 424 | msgstr "" | 424 | msgstr "" |
| 425 | 425 | ||
| 426 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 426 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 427 | msgid "unterminated comment" | 427 | msgid "unterminated comment" |
| 428 | msgstr "незавершаныя каментарыі" | 428 | msgstr "незавершаныя каментарыі" |
| 429 | 429 | ||
| 430 | #: errors.c:284 | 430 | #: errors.c:291 |
| 431 | #, c-format | 431 | #, c-format |
| 432 | msgid "%s: %s" | 432 | msgid "%s: %s" |
| 433 | msgstr "" | 433 | msgstr "" |
| 434 | 434 | ||
| 435 | #: errors.c:296 | 435 | #: errors.c:304 |
| 436 | msgid "stdout" | 436 | msgid "stdout" |
| 437 | msgstr "" | 437 | msgstr "" |
| 438 | 438 | ||
| @@ -529,86 +529,86 @@ msgstr "" · 90 unmodified lines | |||
| 529 | msgid "this use of \"defined\" may not be portable" | 529 | msgid "this use of \"defined\" may not be portable" |
| 530 | msgstr "" | 530 | msgstr "" |
| 531 | 531 | ||
| 532 | #: expr.c:1125 | 532 | #: expr.c:1109 |
| 533 | msgid "user-defined literal in preprocessor expression" | 533 | msgid "user-defined literal in preprocessor expression" |
| 534 | msgstr "" | 534 | msgstr "" |
| 535 | 535 | ||
| 536 | #: expr.c:1130 | 536 | #: expr.c:1114 |
| 537 | msgid "floating constant in preprocessor expression" | 537 | msgid "floating constant in preprocessor expression" |
| 538 | msgstr "" | 538 | msgstr "" |
| 539 | 539 | ||
| 540 | #: expr.c:1136 | 540 | #: expr.c:1120 |
| 541 | msgid "imaginary number in preprocessor expression" | 541 | msgid "imaginary number in preprocessor expression" |
| 542 | msgstr "" | 542 | msgstr "" |
| 543 | 543 | ||
| 544 | #: expr.c:1189 | 544 | #: expr.c:1173 |
| 545 | #, c-format | 545 | #, c-format |
| 546 | msgid "\"%s\" is not defined, evaluates to 0" | 546 | msgid "\"%s\" is not defined, evaluates to 0" |
| 547 | msgstr "" | 547 | msgstr "" |
| 548 | 548 | ||
| 549 | #: expr.c:1202 | 549 | #: expr.c:1186 |
| 550 | msgid "assertions are a GCC extension" | 550 | msgid "assertions are a GCC extension" |
| 551 | msgstr "" | 551 | msgstr "" |
| 552 | 552 | ||
| 553 | #: expr.c:1205 | 553 | #: expr.c:1189 |
| 554 | msgid "assertions are a deprecated extension" | 554 | msgid "assertions are a deprecated extension" |
| 555 | msgstr "" | 555 | msgstr "" |
| 556 | 556 | ||
| 557 | #: expr.c:1451 | 557 | #: expr.c:1435 |
| 558 | #, fuzzy, c-format | 558 | #, fuzzy, c-format |
| 559 | #| msgid "unbalanced #endif" | 559 | #| msgid "unbalanced #endif" |
| 560 | msgid "unbalanced stack in %s" | 560 | msgid "unbalanced stack in %s" |
| 561 | msgstr "незбалансаваны #endif" | 561 | msgstr "незбалансаваны #endif" |
| 562 | 562 | ||
| 563 | #: expr.c:1471 | 563 | #: expr.c:1455 |
| 564 | #, fuzzy, c-format | 564 | #, fuzzy, c-format |
| 565 | #| msgid "impossible operator '%s'" | 565 | #| msgid "impossible operator '%s'" |
| 566 | msgid "impossible operator '%u'" | 566 | msgid "impossible operator '%u'" |
| 567 | msgstr "немагчымы апэратар '%s'" | 567 | msgstr "немагчымы апэратар '%s'" |
| 568 | 568 | ||
| 569 | #: expr.c:1572 | 569 | #: expr.c:1556 |
| 570 | msgid "missing ')' in expression" | 570 | msgid "missing ')' in expression" |
| 571 | msgstr "" | 571 | msgstr "" |
| 572 | 572 | ||
| 573 | #: expr.c:1601 | 573 | #: expr.c:1585 |
| 574 | msgid "'?' without following ':'" | 574 | msgid "'?' without following ':'" |
| 575 | msgstr "" | 575 | msgstr "" |
| 576 | 576 | ||
| 577 | #: expr.c:1611 | 577 | #: expr.c:1595 |
| 578 | msgid "integer overflow in preprocessor expression" | 578 | msgid "integer overflow in preprocessor expression" |
| 579 | msgstr "" | 579 | msgstr "" |
| 580 | 580 | ||
| 581 | #: expr.c:1616 | 581 | #: expr.c:1600 |
| 582 | msgid "missing '(' in expression" | 582 | msgid "missing '(' in expression" |
| 583 | msgstr "" | 583 | msgstr "" |
| 584 | 584 | ||
| 585 | #: expr.c:1648 | 585 | #: expr.c:1632 |
| 586 | #, c-format | 586 | #, c-format |
| 587 | msgid "the left operand of \"%s\" changes sign when promoted" | 587 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 588 | msgstr "" | 588 | msgstr "" |
| 589 | 589 | ||
| 590 | #: expr.c:1653 | 590 | #: expr.c:1637 |
| 591 | #, c-format | 591 | #, c-format |
| 592 | msgid "the right operand of \"%s\" changes sign when promoted" | 592 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 593 | msgstr "" | 593 | msgstr "" |
| 594 | 594 | ||
| 595 | #: expr.c:1912 | 595 | #: expr.c:1896 |
| 596 | msgid "traditional C rejects the unary plus operator" | 596 | msgid "traditional C rejects the unary plus operator" |
| 597 | msgstr "" | 597 | msgstr "" |
| 598 | 598 | ||
| 599 | #: expr.c:2010 | 599 | #: expr.c:1994 |
| 600 | msgid "comma operator in operand of #if" | 600 | msgid "comma operator in operand of #if" |
| 601 | msgstr "" | 601 | msgstr "" |
| 602 | 602 | ||
| 603 | #: expr.c:2146 | 603 | #: expr.c:2130 |
| 604 | msgid "division by zero in #if" | 604 | msgid "division by zero in #if" |
| 605 | msgstr "" | 605 | msgstr "" |
| 606 | 606 | ||
| 607 | #: expr.c:2243 | 607 | #: expr.c:2227 |
| 608 | msgid "operator \"__has_include__\" requires a header string" | 608 | msgid "operator \"__has_include__\" requires a header string" |
| 609 | msgstr "" | 609 | msgstr "" |
| 610 | 610 | ||
| 611 | #: expr.c:2259 | 611 | #: expr.c:2243 |
| 612 | msgid "missing ')' after \"__has_include__\"" | 612 | msgid "missing ')' after \"__has_include__\"" |
| 613 | msgstr "" | 613 | msgstr "" |
| 614 | 614 | ||
| @@ -625,40 +625,40 @@ msgstr "" · 10 unmodified lines | |||
| 625 | msgid "no include path in which to search for %s" | 625 | msgid "no include path in which to search for %s" |
| 626 | msgstr "" | 626 | msgstr "" |
| 627 | 627 | ||
| 628 | #: files.c:1441 | 628 | #: files.c:1455 |
| 629 | msgid "Multiple include guards may be useful for:\n" | 629 | msgid "Multiple include guards may be useful for:\n" |
| 630 | msgstr "" | 630 | msgstr "" |
| 631 | 631 | ||
| 632 | #: init.c:565 | 632 | #: init.c:569 |
| 633 | msgid "cppchar_t must be an unsigned type" | 633 | msgid "cppchar_t must be an unsigned type" |
| 634 | msgstr "" | 634 | msgstr "" |
| 635 | 635 | ||
| 636 | #: init.c:569 | 636 | #: init.c:573 |
| 637 | #, c-format | 637 | #, c-format |
| 638 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 638 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 639 | msgstr "" | 639 | msgstr "" |
| 640 | 640 | ||
| 641 | #: init.c:576 | 641 | #: init.c:580 |
| 642 | msgid "CPP arithmetic must be at least as precise as a target int" | 642 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 643 | msgstr "" | 643 | msgstr "" |
| 644 | 644 | ||
| 645 | #: init.c:579 | 645 | #: init.c:583 |
| 646 | msgid "target char is less than 8 bits wide" | 646 | msgid "target char is less than 8 bits wide" |
| 647 | msgstr "" | 647 | msgstr "" |
| 648 | 648 | ||
| 649 | #: init.c:583 | 649 | #: init.c:587 |
| 650 | msgid "target wchar_t is narrower than target char" | 650 | msgid "target wchar_t is narrower than target char" |
| 651 | msgstr "" | 651 | msgstr "" |
| 652 | 652 | ||
| 653 | #: init.c:587 | 653 | #: init.c:591 |
| 654 | msgid "target int is narrower than target char" | 654 | msgid "target int is narrower than target char" |
| 655 | msgstr "" | 655 | msgstr "" |
| 656 | 656 | ||
| 657 | #: init.c:592 | 657 | #: init.c:596 |
| 658 | msgid "CPP half-integer narrower than CPP character" | 658 | msgid "CPP half-integer narrower than CPP character" |
| 659 | msgstr "" | 659 | msgstr "" |
| 660 | 660 | ||
| 661 | #: init.c:596 | 661 | #: init.c:600 |
| 662 | #, c-format | 662 | #, c-format |
| 663 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 663 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 664 | msgstr "" | 664 | msgstr "" |
| @@ -731,264 +731,265 @@ msgstr "" · 66 unmodified lines | |||
| 731 | msgid "identifier \"%s\" is a special operator name in C++" | 731 | msgid "identifier \"%s\" is a special operator name in C++" |
| 732 | msgstr "" | 732 | msgstr "" |
| 733 | 733 | ||
| 734 | #: lex.c:1811 | 734 | #: lex.c:1826 |
| 735 | msgid "raw string delimiter longer than 16 characters" | 735 | msgid "raw string delimiter longer than 16 characters" |
| 736 | msgstr "" | 736 | msgstr "" |
| 737 | 737 | ||
| 738 | #: lex.c:1815 | 738 | #: lex.c:1830 |
| 739 | msgid "invalid new-line in raw string delimiter" | 739 | msgid "invalid new-line in raw string delimiter" |
| 740 | msgstr "" | 740 | msgstr "" |
| 741 | 741 | ||
| 742 | #: lex.c:1819 | 742 | #: lex.c:1834 |
| 743 | #, fuzzy, c-format | 743 | #, fuzzy, c-format |
| 744 | msgid "invalid character '%c' in raw string delimiter" | 744 | msgid "invalid character '%c' in raw string delimiter" |
| 745 | msgstr "сімвальная канстанта вельмі доўгая" | 745 | msgstr "сімвальная канстанта вельмі доўгая" |
| 746 | 746 | ||
| 747 | #: lex.c:1868 lex.c:1890 | 747 | #: lex.c:1883 lex.c:1905 |
| 748 | #, fuzzy | 748 | #, fuzzy |
| 749 | #| msgid "unterminated comment" | 749 | #| msgid "unterminated comment" |
| 750 | msgid "unterminated raw string" | 750 | msgid "unterminated raw string" |
| 751 | msgstr "незавершаныя каментарыі" | 751 | msgstr "незавершаныя каментарыі" |
| 752 | 752 | ||
| 753 | #: lex.c:1912 lex.c:2043 | 753 | #: lex.c:1925 lex.c:2054 |
| 754 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 754 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 755 | msgstr "" | 755 | msgstr "" |
| 756 | 756 | ||
| 757 | #: lex.c:2024 | 757 | #: lex.c:2037 |
| 758 | msgid "null character(s) preserved in literal" | 758 | msgid "null character(s) preserved in literal" |
| 759 | msgstr "" | 759 | msgstr "" |
| 760 | 760 | ||
| 761 | #: lex.c:2027 | 761 | #: lex.c:2040 |
| 762 | #, c-format | 762 | #, c-format |
| 763 | msgid "missing terminating %c character" | 763 | msgid "missing terminating %c character" |
| 764 | msgstr "прапушчан завяршаючы сімвал %c" | 764 | msgstr "прапушчан завяршаючы сімвал %c" |
| 765 | 765 | ||
| 766 | #: lex.c:2061 | 766 | #: lex.c:2072 |
| 767 | msgid "C++11 requires a space between string literal and macro" | 767 | msgid "C++11 requires a space between string literal and macro" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: lex.c:2865 lex.c:2899 | 770 | #: lex.c:2876 lex.c:2910 |
| 771 | msgid "C++ style comments are not allowed in ISO C90" | 771 | msgid "C++ style comments are not allowed in ISO C90" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 774 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 775 | msgid "(this will be reported only once per input file)" | 775 | msgid "(this will be reported only once per input file)" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: lex.c:2876 | 778 | #: lex.c:2887 |
| 779 | msgid "C++ style comments are incompatible with C90" | 779 | msgid "C++ style comments are incompatible with C90" |
| 780 | msgstr "" | 780 | msgstr "" |
| 781 | 781 | ||
| 782 | #: lex.c:2907 | 782 | #: lex.c:2919 |
| 783 | msgid "multi-line comment" | 783 | msgid "multi-line comment" |
| 784 | msgstr "" | 784 | msgstr "" |
| 785 | 785 | ||
| 786 | #: lex.c:3287 | 786 | #: lex.c:3299 |
| 787 | #, fuzzy, c-format | 787 | #, fuzzy, c-format |
| 788 | msgid "unspellable token %s" | 788 | msgid "unspellable token %s" |
| 789 | msgstr "немагу адчыніць файл \"%s\"" | 789 | msgstr "немагу адчыніць файл \"%s\"" |
| 790 | 790 | ||
| 791 | #: macro.c:93 | 791 | #: macro.c:94 |
| 792 | msgid "'##' cannot appear at either end of __VA_OPT__" | 792 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 793 | msgstr "" | 793 | msgstr "" |
| 794 | 794 | ||
| 795 | #: macro.c:352 | 795 | #: macro.c:354 |
| 796 | #, c-format | 796 | #, c-format |
| 797 | msgid "macro \"%s\" is not used" | 797 | msgid "macro \"%s\" is not used" |
| 798 | msgstr "" | 798 | msgstr "" |
| 799 | 799 | ||
| 800 | #: macro.c:391 macro.c:639 | 800 | #: macro.c:393 macro.c:641 |
| 801 | #, c-format | 801 | #, c-format |
| 802 | msgid "invalid built-in macro \"%s\"" | 802 | msgid "invalid built-in macro \"%s\"" |
| 803 | msgstr "" | 803 | msgstr "" |
| 804 | 804 | ||
| 805 | #: macro.c:398 macro.c:500 | 805 | #: macro.c:400 macro.c:502 |
| 806 | #, c-format | 806 | #, c-format |
| 807 | msgid "macro \"%s\" might prevent reproducible builds" | 807 | msgid "macro \"%s\" might prevent reproducible builds" |
| 808 | msgstr "" | 808 | msgstr "" |
| 809 | 809 | ||
| 810 | #: macro.c:429 | 810 | #: macro.c:431 |
| 811 | #, fuzzy | 811 | #, fuzzy |
| 812 | msgid "could not determine file timestamp" | 812 | msgid "could not determine file timestamp" |
| 813 | msgstr "не магу знайсці крыніцу %s\n" | 813 | msgstr "не магу знайсці крыніцу %s\n" |
| 814 | 814 | ||
| 815 | #: macro.c:546 | 815 | #: macro.c:548 |
| 816 | #, fuzzy | 816 | #, fuzzy |
| 817 | #| msgid "Could not open data file %s.\n" | 817 | #| msgid "Could not open data file %s.\n" |
| 818 | msgid "could not determine date and time" | 818 | msgid "could not determine date and time" |
| 819 | msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n" | 819 | msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n" |
| 820 | 820 | ||
| 821 | #: macro.c:562 | 821 | #: macro.c:564 |
| 822 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 822 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 823 | msgstr "" | 823 | msgstr "" |
| 824 | 824 | ||
| 825 | #: macro.c:758 | 825 | #: macro.c:760 |
| 826 | msgid "invalid string literal, ignoring final '\\'" | 826 | msgid "invalid string literal, ignoring final '\\'" |
| 827 | msgstr "" | 827 | msgstr "" |
| 828 | 828 | ||
| 829 | #: macro.c:820 | 829 | #: macro.c:822 |
| 830 | #, c-format | 830 | #, c-format |
| 831 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 831 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 832 | msgstr "" | 832 | msgstr "" |
| 833 | 833 | ||
| 834 | #: macro.c:946 | 834 | #: macro.c:948 |
| 835 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 835 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 836 | msgstr "" | 836 | msgstr "" |
| 837 | 837 | ||
| 838 | #: macro.c:950 | 838 | #: macro.c:952 |
| 839 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 839 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 840 | msgstr "" | 840 | msgstr "" |
| 841 | 841 | ||
| 842 | #: macro.c:957 | 842 | #: macro.c:959 |
| 843 | #, c-format | 843 | #, c-format |
| 844 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 844 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 845 | msgstr "" | 845 | msgstr "" |
| 846 | 846 | ||
| 847 | #: macro.c:962 | 847 | #: macro.c:964 |
| 848 | #, c-format | 848 | #, c-format |
| 849 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 849 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 850 | msgstr "" | 850 | msgstr "" |
| 851 | 851 | ||
| 852 | #: macro.c:1156 traditional.c:819 | 852 | #: macro.c:1162 traditional.c:827 |
| 853 | #, c-format | 853 | #, c-format |
| 854 | msgid "unterminated argument list invoking macro \"%s\"" | 854 | msgid "unterminated argument list invoking macro \"%s\"" |
| 855 | msgstr "" | 855 | msgstr "" |
| 856 | 856 | ||
| 857 | #: macro.c:1307 | 857 | #: macro.c:1304 |
| 858 | #, c-format | 858 | #, c-format |
| 859 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 859 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 860 | msgstr "" | 860 | msgstr "" |
| 861 | 861 | ||
| 862 | #: macro.c:2003 | 862 | #: macro.c:2083 |
| 863 | #, c-format | 863 | #, c-format |
| 864 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 864 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 865 | msgstr "" | 865 | msgstr "" |
| 866 | 866 | ||
| 867 | #: macro.c:2011 macro.c:2020 | 867 | #: macro.c:2091 macro.c:2100 |
| 868 | #, c-format | 868 | #, c-format |
| 869 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 869 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 870 | msgstr "" | 870 | msgstr "" |
| 871 | 871 | ||
| 872 | #: macro.c:2984 | 872 | #: macro.c:3059 |
| 873 | #, c-format | 873 | #, c-format |
| 874 | msgid "duplicate macro parameter \"%s\"" | 874 | msgid "duplicate macro parameter \"%s\"" |
| 875 | msgstr "" | 875 | msgstr "" |
| 876 | 876 | ||
| 877 | #: macro.c:3033 | 877 | #: macro.c:3141 |
| 878 | #, fuzzy, c-format | ||
| 879 | msgid "expected parameter name, found \"%s\"" | ||
| 880 | msgstr "віртуальныя функцыі не могуць быць сяброўскімі" | ||
| 881 | |||
| 882 | #: macro.c:3142 | ||
| 878 | #, c-format | 883 | #, c-format |
| 879 | msgid "\"%s\" may not appear in macro parameter list" | 884 | msgid "expected ',' or ')', found \"%s\"" |
| 880 | msgstr "" | 885 | msgstr "" |
| 881 | 886 | ||
| 882 | #: macro.c:3041 | 887 | #: macro.c:3143 |
| 883 | msgid "macro parameters must be comma-separated" | 888 | #, fuzzy |
| 889 | msgid "expected parameter name before end of line" | ||
| 890 | msgstr "віртуальныя функцыі не могуць быць сяброўскімі" | ||
| 891 | |||
| 892 | #: macro.c:3144 | ||
| 893 | msgid "expected ')' before end of line" | ||
| 884 | msgstr "" | 894 | msgstr "" |
| 885 | 895 | ||
| 886 | #: macro.c:3060 | 896 | #: macro.c:3145 |
| 887 | msgid "parameter name missing" | 897 | msgid "expected ')' after \"...\"" |
| 888 | msgstr "" | 898 | msgstr "" |
| 889 | 899 | ||
| 890 | #: macro.c:3081 | 900 | #: macro.c:3202 |
| 891 | msgid "anonymous variadic macros were introduced in C++11" | 901 | msgid "anonymous variadic macros were introduced in C++11" |
| 892 | msgstr "" | 902 | msgstr "" |
| 893 | 903 | ||
| 894 | #: macro.c:3085 macro.c:3090 | 904 | #: macro.c:3203 macro.c:3207 |
| 895 | msgid "anonymous variadic macros were introduced in C99" | 905 | msgid "anonymous variadic macros were introduced in C99" |
| 896 | msgstr "" | 906 | msgstr "" |
| 897 | 907 | ||
| 898 | #: macro.c:3097 | 908 | #: macro.c:3213 |
| 899 | #, fuzzy | 909 | #, fuzzy |
| 900 | msgid "ISO C++ does not permit named variadic macros" | 910 | msgid "ISO C++ does not permit named variadic macros" |
| 901 | msgstr "ISO C89 не падтрымлівае \"long long\"" | 911 | msgstr "ISO C89 не падтрымлівае \"long long\"" |
| 902 | 912 | ||
| 903 | #: macro.c:3100 | 913 | #: macro.c:3214 |
| 904 | msgid "ISO C does not permit named variadic macros" | 914 | msgid "ISO C does not permit named variadic macros" |
| 905 | msgstr "" | 915 | msgstr "" |
| 906 | 916 | ||
| 907 | #: macro.c:3110 | 917 | #: macro.c:3260 |
| 908 | msgid "missing ')' in macro parameter list" | ||
| 909 | msgstr "" | ||
| 910 | |||
| 911 | #: macro.c:3161 | ||
| 912 | msgid "'##' cannot appear at either end of a macro expansion" | 918 | msgid "'##' cannot appear at either end of a macro expansion" |
| 913 | msgstr "" | 919 | msgstr "" |
| 914 | 920 | ||
| 915 | #: macro.c:3198 | 921 | #: macro.c:3298 |
| 916 | msgid "ISO C++11 requires whitespace after the macro name" | 922 | msgid "ISO C++11 requires whitespace after the macro name" |
| 917 | msgstr "" | 923 | msgstr "" |
| 918 | 924 | ||
| 919 | #: macro.c:3201 | 925 | #: macro.c:3299 |
| 920 | msgid "ISO C99 requires whitespace after the macro name" | 926 | msgid "ISO C99 requires whitespace after the macro name" |
| 921 | msgstr "" | 927 | msgstr "" |
| 922 | 928 | ||
| 923 | #: macro.c:3226 | 929 | #: macro.c:3323 |
| 924 | #, fuzzy | 930 | #, fuzzy |
| 925 | #| msgid "missing white space after number '%.*s'" | 931 | #| msgid "missing white space after number '%.*s'" |
| 926 | msgid "missing whitespace after the macro name" | 932 | msgid "missing whitespace after the macro name" |
| 927 | msgstr "прапушчан прабел пасля нумара \"%.*s\"" | 933 | msgstr "прапушчан прабел пасля нумара \"%.*s\"" |
| 928 | 934 | ||
| 929 | #: macro.c:3263 | 935 | #: macro.c:3373 |
| 930 | msgid "'#' is not followed by a macro parameter" | 936 | msgid "'#' is not followed by a macro parameter" |
| 931 | msgstr "" | 937 | msgstr "" |
| 932 | 938 | ||
| 933 | #: macro.c:3430 | 939 | #: macro.c:3524 |
| 934 | #, c-format | 940 | #, c-format |
| 935 | msgid "\"%s\" redefined" | 941 | msgid "\"%s\" redefined" |
| 936 | msgstr "" | 942 | msgstr "" |
| 937 | 943 | ||
| 938 | #: macro.c:3435 | 944 | #: macro.c:3529 |
| 939 | msgid "this is the location of the previous definition" | 945 | msgid "this is the location of the previous definition" |
| 940 | msgstr "" | 946 | msgstr "" |
| 941 | 947 | ||
| 942 | #: macro.c:3496 | 948 | #: macro.c:3633 |
| 943 | #, c-format | 949 | #, c-format |
| 944 | msgid "macro argument \"%s\" would be stringified in traditional C" | 950 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 945 | msgstr "" | 951 | msgstr "" |
| 946 | 952 | ||
| 947 | #: macro.c:3532 | 953 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 948 | #, c-format | ||
| 949 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 950 | msgstr "" | ||
| 951 | |||
| 952 | #: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401 | ||
| 953 | msgid "while writing precompiled header" | 954 | msgid "while writing precompiled header" |
| 954 | msgstr "" | 955 | msgstr "" |
| 955 | 956 | ||
| 956 | #: pch.c:621 | 957 | #: pch.c:616 |
| 957 | #, c-format | 958 | #, c-format |
| 958 | msgid "%s: not used because `%.*s' is poisoned" | 959 | msgid "%s: not used because `%.*s' is poisoned" |
| 959 | msgstr "" | 960 | msgstr "" |
| 960 | 961 | ||
| 961 | #: pch.c:643 | 962 | #: pch.c:638 |
| 962 | #, fuzzy, c-format | 963 | #, fuzzy, c-format |
| 963 | #| msgid "label `%s' used but not defined" | 964 | #| msgid "label `%s' used but not defined" |
| 964 | msgid "%s: not used because `%.*s' not defined" | 965 | msgid "%s: not used because `%.*s' not defined" |
| 965 | msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" | 966 | msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" |
| 966 | 967 | ||
| 967 | #: pch.c:655 | 968 | #: pch.c:650 |
| 968 | #, c-format | 969 | #, c-format |
| 969 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 970 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 970 | msgstr "" | 971 | msgstr "" |
| 971 | 972 | ||
| 972 | #: pch.c:696 | 973 | #: pch.c:691 |
| 973 | #, c-format | 974 | #, c-format |
| 974 | msgid "%s: not used because `%s' is defined" | 975 | msgid "%s: not used because `%s' is defined" |
| 975 | msgstr "" | 976 | msgstr "" |
| 976 | 977 | ||
| 977 | #: pch.c:716 | 978 | #: pch.c:711 |
| 978 | #, c-format | 979 | #, c-format |
| 979 | msgid "%s: not used because `__COUNTER__' is invalid" | 980 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 980 | msgstr "" | 981 | msgstr "" |
| 981 | 982 | ||
| 982 | #: pch.c:725 pch.c:903 | 983 | #: pch.c:720 pch.c:878 |
| 983 | msgid "while reading precompiled header" | 984 | msgid "while reading precompiled header" |
| 984 | msgstr "" | 985 | msgstr "" |
| 985 | 986 | ||
| 986 | #: traditional.c:889 | 987 | #: traditional.c:896 |
| 987 | #, c-format | 988 | #, c-format |
| 988 | msgid "detected recursion whilst expanding macro \"%s\"" | 989 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 989 | msgstr "" | 990 | msgstr "" |
| 990 | 991 | ||
| 991 | #: traditional.c:1108 | 992 | #: traditional.c:1119 |
| 992 | msgid "syntax error in macro parameter list" | 993 | msgid "syntax error in macro parameter list" |
| 993 | msgstr "" | 994 | msgstr "" |
| 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 | ||
Binary file not shown.
| @@ -11,7 +11,7 @@ msgid "" · 10 unmodified lines | |||
| 11 | msgstr "" | 11 | msgstr "" |
| 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 | |||
| 92 | msgid "universal character %.*s is not valid at the start of an identifier" | 92 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 93 | msgstr "el nom de car�cter universal %.*s no �s v�lid a l'inici d'un identificador" | 93 | msgstr "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:2000 | 95 | #: charset.c:1181 charset.c:2002 |
| 96 | msgid "converting UCN to source character set" | 96 | msgid "converting UCN to source character set" |
| 97 | msgstr "convertint UCN al joc font de car�cters" | 97 | msgstr "convertint UCN al joc font de car�cters" |
| 98 | 98 | ||
| @@ -145,304 +145,304 @@ msgstr "convertint una seq · 46 unmodified lines | |||
| 145 | msgid "missing open quote" | 145 | msgid "missing open quote" |
| 146 | msgstr "" | 146 | msgstr "" |
| 147 | 147 | ||
| 148 | #: charset.c:1827 charset.c:1891 | 148 | #: charset.c:1829 charset.c:1893 |
| 149 | msgid "character constant too long for its type" | 149 | msgid "character constant too long for its type" |
| 150 | msgstr "constant de car�cter massa gran pel seu tipus" | 150 | msgstr "constant de car�cter massa gran pel seu tipus" |
| 151 | 151 | ||
| 152 | #: charset.c:1830 | 152 | #: charset.c:1832 |
| 153 | msgid "multi-character character constant" | 153 | msgid "multi-character character constant" |
| 154 | msgstr "constant de car�cter amb m�ltiples car�cters" | 154 | msgstr "constant de car�cter amb m�ltiples car�cters" |
| 155 | 155 | ||
| 156 | #: charset.c:1931 | 156 | #: charset.c:1933 |
| 157 | msgid "empty character constant" | 157 | msgid "empty character constant" |
| 158 | msgstr "constant de car�ter buida" | 158 | msgstr "constant de car�ter buida" |
| 159 | 159 | ||
| 160 | #: charset.c:2047 | 160 | #: charset.c:2049 |
| 161 | #, c-format | 161 | #, c-format |
| 162 | msgid "failure to convert %s to %s" | 162 | msgid "failure to convert %s to %s" |
| 163 | msgstr "fallada convertint %s a %s" | 163 | msgstr "fallada convertint %s a %s" |
| 164 | 164 | ||
| 165 | #: directives.c:235 directives.c:278 | 165 | #: directives.c:229 directives.c:272 |
| 166 | #, c-format | 166 | #, c-format |
| 167 | msgid "extra tokens at end of #%s directive" | 167 | msgid "extra tokens at end of #%s directive" |
| 168 | msgstr "elements superflus al final de la directiva #%s" | 168 | msgstr "elements superflus al final de la directiva #%s" |
| 169 | 169 | ||
| 170 | #: directives.c:385 | 170 | #: directives.c:379 |
| 171 | #, c-format | 171 | #, c-format |
| 172 | msgid "#%s is a GCC extension" | 172 | msgid "#%s is a GCC extension" |
| 173 | msgstr "#%s �s una extenci� del GCC" | 173 | msgstr "#%s �s una extenci� del GCC" |
| 174 | 174 | ||
| 175 | #: directives.c:390 | 175 | #: directives.c:384 |
| 176 | #, fuzzy, c-format | 176 | #, fuzzy, c-format |
| 177 | #| msgid "#%s is a GCC extension" | 177 | #| msgid "#%s is a GCC extension" |
| 178 | msgid "#%s is a deprecated GCC extension" | 178 | msgid "#%s is a deprecated GCC extension" |
| 179 | msgstr "#%s �s una extenci� del GCC" | 179 | msgstr "#%s �s una extenci� del GCC" |
| 180 | 180 | ||
| 181 | #: directives.c:403 | 181 | #: directives.c:397 |
| 182 | msgid "suggest not using #elif in traditional C" | 182 | msgid "suggest not using #elif in traditional C" |
| 183 | msgstr "es suggereix no usar #elif en C tradicional" | 183 | msgstr "es suggereix no usar #elif en C tradicional" |
| 184 | 184 | ||
| 185 | #: directives.c:406 | 185 | #: directives.c:400 |
| 186 | #, c-format | 186 | #, c-format |
| 187 | msgid "traditional C ignores #%s with the # indented" | 187 | msgid "traditional C ignores #%s with the # indented" |
| 188 | msgstr "C tradicional ignora #%s amb el # indentat" | 188 | msgstr "C tradicional ignora #%s amb el # indentat" |
| 189 | 189 | ||
| 190 | #: directives.c:410 | 190 | #: directives.c:404 |
| 191 | #, c-format | 191 | #, c-format |
| 192 | msgid "suggest hiding #%s from traditional C with an indented #" | 192 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 193 | msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat" | 193 | msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat" |
| 194 | 194 | ||
| 195 | #: directives.c:436 | 195 | #: directives.c:430 |
| 196 | msgid "embedding a directive within macro arguments is not portable" | 196 | msgid "embedding a directive within macro arguments is not portable" |
| 197 | msgstr "l'incrustaci� d'una directiva entre arguments de macro no �s portable" | 197 | msgstr "l'incrustaci� d'una directiva entre arguments de macro no �s portable" |
| 198 | 198 | ||
| 199 | #: directives.c:456 | 199 | #: directives.c:450 |
| 200 | msgid "style of line directive is a GCC extension" | 200 | msgid "style of line directive is a GCC extension" |
| 201 | msgstr "la directiva d'estil de l�nia �s una extenci� del GCC" | 201 | msgstr "la directiva d'estil de l�nia �s una extenci� del GCC" |
| 202 | 202 | ||
| 203 | #: directives.c:537 | 203 | #: directives.c:531 |
| 204 | #, c-format | 204 | #, c-format |
| 205 | msgid "invalid preprocessing directive #%s" | 205 | msgid "invalid preprocessing directive #%s" |
| 206 | msgstr "directiva de preprocessament #%s inv�lida" | 206 | msgstr "directiva de preprocessament #%s inv�lida" |
| 207 | 207 | ||
| 208 | #: directives.c:606 | 208 | #: directives.c:600 |
| 209 | msgid "\"defined\" cannot be used as a macro name" | 209 | msgid "\"defined\" cannot be used as a macro name" |
| 210 | msgstr "\"defined\" no es pot usar com un nom de macro" | 210 | msgstr "\"defined\" no es pot usar com un nom de macro" |
| 211 | 211 | ||
| 212 | #: directives.c:611 | 212 | #: directives.c:605 |
| 213 | #, fuzzy | 213 | #, fuzzy |
| 214 | #| msgid "\"defined\" cannot be used as a macro name" | 214 | #| msgid "\"defined\" cannot be used as a macro name" |
| 215 | msgid "\"__has_include__\" cannot be used as a macro name" | 215 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 216 | msgstr "\"defined\" no es pot usar com un nom de macro" | 216 | msgstr "\"defined\" no es pot usar com un nom de macro" |
| 217 | 217 | ||
| 218 | #: directives.c:617 | 218 | #: directives.c:611 |
| 219 | #, c-format | 219 | #, c-format |
| 220 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 220 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 221 | msgstr "no es pot usar \"%s\" com un nom de macro perqu� �s un operador en C++" | 221 | msgstr "no es pot usar \"%s\" com un nom de macro perqu� �s un operador en C++" |
| 222 | 222 | ||
| 223 | #: directives.c:620 | 223 | #: directives.c:614 |
| 224 | #, c-format | 224 | #, c-format |
| 225 | msgid "no macro name given in #%s directive" | 225 | msgid "no macro name given in #%s directive" |
| 226 | msgstr "no es va donar un nom de macro en la directiva #%s" | 226 | msgstr "no es va donar un nom de macro en la directiva #%s" |
| 227 | 227 | ||
| 228 | #: directives.c:623 | 228 | #: directives.c:617 |
| 229 | msgid "macro names must be identifiers" | 229 | msgid "macro names must be identifiers" |
| 230 | msgstr "els noms de macro han de ser identificadors" | 230 | msgstr "els noms de macro han de ser identificadors" |
| 231 | 231 | ||
| 232 | #: directives.c:672 directives.c:677 | 232 | #: directives.c:666 directives.c:671 |
| 233 | #, c-format | 233 | #, c-format |
| 234 | msgid "undefining \"%s\"" | 234 | msgid "undefining \"%s\"" |
| 235 | msgstr "esborrant la definici� de \"%s\"" | 235 | msgstr "esborrant la definici� de \"%s\"" |
| 236 | 236 | ||
| 237 | #: directives.c:732 | 237 | #: directives.c:727 |
| 238 | msgid "missing terminating > character" | 238 | msgid "missing terminating > character" |
| 239 | msgstr "falta el car�cter de terminaci� >" | 239 | msgstr "falta el car�cter de terminaci� >" |
| 240 | 240 | ||
| 241 | #: directives.c:791 | 241 | #: directives.c:786 |
| 242 | #, c-format | 242 | #, c-format |
| 243 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 243 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 244 | msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>" | 244 | msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>" |
| 245 | 245 | ||
| 246 | #: directives.c:837 | 246 | #: directives.c:828 |
| 247 | #, c-format | 247 | #, c-format |
| 248 | msgid "empty filename in #%s" | 248 | msgid "empty filename in #%s" |
| 249 | msgstr "nom de fitxer buit en #%s" | 249 | msgstr "nom de fitxer buit en #%s" |
| 250 | 250 | ||
| 251 | #: directives.c:847 | 251 | #: directives.c:835 |
| 252 | msgid "#include nested too deeply" | 252 | msgid "#include nested too deeply" |
| 253 | msgstr "#include niat amb massa profunditat" | 253 | msgstr "#include niat amb massa profunditat" |
| 254 | 254 | ||
| 255 | #: directives.c:888 | 255 | #: directives.c:877 |
| 256 | msgid "#include_next in primary source file" | 256 | msgid "#include_next in primary source file" |
| 257 | msgstr "#include_next en el fitxer font primari" | 257 | msgstr "#include_next en el fitxer font primari" |
| 258 | 258 | ||
| 259 | #: directives.c:914 | 259 | #: directives.c:903 |
| 260 | #, c-format | 260 | #, c-format |
| 261 | msgid "invalid flag \"%s\" in line directive" | 261 | msgid "invalid flag \"%s\" in line directive" |
| 262 | msgstr "indicador \"%s\" inv�lid en la directiva de l�nia" | 262 | msgstr "indicador \"%s\" inv�lid en la directiva de l�nia" |
| 263 | 263 | ||
| 264 | #: directives.c:974 | 264 | #: directives.c:963 |
| 265 | msgid "unexpected end of file after #line" | 265 | msgid "unexpected end of file after #line" |
| 266 | msgstr "" | 266 | msgstr "" |
| 267 | 267 | ||
| 268 | #: directives.c:977 | 268 | #: directives.c:966 |
| 269 | #, c-format | 269 | #, c-format |
| 270 | msgid "\"%s\" after #line is not a positive integer" | 270 | msgid "\"%s\" after #line is not a positive integer" |
| 271 | msgstr "\"%s\" despr�s de #line no �s un enter positiu" | 271 | msgstr "\"%s\" despr�s de #line no �s un enter positiu" |
| 272 | 272 | ||
| 273 | #: directives.c:983 directives.c:985 | 273 | #: directives.c:972 directives.c:974 |
| 274 | msgid "line number out of range" | 274 | msgid "line number out of range" |
| 275 | msgstr "nombre de l�nia fora de rang" | 275 | msgstr "nombre de l�nia fora de rang" |
| 276 | 276 | ||
| 277 | #: directives.c:998 directives.c:1079 | 277 | #: directives.c:987 directives.c:1068 |
| 278 | #, c-format | 278 | #, c-format |
| 279 | msgid "\"%s\" is not a valid filename" | 279 | msgid "\"%s\" is not a valid filename" |
| 280 | msgstr "\"%s\" no �s un nom de fitxer v�lid" | 280 | msgstr "\"%s\" no �s un nom de fitxer v�lid" |
| 281 | 281 | ||
| 282 | #: directives.c:1039 | 282 | #: directives.c:1028 |
| 283 | #, c-format | 283 | #, c-format |
| 284 | msgid "\"%s\" after # is not a positive integer" | 284 | msgid "\"%s\" after # is not a positive integer" |
| 285 | msgstr "\"%s\" despr�s de # no �s un enter positiu" | 285 | msgstr "\"%s\" despr�s de # no �s un enter positiu" |
| 286 | 286 | ||
| 287 | #: directives.c:1098 | 287 | #: directives.c:1087 |
| 288 | #, c-format | 288 | #, c-format |
| 289 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 289 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 290 | msgstr "" | 290 | msgstr "" |
| 291 | 291 | ||
| 292 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 292 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 293 | #, c-format | 293 | #, c-format |
| 294 | msgid "%s" | 294 | msgid "%s" |
| 295 | msgstr "" | 295 | msgstr "" |
| 296 | 296 | ||
| 297 | #: directives.c:1185 | 297 | #: directives.c:1175 |
| 298 | #, fuzzy, c-format | 298 | #, fuzzy, c-format |
| 299 | #| msgid "invalid #ident directive" | 299 | #| msgid "invalid #ident directive" |
| 300 | msgid "invalid #%s directive" | 300 | msgid "invalid #%s directive" |
| 301 | msgstr "directiva #ident inv�lida" | 301 | msgstr "directiva #ident inv�lida" |
| 302 | 302 | ||
| 303 | #: directives.c:1248 | 303 | #: directives.c:1238 |
| 304 | #, c-format | 304 | #, c-format |
| 305 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 305 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 306 | msgstr "" | 306 | msgstr "" |
| 307 | 307 | ||
| 308 | #: directives.c:1257 | 308 | #: directives.c:1247 |
| 309 | #, fuzzy, c-format | 309 | #, 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" |
| 311 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 311 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 312 | msgstr "desant \"%s\" com a pragma i espai de noms de pragma" | 312 | msgstr "desant \"%s\" com a pragma i espai de noms de pragma" |
| 313 | 313 | ||
| 314 | #: directives.c:1275 | 314 | #: directives.c:1265 |
| 315 | #, c-format | 315 | #, c-format |
| 316 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 316 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 317 | msgstr "desant \"%s\" com a pragma i espai de noms de pragma" | 317 | msgstr "desant \"%s\" com a pragma i espai de noms de pragma" |
| 318 | 318 | ||
| 319 | #: directives.c:1278 | 319 | #: directives.c:1268 |
| 320 | #, c-format | 320 | #, c-format |
| 321 | msgid "#pragma %s %s is already registered" | 321 | msgid "#pragma %s %s is already registered" |
| 322 | msgstr "ja s'ha desat #pragma %s %s" | 322 | msgstr "ja s'ha desat #pragma %s %s" |
| 323 | 323 | ||
| 324 | #: directives.c:1281 | 324 | #: directives.c:1271 |
| 325 | #, c-format | 325 | #, c-format |
| 326 | msgid "#pragma %s is already registered" | 326 | msgid "#pragma %s is already registered" |
| 327 | msgstr "ja s'ha desat #pragma %s" | 327 | msgstr "ja s'ha desat #pragma %s" |
| 328 | 328 | ||
| 329 | #: directives.c:1311 | 329 | #: directives.c:1301 |
| 330 | msgid "registering pragma with NULL handler" | 330 | msgid "registering pragma with NULL handler" |
| 331 | msgstr "" | 331 | msgstr "" |
| 332 | 332 | ||
| 333 | #: directives.c:1528 | 333 | #: directives.c:1518 |
| 334 | msgid "#pragma once in main file" | 334 | msgid "#pragma once in main file" |
| 335 | msgstr "#pragma una vegada en el fitxer principal" | 335 | msgstr "#pragma una vegada en el fitxer principal" |
| 336 | 336 | ||
| 337 | #: directives.c:1551 | 337 | #: directives.c:1541 |
| 338 | #, fuzzy | 338 | #, fuzzy |
| 339 | #| msgid "invalid #pragma GCC poison directive" | 339 | #| msgid "invalid #pragma GCC poison directive" |
| 340 | msgid "invalid #pragma push_macro directive" | 340 | msgid "invalid #pragma push_macro directive" |
| 341 | msgstr "directiva #pragma de GCC enverinada inv�lida" | 341 | msgstr "directiva #pragma de GCC enverinada inv�lida" |
| 342 | 342 | ||
| 343 | #: directives.c:1606 | 343 | #: directives.c:1596 |
| 344 | #, fuzzy | 344 | #, fuzzy |
| 345 | #| msgid "invalid #pragma GCC poison directive" | 345 | #| msgid "invalid #pragma GCC poison directive" |
| 346 | msgid "invalid #pragma pop_macro directive" | 346 | msgid "invalid #pragma pop_macro directive" |
| 347 | msgstr "directiva #pragma de GCC enverinada inv�lida" | 347 | msgstr "directiva #pragma de GCC enverinada inv�lida" |
| 348 | 348 | ||
| 349 | #: directives.c:1661 | 349 | #: directives.c:1651 |
| 350 | msgid "invalid #pragma GCC poison directive" | 350 | msgid "invalid #pragma GCC poison directive" |
| 351 | msgstr "directiva #pragma de GCC enverinada inv�lida" | 351 | msgstr "directiva #pragma de GCC enverinada inv�lida" |
| 352 | 352 | ||
| 353 | #: directives.c:1670 | 353 | #: directives.c:1660 |
| 354 | #, c-format | 354 | #, c-format |
| 355 | msgid "poisoning existing macro \"%s\"" | 355 | msgid "poisoning existing macro \"%s\"" |
| 356 | msgstr "enverinant la macro existent \"%s\"" | 356 | msgstr "enverinant la macro existent \"%s\"" |
| 357 | 357 | ||
| 358 | #: directives.c:1689 | 358 | #: directives.c:1679 |
| 359 | msgid "#pragma system_header ignored outside include file" | 359 | msgid "#pragma system_header ignored outside include file" |
| 360 | msgstr "#pragma system_header ignorat fora del fitxer d'inclusi�" | 360 | msgstr "#pragma system_header ignorat fora del fitxer d'inclusi�" |
| 361 | 361 | ||
| 362 | #: directives.c:1714 | 362 | #: directives.c:1704 |
| 363 | #, c-format | 363 | #, c-format |
| 364 | msgid "cannot find source file %s" | 364 | msgid "cannot find source file %s" |
| 365 | msgstr "no es pot trobar la font %s" | 365 | msgstr "no es pot trobar la font %s" |
| 366 | 366 | ||
| 367 | #: directives.c:1718 | 367 | #: directives.c:1708 |
| 368 | #, c-format | 368 | #, c-format |
| 369 | msgid "current file is older than %s" | 369 | msgid "current file is older than %s" |
| 370 | msgstr "el fitxer actual �s m�s vell que %s" | 370 | msgstr "el fitxer actual �s m�s vell que %s" |
| 371 | 371 | ||
| 372 | #: directives.c:1742 | 372 | #: directives.c:1732 |
| 373 | #, fuzzy, c-format | 373 | #, fuzzy, c-format |
| 374 | #| msgid "invalid #pragma GCC poison directive" | 374 | #| msgid "invalid #pragma GCC poison directive" |
| 375 | msgid "invalid \"#pragma GCC %s\" directive" | 375 | msgid "invalid \"#pragma GCC %s\" directive" |
| 376 | msgstr "directiva #pragma de GCC enverinada inv�lida" | 376 | msgstr "directiva #pragma de GCC enverinada inv�lida" |
| 377 | 377 | ||
| 378 | #: directives.c:1943 | 378 | #: directives.c:1933 |
| 379 | msgid "_Pragma takes a parenthesized string literal" | 379 | msgid "_Pragma takes a parenthesized string literal" |
| 380 | msgstr "_Pragma pren una cadena literal entre par�ntesis" | 380 | msgstr "_Pragma pren una cadena literal entre par�ntesis" |
| 381 | 381 | ||
| 382 | #: directives.c:2064 | 382 | #: directives.c:2021 |
| 383 | msgid "#else without #if" | 383 | msgid "#else without #if" |
| 384 | msgstr "#else sense #if" | 384 | msgstr "#else sense #if" |
| 385 | 385 | ||
| 386 | #: directives.c:2069 | 386 | #: directives.c:2026 |
| 387 | msgid "#else after #else" | 387 | msgid "#else after #else" |
| 388 | msgstr "#else despr�s de #else" | 388 | msgstr "#else despr�s de #else" |
| 389 | 389 | ||
| 390 | #: directives.c:2071 directives.c:2104 | 390 | #: directives.c:2028 directives.c:2061 |
| 391 | msgid "the conditional began here" | 391 | msgid "the conditional began here" |
| 392 | msgstr "el condicional va comen�ar aqu�" | 392 | msgstr "el condicional va comen�ar aqu�" |
| 393 | 393 | ||
| 394 | #: directives.c:2097 | 394 | #: directives.c:2054 |
| 395 | msgid "#elif without #if" | 395 | msgid "#elif without #if" |
| 396 | msgstr "#elif sense #if" | 396 | msgstr "#elif sense #if" |
| 397 | 397 | ||
| 398 | #: directives.c:2102 | 398 | #: directives.c:2059 |
| 399 | msgid "#elif after #else" | 399 | msgid "#elif after #else" |
| 400 | msgstr "#elif despr�s de #else" | 400 | msgstr "#elif despr�s de #else" |
| 401 | 401 | ||
| 402 | #: directives.c:2133 | 402 | #: directives.c:2090 |
| 403 | msgid "#endif without #if" | 403 | msgid "#endif without #if" |
| 404 | msgstr "#endif sense #if" | 404 | msgstr "#endif sense #if" |
| 405 | 405 | ||
| 406 | #: directives.c:2213 | 406 | #: directives.c:2166 |
| 407 | msgid "missing '(' after predicate" | 407 | msgid "missing '(' after predicate" |
| 408 | msgstr "falta \"(\" abans del predicat" | 408 | msgstr "falta \"(\" abans del predicat" |
| 409 | 409 | ||
| 410 | #: directives.c:2228 | 410 | #: directives.c:2184 |
| 411 | msgid "missing ')' to complete answer" | 411 | msgid "missing ')' to complete answer" |
| 412 | msgstr "falta \")\" per a completar la resposta" | 412 | msgstr "falta \")\" per a completar la resposta" |
| 413 | 413 | ||
| 414 | #: directives.c:2248 | 414 | #: directives.c:2196 |
| 415 | msgid "predicate's answer is empty" | 415 | msgid "predicate's answer is empty" |
| 416 | msgstr "el predicat de la resposta est� buit" | 416 | msgstr "el predicat de la resposta est� buit" |
| 417 | 417 | ||
| 418 | #: directives.c:2275 | 418 | #: directives.c:2226 |
| 419 | msgid "assertion without predicate" | 419 | msgid "assertion without predicate" |
| 420 | msgstr "afirmaci� sense predicat" | 420 | msgstr "afirmaci� sense predicat" |
| 421 | 421 | ||
| 422 | #: directives.c:2278 | 422 | #: directives.c:2229 |
| 423 | msgid "predicate must be an identifier" | 423 | msgid "predicate must be an identifier" |
| 424 | msgstr "el predicat ha de ser un identificador" | 424 | msgstr "el predicat ha de ser un identificador" |
| 425 | 425 | ||
| 426 | #: directives.c:2364 | 426 | #: directives.c:2311 |
| 427 | #, c-format | 427 | #, c-format |
| 428 | msgid "\"%s\" re-asserted" | 428 | msgid "\"%s\" re-asserted" |
| 429 | msgstr "\"%s\" reafirmat" | 429 | msgstr "\"%s\" reafirmat" |
| 430 | 430 | ||
| 431 | #: directives.c:2656 | 431 | #: directives.c:2587 |
| 432 | #, c-format | 432 | #, c-format |
| 433 | msgid "unterminated #%s" | 433 | msgid "unterminated #%s" |
| 434 | msgstr "#%s sense acabar" | 434 | msgstr "#%s sense acabar" |
| 435 | 435 | ||
| 436 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 436 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 437 | msgid "unterminated comment" | 437 | msgid "unterminated comment" |
| 438 | msgstr "comentari sense acabar" | 438 | msgstr "comentari sense acabar" |
| 439 | 439 | ||
| 440 | #: errors.c:284 | 440 | #: errors.c:291 |
| 441 | #, c-format | 441 | #, c-format |
| 442 | msgid "%s: %s" | 442 | msgid "%s: %s" |
| 443 | msgstr "%s: %s" | 443 | msgstr "%s: %s" |
| 444 | 444 | ||
| 445 | #: errors.c:296 | 445 | #: errors.c:304 |
| 446 | msgid "stdout" | 446 | msgid "stdout" |
| 447 | msgstr "stdout" | 447 | msgstr "stdout" |
| 448 | 448 | ||
| @@ -552,92 +552,92 @@ msgstr "(\"%s\" · 103 unmodified lines | |||
| 552 | msgid "this use of \"defined\" may not be portable" | 552 | msgid "this use of \"defined\" may not be portable" |
| 553 | msgstr "aquest �s de \"defined\" podria no ser portable" | 553 | msgstr "aquest �s de \"defined\" podria no ser portable" |
| 554 | 554 | ||
| 555 | #: expr.c:1125 | 555 | #: expr.c:1109 |
| 556 | #, fuzzy | 556 | #, fuzzy |
| 557 | #| msgid "integer overflow in preprocessor expression" | 557 | #| msgid "integer overflow in preprocessor expression" |
| 558 | msgid "user-defined literal in preprocessor expression" | 558 | msgid "user-defined literal in preprocessor expression" |
| 559 | msgstr "desbordament d'enter en l'expressi� del preprocessador" | 559 | msgstr "desbordament d'enter en l'expressi� del preprocessador" |
| 560 | 560 | ||
| 561 | #: expr.c:1130 | 561 | #: expr.c:1114 |
| 562 | msgid "floating constant in preprocessor expression" | 562 | msgid "floating constant in preprocessor expression" |
| 563 | msgstr "constant de coma flotant en l'expressi� del preprocessador" | 563 | msgstr "constant de coma flotant en l'expressi� del preprocessador" |
| 564 | 564 | ||
| 565 | #: expr.c:1136 | 565 | #: expr.c:1120 |
| 566 | msgid "imaginary number in preprocessor expression" | 566 | msgid "imaginary number in preprocessor expression" |
| 567 | msgstr "nombre imaginari en l'expressi� del preprocessador" | 567 | msgstr "nombre imaginari en l'expressi� del preprocessador" |
| 568 | 568 | ||
| 569 | #: expr.c:1189 | 569 | #: expr.c:1173 |
| 570 | #, fuzzy, c-format | 570 | #, fuzzy, c-format |
| 571 | #| msgid "\"%s\" is not defined" | 571 | #| msgid "\"%s\" is not defined" |
| 572 | msgid "\"%s\" is not defined, evaluates to 0" | 572 | msgid "\"%s\" is not defined, evaluates to 0" |
| 573 | msgstr "\"%s\" no �s definit" | 573 | msgstr "\"%s\" no �s definit" |
| 574 | 574 | ||
| 575 | #: expr.c:1202 | 575 | #: expr.c:1186 |
| 576 | #, fuzzy | 576 | #, fuzzy |
| 577 | #| msgid "#%s is a GCC extension" | 577 | #| msgid "#%s is a GCC extension" |
| 578 | msgid "assertions are a GCC extension" | 578 | msgid "assertions are a GCC extension" |
| 579 | msgstr "#%s �s una extenci� del GCC" | 579 | msgstr "#%s �s una extenci� del GCC" |
| 580 | 580 | ||
| 581 | #: expr.c:1205 | 581 | #: expr.c:1189 |
| 582 | msgid "assertions are a deprecated extension" | 582 | msgid "assertions are a deprecated extension" |
| 583 | msgstr "" | 583 | msgstr "" |
| 584 | 584 | ||
| 585 | #: expr.c:1451 | 585 | #: expr.c:1435 |
| 586 | #, fuzzy, c-format | 586 | #, fuzzy, c-format |
| 587 | #| msgid "unbalanced stack in #if" | 587 | #| msgid "unbalanced stack in #if" |
| 588 | msgid "unbalanced stack in %s" | 588 | msgid "unbalanced stack in %s" |
| 589 | msgstr "pila desequilibrada en #if" | 589 | msgstr "pila desequilibrada en #if" |
| 590 | 590 | ||
| 591 | #: expr.c:1471 | 591 | #: expr.c:1455 |
| 592 | #, c-format | 592 | #, c-format |
| 593 | msgid "impossible operator '%u'" | 593 | msgid "impossible operator '%u'" |
| 594 | msgstr "operador \"%u\" impossible" | 594 | msgstr "operador \"%u\" impossible" |
| 595 | 595 | ||
| 596 | #: expr.c:1572 | 596 | #: expr.c:1556 |
| 597 | msgid "missing ')' in expression" | 597 | msgid "missing ')' in expression" |
| 598 | msgstr "\")\" faltant en l'expressi�" | 598 | msgstr "\")\" faltant en l'expressi�" |
| 599 | 599 | ||
| 600 | #: expr.c:1601 | 600 | #: expr.c:1585 |
| 601 | msgid "'?' without following ':'" | 601 | msgid "'?' without following ':'" |
| 602 | msgstr " \"?\" sense el \":\" seg�ent" | 602 | msgstr " \"?\" sense el \":\" seg�ent" |
| 603 | 603 | ||
| 604 | #: expr.c:1611 | 604 | #: expr.c:1595 |
| 605 | msgid "integer overflow in preprocessor expression" | 605 | msgid "integer overflow in preprocessor expression" |
| 606 | msgstr "desbordament d'enter en l'expressi� del preprocessador" | 606 | msgstr "desbordament d'enter en l'expressi� del preprocessador" |
| 607 | 607 | ||
| 608 | #: expr.c:1616 | 608 | #: expr.c:1600 |
| 609 | msgid "missing '(' in expression" | 609 | msgid "missing '(' in expression" |
| 610 | msgstr "\"(\" faltant en l'expressi�" | 610 | msgstr "\"(\" faltant en l'expressi�" |
| 611 | 611 | ||
| 612 | #: expr.c:1648 | 612 | #: expr.c:1632 |
| 613 | #, c-format | 613 | #, c-format |
| 614 | msgid "the left operand of \"%s\" changes sign when promoted" | 614 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 615 | msgstr "l'operant esquera de \"%s\" canvia el signe quan �s promogut" | 615 | msgstr "l'operant esquera de \"%s\" canvia el signe quan �s promogut" |
| 616 | 616 | ||
| 617 | #: expr.c:1653 | 617 | #: expr.c:1637 |
| 618 | #, c-format | 618 | #, c-format |
| 619 | msgid "the right operand of \"%s\" changes sign when promoted" | 619 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 620 | msgstr "l'operant dreta de \"%s\" canvia el signe quan �s promogut" | 620 | msgstr "l'operant dreta de \"%s\" canvia el signe quan �s promogut" |
| 621 | 621 | ||
| 622 | #: expr.c:1912 | 622 | #: expr.c:1896 |
| 623 | msgid "traditional C rejects the unary plus operator" | 623 | msgid "traditional C rejects the unary plus operator" |
| 624 | msgstr "C tradicional rebutja l'operador unari m�s" | 624 | msgstr "C tradicional rebutja l'operador unari m�s" |
| 625 | 625 | ||
| 626 | #: expr.c:2010 | 626 | #: expr.c:1994 |
| 627 | msgid "comma operator in operand of #if" | 627 | msgid "comma operator in operand of #if" |
| 628 | msgstr "operador coma en operant de #if" | 628 | msgstr "operador coma en operant de #if" |
| 629 | 629 | ||
| 630 | #: expr.c:2146 | 630 | #: expr.c:2130 |
| 631 | msgid "division by zero in #if" | 631 | msgid "division by zero in #if" |
| 632 | msgstr "divisi� per zero en #if" | 632 | msgstr "divisi� per zero en #if" |
| 633 | 633 | ||
| 634 | #: expr.c:2243 | 634 | #: expr.c:2227 |
| 635 | #, fuzzy | 635 | #, fuzzy |
| 636 | #| msgid "operator \"defined\" requires an identifier" | 636 | #| msgid "operator \"defined\" requires an identifier" |
| 637 | msgid "operator \"__has_include__\" requires a header string" | 637 | msgid "operator \"__has_include__\" requires a header string" |
| 638 | msgstr "l'operador \"defined\" requereix un identificador" | 638 | msgstr "l'operador \"defined\" requereix un identificador" |
| 639 | 639 | ||
| 640 | #: expr.c:2259 | 640 | #: expr.c:2243 |
| 641 | #, fuzzy | 641 | #, fuzzy |
| 642 | #| msgid "missing ')' after \"defined\"" | 642 | #| msgid "missing ')' after \"defined\"" |
| 643 | msgid "missing ')' after \"__has_include__\"" | 643 | msgid "missing ')' after \"__has_include__\"" |
| @@ -656,40 +656,40 @@ msgstr "usi -Winvalid-pch per a m · 12 unmodified lines | |||
| 656 | msgid "no include path in which to search for %s" | 656 | msgid "no include path in which to search for %s" |
| 657 | msgstr "no hi ha ruta d'inclusi� en la qual cercar %s" | 657 | msgstr "no hi ha ruta d'inclusi� en la qual cercar %s" |
| 658 | 658 | ||
| 659 | #: files.c:1441 | 659 | #: files.c:1455 |
| 660 | msgid "Multiple include guards may be useful for:\n" | 660 | msgid "Multiple include guards may be useful for:\n" |
| 661 | msgstr "M�ltiples gu�rdies d'inclusi� poden ser �tils per a:\n" | 661 | msgstr "M�ltiples gu�rdies d'inclusi� poden ser �tils per a:\n" |
| 662 | 662 | ||
| 663 | #: init.c:565 | 663 | #: init.c:569 |
| 664 | msgid "cppchar_t must be an unsigned type" | 664 | msgid "cppchar_t must be an unsigned type" |
| 665 | msgstr "cppchar_t ha de ser d'un tipus unsigned" | 665 | msgstr "cppchar_t ha de ser d'un tipus unsigned" |
| 666 | 666 | ||
| 667 | #: init.c:569 | 667 | #: init.c:573 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 669 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 670 | msgstr "l'aritm�tica del preprocesador t� una precisi� m�xima de %lu bits; l'objectiu requereix %lu bits" | 670 | msgstr "l'aritm�tica del preprocesador t� una precisi� m�xima de %lu bits; l'objectiu requereix %lu bits" |
| 671 | 671 | ||
| 672 | #: init.c:576 | 672 | #: init.c:580 |
| 673 | msgid "CPP arithmetic must be at least as precise as a target int" | 673 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 674 | msgstr "l'aritm�tica de CPP ha de ser almenys tan precisa com un int de l'objectiu" | 674 | msgstr "l'aritm�tica de CPP ha de ser almenys tan precisa com un int de l'objectiu" |
| 675 | 675 | ||
| 676 | #: init.c:579 | 676 | #: init.c:583 |
| 677 | msgid "target char is less than 8 bits wide" | 677 | msgid "target char is less than 8 bits wide" |
| 678 | msgstr "el char de l'objectiu t� menys de 8 bits d'ampliaria" | 678 | msgstr "el char de l'objectiu t� menys de 8 bits d'ampliaria" |
| 679 | 679 | ||
| 680 | #: init.c:583 | 680 | #: init.c:587 |
| 681 | msgid "target wchar_t is narrower than target char" | 681 | msgid "target wchar_t is narrower than target char" |
| 682 | msgstr "el wchar_t de l'objectiu �s m�s estret qu'el char de l'objectiu" | 682 | msgstr "el wchar_t de l'objectiu �s m�s estret qu'el char de l'objectiu" |
| 683 | 683 | ||
| 684 | #: init.c:587 | 684 | #: init.c:591 |
| 685 | msgid "target int is narrower than target char" | 685 | msgid "target int is narrower than target char" |
| 686 | msgstr "el int de l'objectiu �s m�s estret qu'el char de l'objectiu" | 686 | msgstr "el int de l'objectiu �s m�s estret qu'el char de l'objectiu" |
| 687 | 687 | ||
| 688 | #: init.c:592 | 688 | #: init.c:596 |
| 689 | msgid "CPP half-integer narrower than CPP character" | 689 | msgid "CPP half-integer narrower than CPP character" |
| 690 | msgstr "el half-integer de CPP �s m�s estret que el car�cter de CPP" | 690 | msgstr "el half-integer de CPP �s m�s estret que el car�cter de CPP" |
| 691 | 691 | ||
| 692 | #: init.c:596 | 692 | #: init.c:600 |
| 693 | #, c-format | 693 | #, c-format |
| 694 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 694 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 695 | msgstr "CPP no pot manejar constants de car�cter amples m�s enll� de %lu bits en aquest ordinador, per� l'objectiu requereix %lu bits" | 695 | msgstr "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 | |||
| 767 | msgid "identifier \"%s\" is a special operator name in C++" | 767 | msgid "identifier \"%s\" is a special operator name in C++" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: lex.c:1811 | 770 | #: lex.c:1826 |
| 771 | msgid "raw string delimiter longer than 16 characters" | 771 | msgid "raw string delimiter longer than 16 characters" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: lex.c:1815 | 774 | #: lex.c:1830 |
| 775 | msgid "invalid new-line in raw string delimiter" | 775 | msgid "invalid new-line in raw string delimiter" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: lex.c:1819 | 778 | #: lex.c:1834 |
| 779 | #, fuzzy, c-format | 779 | #, 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" |
| 781 | msgid "invalid character '%c' in raw string delimiter" | 781 | msgid "invalid character '%c' in raw string delimiter" |
| 782 | msgstr "el nom de car�cter universal %.*s no �s v�lid en un identificador" | 782 | msgstr "el nom de car�cter universal %.*s no �s v�lid en un identificador" |
| 783 | 783 | ||
| 784 | #: lex.c:1868 lex.c:1890 | 784 | #: lex.c:1883 lex.c:1905 |
| 785 | #, fuzzy | 785 | #, fuzzy |
| 786 | #| msgid "unterminated #%s" | 786 | #| msgid "unterminated #%s" |
| 787 | msgid "unterminated raw string" | 787 | msgid "unterminated raw string" |
| 788 | msgstr "#%s sense acabar" | 788 | msgstr "#%s sense acabar" |
| 789 | 789 | ||
| 790 | #: lex.c:1912 lex.c:2043 | 790 | #: lex.c:1925 lex.c:2054 |
| 791 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 791 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 792 | msgstr "" | 792 | msgstr "" |
| 793 | 793 | ||
| 794 | #: lex.c:2024 | 794 | #: lex.c:2037 |
| 795 | msgid "null character(s) preserved in literal" | 795 | msgid "null character(s) preserved in literal" |
| 796 | msgstr "car�cter(es) nul(s) preservats en la literal" | 796 | msgstr "car�cter(es) nul(s) preservats en la literal" |
| 797 | 797 | ||
| 798 | #: lex.c:2027 | 798 | #: lex.c:2040 |
| 799 | #, fuzzy, c-format | 799 | #, fuzzy, c-format |
| 800 | #| msgid "missing terminating > character" | 800 | #| msgid "missing terminating > character" |
| 801 | msgid "missing terminating %c character" | 801 | msgid "missing terminating %c character" |
| 802 | msgstr "falta el car�cter de terminaci� >" | 802 | msgstr "falta el car�cter de terminaci� >" |
| 803 | 803 | ||
| 804 | #: lex.c:2061 | 804 | #: lex.c:2072 |
| 805 | msgid "C++11 requires a space between string literal and macro" | 805 | msgid "C++11 requires a space between string literal and macro" |
| 806 | msgstr "" | 806 | msgstr "" |
| 807 | 807 | ||
| 808 | #: lex.c:2865 lex.c:2899 | 808 | #: lex.c:2876 lex.c:2910 |
| 809 | msgid "C++ style comments are not allowed in ISO C90" | 809 | msgid "C++ style comments are not allowed in ISO C90" |
| 810 | msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90" | 810 | msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90" |
| 811 | 811 | ||
| 812 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 812 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 813 | msgid "(this will be reported only once per input file)" | 813 | msgid "(this will be reported only once per input file)" |
| 814 | msgstr "(aix� es reportar� solament una vegada per cada fitxer d'entrada)" | 814 | msgstr "(aix� es reportar� solament una vegada per cada fitxer d'entrada)" |
| 815 | 815 | ||
| 816 | #: lex.c:2876 | 816 | #: lex.c:2887 |
| 817 | #, fuzzy | 817 | #, fuzzy |
| 818 | #| msgid "C++ style comments are not allowed in ISO C90" | 818 | #| msgid "C++ style comments are not allowed in ISO C90" |
| 819 | msgid "C++ style comments are incompatible with C90" | 819 | msgid "C++ style comments are incompatible with C90" |
| 820 | msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90" | 820 | msgstr "els comentaris d'estil C++ no s�n permesos en ISO C90" |
| 821 | 821 | ||
| 822 | #: lex.c:2907 | 822 | #: lex.c:2919 |
| 823 | msgid "multi-line comment" | 823 | msgid "multi-line comment" |
| 824 | msgstr "comentari en m�ltiples l�nies" | 824 | msgstr "comentari en m�ltiples l�nies" |
| 825 | 825 | ||
| 826 | #: lex.c:3287 | 826 | #: lex.c:3299 |
| 827 | #, c-format | 827 | #, c-format |
| 828 | msgid "unspellable token %s" | 828 | msgid "unspellable token %s" |
| 829 | msgstr "Element %s impronunciable" | 829 | msgstr "Element %s impronunciable" |
| 830 | 830 | ||
| 831 | #: macro.c:93 | 831 | #: macro.c:94 |
| 832 | #, fuzzy | 832 | #, fuzzy |
| 833 | #| msgid "'##' cannot appear at either end of a macro expansion" | 833 | #| msgid "'##' cannot appear at either end of a macro expansion" |
| 834 | msgid "'##' cannot appear at either end of __VA_OPT__" | 834 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 835 | msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro" | 835 | msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro" |
| 836 | 836 | ||
| 837 | #: macro.c:352 | 837 | #: macro.c:354 |
| 838 | #, c-format | 838 | #, c-format |
| 839 | msgid "macro \"%s\" is not used" | 839 | msgid "macro \"%s\" is not used" |
| 840 | msgstr "no s'usa la macro \"%s\"" | 840 | msgstr "no s'usa la macro \"%s\"" |
| 841 | 841 | ||
| 842 | #: macro.c:391 macro.c:639 | 842 | #: macro.c:393 macro.c:641 |
| 843 | #, c-format | 843 | #, c-format |
| 844 | msgid "invalid built-in macro \"%s\"" | 844 | msgid "invalid built-in macro \"%s\"" |
| 845 | msgstr "macro interna \"%s\" inv�lida" | 845 | msgstr "macro interna \"%s\" inv�lida" |
| 846 | 846 | ||
| 847 | #: macro.c:398 macro.c:500 | 847 | #: macro.c:400 macro.c:502 |
| 848 | #, c-format | 848 | #, c-format |
| 849 | msgid "macro \"%s\" might prevent reproducible builds" | 849 | msgid "macro \"%s\" might prevent reproducible builds" |
| 850 | msgstr "" | 850 | msgstr "" |
| 851 | 851 | ||
| 852 | #: macro.c:429 | 852 | #: macro.c:431 |
| 853 | #, fuzzy | 853 | #, fuzzy |
| 854 | #| msgid "could not determine date and time" | 854 | #| msgid "could not determine date and time" |
| 855 | msgid "could not determine file timestamp" | 855 | msgid "could not determine file timestamp" |
| 856 | msgstr "no es pot determinar la data i l'hora" | 856 | msgstr "no es pot determinar la data i l'hora" |
| 857 | 857 | ||
| 858 | #: macro.c:546 | 858 | #: macro.c:548 |
| 859 | msgid "could not determine date and time" | 859 | msgid "could not determine date and time" |
| 860 | msgstr "no es pot determinar la data i l'hora" | 860 | msgstr "no es pot determinar la data i l'hora" |
| 861 | 861 | ||
| 862 | #: macro.c:562 | 862 | #: macro.c:564 |
| 863 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 863 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 864 | msgstr "" | 864 | msgstr "" |
| 865 | 865 | ||
| 866 | #: macro.c:758 | 866 | #: macro.c:760 |
| 867 | msgid "invalid string literal, ignoring final '\\'" | 867 | msgid "invalid string literal, ignoring final '\\'" |
| 868 | msgstr "cadena literal inv�lida, s'ignora el \"\\\" final" | 868 | msgstr "cadena literal inv�lida, s'ignora el \"\\\" final" |
| 869 | 869 | ||
| 870 | #: macro.c:820 | 870 | #: macro.c:822 |
| 871 | #, c-format | 871 | #, c-format |
| 872 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 872 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 873 | msgstr "enganxar \"%s\" i \"%s\" no d�na un element de preprocessament v�lid" | 873 | msgstr "enganxar \"%s\" i \"%s\" no d�na un element de preprocessament v�lid" |
| 874 | 874 | ||
| 875 | #: macro.c:946 | 875 | #: macro.c:948 |
| 876 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 876 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 877 | msgstr "" | 877 | msgstr "" |
| 878 | 878 | ||
| 879 | #: macro.c:950 | 879 | #: macro.c:952 |
| 880 | #, fuzzy | 880 | #, fuzzy |
| 881 | #| msgid "ISO C99 requires rest arguments to be used" | 881 | #| msgid "ISO C99 requires rest arguments to be used" |
| 882 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 882 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 883 | msgstr "ISO C99 requereix que la resta dels arguments sigui usat" | 883 | msgstr "ISO C99 requereix que la resta dels arguments sigui usat" |
| 884 | 884 | ||
| 885 | #: macro.c:957 | 885 | #: macro.c:959 |
| 886 | #, c-format | 886 | #, c-format |
| 887 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 887 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 888 | msgstr "la macro \"%s\" requereix %u arguments, per� nom�s %u passats" | 888 | msgstr "la macro \"%s\" requereix %u arguments, per� nom�s %u passats" |
| 889 | 889 | ||
| 890 | #: macro.c:962 | 890 | #: macro.c:964 |
| 891 | #, c-format | 891 | #, c-format |
| 892 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 892 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 893 | msgstr "la macro \"%s\" va rebre %u arguments, per� en va prendre solament %u" | 893 | msgstr "la macro \"%s\" va rebre %u arguments, per� en va prendre solament %u" |
| 894 | 894 | ||
| 895 | #: macro.c:1156 traditional.c:819 | 895 | #: macro.c:1162 traditional.c:827 |
| 896 | #, c-format | 896 | #, c-format |
| 897 | msgid "unterminated argument list invoking macro \"%s\"" | 897 | msgid "unterminated argument list invoking macro \"%s\"" |
| 898 | msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\"" | 898 | msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\"" |
| 899 | 899 | ||
| 900 | #: macro.c:1307 | 900 | #: macro.c:1304 |
| 901 | #, c-format | 901 | #, c-format |
| 902 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 902 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 903 | msgstr "la funci� de macro \"%s\" s'ha d'usar amb arguments en C tradicional" | 903 | msgstr "la funci� de macro \"%s\" s'ha d'usar amb arguments en C tradicional" |
| 904 | 904 | ||
| 905 | #: macro.c:2003 | 905 | #: macro.c:2083 |
| 906 | #, c-format | 906 | #, c-format |
| 907 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 907 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 908 | msgstr "" | 908 | msgstr "" |
| 909 | 909 | ||
| 910 | #: macro.c:2011 macro.c:2020 | 910 | #: macro.c:2091 macro.c:2100 |
| 911 | #, c-format | 911 | #, c-format |
| 912 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 912 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 913 | msgstr "" | 913 | msgstr "" |
| 914 | 914 | ||
| 915 | #: macro.c:2984 | 915 | #: macro.c:3059 |
| 916 | #, c-format | 916 | #, c-format |
| 917 | msgid "duplicate macro parameter \"%s\"" | 917 | msgid "duplicate macro parameter \"%s\"" |
| 918 | msgstr "par�metre de macro \"%s\" duplicat" | 918 | msgstr "par�metre de macro \"%s\" duplicat" |
| 919 | 919 | ||
| 920 | #: macro.c:3033 | 920 | #: macro.c:3141 |
| 921 | #, c-format | 921 | #, c-format |
| 922 | msgid "\"%s\" may not appear in macro parameter list" | 922 | msgid "expected parameter name, found \"%s\"" |
| 923 | msgstr "\"%s\" podria faltar en la llista de par�metre de macro" | 923 | msgstr "" |
| 924 | |||
| 925 | #: macro.c:3142 | ||
| 926 | #, c-format | ||
| 927 | msgid "expected ',' or ')', found \"%s\"" | ||
| 928 | msgstr "" | ||
| 924 | 929 | ||
| 925 | #: macro.c:3041 | 930 | #: macro.c:3143 |
| 926 | msgid "macro parameters must be comma-separated" | 931 | msgid "expected parameter name before end of line" |
| 927 | msgstr "els par�metres de macro han de ser separats per comes" | 932 | msgstr "" |
| 933 | |||
| 934 | #: macro.c:3144 | ||
| 935 | msgid "expected ')' before end of line" | ||
| 936 | msgstr "" | ||
| 928 | 937 | ||
| 929 | #: macro.c:3060 | 938 | #: macro.c:3145 |
| 930 | msgid "parameter name missing" | 939 | msgid "expected ')' after \"...\"" |
| 931 | msgstr "falta el nom del par�metre" | 940 | msgstr "" |
| 932 | 941 | ||
| 933 | #: macro.c:3081 | 942 | #: macro.c:3202 |
| 934 | #, fuzzy | 943 | #, fuzzy |
| 935 | #| msgid "anonymous variadic macros were introduced in C99" | 944 | #| msgid "anonymous variadic macros were introduced in C99" |
| 936 | msgid "anonymous variadic macros were introduced in C++11" | 945 | msgid "anonymous variadic macros were introduced in C++11" |
| 937 | msgstr "els macros variadic an�nims es van introduir en C99" | 946 | msgstr "els macros variadic an�nims es van introduir en C99" |
| 938 | 947 | ||
| 939 | #: macro.c:3085 macro.c:3090 | 948 | #: macro.c:3203 macro.c:3207 |
| 940 | msgid "anonymous variadic macros were introduced in C99" | 949 | msgid "anonymous variadic macros were introduced in C99" |
| 941 | msgstr "els macros variadic an�nims es van introduir en C99" | 950 | msgstr "els macros variadic an�nims es van introduir en C99" |
| 942 | 951 | ||
| 943 | #: macro.c:3097 | 952 | #: macro.c:3213 |
| 944 | #, fuzzy | 953 | #, fuzzy |
| 945 | #| msgid "ISO C does not permit named variadic macros" | 954 | #| msgid "ISO C does not permit named variadic macros" |
| 946 | msgid "ISO C++ does not permit named variadic macros" | 955 | msgid "ISO C++ does not permit named variadic macros" |
| 947 | msgstr "ISO C no permet macros variadic nomenats" | 956 | msgstr "ISO C no permet macros variadic nomenats" |
| 948 | 957 | ||
| 949 | #: macro.c:3100 | 958 | #: macro.c:3214 |
| 950 | msgid "ISO C does not permit named variadic macros" | 959 | msgid "ISO C does not permit named variadic macros" |
| 951 | msgstr "ISO C no permet macros variadic nomenats" | 960 | msgstr "ISO C no permet macros variadic nomenats" |
| 952 | 961 | ||
| 953 | #: macro.c:3110 | 962 | #: macro.c:3260 |
| 954 | msgid "missing ')' in macro parameter list" | ||
| 955 | msgstr "\")\" faltant en la llista de par�metres de macro" | ||
| 956 | |||
| 957 | #: macro.c:3161 | ||
| 958 | msgid "'##' cannot appear at either end of a macro expansion" | 963 | msgid "'##' cannot appear at either end of a macro expansion" |
| 959 | msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro" | 964 | msgstr "\"##\" no pot apareixer en o al final d'una expansi� de macro" |
| 960 | 965 | ||
| 961 | #: macro.c:3198 | 966 | #: macro.c:3298 |
| 962 | #, fuzzy | 967 | #, fuzzy |
| 963 | #| msgid "ISO C99 requires whitespace after the macro name" | 968 | #| msgid "ISO C99 requires whitespace after the macro name" |
| 964 | msgid "ISO C++11 requires whitespace after the macro name" | 969 | msgid "ISO C++11 requires whitespace after the macro name" |
| 965 | msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro" | 970 | msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro" |
| 966 | 971 | ||
| 967 | #: macro.c:3201 | 972 | #: macro.c:3299 |
| 968 | msgid "ISO C99 requires whitespace after the macro name" | 973 | msgid "ISO C99 requires whitespace after the macro name" |
| 969 | msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro" | 974 | msgstr "ISO C99 requereix espais en blanc despr�s del nom de macro" |
| 970 | 975 | ||
| 971 | #: macro.c:3226 | 976 | #: macro.c:3323 |
| 972 | msgid "missing whitespace after the macro name" | 977 | msgid "missing whitespace after the macro name" |
| 973 | msgstr "espais en blanc faltant despr�s del nom de macro" | 978 | msgstr "espais en blanc faltant despr�s del nom de macro" |
| 974 | 979 | ||
| 975 | #: macro.c:3263 | 980 | #: macro.c:3373 |
| 976 | msgid "'#' is not followed by a macro parameter" | 981 | msgid "'#' is not followed by a macro parameter" |
| 977 | msgstr "\"#\" no �s seguit per un par�metre de macro" | 982 | msgstr "\"#\" no �s seguit per un par�metre de macro" |
| 978 | 983 | ||
| 979 | #: macro.c:3430 | 984 | #: macro.c:3524 |
| 980 | #, c-format | 985 | #, c-format |
| 981 | msgid "\"%s\" redefined" | 986 | msgid "\"%s\" redefined" |
| 982 | msgstr "\"%s\" re-definit" | 987 | msgstr "\"%s\" re-definit" |
| 983 | 988 | ||
| 984 | #: macro.c:3435 | 989 | #: macro.c:3529 |
| 985 | msgid "this is the location of the previous definition" | 990 | msgid "this is the location of the previous definition" |
| 986 | msgstr "aquesta �s la ubicaci� de la definici� pr�via" | 991 | msgstr "aquesta �s la ubicaci� de la definici� pr�via" |
| 987 | 992 | ||
| 988 | #: macro.c:3496 | 993 | #: macro.c:3633 |
| 989 | #, c-format | 994 | #, c-format |
| 990 | msgid "macro argument \"%s\" would be stringified in traditional C" | 995 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 991 | msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional" | 996 | msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional" |
| 992 | 997 | ||
| 993 | #: macro.c:3532 | 998 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 994 | #, c-format | ||
| 995 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 996 | msgstr "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 | ||
| 999 | msgid "while writing precompiled header" | 999 | msgid "while writing precompiled header" |
| 1000 | msgstr "mentre escrivint cap�alera precompilada" | 1000 | msgstr "mentre escrivint cap�alera precompilada" |
| 1001 | 1001 | ||
| 1002 | #: pch.c:621 | 1002 | #: pch.c:616 |
| 1003 | #, fuzzy, c-format | 1003 | #, fuzzy, c-format |
| 1004 | #| msgid "%s: not used because `%s' is defined" | 1004 | #| msgid "%s: not used because `%s' is defined" |
| 1005 | msgid "%s: not used because `%.*s' is poisoned" | 1005 | msgid "%s: not used because `%.*s' is poisoned" |
| 1006 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" | 1006 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" |
| 1007 | 1007 | ||
| 1008 | #: pch.c:643 | 1008 | #: pch.c:638 |
| 1009 | #, c-format | 1009 | #, c-format |
| 1010 | msgid "%s: not used because `%.*s' not defined" | 1010 | msgid "%s: not used because `%.*s' not defined" |
| 1011 | msgstr "%s: no utilitzat perqu� \"%.*s\" no est� definit" | 1011 | msgstr "%s: no utilitzat perqu� \"%.*s\" no est� definit" |
| 1012 | 1012 | ||
| 1013 | #: pch.c:655 | 1013 | #: pch.c:650 |
| 1014 | #, c-format | 1014 | #, c-format |
| 1015 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 1015 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 1016 | msgstr "%s: no utilitzat perqu� \"%.*s\" est� definit com a \"%s\" i no com a \"%.*s\"" | 1016 | msgstr "%s: no utilitzat perqu� \"%.*s\" est� definit com a \"%s\" i no com a \"%.*s\"" |
| 1017 | 1017 | ||
| 1018 | #: pch.c:696 | 1018 | #: pch.c:691 |
| 1019 | #, c-format | 1019 | #, c-format |
| 1020 | msgid "%s: not used because `%s' is defined" | 1020 | msgid "%s: not used because `%s' is defined" |
| 1021 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" | 1021 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" |
| 1022 | 1022 | ||
| 1023 | #: pch.c:716 | 1023 | #: pch.c:711 |
| 1024 | #, fuzzy, c-format | 1024 | #, fuzzy, c-format |
| 1025 | #| msgid "%s: not used because `%s' is defined" | 1025 | #| msgid "%s: not used because `%s' is defined" |
| 1026 | msgid "%s: not used because `__COUNTER__' is invalid" | 1026 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 1027 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" | 1027 | msgstr "%s: no utilitzat perqu� \"%s\" �s definit" |
| 1028 | 1028 | ||
| 1029 | #: pch.c:725 pch.c:903 | 1029 | #: pch.c:720 pch.c:878 |
| 1030 | msgid "while reading precompiled header" | 1030 | msgid "while reading precompiled header" |
| 1031 | msgstr "mentre llegint cap�alera precompilada" | 1031 | msgstr "mentre llegint cap�alera precompilada" |
| 1032 | 1032 | ||
| 1033 | #: traditional.c:889 | 1033 | #: traditional.c:896 |
| 1034 | #, c-format | 1034 | #, c-format |
| 1035 | msgid "detected recursion whilst expanding macro \"%s\"" | 1035 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 1036 | msgstr "whilst recursiu detectat en expandint la macro \"%s\"" | 1036 | msgstr "whilst recursiu detectat en expandint la macro \"%s\"" |
| 1037 | 1037 | ||
| 1038 | #: traditional.c:1108 | 1038 | #: traditional.c:1119 |
| 1039 | msgid "syntax error in macro parameter list" | 1039 | msgid "syntax error in macro parameter list" |
| 1040 | msgstr "error sint�ctic en la llista de par�metre de macro" | 1040 | msgstr "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" | ||
| @@ -8,7 +8,7 @@ msgid "" · 7 unmodified lines | |||
| 8 | msgstr "" | 8 | msgstr "" |
| 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 | |||
| 89 | msgstr "" | 89 | msgstr "" |
| 90 | 90 | ||
| 91 | #: charset.c:1181 | 91 | #: charset.c:1181 |
| 92 | #: charset.c:2000 | 92 | #: charset.c:2002 |
| 93 | msgid "converting UCN to source character set" | 93 | msgid "converting UCN to source character set" |
| 94 | msgstr "" | 94 | msgstr "" |
| 95 | 95 | ||
| @@ -140,289 +140,289 @@ msgstr "" · 44 unmodified lines | |||
| 140 | msgid "missing open quote" | 140 | msgid "missing open quote" |
| 141 | msgstr "" | 141 | msgstr "" |
| 142 | 142 | ||
| 143 | #: charset.c:1827 | 143 | #: charset.c:1829 |
| 144 | #: charset.c:1891 | 144 | #: charset.c:1893 |
| 145 | msgid "character constant too long for its type" | 145 | msgid "character constant too long for its type" |
| 146 | msgstr "" | 146 | msgstr "" |
| 147 | 147 | ||
| 148 | #: charset.c:1830 | 148 | #: charset.c:1832 |
| 149 | msgid "multi-character character constant" | 149 | msgid "multi-character character constant" |
| 150 | msgstr "" | 150 | msgstr "" |
| 151 | 151 | ||
| 152 | #: charset.c:1931 | 152 | #: charset.c:1933 |
| 153 | msgid "empty character constant" | 153 | msgid "empty character constant" |
| 154 | msgstr "" | 154 | msgstr "" |
| 155 | 155 | ||
| 156 | #: charset.c:2047 | 156 | #: charset.c:2049 |
| 157 | #, c-format | 157 | #, c-format |
| 158 | msgid "failure to convert %s to %s" | 158 | msgid "failure to convert %s to %s" |
| 159 | msgstr "" | 159 | msgstr "" |
| 160 | 160 | ||
| 161 | #: directives.c:235 | 161 | #: directives.c:229 |
| 162 | #: directives.c:278 | 162 | #: directives.c:272 |
| 163 | #, c-format | 163 | #, c-format |
| 164 | msgid "extra tokens at end of #%s directive" | 164 | msgid "extra tokens at end of #%s directive" |
| 165 | msgstr "" | 165 | msgstr "" |
| 166 | 166 | ||
| 167 | #: directives.c:385 | 167 | #: directives.c:379 |
| 168 | #, c-format | 168 | #, c-format |
| 169 | msgid "#%s is a GCC extension" | 169 | msgid "#%s is a GCC extension" |
| 170 | msgstr "" | 170 | msgstr "" |
| 171 | 171 | ||
| 172 | #: directives.c:390 | 172 | #: directives.c:384 |
| 173 | #, c-format | 173 | #, c-format |
| 174 | msgid "#%s is a deprecated GCC extension" | 174 | msgid "#%s is a deprecated GCC extension" |
| 175 | msgstr "" | 175 | msgstr "" |
| 176 | 176 | ||
| 177 | #: directives.c:403 | 177 | #: directives.c:397 |
| 178 | msgid "suggest not using #elif in traditional C" | 178 | msgid "suggest not using #elif in traditional C" |
| 179 | msgstr "" | 179 | msgstr "" |
| 180 | 180 | ||
| 181 | #: directives.c:406 | 181 | #: directives.c:400 |
| 182 | #, c-format | 182 | #, c-format |
| 183 | msgid "traditional C ignores #%s with the # indented" | 183 | msgid "traditional C ignores #%s with the # indented" |
| 184 | msgstr "" | 184 | msgstr "" |
| 185 | 185 | ||
| 186 | #: directives.c:410 | 186 | #: directives.c:404 |
| 187 | #, c-format | 187 | #, c-format |
| 188 | msgid "suggest hiding #%s from traditional C with an indented #" | 188 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 189 | msgstr "" | 189 | msgstr "" |
| 190 | 190 | ||
| 191 | #: directives.c:436 | 191 | #: directives.c:430 |
| 192 | msgid "embedding a directive within macro arguments is not portable" | 192 | msgid "embedding a directive within macro arguments is not portable" |
| 193 | msgstr "" | 193 | msgstr "" |
| 194 | 194 | ||
| 195 | #: directives.c:456 | 195 | #: directives.c:450 |
| 196 | msgid "style of line directive is a GCC extension" | 196 | msgid "style of line directive is a GCC extension" |
| 197 | msgstr "" | 197 | msgstr "" |
| 198 | 198 | ||
| 199 | #: directives.c:537 | 199 | #: directives.c:531 |
| 200 | #, c-format | 200 | #, c-format |
| 201 | msgid "invalid preprocessing directive #%s" | 201 | msgid "invalid preprocessing directive #%s" |
| 202 | msgstr "" | 202 | msgstr "" |
| 203 | 203 | ||
| 204 | #: directives.c:606 | 204 | #: directives.c:600 |
| 205 | msgid "\"defined\" cannot be used as a macro name" | 205 | msgid "\"defined\" cannot be used as a macro name" |
| 206 | msgstr "" | 206 | msgstr "" |
| 207 | 207 | ||
| 208 | #: directives.c:611 | 208 | #: directives.c:605 |
| 209 | msgid "\"__has_include__\" cannot be used as a macro name" | 209 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 210 | msgstr "" | 210 | msgstr "" |
| 211 | 211 | ||
| 212 | #: directives.c:617 | 212 | #: directives.c:611 |
| 213 | #, c-format | 213 | #, c-format |
| 214 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 214 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 215 | msgstr "" | 215 | msgstr "" |
| 216 | 216 | ||
| 217 | #: directives.c:620 | 217 | #: directives.c:614 |
| 218 | #, c-format | 218 | #, c-format |
| 219 | msgid "no macro name given in #%s directive" | 219 | msgid "no macro name given in #%s directive" |
| 220 | msgstr "" | 220 | msgstr "" |
| 221 | 221 | ||
| 222 | #: directives.c:623 | 222 | #: directives.c:617 |
| 223 | msgid "macro names must be identifiers" | 223 | msgid "macro names must be identifiers" |
| 224 | msgstr "" | 224 | msgstr "" |
| 225 | 225 | ||
| 226 | #: directives.c:672 | 226 | #: directives.c:666 |
| 227 | #: directives.c:677 | 227 | #: directives.c:671 |
| 228 | #, c-format | 228 | #, c-format |
| 229 | msgid "undefining \"%s\"" | 229 | msgid "undefining \"%s\"" |
| 230 | msgstr "" | 230 | msgstr "" |
| 231 | 231 | ||
| 232 | #: directives.c:732 | 232 | #: directives.c:727 |
| 233 | msgid "missing terminating > character" | 233 | msgid "missing terminating > character" |
| 234 | msgstr "" | 234 | msgstr "" |
| 235 | 235 | ||
| 236 | #: directives.c:791 | 236 | #: directives.c:786 |
| 237 | #, c-format | 237 | #, c-format |
| 238 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 238 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 239 | msgstr "" | 239 | msgstr "" |
| 240 | 240 | ||
| 241 | #: directives.c:837 | 241 | #: directives.c:828 |
| 242 | #, c-format | 242 | #, c-format |
| 243 | msgid "empty filename in #%s" | 243 | msgid "empty filename in #%s" |
| 244 | msgstr "" | 244 | msgstr "" |
| 245 | 245 | ||
| 246 | #: directives.c:847 | 246 | #: directives.c:835 |
| 247 | msgid "#include nested too deeply" | 247 | msgid "#include nested too deeply" |
| 248 | msgstr "" | 248 | msgstr "" |
| 249 | 249 | ||
| 250 | #: directives.c:888 | 250 | #: directives.c:877 |
| 251 | msgid "#include_next in primary source file" | 251 | msgid "#include_next in primary source file" |
| 252 | msgstr "" | 252 | msgstr "" |
| 253 | 253 | ||
| 254 | #: directives.c:914 | 254 | #: directives.c:903 |
| 255 | #, c-format | 255 | #, c-format |
| 256 | msgid "invalid flag \"%s\" in line directive" | 256 | msgid "invalid flag \"%s\" in line directive" |
| 257 | msgstr "" | 257 | msgstr "" |
| 258 | 258 | ||
| 259 | #: directives.c:974 | 259 | #: directives.c:963 |
| 260 | msgid "unexpected end of file after #line" | 260 | msgid "unexpected end of file after #line" |
| 261 | msgstr "" | 261 | msgstr "" |
| 262 | 262 | ||
| 263 | #: directives.c:977 | 263 | #: directives.c:966 |
| 264 | #, c-format | 264 | #, c-format |
| 265 | msgid "\"%s\" after #line is not a positive integer" | 265 | msgid "\"%s\" after #line is not a positive integer" |
| 266 | msgstr "" | 266 | msgstr "" |
| 267 | 267 | ||
| 268 | #: directives.c:983 | 268 | #: directives.c:972 |
| 269 | #: directives.c:985 | 269 | #: directives.c:974 |
| 270 | msgid "line number out of range" | 270 | msgid "line number out of range" |
| 271 | msgstr "" | 271 | msgstr "" |
| 272 | 272 | ||
| 273 | #: directives.c:998 | 273 | #: directives.c:987 |
| 274 | #: directives.c:1079 | 274 | #: directives.c:1068 |
| 275 | #, c-format | 275 | #, c-format |
| 276 | msgid "\"%s\" is not a valid filename" | 276 | msgid "\"%s\" is not a valid filename" |
| 277 | msgstr "" | 277 | msgstr "" |
| 278 | 278 | ||
| 279 | #: directives.c:1039 | 279 | #: directives.c:1028 |
| 280 | #, c-format | 280 | #, c-format |
| 281 | msgid "\"%s\" after # is not a positive integer" | 281 | msgid "\"%s\" after # is not a positive integer" |
| 282 | msgstr "" | 282 | msgstr "" |
| 283 | 283 | ||
| 284 | #: directives.c:1098 | 284 | #: directives.c:1087 |
| 285 | #, c-format | 285 | #, c-format |
| 286 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 286 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 287 | msgstr "" | 287 | msgstr "" |
| 288 | 288 | ||
| 289 | #: directives.c:1157 | 289 | #: directives.c:1147 |
| 290 | #: directives.c:1159 | 290 | #: directives.c:1149 |
| 291 | #: directives.c:1161 | 291 | #: directives.c:1151 |
| 292 | #: directives.c:1747 | 292 | #: directives.c:1737 |
| 293 | #, c-format | 293 | #, c-format |
| 294 | msgid "%s" | 294 | msgid "%s" |
| 295 | msgstr "" | 295 | msgstr "" |
| 296 | 296 | ||
| 297 | #: directives.c:1185 | 297 | #: directives.c:1175 |
| 298 | #, c-format | 298 | #, c-format |
| 299 | msgid "invalid #%s directive" | 299 | msgid "invalid #%s directive" |
| 300 | msgstr "" | 300 | msgstr "" |
| 301 | 301 | ||
| 302 | #: directives.c:1248 | 302 | #: directives.c:1238 |
| 303 | #, c-format | 303 | #, c-format |
| 304 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 304 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 305 | msgstr "" | 305 | msgstr "" |
| 306 | 306 | ||
| 307 | #: directives.c:1257 | 307 | #: directives.c:1247 |
| 308 | #, c-format | 308 | #, c-format |
| 309 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 309 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 310 | msgstr "" | 310 | msgstr "" |
| 311 | 311 | ||
| 312 | #: directives.c:1275 | 312 | #: directives.c:1265 |
| 313 | #, c-format | 313 | #, c-format |
| 314 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 314 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 315 | msgstr "" | 315 | msgstr "" |
| 316 | 316 | ||
| 317 | #: directives.c:1278 | 317 | #: directives.c:1268 |
| 318 | #, c-format | 318 | #, c-format |
| 319 | msgid "#pragma %s %s is already registered" | 319 | msgid "#pragma %s %s is already registered" |
| 320 | msgstr "" | 320 | msgstr "" |
| 321 | 321 | ||
| 322 | #: directives.c:1281 | 322 | #: directives.c:1271 |
| 323 | #, c-format | 323 | #, c-format |
| 324 | msgid "#pragma %s is already registered" | 324 | msgid "#pragma %s is already registered" |
| 325 | msgstr "" | 325 | msgstr "" |
| 326 | 326 | ||
| 327 | #: directives.c:1311 | 327 | #: directives.c:1301 |
| 328 | msgid "registering pragma with NULL handler" | 328 | msgid "registering pragma with NULL handler" |
| 329 | msgstr "" | 329 | msgstr "" |
| 330 | 330 | ||
| 331 | #: directives.c:1528 | 331 | #: directives.c:1518 |
| 332 | msgid "#pragma once in main file" | 332 | msgid "#pragma once in main file" |
| 333 | msgstr "" | 333 | msgstr "" |
| 334 | 334 | ||
| 335 | #: directives.c:1551 | 335 | #: directives.c:1541 |
| 336 | msgid "invalid #pragma push_macro directive" | 336 | msgid "invalid #pragma push_macro directive" |
| 337 | msgstr "" | 337 | msgstr "" |
| 338 | 338 | ||
| 339 | #: directives.c:1606 | 339 | #: directives.c:1596 |
| 340 | msgid "invalid #pragma pop_macro directive" | 340 | msgid "invalid #pragma pop_macro directive" |
| 341 | msgstr "" | 341 | msgstr "" |
| 342 | 342 | ||
| 343 | #: directives.c:1661 | 343 | #: directives.c:1651 |
| 344 | msgid "invalid #pragma GCC poison directive" | 344 | msgid "invalid #pragma GCC poison directive" |
| 345 | msgstr "" | 345 | msgstr "" |
| 346 | 346 | ||
| 347 | #: directives.c:1670 | 347 | #: directives.c:1660 |
| 348 | #, c-format | 348 | #, c-format |
| 349 | msgid "poisoning existing macro \"%s\"" | 349 | msgid "poisoning existing macro \"%s\"" |
| 350 | msgstr "" | 350 | msgstr "" |
| 351 | 351 | ||
| 352 | #: directives.c:1689 | 352 | #: directives.c:1679 |
| 353 | msgid "#pragma system_header ignored outside include file" | 353 | msgid "#pragma system_header ignored outside include file" |
| 354 | msgstr "" | 354 | msgstr "" |
| 355 | 355 | ||
| 356 | #: directives.c:1714 | 356 | #: directives.c:1704 |
| 357 | #, c-format | 357 | #, c-format |
| 358 | msgid "cannot find source file %s" | 358 | msgid "cannot find source file %s" |
| 359 | msgstr "" | 359 | msgstr "" |
| 360 | 360 | ||
| 361 | #: directives.c:1718 | 361 | #: directives.c:1708 |
| 362 | #, c-format | 362 | #, c-format |
| 363 | msgid "current file is older than %s" | 363 | msgid "current file is older than %s" |
| 364 | msgstr "" | 364 | msgstr "" |
| 365 | 365 | ||
| 366 | #: directives.c:1742 | 366 | #: directives.c:1732 |
| 367 | #, c-format | 367 | #, c-format |
| 368 | msgid "invalid \"#pragma GCC %s\" directive" | 368 | msgid "invalid \"#pragma GCC %s\" directive" |
| 369 | msgstr "" | 369 | msgstr "" |
| 370 | 370 | ||
| 371 | #: directives.c:1943 | 371 | #: directives.c:1933 |
| 372 | msgid "_Pragma takes a parenthesized string literal" | 372 | msgid "_Pragma takes a parenthesized string literal" |
| 373 | msgstr "" | 373 | msgstr "" |
| 374 | 374 | ||
| 375 | #: directives.c:2064 | 375 | #: directives.c:2021 |
| 376 | msgid "#else without #if" | 376 | msgid "#else without #if" |
| 377 | msgstr "" | 377 | msgstr "" |
| 378 | 378 | ||
| 379 | #: directives.c:2069 | 379 | #: directives.c:2026 |
| 380 | msgid "#else after #else" | 380 | msgid "#else after #else" |
| 381 | msgstr "" | 381 | msgstr "" |
| 382 | 382 | ||
| 383 | #: directives.c:2071 | 383 | #: directives.c:2028 |
| 384 | #: directives.c:2104 | 384 | #: directives.c:2061 |
| 385 | msgid "the conditional began here" | 385 | msgid "the conditional began here" |
| 386 | msgstr "" | 386 | msgstr "" |
| 387 | 387 | ||
| 388 | #: directives.c:2097 | 388 | #: directives.c:2054 |
| 389 | msgid "#elif without #if" | 389 | msgid "#elif without #if" |
| 390 | msgstr "" | 390 | msgstr "" |
| 391 | 391 | ||
| 392 | #: directives.c:2102 | 392 | #: directives.c:2059 |
| 393 | msgid "#elif after #else" | 393 | msgid "#elif after #else" |
| 394 | msgstr "" | 394 | msgstr "" |
| 395 | 395 | ||
| 396 | #: directives.c:2133 | 396 | #: directives.c:2090 |
| 397 | msgid "#endif without #if" | 397 | msgid "#endif without #if" |
| 398 | msgstr "" | 398 | msgstr "" |
| 399 | 399 | ||
| 400 | #: directives.c:2213 | 400 | #: directives.c:2166 |
| 401 | msgid "missing '(' after predicate" | 401 | msgid "missing '(' after predicate" |
| 402 | msgstr "" | 402 | msgstr "" |
| 403 | 403 | ||
| 404 | #: directives.c:2228 | 404 | #: directives.c:2184 |
| 405 | msgid "missing ')' to complete answer" | 405 | msgid "missing ')' to complete answer" |
| 406 | msgstr "" | 406 | msgstr "" |
| 407 | 407 | ||
| 408 | #: directives.c:2248 | 408 | #: directives.c:2196 |
| 409 | msgid "predicate's answer is empty" | 409 | msgid "predicate's answer is empty" |
| 410 | msgstr "" | 410 | msgstr "" |
| 411 | 411 | ||
| 412 | #: directives.c:2275 | 412 | #: directives.c:2226 |
| 413 | msgid "assertion without predicate" | 413 | msgid "assertion without predicate" |
| 414 | msgstr "" | 414 | msgstr "" |
| 415 | 415 | ||
| 416 | #: directives.c:2278 | 416 | #: directives.c:2229 |
| 417 | msgid "predicate must be an identifier" | 417 | msgid "predicate must be an identifier" |
| 418 | msgstr "" | 418 | msgstr "" |
| 419 | 419 | ||
| 420 | #: directives.c:2364 | 420 | #: directives.c:2311 |
| 421 | #, c-format | 421 | #, c-format |
| 422 | msgid "\"%s\" re-asserted" | 422 | msgid "\"%s\" re-asserted" |
| 423 | msgstr "" | 423 | msgstr "" |
| 424 | 424 | ||
| 425 | #: directives.c:2656 | 425 | #: directives.c:2587 |
| 426 | #, c-format | 426 | #, c-format |
| 427 | msgid "unterminated #%s" | 427 | msgid "unterminated #%s" |
| 428 | msgstr "" | 428 | msgstr "" |
| @@ -433,12 +433,12 @@ msgstr "" · 4 unmodified lines | |||
| 433 | msgid "unterminated comment" | 433 | msgid "unterminated comment" |
| 434 | msgstr "" | 434 | msgstr "" |
| 435 | 435 | ||
| 436 | #: errors.c:284 | 436 | #: errors.c:291 |
| 437 | #, c-format | 437 | #, c-format |
| 438 | msgid "%s: %s" | 438 | msgid "%s: %s" |
| 439 | msgstr "" | 439 | msgstr "" |
| 440 | 440 | ||
| 441 | #: errors.c:296 | 441 | #: errors.c:304 |
| 442 | msgid "stdout" | 442 | msgid "stdout" |
| 443 | msgstr "" | 443 | msgstr "" |
| 444 | 444 | ||
| @@ -533,84 +533,84 @@ msgstr "" · 88 unmodified lines | |||
| 533 | msgid "this use of \"defined\" may not be portable" | 533 | msgid "this use of \"defined\" may not be portable" |
| 534 | msgstr "" | 534 | msgstr "" |
| 535 | 535 | ||
| 536 | #: expr.c:1125 | 536 | #: expr.c:1109 |
| 537 | msgid "user-defined literal in preprocessor expression" | 537 | msgid "user-defined literal in preprocessor expression" |
| 538 | msgstr "" | 538 | msgstr "" |
| 539 | 539 | ||
| 540 | #: expr.c:1130 | 540 | #: expr.c:1114 |
| 541 | msgid "floating constant in preprocessor expression" | 541 | msgid "floating constant in preprocessor expression" |
| 542 | msgstr "" | 542 | msgstr "" |
| 543 | 543 | ||
| 544 | #: expr.c:1136 | 544 | #: expr.c:1120 |
| 545 | msgid "imaginary number in preprocessor expression" | 545 | msgid "imaginary number in preprocessor expression" |
| 546 | msgstr "" | 546 | msgstr "" |
| 547 | 547 | ||
| 548 | #: expr.c:1189 | 548 | #: expr.c:1173 |
| 549 | #, c-format | 549 | #, c-format |
| 550 | msgid "\"%s\" is not defined, evaluates to 0" | 550 | msgid "\"%s\" is not defined, evaluates to 0" |
| 551 | msgstr "" | 551 | msgstr "" |
| 552 | 552 | ||
| 553 | #: expr.c:1202 | 553 | #: expr.c:1186 |
| 554 | msgid "assertions are a GCC extension" | 554 | msgid "assertions are a GCC extension" |
| 555 | msgstr "" | 555 | msgstr "" |
| 556 | 556 | ||
| 557 | #: expr.c:1205 | 557 | #: expr.c:1189 |
| 558 | msgid "assertions are a deprecated extension" | 558 | msgid "assertions are a deprecated extension" |
| 559 | msgstr "" | 559 | msgstr "" |
| 560 | 560 | ||
| 561 | #: expr.c:1451 | 561 | #: expr.c:1435 |
| 562 | #, c-format | 562 | #, c-format |
| 563 | msgid "unbalanced stack in %s" | 563 | msgid "unbalanced stack in %s" |
| 564 | msgstr "" | 564 | msgstr "" |
| 565 | 565 | ||
| 566 | #: expr.c:1471 | 566 | #: expr.c:1455 |
| 567 | #, c-format | 567 | #, c-format |
| 568 | msgid "impossible operator '%u'" | 568 | msgid "impossible operator '%u'" |
| 569 | msgstr "" | 569 | msgstr "" |
| 570 | 570 | ||
| 571 | #: expr.c:1572 | 571 | #: expr.c:1556 |
| 572 | msgid "missing ')' in expression" | 572 | msgid "missing ')' in expression" |
| 573 | msgstr "" | 573 | msgstr "" |
| 574 | 574 | ||
| 575 | #: expr.c:1601 | 575 | #: expr.c:1585 |
| 576 | msgid "'?' without following ':'" | 576 | msgid "'?' without following ':'" |
| 577 | msgstr "" | 577 | msgstr "" |
| 578 | 578 | ||
| 579 | #: expr.c:1611 | 579 | #: expr.c:1595 |
| 580 | msgid "integer overflow in preprocessor expression" | 580 | msgid "integer overflow in preprocessor expression" |
| 581 | msgstr "" | 581 | msgstr "" |
| 582 | 582 | ||
| 583 | #: expr.c:1616 | 583 | #: expr.c:1600 |
| 584 | msgid "missing '(' in expression" | 584 | msgid "missing '(' in expression" |
| 585 | msgstr "" | 585 | msgstr "" |
| 586 | 586 | ||
| 587 | #: expr.c:1648 | 587 | #: expr.c:1632 |
| 588 | #, c-format | 588 | #, c-format |
| 589 | msgid "the left operand of \"%s\" changes sign when promoted" | 589 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 590 | msgstr "" | 590 | msgstr "" |
| 591 | 591 | ||
| 592 | #: expr.c:1653 | 592 | #: expr.c:1637 |
| 593 | #, c-format | 593 | #, c-format |
| 594 | msgid "the right operand of \"%s\" changes sign when promoted" | 594 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 595 | msgstr "" | 595 | msgstr "" |
| 596 | 596 | ||
| 597 | #: expr.c:1912 | 597 | #: expr.c:1896 |
| 598 | msgid "traditional C rejects the unary plus operator" | 598 | msgid "traditional C rejects the unary plus operator" |
| 599 | msgstr "" | 599 | msgstr "" |
| 600 | 600 | ||
| 601 | #: expr.c:2010 | 601 | #: expr.c:1994 |
| 602 | msgid "comma operator in operand of #if" | 602 | msgid "comma operator in operand of #if" |
| 603 | msgstr "" | 603 | msgstr "" |
| 604 | 604 | ||
| 605 | #: expr.c:2146 | 605 | #: expr.c:2130 |
| 606 | msgid "division by zero in #if" | 606 | msgid "division by zero in #if" |
| 607 | msgstr "" | 607 | msgstr "" |
| 608 | 608 | ||
| 609 | #: expr.c:2243 | 609 | #: expr.c:2227 |
| 610 | msgid "operator \"__has_include__\" requires a header string" | 610 | msgid "operator \"__has_include__\" requires a header string" |
| 611 | msgstr "" | 611 | msgstr "" |
| 612 | 612 | ||
| 613 | #: expr.c:2259 | 613 | #: expr.c:2243 |
| 614 | msgid "missing ')' after \"__has_include__\"" | 614 | msgid "missing ')' after \"__has_include__\"" |
| 615 | msgstr "" | 615 | msgstr "" |
| 616 | 616 | ||
| @@ -627,42 +627,42 @@ msgstr "" · 10 unmodified lines | |||
| 627 | msgid "no include path in which to search for %s" | 627 | msgid "no include path in which to search for %s" |
| 628 | msgstr "" | 628 | msgstr "" |
| 629 | 629 | ||
| 630 | #: files.c:1441 | 630 | #: files.c:1455 |
| 631 | msgid "Multiple include guards may be useful for:\n" | 631 | msgid "Multiple include guards may be useful for:\n" |
| 632 | msgstr "" | 632 | msgstr "" |
| 633 | 633 | ||
| 634 | #: init.c:565 | 634 | #: init.c:569 |
| 635 | msgid "cppchar_t must be an unsigned type" | 635 | msgid "cppchar_t must be an unsigned type" |
| 636 | msgstr "" | 636 | msgstr "" |
| 637 | 637 | ||
| 638 | #: init.c:569 | 638 | #: init.c:573 |
| 639 | #, c-format | 639 | #, c-format |
| 640 | msgid "" | 640 | msgid "" |
| 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" |
| 643 | msgstr "" | 643 | msgstr "" |
| 644 | 644 | ||
| 645 | #: init.c:576 | 645 | #: init.c:580 |
| 646 | msgid "CPP arithmetic must be at least as precise as a target int" | 646 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 647 | msgstr "" | 647 | msgstr "" |
| 648 | 648 | ||
| 649 | #: init.c:579 | 649 | #: init.c:583 |
| 650 | msgid "target char is less than 8 bits wide" | 650 | msgid "target char is less than 8 bits wide" |
| 651 | msgstr "" | 651 | msgstr "" |
| 652 | 652 | ||
| 653 | #: init.c:583 | 653 | #: init.c:587 |
| 654 | msgid "target wchar_t is narrower than target char" | 654 | msgid "target wchar_t is narrower than target char" |
| 655 | msgstr "" | 655 | msgstr "" |
| 656 | 656 | ||
| 657 | #: init.c:587 | 657 | #: init.c:591 |
| 658 | msgid "target int is narrower than target char" | 658 | msgid "target int is narrower than target char" |
| 659 | msgstr "" | 659 | msgstr "" |
| 660 | 660 | ||
| 661 | #: init.c:592 | 661 | #: init.c:596 |
| 662 | msgid "CPP half-integer narrower than CPP character" | 662 | msgid "CPP half-integer narrower than CPP character" |
| 663 | msgstr "" | 663 | msgstr "" |
| 664 | 664 | ||
| 665 | #: init.c:596 | 665 | #: init.c:600 |
| 666 | #, c-format | 666 | #, c-format |
| 667 | msgid "" | 667 | msgid "" |
| 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:2878 | 786 | #: lex.c:2878 |
| 787 | #: lex.c:2889 | 787 | #: lex.c:2889 |
| 788 | #: lex.c:2912 | 788 | #: lex.c:2913 |
| 789 | msgid "(this will be reported only once per input file)" | 789 | msgid "(this will be reported only once per input file)" |
| 790 | msgstr "" | 790 | msgstr "" |
| 791 | 791 | ||
| @@ -793,16 +793,16 @@ msgstr "" · 1 unmodified line | |||
| 793 | msgid "C++ style comments are incompatible with C90" | 793 | msgid "C++ style comments are incompatible with C90" |
| 794 | msgstr "" | 794 | msgstr "" |
| 795 | 795 | ||
| 796 | #: lex.c:2918 | 796 | #: lex.c:2919 |
| 797 | msgid "multi-line comment" | 797 | msgid "multi-line comment" |
| 798 | msgstr "" | 798 | msgstr "" |
| 799 | 799 | ||
| 800 | #: lex.c:3298 | 800 | #: lex.c:3299 |
| 801 | #, c-format | 801 | #, c-format |
| 802 | msgid "unspellable token %s" | 802 | msgid "unspellable token %s" |
| 803 | msgstr "" | 803 | msgstr "" |
| 804 | 804 | ||
| 805 | #: macro.c:93 | 805 | #: macro.c:94 |
| 806 | msgid "'##' cannot appear at either end of __VA_OPT__" | 806 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 807 | msgstr "" | 807 | msgstr "" |
| 808 | 808 | ||
| @@ -864,154 +864,154 @@ msgstr "" · 55 unmodified lines | |||
| 864 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 864 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 865 | msgstr "" | 865 | msgstr "" |
| 866 | 866 | ||
| 867 | #: macro.c:1158 | 867 | #: macro.c:1162 |
| 868 | #: traditional.c:827 | 868 | #: traditional.c:827 |
| 869 | #, c-format | 869 | #, c-format |
| 870 | msgid "unterminated argument list invoking macro \"%s\"" | 870 | msgid "unterminated argument list invoking macro \"%s\"" |
| 871 | msgstr "" | 871 | msgstr "" |
| 872 | 872 | ||
| 873 | #: macro.c:1309 | 873 | #: macro.c:1304 |
| 874 | #, c-format | 874 | #, c-format |
| 875 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 875 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 876 | msgstr "" | 876 | msgstr "" |
| 877 | 877 | ||
| 878 | #: macro.c:2098 | 878 | #: macro.c:2083 |
| 879 | #, c-format | 879 | #, c-format |
| 880 | msgid "" | 880 | msgid "" |
| 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" |
| 883 | msgstr "" | 883 | msgstr "" |
| 884 | 884 | ||
| 885 | #: macro.c:2106 | 885 | #: macro.c:2091 |
| 886 | #: macro.c:2115 | 886 | #: macro.c:2100 |
| 887 | #, c-format | 887 | #, c-format |
| 888 | msgid "" | 888 | msgid "" |
| 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" |
| 890 | msgstr "" | 890 | msgstr "" |
| 891 | 891 | ||
| 892 | #: macro.c:3073 | 892 | #: macro.c:3059 |
| 893 | #, c-format | 893 | #, c-format |
| 894 | msgid "duplicate macro parameter \"%s\"" | 894 | msgid "duplicate macro parameter \"%s\"" |
| 895 | msgstr "" | 895 | msgstr "" |
| 896 | 896 | ||
| 897 | #: macro.c:3122 | 897 | #: macro.c:3141 |
| 898 | #, c-format | ||
| 899 | msgid "expected parameter name, found \"%s\"" | ||
| 900 | msgstr "" | ||
| 901 | |||
| 902 | #: macro.c:3142 | ||
| 898 | #, c-format | 903 | #, c-format |
| 899 | msgid "\"%s\" may not appear in macro parameter list" | 904 | msgid "expected ',' or ')', found \"%s\"" |
| 905 | msgstr "" | ||
| 906 | |||
| 907 | #: macro.c:3143 | ||
| 908 | msgid "expected parameter name before end of line" | ||
| 900 | msgstr "" | 909 | msgstr "" |
| 901 | 910 | ||
| 902 | #: macro.c:3130 | 911 | #: macro.c:3144 |
| 903 | msgid "macro parameters must be comma-separated" | 912 | msgid "expected ')' before end of line" |
| 904 | msgstr "" | 913 | msgstr "" |
| 905 | 914 | ||
| 906 | #: macro.c:3149 | 915 | #: macro.c:3145 |
| 907 | msgid "parameter name missing" | 916 | msgid "expected ')' after \"...\"" |
| 908 | msgstr "" | 917 | msgstr "" |
| 909 | 918 | ||
| 910 | #: macro.c:3170 | 919 | #: macro.c:3202 |
| 911 | msgid "anonymous variadic macros were introduced in C++11" | 920 | msgid "anonymous variadic macros were introduced in C++11" |
| 912 | msgstr "" | 921 | msgstr "" |
| 913 | 922 | ||
| 914 | #: macro.c:3174 | 923 | #: macro.c:3203 |
| 915 | #: macro.c:3179 | 924 | #: macro.c:3207 |
| 916 | msgid "anonymous variadic macros were introduced in C99" | 925 | msgid "anonymous variadic macros were introduced in C99" |
| 917 | msgstr "" | 926 | msgstr "" |
| 918 | 927 | ||
| 919 | #: macro.c:3186 | 928 | #: macro.c:3213 |
| 920 | msgid "ISO C++ does not permit named variadic macros" | 929 | msgid "ISO C++ does not permit named variadic macros" |
| 921 | msgstr "" | 930 | msgstr "" |
| 922 | 931 | ||
| 923 | #: macro.c:3189 | 932 | #: macro.c:3214 |
| 924 | msgid "ISO C does not permit named variadic macros" | 933 | msgid "ISO C does not permit named variadic macros" |
| 925 | msgstr "" | 934 | msgstr "" |
| 926 | 935 | ||
| 927 | #: macro.c:3199 | 936 | #: macro.c:3260 |
| 928 | msgid "missing ')' in macro parameter list" | ||
| 929 | msgstr "" | ||
| 930 | |||
| 931 | #: macro.c:3250 | ||
| 932 | msgid "'##' cannot appear at either end of a macro expansion" | 937 | msgid "'##' cannot appear at either end of a macro expansion" |
| 933 | msgstr "" | 938 | msgstr "" |
| 934 | 939 | ||
| 935 | #: macro.c:3287 | 940 | #: macro.c:3298 |
| 936 | msgid "ISO C++11 requires whitespace after the macro name" | 941 | msgid "ISO C++11 requires whitespace after the macro name" |
| 937 | msgstr "" | 942 | msgstr "" |
| 938 | 943 | ||
| 939 | #: macro.c:3290 | 944 | #: macro.c:3299 |
| 940 | msgid "ISO C99 requires whitespace after the macro name" | 945 | msgid "ISO C99 requires whitespace after the macro name" |
| 941 | msgstr "" | 946 | msgstr "" |
| 942 | 947 | ||
| 943 | #: macro.c:3315 | 948 | #: macro.c:3323 |
| 944 | msgid "missing whitespace after the macro name" | 949 | msgid "missing whitespace after the macro name" |
| 945 | msgstr "" | 950 | msgstr "" |
| 946 | 951 | ||
| 947 | #: macro.c:3352 | 952 | #: macro.c:3373 |
| 948 | msgid "'#' is not followed by a macro parameter" | 953 | msgid "'#' is not followed by a macro parameter" |
| 949 | msgstr "" | 954 | msgstr "" |
| 950 | 955 | ||
| 951 | #: macro.c:3519 | 956 | #: macro.c:3524 |
| 952 | #, c-format | 957 | #, c-format |
| 953 | msgid "\"%s\" redefined" | 958 | msgid "\"%s\" redefined" |
| 954 | msgstr "" | 959 | msgstr "" |
| 955 | 960 | ||
| 956 | #: macro.c:3524 | 961 | #: macro.c:3529 |
| 957 | msgid "this is the location of the previous definition" | 962 | msgid "this is the location of the previous definition" |
| 958 | msgstr "" | 963 | msgstr "" |
| 959 | 964 | ||
| 960 | #: macro.c:3585 | 965 | #: macro.c:3633 |
| 961 | #, c-format | 966 | #, c-format |
| 962 | msgid "macro argument \"%s\" would be stringified in traditional C" | 967 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 963 | msgstr "" | 968 | msgstr "" |
| 964 | 969 | ||
| 965 | #: macro.c:3621 | 970 | #: pch.c:90 |
| 966 | #, c-format | 971 | #: pch.c:342 |
| 967 | msgid "invalid hash type %d in cpp_macro_definition" | 972 | #: pch.c:356 |
| 968 | msgstr "" | 973 | #: pch.c:374 |
| 969 | 974 | #: pch.c:380 | |
| 970 | #: pch.c:89 | 975 | #: pch.c:389 |
| 971 | #: pch.c:347 | 976 | #: pch.c:396 |
| 972 | #: pch.c:361 | ||
| 973 | #: pch.c:379 | ||
| 974 | #: pch.c:385 | ||
| 975 | #: pch.c:394 | ||
| 976 | #: pch.c:401 | ||
| 977 | msgid "while writing precompiled header" | 977 | msgid "while writing precompiled header" |
| 978 | msgstr "" | 978 | msgstr "" |
| 979 | 979 | ||
| 980 | #: pch.c:621 | 980 | #: pch.c:616 |
| 981 | #, c-format | 981 | #, c-format |
| 982 | msgid "%s: not used because `%.*s' is poisoned" | 982 | msgid "%s: not used because `%.*s' is poisoned" |
| 983 | msgstr "" | 983 | msgstr "" |
| 984 | 984 | ||
| 985 | #: pch.c:643 | 985 | #: pch.c:638 |
| 986 | #, c-format | 986 | #, c-format |
| 987 | msgid "%s: not used because `%.*s' not defined" | 987 | msgid "%s: not used because `%.*s' not defined" |
| 988 | msgstr "" | 988 | msgstr "" |
| 989 | 989 | ||
| 990 | #: pch.c:655 | 990 | #: pch.c:650 |
| 991 | #, c-format | 991 | #, c-format |
| 992 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 992 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 993 | msgstr "" | 993 | msgstr "" |
| 994 | 994 | ||
| 995 | #: pch.c:696 | 995 | #: pch.c:691 |
| 996 | #, c-format | 996 | #, c-format |
| 997 | msgid "%s: not used because `%s' is defined" | 997 | msgid "%s: not used because `%s' is defined" |
| 998 | msgstr "" | 998 | msgstr "" |
| 999 | 999 | ||
| 1000 | #: pch.c:716 | 1000 | #: pch.c:711 |
| 1001 | #, c-format | 1001 | #, c-format |
| 1002 | msgid "%s: not used because `__COUNTER__' is invalid" | 1002 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 1003 | msgstr "" | 1003 | msgstr "" |
| 1004 | 1004 | ||
| 1005 | #: pch.c:725 | 1005 | #: pch.c:720 |
| 1006 | #: pch.c:903 | 1006 | #: pch.c:878 |
| 1007 | msgid "while reading precompiled header" | 1007 | msgid "while reading precompiled header" |
| 1008 | msgstr "" | 1008 | msgstr "" |
| 1009 | 1009 | ||
| 1010 | #: traditional.c:897 | 1010 | #: traditional.c:896 |
| 1011 | #, c-format | 1011 | #, c-format |
| 1012 | msgid "detected recursion whilst expanding macro \"%s\"" | 1012 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 1013 | msgstr "" | 1013 | msgstr "" |
| 1014 | 1014 | ||
| 1015 | #: traditional.c:1116 | 1015 | #: traditional.c:1119 |
| 1016 | msgid "syntax error in macro parameter list" | 1016 | msgid "syntax error in macro parameter list" |
| 1017 | msgstr "" | 1017 | msgstr "" |
Binary file not shown.
| @@ -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 | # |
| 129 | msgid "" | 129 | msgid "" |
| 130 | msgstr "" | 130 | msgstr "" |
| 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 | |||
| 209 | msgid "universal character %.*s is not valid at the start of an identifier" | 209 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 210 | msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn" | 210 | msgstr "universelt tegn %.*s er ikke gyldigt i starten af et kaldenavn" |
| 211 | 211 | ||
| 212 | #: charset.c:1181 charset.c:2000 | 212 | #: charset.c:1181 charset.c:2002 |
| 213 | msgid "converting UCN to source character set" | 213 | msgid "converting UCN to source character set" |
| 214 | msgstr "konverterer UCN til et kildetegnsæt" | 214 | msgstr "konverterer UCN til et kildetegnsæt" |
| 215 | 215 | ||
| @@ -260,294 +260,294 @@ msgstr "konverterer undvigesekvens til kørselstegnsæt" · 44 unmodified lines | |||
| 260 | msgid "missing open quote" | 260 | msgid "missing open quote" |
| 261 | msgstr "manglende indledende citationstegn" | 261 | msgstr "manglende indledende citationstegn" |
| 262 | 262 | ||
| 263 | #: charset.c:1827 charset.c:1891 | 263 | #: charset.c:1829 charset.c:1893 |
| 264 | msgid "character constant too long for its type" | 264 | msgid "character constant too long for its type" |
| 265 | msgstr "tegnkonstanten er for lang for dens type" | 265 | msgstr "tegnkonstanten er for lang for dens type" |
| 266 | 266 | ||
| 267 | #: charset.c:1830 | 267 | #: charset.c:1832 |
| 268 | msgid "multi-character character constant" | 268 | msgid "multi-character character constant" |
| 269 | msgstr "flerbyte-tegnkonstant" | 269 | msgstr "flerbyte-tegnkonstant" |
| 270 | 270 | ||
| 271 | #: charset.c:1931 | 271 | #: charset.c:1933 |
| 272 | msgid "empty character constant" | 272 | msgid "empty character constant" |
| 273 | msgstr "tom tegnkonstant" | 273 | msgstr "tom tegnkonstant" |
| 274 | 274 | ||
| 275 | #: charset.c:2047 | 275 | #: charset.c:2049 |
| 276 | #, c-format | 276 | #, c-format |
| 277 | msgid "failure to convert %s to %s" | 277 | msgid "failure to convert %s to %s" |
| 278 | msgstr "kunne ikke konvertere %s til %s" | 278 | msgstr "kunne ikke konvertere %s til %s" |
| 279 | 279 | ||
| 280 | #: directives.c:235 directives.c:278 | 280 | #: directives.c:229 directives.c:272 |
| 281 | #, c-format | 281 | #, c-format |
| 282 | msgid "extra tokens at end of #%s directive" | 282 | msgid "extra tokens at end of #%s directive" |
| 283 | msgstr "ekstra symboler i slutningen af #%s-direktiv" | 283 | msgstr "ekstra symboler i slutningen af #%s-direktiv" |
| 284 | 284 | ||
| 285 | #: directives.c:385 | 285 | #: directives.c:379 |
| 286 | #, c-format | 286 | #, c-format |
| 287 | msgid "#%s is a GCC extension" | 287 | msgid "#%s is a GCC extension" |
| 288 | msgstr "#%s er en GCC-udvidelse" | 288 | msgstr "#%s er en GCC-udvidelse" |
| 289 | 289 | ||
| 290 | #: directives.c:390 | 290 | #: directives.c:384 |
| 291 | #, c-format | 291 | #, c-format |
| 292 | msgid "#%s is a deprecated GCC extension" | 292 | msgid "#%s is a deprecated GCC extension" |
| 293 | msgstr "#%s er en forældet GCC-udvidelse" | 293 | msgstr "#%s er en forældet GCC-udvidelse" |
| 294 | 294 | ||
| 295 | #: directives.c:403 | 295 | #: directives.c:397 |
| 296 | msgid "suggest not using #elif in traditional C" | 296 | msgid "suggest not using #elif in traditional C" |
| 297 | msgstr "foreslår undladelse af brug af #elif i traditionel C" | 297 | msgstr "foreslår undladelse af brug af #elif i traditionel C" |
| 298 | 298 | ||
| 299 | #: directives.c:406 | 299 | #: directives.c:400 |
| 300 | #, c-format | 300 | #, c-format |
| 301 | msgid "traditional C ignores #%s with the # indented" | 301 | msgid "traditional C ignores #%s with the # indented" |
| 302 | msgstr "traditionel C ignorerer #%s når # er indrykket" | 302 | msgstr "traditionel C ignorerer #%s når # er indrykket" |
| 303 | 303 | ||
| 304 | #: directives.c:410 | 304 | #: directives.c:404 |
| 305 | #, c-format | 305 | #, c-format |
| 306 | msgid "suggest hiding #%s from traditional C with an indented #" | 306 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 307 | msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #" | 307 | msgstr "foreslår at skjule #%s fra traditionel C vha. indrykket #" |
| 308 | 308 | ||
| 309 | #: directives.c:436 | 309 | #: directives.c:430 |
| 310 | msgid "embedding a directive within macro arguments is not portable" | 310 | msgid "embedding a directive within macro arguments is not portable" |
| 311 | msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt" | 311 | msgstr "indlejring af et direktiv inden i makroparametre er ikke portabelt" |
| 312 | 312 | ||
| 313 | #: directives.c:456 | 313 | #: directives.c:450 |
| 314 | msgid "style of line directive is a GCC extension" | 314 | msgid "style of line directive is a GCC extension" |
| 315 | msgstr "linjestilsdirektiv er en GCC-udvidelse" | 315 | msgstr "linjestilsdirektiv er en GCC-udvidelse" |
| 316 | 316 | ||
| 317 | #: directives.c:537 | 317 | #: directives.c:531 |
| 318 | #, c-format | 318 | #, c-format |
| 319 | msgid "invalid preprocessing directive #%s" | 319 | msgid "invalid preprocessing directive #%s" |
| 320 | msgstr "ugyldigt præprocessordirektiv #%s" | 320 | msgstr "ugyldigt præprocessordirektiv #%s" |
| 321 | 321 | ||
| 322 | #: directives.c:606 | 322 | #: directives.c:600 |
| 323 | msgid "\"defined\" cannot be used as a macro name" | 323 | msgid "\"defined\" cannot be used as a macro name" |
| 324 | msgstr "»defined« kan ikke bruges som makronavn" | 324 | msgstr "»defined« kan ikke bruges som makronavn" |
| 325 | 325 | ||
| 326 | #: directives.c:611 | 326 | #: directives.c:605 |
| 327 | msgid "\"__has_include__\" cannot be used as a macro name" | 327 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 328 | msgstr "»__has_include__« kan ikke bruges som et makronavn" | 328 | msgstr "»__has_include__« kan ikke bruges som et makronavn" |
| 329 | 329 | ||
| 330 | #: directives.c:617 | 330 | #: directives.c:611 |
| 331 | #, c-format | 331 | #, c-format |
| 332 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 332 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 333 | msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++" | 333 | msgstr "»%s« kan ikke bruges som et makronavn, da det er en operator i C++" |
| 334 | 334 | ||
| 335 | #: directives.c:620 | 335 | #: directives.c:614 |
| 336 | #, c-format | 336 | #, c-format |
| 337 | msgid "no macro name given in #%s directive" | 337 | msgid "no macro name given in #%s directive" |
| 338 | msgstr "intet makronavn angivet i direktivet #%s" | 338 | msgstr "intet makronavn angivet i direktivet #%s" |
| 339 | 339 | ||
| 340 | #: directives.c:623 | 340 | #: directives.c:617 |
| 341 | msgid "macro names must be identifiers" | 341 | msgid "macro names must be identifiers" |
| 342 | msgstr "makronavne skal være kaldenavne" | 342 | msgstr "makronavne skal være kaldenavne" |
| 343 | 343 | ||
| 344 | #: directives.c:672 directives.c:677 | 344 | #: directives.c:666 directives.c:671 |
| 345 | #, c-format | 345 | #, c-format |
| 346 | msgid "undefining \"%s\"" | 346 | msgid "undefining \"%s\"" |
| 347 | msgstr "fjerner definitionen af »%s«" | 347 | msgstr "fjerner definitionen af »%s«" |
| 348 | 348 | ||
| 349 | #: directives.c:732 | 349 | #: directives.c:727 |
| 350 | msgid "missing terminating > character" | 350 | msgid "missing terminating > character" |
| 351 | msgstr "manglende afsluttende >-tegn" | 351 | msgstr "manglende afsluttende >-tegn" |
| 352 | 352 | ||
| 353 | #: directives.c:791 | 353 | #: directives.c:786 |
| 354 | #, c-format | 354 | #, c-format |
| 355 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 355 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 356 | msgstr "#%s forventer »FILNAVN« eller <FILNAVN>" | 356 | msgstr "#%s forventer »FILNAVN« eller <FILNAVN>" |
| 357 | 357 | ||
| 358 | #: directives.c:837 | 358 | #: directives.c:828 |
| 359 | #, c-format | 359 | #, c-format |
| 360 | msgid "empty filename in #%s" | 360 | msgid "empty filename in #%s" |
| 361 | msgstr "tomt filnavn i #%s" | 361 | msgstr "tomt filnavn i #%s" |
| 362 | 362 | ||
| 363 | #: directives.c:847 | 363 | #: directives.c:835 |
| 364 | msgid "#include nested too deeply" | 364 | msgid "#include nested too deeply" |
| 365 | msgstr "#include indlejret for dybt" | 365 | msgstr "#include indlejret for dybt" |
| 366 | 366 | ||
| 367 | #: directives.c:888 | 367 | #: directives.c:877 |
| 368 | msgid "#include_next in primary source file" | 368 | msgid "#include_next in primary source file" |
| 369 | msgstr "#include_next i den primære kildekodefil" | 369 | msgstr "#include_next i den primære kildekodefil" |
| 370 | 370 | ||
| 371 | #: directives.c:914 | 371 | #: directives.c:903 |
| 372 | #, c-format | 372 | #, c-format |
| 373 | msgid "invalid flag \"%s\" in line directive" | 373 | msgid "invalid flag \"%s\" in line directive" |
| 374 | msgstr "ugyldigt flag »%s« i linjedirektiv" | 374 | msgstr "ugyldigt flag »%s« i linjedirektiv" |
| 375 | 375 | ||
| 376 | #: directives.c:974 | 376 | #: directives.c:963 |
| 377 | msgid "unexpected end of file after #line" | 377 | msgid "unexpected end of file after #line" |
| 378 | msgstr "uventet filafslutning efter #line" | 378 | msgstr "uventet filafslutning efter #line" |
| 379 | 379 | ||
| 380 | #: directives.c:977 | 380 | #: directives.c:966 |
| 381 | #, c-format | 381 | #, c-format |
| 382 | msgid "\"%s\" after #line is not a positive integer" | 382 | msgid "\"%s\" after #line is not a positive integer" |
| 383 | msgstr "»%s« efter #line er ikke et positivt heltal" | 383 | msgstr "»%s« efter #line er ikke et positivt heltal" |
| 384 | 384 | ||
| 385 | #: directives.c:983 directives.c:985 | 385 | #: directives.c:972 directives.c:974 |
| 386 | msgid "line number out of range" | 386 | msgid "line number out of range" |
| 387 | msgstr "linjenummer er uden for det gyldige interval" | 387 | msgstr "linjenummer er uden for det gyldige interval" |
| 388 | 388 | ||
| 389 | #: directives.c:998 directives.c:1079 | 389 | #: directives.c:987 directives.c:1068 |
| 390 | #, c-format | 390 | #, c-format |
| 391 | msgid "\"%s\" is not a valid filename" | 391 | msgid "\"%s\" is not a valid filename" |
| 392 | msgstr "»%s« er ikke et gyldigt filnavn" | 392 | msgstr "»%s« er ikke et gyldigt filnavn" |
| 393 | 393 | ||
| 394 | #: directives.c:1039 | 394 | #: directives.c:1028 |
| 395 | #, c-format | 395 | #, c-format |
| 396 | msgid "\"%s\" after # is not a positive integer" | 396 | msgid "\"%s\" after # is not a positive integer" |
| 397 | msgstr "»%s« efter # er ikke et positivt heltal" | 397 | msgstr "»%s« efter # er ikke et positivt heltal" |
| 398 | 398 | ||
| 399 | #: directives.c:1098 | 399 | #: directives.c:1087 |
| 400 | #, c-format | 400 | #, c-format |
| 401 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 401 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 402 | msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring" | 402 | msgstr "filen »%s« linjemarkør ignoreret på grund af ukorrekt indlejring" |
| 403 | 403 | ||
| 404 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 404 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 405 | #, c-format | 405 | #, c-format |
| 406 | msgid "%s" | 406 | msgid "%s" |
| 407 | msgstr "%s" | 407 | msgstr "%s" |
| 408 | 408 | ||
| 409 | #: directives.c:1185 | 409 | #: directives.c:1175 |
| 410 | #, c-format | 410 | #, c-format |
| 411 | msgid "invalid #%s directive" | 411 | msgid "invalid #%s directive" |
| 412 | msgstr "ugyldig #%s-direktiv" | 412 | msgstr "ugyldig #%s-direktiv" |
| 413 | 413 | ||
| 414 | #: directives.c:1248 | 414 | #: directives.c:1238 |
| 415 | #, c-format | 415 | #, c-format |
| 416 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 416 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 417 | msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse" | 417 | msgstr "registrerer pragmaer i navnerum »%s« med fejlmatchede navneudvidelse" |
| 418 | 418 | ||
| 419 | #: directives.c:1257 | 419 | #: directives.c:1247 |
| 420 | #, c-format | 420 | #, c-format |
| 421 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 421 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 422 | msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum" | 422 | msgstr "registrerer pragma »%s« med navneudvidelse og intet navnerum" |
| 423 | 423 | ||
| 424 | #: directives.c:1275 | 424 | #: directives.c:1265 |
| 425 | #, c-format | 425 | #, c-format |
| 426 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 426 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 427 | msgstr "registrerer »%s« som både et pragma og et pragmanavnerum" | 427 | msgstr "registrerer »%s« som både et pragma og et pragmanavnerum" |
| 428 | 428 | ||
| 429 | #: directives.c:1278 | 429 | #: directives.c:1268 |
| 430 | #, c-format | 430 | #, c-format |
| 431 | msgid "#pragma %s %s is already registered" | 431 | msgid "#pragma %s %s is already registered" |
| 432 | msgstr "#pragma %s %s er allerede registreret" | 432 | msgstr "#pragma %s %s er allerede registreret" |
| 433 | 433 | ||
| 434 | #: directives.c:1281 | 434 | #: directives.c:1271 |
| 435 | #, c-format | 435 | #, c-format |
| 436 | msgid "#pragma %s is already registered" | 436 | msgid "#pragma %s is already registered" |
| 437 | msgstr "#pragma %s er allerede registreret" | 437 | msgstr "#pragma %s er allerede registreret" |
| 438 | 438 | ||
| 439 | #: directives.c:1311 | 439 | #: directives.c:1301 |
| 440 | msgid "registering pragma with NULL handler" | 440 | msgid "registering pragma with NULL handler" |
| 441 | msgstr "registrerer pragma med NULL-håndtering" | 441 | msgstr "registrerer pragma med NULL-håndtering" |
| 442 | 442 | ||
| 443 | #: directives.c:1528 | 443 | #: directives.c:1518 |
| 444 | msgid "#pragma once in main file" | 444 | msgid "#pragma once in main file" |
| 445 | msgstr "#pragma once i hovedfil" | 445 | msgstr "#pragma once i hovedfil" |
| 446 | 446 | ||
| 447 | #: directives.c:1551 | 447 | #: directives.c:1541 |
| 448 | msgid "invalid #pragma push_macro directive" | 448 | msgid "invalid #pragma push_macro directive" |
| 449 | msgstr "ugyldigt #pragma push_macro-direktiv" | 449 | msgstr "ugyldigt #pragma push_macro-direktiv" |
| 450 | 450 | ||
| 451 | #: directives.c:1606 | 451 | #: directives.c:1596 |
| 452 | msgid "invalid #pragma pop_macro directive" | 452 | msgid "invalid #pragma pop_macro directive" |
| 453 | msgstr "ugyldigt #pragma pop_macro-direktiv" | 453 | msgstr "ugyldigt #pragma pop_macro-direktiv" |
| 454 | 454 | ||
| 455 | #: directives.c:1661 | 455 | #: directives.c:1651 |
| 456 | msgid "invalid #pragma GCC poison directive" | 456 | msgid "invalid #pragma GCC poison directive" |
| 457 | msgstr "ugyldigt #pragma GCC poison-direktiv" | 457 | msgstr "ugyldigt #pragma GCC poison-direktiv" |
| 458 | 458 | ||
| 459 | #: directives.c:1670 | 459 | #: directives.c:1660 |
| 460 | #, c-format | 460 | #, c-format |
| 461 | msgid "poisoning existing macro \"%s\"" | 461 | msgid "poisoning existing macro \"%s\"" |
| 462 | msgstr "forgifter eksisterende makro »%s«" | 462 | msgstr "forgifter eksisterende makro »%s«" |
| 463 | 463 | ||
| 464 | #: directives.c:1689 | 464 | #: directives.c:1679 |
| 465 | msgid "#pragma system_header ignored outside include file" | 465 | msgid "#pragma system_header ignored outside include file" |
| 466 | msgstr "#pragma system_header ignoreret uden for inkluderingsfil" | 466 | msgstr "#pragma system_header ignoreret uden for inkluderingsfil" |
| 467 | 467 | ||
| 468 | #: directives.c:1714 | 468 | #: directives.c:1704 |
| 469 | #, c-format | 469 | #, c-format |
| 470 | msgid "cannot find source file %s" | 470 | msgid "cannot find source file %s" |
| 471 | msgstr "kan ikke finde kildefilen %s" | 471 | msgstr "kan ikke finde kildefilen %s" |
| 472 | 472 | ||
| 473 | #: directives.c:1718 | 473 | #: directives.c:1708 |
| 474 | #, c-format | 474 | #, c-format |
| 475 | msgid "current file is older than %s" | 475 | msgid "current file is older than %s" |
| 476 | msgstr "aktuel fil er ældre end %s" | 476 | msgstr "aktuel fil er ældre end %s" |
| 477 | 477 | ||
| 478 | #: directives.c:1742 | 478 | #: directives.c:1732 |
| 479 | #, c-format | 479 | #, c-format |
| 480 | msgid "invalid \"#pragma GCC %s\" directive" | 480 | msgid "invalid \"#pragma GCC %s\" directive" |
| 481 | msgstr "ugyldigt »#pragma GCC %s«-direktiv" | 481 | msgstr "ugyldigt »#pragma GCC %s«-direktiv" |
| 482 | 482 | ||
| 483 | #: directives.c:1943 | 483 | #: directives.c:1933 |
| 484 | msgid "_Pragma takes a parenthesized string literal" | 484 | msgid "_Pragma takes a parenthesized string literal" |
| 485 | msgstr "_Pragma tager en strengkonstant med paranteser omkring" | 485 | msgstr "_Pragma tager en strengkonstant med paranteser omkring" |
| 486 | 486 | ||
| 487 | #: directives.c:2064 | 487 | #: directives.c:2021 |
| 488 | msgid "#else without #if" | 488 | msgid "#else without #if" |
| 489 | msgstr "#else uden #if" | 489 | msgstr "#else uden #if" |
| 490 | 490 | ||
| 491 | #: directives.c:2069 | 491 | #: directives.c:2026 |
| 492 | msgid "#else after #else" | 492 | msgid "#else after #else" |
| 493 | msgstr "#else efter #else" | 493 | msgstr "#else efter #else" |
| 494 | 494 | ||
| 495 | #: directives.c:2071 directives.c:2104 | 495 | #: directives.c:2028 directives.c:2061 |
| 496 | msgid "the conditional began here" | 496 | msgid "the conditional began here" |
| 497 | msgstr "betingelsen begyndte her" | 497 | msgstr "betingelsen begyndte her" |
| 498 | 498 | ||
| 499 | #: directives.c:2097 | 499 | #: directives.c:2054 |
| 500 | msgid "#elif without #if" | 500 | msgid "#elif without #if" |
| 501 | msgstr "#elif uden #if" | 501 | msgstr "#elif uden #if" |
| 502 | 502 | ||
| 503 | #: directives.c:2102 | 503 | #: directives.c:2059 |
| 504 | msgid "#elif after #else" | 504 | msgid "#elif after #else" |
| 505 | msgstr "#elif efter #else" | 505 | msgstr "#elif efter #else" |
| 506 | 506 | ||
| 507 | #: directives.c:2133 | 507 | #: directives.c:2090 |
| 508 | msgid "#endif without #if" | 508 | msgid "#endif without #if" |
| 509 | msgstr "#endif uden #if" | 509 | msgstr "#endif uden #if" |
| 510 | 510 | ||
| 511 | #: directives.c:2213 | 511 | #: directives.c:2166 |
| 512 | msgid "missing '(' after predicate" | 512 | msgid "missing '(' after predicate" |
| 513 | msgstr "manglende »(« efter udsagn" | 513 | msgstr "manglende »(« efter udsagn" |
| 514 | 514 | ||
| 515 | #: directives.c:2228 | 515 | #: directives.c:2184 |
| 516 | msgid "missing ')' to complete answer" | 516 | msgid "missing ')' to complete answer" |
| 517 | msgstr "manglende »)« til at fuldføre svar" | 517 | msgstr "manglende »)« til at fuldføre svar" |
| 518 | 518 | ||
| 519 | #: directives.c:2248 | 519 | #: directives.c:2196 |
| 520 | msgid "predicate's answer is empty" | 520 | msgid "predicate's answer is empty" |
| 521 | msgstr "udsagnets svar er tomt" | 521 | msgstr "udsagnets svar er tomt" |
| 522 | 522 | ||
| 523 | #: directives.c:2275 | 523 | #: directives.c:2226 |
| 524 | msgid "assertion without predicate" | 524 | msgid "assertion without predicate" |
| 525 | msgstr "postulat uden udsagn" | 525 | msgstr "postulat uden udsagn" |
| 526 | 526 | ||
| 527 | #: directives.c:2278 | 527 | #: directives.c:2229 |
| 528 | msgid "predicate must be an identifier" | 528 | msgid "predicate must be an identifier" |
| 529 | msgstr "udsagn skal være et kaldenavn" | 529 | msgstr "udsagn skal være et kaldenavn" |
| 530 | 530 | ||
| 531 | #: directives.c:2364 | 531 | #: directives.c:2311 |
| 532 | #, c-format | 532 | #, c-format |
| 533 | msgid "\"%s\" re-asserted" | 533 | msgid "\"%s\" re-asserted" |
| 534 | msgstr "»%s« genpostuleret" | 534 | msgstr "»%s« genpostuleret" |
| 535 | 535 | ||
| 536 | #: directives.c:2656 | 536 | #: directives.c:2587 |
| 537 | #, c-format | 537 | #, c-format |
| 538 | msgid "unterminated #%s" | 538 | msgid "unterminated #%s" |
| 539 | msgstr "uafsluttet #%s" | 539 | msgstr "uafsluttet #%s" |
| 540 | 540 | ||
| 541 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 541 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 542 | msgid "unterminated comment" | 542 | msgid "unterminated comment" |
| 543 | msgstr "uafsluttet kommentar" | 543 | msgstr "uafsluttet kommentar" |
| 544 | 544 | ||
| 545 | #: errors.c:284 | 545 | #: errors.c:291 |
| 546 | #, c-format | 546 | #, c-format |
| 547 | msgid "%s: %s" | 547 | msgid "%s: %s" |
| 548 | msgstr "%s: %s" | 548 | msgstr "%s: %s" |
| 549 | 549 | ||
| 550 | #: errors.c:296 | 550 | #: errors.c:304 |
| 551 | msgid "stdout" | 551 | msgid "stdout" |
| 552 | msgstr "standardud" | 552 | msgstr "standardud" |
| 553 | 553 | ||
| @@ -640,84 +640,84 @@ msgstr "(»%s« er et alternativt symbol for »%s« i C++)" · 86 unmodified lines | |||
| 640 | msgid "this use of \"defined\" may not be portable" | 640 | msgid "this use of \"defined\" may not be portable" |
| 641 | msgstr "denne brug af »defined« er muligvis ikke portabel" | 641 | msgstr "denne brug af »defined« er muligvis ikke portabel" |
| 642 | 642 | ||
| 643 | #: expr.c:1125 | 643 | #: expr.c:1109 |
| 644 | msgid "user-defined literal in preprocessor expression" | 644 | msgid "user-defined literal in preprocessor expression" |
| 645 | msgstr "brugerdefineret ordret i præprocessorudtrykket" | 645 | msgstr "brugerdefineret ordret i præprocessorudtrykket" |
| 646 | 646 | ||
| 647 | #: expr.c:1130 | 647 | #: expr.c:1114 |
| 648 | msgid "floating constant in preprocessor expression" | 648 | msgid "floating constant in preprocessor expression" |
| 649 | msgstr "kommatalskonstant i præprocessorudtryk" | 649 | msgstr "kommatalskonstant i præprocessorudtryk" |
| 650 | 650 | ||
| 651 | #: expr.c:1136 | 651 | #: expr.c:1120 |
| 652 | msgid "imaginary number in preprocessor expression" | 652 | msgid "imaginary number in preprocessor expression" |
| 653 | msgstr "imaginært tal i præprocessorudtryk" | 653 | msgstr "imaginært tal i præprocessorudtryk" |
| 654 | 654 | ||
| 655 | #: expr.c:1189 | 655 | #: expr.c:1173 |
| 656 | #, c-format | 656 | #, c-format |
| 657 | msgid "\"%s\" is not defined, evaluates to 0" | 657 | msgid "\"%s\" is not defined, evaluates to 0" |
| 658 | msgstr "»%s« er ikke defineret, evaluerer til 0" | 658 | msgstr "»%s« er ikke defineret, evaluerer til 0" |
| 659 | 659 | ||
| 660 | #: expr.c:1202 | 660 | #: expr.c:1186 |
| 661 | msgid "assertions are a GCC extension" | 661 | msgid "assertions are a GCC extension" |
| 662 | msgstr "påstande er en GCC-udvidelse" | 662 | msgstr "påstande er en GCC-udvidelse" |
| 663 | 663 | ||
| 664 | #: expr.c:1205 | 664 | #: expr.c:1189 |
| 665 | msgid "assertions are a deprecated extension" | 665 | msgid "assertions are a deprecated extension" |
| 666 | msgstr "påstande er en forældet udvidelse" | 666 | msgstr "påstande er en forældet udvidelse" |
| 667 | 667 | ||
| 668 | #: expr.c:1451 | 668 | #: expr.c:1435 |
| 669 | #, c-format | 669 | #, c-format |
| 670 | msgid "unbalanced stack in %s" | 670 | msgid "unbalanced stack in %s" |
| 671 | msgstr "ubalanceret stak i %s" | 671 | msgstr "ubalanceret stak i %s" |
| 672 | 672 | ||
| 673 | #: expr.c:1471 | 673 | #: expr.c:1455 |
| 674 | #, c-format | 674 | #, c-format |
| 675 | msgid "impossible operator '%u'" | 675 | msgid "impossible operator '%u'" |
| 676 | msgstr "umulig operator »%u«" | 676 | msgstr "umulig operator »%u«" |
| 677 | 677 | ||
| 678 | #: expr.c:1572 | 678 | #: expr.c:1556 |
| 679 | msgid "missing ')' in expression" | 679 | msgid "missing ')' in expression" |
| 680 | msgstr "manglende »)« i udtryk" | 680 | msgstr "manglende »)« i udtryk" |
| 681 | 681 | ||
| 682 | #: expr.c:1601 | 682 | #: expr.c:1585 |
| 683 | msgid "'?' without following ':'" | 683 | msgid "'?' without following ':'" |
| 684 | msgstr "»?« uden efterfølgende »:«" | 684 | msgstr "»?« uden efterfølgende »:«" |
| 685 | 685 | ||
| 686 | #: expr.c:1611 | 686 | #: expr.c:1595 |
| 687 | msgid "integer overflow in preprocessor expression" | 687 | msgid "integer overflow in preprocessor expression" |
| 688 | msgstr "heltallet løber over i præprocessorudtrykket" | 688 | msgstr "heltallet løber over i præprocessorudtrykket" |
| 689 | 689 | ||
| 690 | #: expr.c:1616 | 690 | #: expr.c:1600 |
| 691 | msgid "missing '(' in expression" | 691 | msgid "missing '(' in expression" |
| 692 | msgstr "manglende »(« i udtryk" | 692 | msgstr "manglende »(« i udtryk" |
| 693 | 693 | ||
| 694 | #: expr.c:1648 | 694 | #: expr.c:1632 |
| 695 | #, c-format | 695 | #, c-format |
| 696 | msgid "the left operand of \"%s\" changes sign when promoted" | 696 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 697 | msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse" | 697 | msgstr "den venstre operand til »%s« ændrer fortegn ved forfremmelse" |
| 698 | 698 | ||
| 699 | #: expr.c:1653 | 699 | #: expr.c:1637 |
| 700 | #, c-format | 700 | #, c-format |
| 701 | msgid "the right operand of \"%s\" changes sign when promoted" | 701 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 702 | msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse" | 702 | msgstr "den højre operand til »%s« ændrer fortegn ved forfremmelse" |
| 703 | 703 | ||
| 704 | #: expr.c:1912 | 704 | #: expr.c:1896 |
| 705 | msgid "traditional C rejects the unary plus operator" | 705 | msgid "traditional C rejects the unary plus operator" |
| 706 | msgstr "traditionel C tillader ikke operatoren unær plus" | 706 | msgstr "traditionel C tillader ikke operatoren unær plus" |
| 707 | 707 | ||
| 708 | #: expr.c:2010 | 708 | #: expr.c:1994 |
| 709 | msgid "comma operator in operand of #if" | 709 | msgid "comma operator in operand of #if" |
| 710 | msgstr "kommaoperator i en operand til #if" | 710 | msgstr "kommaoperator i en operand til #if" |
| 711 | 711 | ||
| 712 | #: expr.c:2146 | 712 | #: expr.c:2130 |
| 713 | msgid "division by zero in #if" | 713 | msgid "division by zero in #if" |
| 714 | msgstr "division med nul i #if" | 714 | msgstr "division med nul i #if" |
| 715 | 715 | ||
| 716 | #: expr.c:2243 | 716 | #: expr.c:2227 |
| 717 | msgid "operator \"__has_include__\" requires a header string" | 717 | msgid "operator \"__has_include__\" requires a header string" |
| 718 | msgstr "operatoren »__has_include__« kræver en teksthovedstreng" | 718 | msgstr "operatoren »__has_include__« kræver en teksthovedstreng" |
| 719 | 719 | ||
| 720 | #: expr.c:2259 | 720 | #: expr.c:2243 |
| 721 | msgid "missing ')' after \"__has_include__\"" | 721 | msgid "missing ')' after \"__has_include__\"" |
| 722 | msgstr "manglende »)« efter »__has_include__«" | 722 | msgstr "manglende »)« efter »__has_include__«" |
| 723 | 723 | ||
| @@ -734,40 +734,40 @@ msgstr "brug -Winvalid-pch for yderligere information" · 10 unmodified lines | |||
| 734 | msgid "no include path in which to search for %s" | 734 | msgid "no include path in which to search for %s" |
| 735 | msgstr "der er ingen inkluderingssti at søge efter %s i" | 735 | msgstr "der er ingen inkluderingssti at søge efter %s i" |
| 736 | 736 | ||
| 737 | #: files.c:1441 | 737 | #: files.c:1455 |
| 738 | msgid "Multiple include guards may be useful for:\n" | 738 | msgid "Multiple include guards may be useful for:\n" |
| 739 | msgstr "Flere inkluderingsvagter kan være nyttige til:\n" | 739 | msgstr "Flere inkluderingsvagter kan være nyttige til:\n" |
| 740 | 740 | ||
| 741 | #: init.c:565 | 741 | #: init.c:569 |
| 742 | msgid "cppchar_t must be an unsigned type" | 742 | msgid "cppchar_t must be an unsigned type" |
| 743 | msgstr "cppchar_t skal være en usigneret type" | 743 | msgstr "cppchar_t skal være en usigneret type" |
| 744 | 744 | ||
| 745 | #: init.c:569 | 745 | #: init.c:573 |
| 746 | #, c-format | 746 | #, c-format |
| 747 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 747 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 748 | msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit" | 748 | msgstr "præprocessorberegning har en maksimal præcision på %lu bit; målarkitektur kræver %lu bit" |
| 749 | 749 | ||
| 750 | #: init.c:576 | 750 | #: init.c:580 |
| 751 | msgid "CPP arithmetic must be at least as precise as a target int" | 751 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 752 | msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int" | 752 | msgstr "CPP-beregning skal være mindst lige så præcis som en målarkitekturs int" |
| 753 | 753 | ||
| 754 | #: init.c:579 | 754 | #: init.c:583 |
| 755 | msgid "target char is less than 8 bits wide" | 755 | msgid "target char is less than 8 bits wide" |
| 756 | msgstr "målarkitekturs char er mindre end 8 bit bred" | 756 | msgstr "målarkitekturs char er mindre end 8 bit bred" |
| 757 | 757 | ||
| 758 | #: init.c:583 | 758 | #: init.c:587 |
| 759 | msgid "target wchar_t is narrower than target char" | 759 | msgid "target wchar_t is narrower than target char" |
| 760 | msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char" | 760 | msgstr "målarkitekturs wchar_t er mindre end målarkitekturs char" |
| 761 | 761 | ||
| 762 | #: init.c:587 | 762 | #: init.c:591 |
| 763 | msgid "target int is narrower than target char" | 763 | msgid "target int is narrower than target char" |
| 764 | msgstr "målarkitekturs int er mindre end målarkitekturs char" | 764 | msgstr "målarkitekturs int er mindre end målarkitekturs char" |
| 765 | 765 | ||
| 766 | #: init.c:592 | 766 | #: init.c:596 |
| 767 | msgid "CPP half-integer narrower than CPP character" | 767 | msgid "CPP half-integer narrower than CPP character" |
| 768 | msgstr "CPP-halvheltal er mindre end CPP-tegn" | 768 | msgstr "CPP-halvheltal er mindre end CPP-tegn" |
| 769 | 769 | ||
| 770 | #: init.c:596 | 770 | #: init.c:600 |
| 771 | #, c-format | 771 | #, c-format |
| 772 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 772 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 773 | msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit" | 773 | msgstr "CPP på denne vært kan ikke håndtere bredtegnkonstanter over %lu bit, men målarkitekturen kræver %lu bit" |
| @@ -839,258 +839,273 @@ msgstr "__VA_ARGS__ kan kun optræde i udfoldelsen af en C99-makro med vilkårli · 65 unmodified lines | |||
| 839 | msgid "identifier \"%s\" is a special operator name in C++" | 839 | msgid "identifier \"%s\" is a special operator name in C++" |
| 840 | msgstr "kaldenavn »%s« er et specielt operatornavn i C++" | 840 | msgstr "kaldenavn »%s« er et specielt operatornavn i C++" |
| 841 | 841 | ||
| 842 | #: lex.c:1811 | 842 | #: lex.c:1826 |
| 843 | msgid "raw string delimiter longer than 16 characters" | 843 | msgid "raw string delimiter longer than 16 characters" |
| 844 | msgstr "rå strengafgrænser længere end 16 tegn" | 844 | msgstr "rå strengafgrænser længere end 16 tegn" |
| 845 | 845 | ||
| 846 | #: lex.c:1815 | 846 | #: lex.c:1830 |
| 847 | msgid "invalid new-line in raw string delimiter" | 847 | msgid "invalid new-line in raw string delimiter" |
| 848 | msgstr "ugyldig nylinje i rå strengafgrænser" | 848 | msgstr "ugyldig nylinje i rå strengafgrænser" |
| 849 | 849 | ||
| 850 | #: lex.c:1819 | 850 | #: lex.c:1834 |
| 851 | #, c-format | 851 | #, c-format |
| 852 | msgid "invalid character '%c' in raw string delimiter" | 852 | msgid "invalid character '%c' in raw string delimiter" |
| 853 | msgstr "ugyldigt tegn »%c« i rå strengafgrænser" | 853 | msgstr "ugyldigt tegn »%c« i rå strengafgrænser" |
| 854 | 854 | ||
| 855 | #: lex.c:1868 lex.c:1890 | 855 | #: lex.c:1883 lex.c:1905 |
| 856 | msgid "unterminated raw string" | 856 | msgid "unterminated raw string" |
| 857 | msgstr "uafsluttet rå streng" | 857 | msgstr "uafsluttet rå streng" |
| 858 | 858 | ||
| 859 | #: lex.c:1912 lex.c:2043 | 859 | #: lex.c:1925 lex.c:2054 |
| 860 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 860 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 861 | msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro" | 861 | msgstr "ugyldig suffiks på ordret; C++11 kræver et mellemrum mellem ordret og strengmakro" |
| 862 | 862 | ||
| 863 | #: lex.c:2024 | 863 | #: lex.c:2037 |
| 864 | msgid "null character(s) preserved in literal" | 864 | msgid "null character(s) preserved in literal" |
| 865 | msgstr "nultegn bevaret i strengkonstant" | 865 | msgstr "nultegn bevaret i strengkonstant" |
| 866 | 866 | ||
| 867 | #: lex.c:2027 | 867 | #: lex.c:2040 |
| 868 | #, c-format | 868 | #, c-format |
| 869 | msgid "missing terminating %c character" | 869 | msgid "missing terminating %c character" |
| 870 | msgstr "manglende afsluttende %c-tegn" | 870 | msgstr "manglende afsluttende %c-tegn" |
| 871 | 871 | ||
| 872 | #: lex.c:2061 | 872 | #: lex.c:2072 |
| 873 | msgid "C++11 requires a space between string literal and macro" | 873 | msgid "C++11 requires a space between string literal and macro" |
| 874 | msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro" | 874 | msgstr "C++11 kræver et mellemrum mellem ordret og strengmakro" |
| 875 | 875 | ||
| 876 | #: lex.c:2865 lex.c:2899 | 876 | #: lex.c:2876 lex.c:2910 |
| 877 | msgid "C++ style comments are not allowed in ISO C90" | 877 | msgid "C++ style comments are not allowed in ISO C90" |
| 878 | msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90" | 878 | msgstr "kommentarer i C++-stil er ikke tilladt i ISO C90" |
| 879 | 879 | ||
| 880 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 880 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 881 | msgid "(this will be reported only once per input file)" | 881 | msgid "(this will be reported only once per input file)" |
| 882 | msgstr "(dette rapporteres kun en enkelt gang per inddatafil)" | 882 | msgstr "(dette rapporteres kun en enkelt gang per inddatafil)" |
| 883 | 883 | ||
| 884 | #: lex.c:2876 | 884 | #: lex.c:2887 |
| 885 | msgid "C++ style comments are incompatible with C90" | 885 | msgid "C++ style comments are incompatible with C90" |
| 886 | msgstr "kommentarer i C++-stil er ikke kompatible med C90" | 886 | msgstr "kommentarer i C++-stil er ikke kompatible med C90" |
| 887 | 887 | ||
| 888 | #: lex.c:2907 | 888 | #: lex.c:2919 |
| 889 | msgid "multi-line comment" | 889 | msgid "multi-line comment" |
| 890 | msgstr "flerlinjekommentar" | 890 | msgstr "flerlinjekommentar" |
| 891 | 891 | ||
| 892 | #: lex.c:3287 | 892 | #: lex.c:3299 |
| 893 | #, c-format | 893 | #, c-format |
| 894 | msgid "unspellable token %s" | 894 | msgid "unspellable token %s" |
| 895 | msgstr "symbol %s kan ikke staves" | 895 | msgstr "symbol %s kan ikke staves" |
| 896 | 896 | ||
| 897 | #: macro.c:93 | 897 | #: macro.c:94 |
| 898 | msgid "'##' cannot appear at either end of __VA_OPT__" | 898 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 899 | msgstr "»##« må ikke optræde ved nogen af enderne i __VA_OPT__" | 899 | msgstr "»##« må ikke optræde ved nogen af enderne i __VA_OPT__" |
| 900 | 900 | ||
| 901 | #: macro.c:352 | 901 | #: macro.c:354 |
| 902 | #, c-format | 902 | #, c-format |
| 903 | msgid "macro \"%s\" is not used" | 903 | msgid "macro \"%s\" is not used" |
| 904 | msgstr "makroen »%s« bliver ikke brugt" | 904 | msgstr "makroen »%s« bliver ikke brugt" |
| 905 | 905 | ||
| 906 | #: macro.c:391 macro.c:639 | 906 | #: macro.c:393 macro.c:641 |
| 907 | #, c-format | 907 | #, c-format |
| 908 | msgid "invalid built-in macro \"%s\"" | 908 | msgid "invalid built-in macro \"%s\"" |
| 909 | msgstr "ugyldig indbygget makro »%s«" | 909 | msgstr "ugyldig indbygget makro »%s«" |
| 910 | 910 | ||
| 911 | #: macro.c:398 macro.c:500 | 911 | #: macro.c:400 macro.c:502 |
| 912 | #, c-format | 912 | #, c-format |
| 913 | msgid "macro \"%s\" might prevent reproducible builds" | 913 | msgid "macro \"%s\" might prevent reproducible builds" |
| 914 | msgstr "makroen »%s« kan forhindre reproducerbare bygninger" | 914 | msgstr "makroen »%s« kan forhindre reproducerbare bygninger" |
| 915 | 915 | ||
| 916 | #: macro.c:429 | 916 | #: macro.c:431 |
| 917 | msgid "could not determine file timestamp" | 917 | msgid "could not determine file timestamp" |
| 918 | msgstr "kunne ikke bestemme filtidsstempel" | 918 | msgstr "kunne ikke bestemme filtidsstempel" |
| 919 | 919 | ||
| 920 | #: macro.c:546 | 920 | #: macro.c:548 |
| 921 | msgid "could not determine date and time" | 921 | msgid "could not determine date and time" |
| 922 | msgstr "kunne ikke bestemme dato og tid" | 922 | msgstr "kunne ikke bestemme dato og tid" |
| 923 | 923 | ||
| 924 | #: macro.c:562 | 924 | #: macro.c:564 |
| 925 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 925 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 926 | msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only" | 926 | msgstr "__COUNTER__ udvidet inden i direktiv med -fdirectives-only" |
| 927 | 927 | ||
| 928 | #: macro.c:758 | 928 | #: macro.c:760 |
| 929 | msgid "invalid string literal, ignoring final '\\'" | 929 | msgid "invalid string literal, ignoring final '\\'" |
| 930 | msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«" | 930 | msgstr "ugyldig strengkonstant, ignorerer afsluttende »\\«" |
| 931 | 931 | ||
| 932 | #: macro.c:820 | 932 | #: macro.c:822 |
| 933 | #, c-format | 933 | #, c-format |
| 934 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 934 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 935 | msgstr "indsættelse af »%s« og »%s« giver ikke et gyldigt præprocessorsymbol" | 935 | msgstr "indsættelse af »%s« og »%s« giver ikke et gyldigt præprocessorsymbol" |
| 936 | 936 | ||
| 937 | #: macro.c:946 | 937 | #: macro.c:948 |
| 938 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 938 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 939 | msgstr "ISO C++11 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre" | 939 | msgstr "ISO C++11 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre" |
| 940 | 940 | ||
| 941 | #: macro.c:950 | 941 | #: macro.c:952 |
| 942 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 942 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 943 | msgstr "ISO C99 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre" | 943 | msgstr "ISO C99 kræver mindst en parameter for »...« i en makro med vilkårligt antal parametre" |
| 944 | 944 | ||
| 945 | #: macro.c:957 | 945 | #: macro.c:959 |
| 946 | #, c-format | 946 | #, c-format |
| 947 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 947 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 948 | msgstr "makroen »%s« kræver %u parametre, men modtager kun %u" | 948 | msgstr "makroen »%s« kræver %u parametre, men modtager kun %u" |
| 949 | 949 | ||
| 950 | #: macro.c:962 | 950 | #: macro.c:964 |
| 951 | #, c-format | 951 | #, c-format |
| 952 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 952 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 953 | msgstr "makroen »%s« viderebragte %u parametre, men tager kun mod %u" | 953 | msgstr "makroen »%s« viderebragte %u parametre, men tager kun mod %u" |
| 954 | 954 | ||
| 955 | #: macro.c:1156 traditional.c:819 | 955 | #: macro.c:1162 traditional.c:827 |
| 956 | #, c-format | 956 | #, c-format |
| 957 | msgid "unterminated argument list invoking macro \"%s\"" | 957 | msgid "unterminated argument list invoking macro \"%s\"" |
| 958 | msgstr "uafsluttet parameterliste ved kald af makroen »%s«" | 958 | msgstr "uafsluttet parameterliste ved kald af makroen »%s«" |
| 959 | 959 | ||
| 960 | #: macro.c:1307 | 960 | #: macro.c:1304 |
| 961 | #, c-format | 961 | #, c-format |
| 962 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 962 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 963 | msgstr "funktionsagtig makro »%s« skal bruges med parametre i traditionel C" | 963 | msgstr "funktionsagtig makro »%s« skal bruges med parametre i traditionel C" |
| 964 | 964 | ||
| 965 | #: macro.c:2003 | 965 | #: macro.c:2083 |
| 966 | #, c-format | 966 | #, c-format |
| 967 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 967 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 968 | msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C+98" | 968 | msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C+98" |
| 969 | 969 | ||
| 970 | #: macro.c:2011 macro.c:2020 | 970 | #: macro.c:2091 macro.c:2100 |
| 971 | #, c-format | 971 | #, c-format |
| 972 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 972 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 973 | msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C90" | 973 | msgstr "starter makroen %s parameter %d: tomme makroparametre er ikke defineret i ISO C90" |
| 974 | 974 | ||
| 975 | #: macro.c:2984 | 975 | #: macro.c:3059 |
| 976 | #, c-format | 976 | #, c-format |
| 977 | msgid "duplicate macro parameter \"%s\"" | 977 | msgid "duplicate macro parameter \"%s\"" |
| 978 | msgstr "makroparameternavnet »%s« optræder mere end en gang" | 978 | msgstr "makroparameternavnet »%s« optræder mere end en gang" |
| 979 | 979 | ||
| 980 | #: macro.c:3033 | 980 | #: macro.c:3141 |
| 981 | #, c-format | ||
| 982 | msgid "expected parameter name, found \"%s\"" | ||
| 983 | msgstr "forventede parameternavn, fandt »%s«" | ||
| 984 | |||
| 985 | #: macro.c:3142 | ||
| 981 | #, c-format | 986 | #, c-format |
| 982 | msgid "\"%s\" may not appear in macro parameter list" | 987 | msgid "expected ',' or ')', found \"%s\"" |
| 983 | msgstr "»%s« må ikke optræde i makroparameterliste" | 988 | msgstr "forventede »,« eller »)«, fandt »%s«" |
| 984 | 989 | ||
| 985 | #: macro.c:3041 | 990 | #: macro.c:3143 |
| 986 | msgid "macro parameters must be comma-separated" | 991 | msgid "expected parameter name before end of line" |
| 987 | msgstr "makroparametre skal være kommaadskilte" | 992 | msgstr "forventede parameternavn før linjeafslutning" |
| 988 | 993 | ||
| 989 | #: macro.c:3060 | 994 | #: macro.c:3144 |
| 990 | msgid "parameter name missing" | 995 | msgid "expected ')' before end of line" |
| 991 | msgstr "parameternavn mangler" | 996 | msgstr "forventede »)« før linjeafslutning" |
| 992 | 997 | ||
| 993 | #: macro.c:3081 | 998 | #: macro.c:3145 |
| 999 | msgid "expected ')' after \"...\"" | ||
| 1000 | msgstr "forventede »)« efter »...«" | ||
| 1001 | |||
| 1002 | #: macro.c:3202 | ||
| 994 | msgid "anonymous variadic macros were introduced in C++11" | 1003 | msgid "anonymous variadic macros were introduced in C++11" |
| 995 | msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11" | 1004 | msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C++11" |
| 996 | 1005 | ||
| 997 | #: macro.c:3085 macro.c:3090 | 1006 | #: macro.c:3203 macro.c:3207 |
| 998 | msgid "anonymous variadic macros were introduced in C99" | 1007 | msgid "anonymous variadic macros were introduced in C99" |
| 999 | msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99" | 1008 | msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99" |
| 1000 | 1009 | ||
| 1001 | #: macro.c:3097 | 1010 | #: macro.c:3213 |
| 1002 | msgid "ISO C++ does not permit named variadic macros" | 1011 | msgid "ISO C++ does not permit named variadic macros" |
| 1003 | msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre" | 1012 | msgstr "ISO C++ tillader ikke navngivne makroer med vilkårligt antal parametre" |
| 1004 | 1013 | ||
| 1005 | #: macro.c:3100 | 1014 | #: macro.c:3214 |
| 1006 | msgid "ISO C does not permit named variadic macros" | 1015 | msgid "ISO C does not permit named variadic macros" |
| 1007 | msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre" | 1016 | msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre" |
| 1008 | 1017 | ||
| 1009 | #: macro.c:3110 | 1018 | #: macro.c:3260 |
| 1010 | msgid "missing ')' in macro parameter list" | ||
| 1011 | msgstr "manglende »)« i makroparameterliste" | ||
| 1012 | |||
| 1013 | #: macro.c:3161 | ||
| 1014 | msgid "'##' cannot appear at either end of a macro expansion" | 1019 | msgid "'##' cannot appear at either end of a macro expansion" |
| 1015 | msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop" | 1020 | msgstr "»##« må ikke optræde ved nogen af enderne i en makrokrop" |
| 1016 | 1021 | ||
| 1017 | #: macro.c:3198 | 1022 | #: macro.c:3298 |
| 1018 | msgid "ISO C++11 requires whitespace after the macro name" | 1023 | msgid "ISO C++11 requires whitespace after the macro name" |
| 1019 | msgstr "ISO C++11 kræver mellemrum efter makronavnet" | 1024 | msgstr "ISO C++11 kræver mellemrum efter makronavnet" |
| 1020 | 1025 | ||
| 1021 | #: macro.c:3201 | 1026 | #: macro.c:3299 |
| 1022 | msgid "ISO C99 requires whitespace after the macro name" | 1027 | msgid "ISO C99 requires whitespace after the macro name" |
| 1023 | msgstr "ISO C99 kræver mellemrum efter makronavnet" | 1028 | msgstr "ISO C99 kræver mellemrum efter makronavnet" |
| 1024 | 1029 | ||
| 1025 | #: macro.c:3226 | 1030 | #: macro.c:3323 |
| 1026 | msgid "missing whitespace after the macro name" | 1031 | msgid "missing whitespace after the macro name" |
| 1027 | msgstr "manglende mellemrum efter makronavnet" | 1032 | msgstr "manglende mellemrum efter makronavnet" |
| 1028 | 1033 | ||
| 1029 | #: macro.c:3263 | 1034 | #: macro.c:3373 |
| 1030 | msgid "'#' is not followed by a macro parameter" | 1035 | msgid "'#' is not followed by a macro parameter" |
| 1031 | msgstr "»#« efterfølges ikke af en makroparameter" | 1036 | msgstr "»#« efterfølges ikke af en makroparameter" |
| 1032 | 1037 | ||
| 1033 | #: macro.c:3430 | 1038 | #: macro.c:3524 |
| 1034 | #, c-format | 1039 | #, c-format |
| 1035 | msgid "\"%s\" redefined" | 1040 | msgid "\"%s\" redefined" |
| 1036 | msgstr "»%s« omdefineret" | 1041 | msgstr "»%s« omdefineret" |
| 1037 | 1042 | ||
| 1038 | #: macro.c:3435 | 1043 | #: macro.c:3529 |
| 1039 | msgid "this is the location of the previous definition" | 1044 | msgid "this is the location of the previous definition" |
| 1040 | msgstr "den foregående definition er her" | 1045 | msgstr "den foregående definition er her" |
| 1041 | 1046 | ||
| 1042 | #: macro.c:3496 | 1047 | #: macro.c:3633 |
| 1043 | #, c-format | 1048 | #, c-format |
| 1044 | msgid "macro argument \"%s\" would be stringified in traditional C" | 1049 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 1045 | msgstr "makroparameteren »%s« ville blive gjort til en streng i traditionel C" | 1050 | msgstr "makroparameteren »%s« ville blive gjort til en streng i traditionel C" |
| 1046 | 1051 | ||
| 1047 | #: macro.c:3532 | 1052 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 1048 | #, c-format | ||
| 1049 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 1050 | msgstr "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 | ||
| 1053 | msgid "while writing precompiled header" | 1053 | msgid "while writing precompiled header" |
| 1054 | msgstr "under skrivning af prækompileret teksthoved" | 1054 | msgstr "under skrivning af prækompileret teksthoved" |
| 1055 | 1055 | ||
| 1056 | #: pch.c:621 | 1056 | #: pch.c:616 |
| 1057 | #, c-format | 1057 | #, c-format |
| 1058 | msgid "%s: not used because `%.*s' is poisoned" | 1058 | msgid "%s: not used because `%.*s' is poisoned" |
| 1059 | msgstr "%s: ikke brugt da »%.*s« er forgiftet" | 1059 | msgstr "%s: ikke brugt da »%.*s« er forgiftet" |
| 1060 | 1060 | ||
| 1061 | #: pch.c:643 | 1061 | #: pch.c:638 |
| 1062 | #, c-format | 1062 | #, c-format |
| 1063 | msgid "%s: not used because `%.*s' not defined" | 1063 | msgid "%s: not used because `%.*s' not defined" |
| 1064 | msgstr "%s: ikke brugt da »%.*s« ikke er defineret" | 1064 | msgstr "%s: ikke brugt da »%.*s« ikke er defineret" |
| 1065 | 1065 | ||
| 1066 | #: pch.c:655 | 1066 | #: pch.c:650 |
| 1067 | #, c-format | 1067 | #, c-format |
| 1068 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 1068 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 1069 | msgstr "%s: ikke brugt da »%.*s« er defineret som »%s« ikke »%.*s«" | 1069 | msgstr "%s: ikke brugt da »%.*s« er defineret som »%s« ikke »%.*s«" |
| 1070 | 1070 | ||
| 1071 | #: pch.c:696 | 1071 | #: pch.c:691 |
| 1072 | #, c-format | 1072 | #, c-format |
| 1073 | msgid "%s: not used because `%s' is defined" | 1073 | msgid "%s: not used because `%s' is defined" |
| 1074 | msgstr "%s ikke brugt da »%s« er defineret" | 1074 | msgstr "%s ikke brugt da »%s« er defineret" |
| 1075 | 1075 | ||
| 1076 | #: pch.c:716 | 1076 | #: pch.c:711 |
| 1077 | #, c-format | 1077 | #, c-format |
| 1078 | msgid "%s: not used because `__COUNTER__' is invalid" | 1078 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 1079 | msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig" | 1079 | msgstr "%s: ikke brugt da »__COUNTER__« er ugyldig" |
| 1080 | 1080 | ||
| 1081 | #: pch.c:725 pch.c:903 | 1081 | #: pch.c:720 pch.c:878 |
| 1082 | msgid "while reading precompiled header" | 1082 | msgid "while reading precompiled header" |
| 1083 | msgstr "under læsning af prækompileret teksthoved" | 1083 | msgstr "under læsning af prækompileret teksthoved" |
| 1084 | 1084 | ||
| 1085 | #: traditional.c:889 | 1085 | #: traditional.c:896 |
| 1086 | #, c-format | 1086 | #, c-format |
| 1087 | msgid "detected recursion whilst expanding macro \"%s\"" | 1087 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 1088 | msgstr "opdagede rekursion ved udfoldelse af makroen »%s«" | 1088 | msgstr "opdagede rekursion ved udfoldelse af makroen »%s«" |
| 1089 | 1089 | ||
| 1090 | #: traditional.c:1108 | 1090 | #: traditional.c:1119 |
| 1091 | msgid "syntax error in macro parameter list" | 1091 | msgid "syntax error in macro parameter list" |
| 1092 | msgstr "syntaksfejl i makroparameterliste" | 1092 | msgstr "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 | ||
Binary file not shown.
| @@ -9,10 +9,10 @@ · 8 unmodified lines | |||
| 9 | # | 9 | # |
| 10 | msgid "" | 10 | msgid "" |
| 11 | msgstr "" | 11 | msgstr "" |
| 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:674 | 25 | #: charset.c:674 |
| 26 | #, c-format | 26 | #, c-format |
| @@ -91,7 +91,7 @@ msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner" · 64 unmodified lines | |||
| 91 | msgid "universal character %.*s is not valid at the start of an identifier" | 91 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 92 | msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners" | 92 | msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners" |
| 93 | 93 | ||
| 94 | #: charset.c:1181 charset.c:2000 | 94 | #: charset.c:1181 charset.c:2002 |
| 95 | msgid "converting UCN to source character set" | 95 | msgid "converting UCN to source character set" |
| 96 | msgstr "UCN wird in Quellzeichensatz konvertiert" | 96 | msgstr "UCN wird in Quellzeichensatz konvertiert" |
| 97 | 97 | ||
| @@ -144,294 +144,294 @@ msgstr "Escape-Sequenz wird in Zeichensatz der Ausführung konvertiert" · 46 unmodified lines | |||
| 144 | msgid "missing open quote" | 144 | msgid "missing open quote" |
| 145 | msgstr "Fehlendes öffnendes Anführungszeichen" | 145 | msgstr "Fehlendes öffnendes Anführungszeichen" |
| 146 | 146 | ||
| 147 | #: charset.c:1827 charset.c:1891 | 147 | #: charset.c:1829 charset.c:1893 |
| 148 | msgid "character constant too long for its type" | 148 | msgid "character constant too long for its type" |
| 149 | msgstr "Zeichenkonstante zu lang für ihren Typ" | 149 | msgstr "Zeichenkonstante zu lang für ihren Typ" |
| 150 | 150 | ||
| 151 | #: charset.c:1830 | 151 | #: charset.c:1832 |
| 152 | msgid "multi-character character constant" | 152 | msgid "multi-character character constant" |
| 153 | msgstr "Zeichenkonstante mit mehreren Zeichen" | 153 | msgstr "Zeichenkonstante mit mehreren Zeichen" |
| 154 | 154 | ||
| 155 | #: charset.c:1931 | 155 | #: charset.c:1933 |
| 156 | msgid "empty character constant" | 156 | msgid "empty character constant" |
| 157 | msgstr "Leere Zeichenkonstante" | 157 | msgstr "Leere Zeichenkonstante" |
| 158 | 158 | ||
| 159 | #: charset.c:2047 | 159 | #: charset.c:2049 |
| 160 | #, c-format | 160 | #, c-format |
| 161 | msgid "failure to convert %s to %s" | 161 | msgid "failure to convert %s to %s" |
| 162 | msgstr "Fehler beim Konvertieren von %s nach %s" | 162 | msgstr "Fehler beim Konvertieren von %s nach %s" |
| 163 | 163 | ||
| 164 | #: directives.c:235 directives.c:278 | 164 | #: directives.c:229 directives.c:272 |
| 165 | #, c-format | 165 | #, c-format |
| 166 | msgid "extra tokens at end of #%s directive" | 166 | msgid "extra tokens at end of #%s directive" |
| 167 | msgstr "mehrere Token am Ende der Direktive #%s" | 167 | msgstr "mehrere Token am Ende der Direktive #%s" |
| 168 | 168 | ||
| 169 | #: directives.c:385 | 169 | #: directives.c:379 |
| 170 | #, c-format | 170 | #, c-format |
| 171 | msgid "#%s is a GCC extension" | 171 | msgid "#%s is a GCC extension" |
| 172 | msgstr "#%s ist eine GCC-Erweiterung" | 172 | msgstr "#%s ist eine GCC-Erweiterung" |
| 173 | 173 | ||
| 174 | #: directives.c:390 | 174 | #: directives.c:384 |
| 175 | #, c-format | 175 | #, c-format |
| 176 | msgid "#%s is a deprecated GCC extension" | 176 | msgid "#%s is a deprecated GCC extension" |
| 177 | msgstr "#%s ist eine veraltete GCC-Erweiterung" | 177 | msgstr "#%s ist eine veraltete GCC-Erweiterung" |
| 178 | 178 | ||
| 179 | #: directives.c:403 | 179 | #: directives.c:397 |
| 180 | msgid "suggest not using #elif in traditional C" | 180 | msgid "suggest not using #elif in traditional C" |
| 181 | msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden" | 181 | msgstr "es wird empfohlen, in traditionellem C nicht #elif zu verwenden" |
| 182 | 182 | ||
| 183 | #: directives.c:406 | 183 | #: directives.c:400 |
| 184 | #, c-format | 184 | #, c-format |
| 185 | msgid "traditional C ignores #%s with the # indented" | 185 | msgid "traditional C ignores #%s with the # indented" |
| 186 | msgstr "traditionelles C ignoriert #%s mit eingerücktem #" | 186 | msgstr "traditionelles C ignoriert #%s mit eingerücktem #" |
| 187 | 187 | ||
| 188 | #: directives.c:410 | 188 | #: directives.c:404 |
| 189 | #, c-format | 189 | #, c-format |
| 190 | msgid "suggest hiding #%s from traditional C with an indented #" | 190 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 191 | msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen" | 191 | msgstr "es wird empfohlen, #%s vor traditionellem C mit # zu verbergen" |
| 192 | 192 | ||
| 193 | #: directives.c:436 | 193 | #: directives.c:430 |
| 194 | msgid "embedding a directive within macro arguments is not portable" | 194 | msgid "embedding a directive within macro arguments is not portable" |
| 195 | msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar" | 195 | msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar" |
| 196 | 196 | ||
| 197 | #: directives.c:456 | 197 | #: directives.c:450 |
| 198 | msgid "style of line directive is a GCC extension" | 198 | msgid "style of line directive is a GCC extension" |
| 199 | msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung" | 199 | msgstr "der Stil der line-Direktive ist eine GCC-Erweiterung" |
| 200 | 200 | ||
| 201 | #: directives.c:537 | 201 | #: directives.c:531 |
| 202 | #, c-format | 202 | #, c-format |
| 203 | msgid "invalid preprocessing directive #%s" | 203 | msgid "invalid preprocessing directive #%s" |
| 204 | msgstr "ungültige Präprozessordirektive #%s" | 204 | msgstr "ungültige Präprozessordirektive #%s" |
| 205 | 205 | ||
| 206 | #: directives.c:606 | 206 | #: directives.c:600 |
| 207 | msgid "\"defined\" cannot be used as a macro name" | 207 | msgid "\"defined\" cannot be used as a macro name" |
| 208 | msgstr "»defined« kann nicht als Makroname verwendet werden" | 208 | msgstr "»defined« kann nicht als Makroname verwendet werden" |
| 209 | 209 | ||
| 210 | #: directives.c:611 | 210 | #: directives.c:605 |
| 211 | msgid "\"__has_include__\" cannot be used as a macro name" | 211 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 212 | msgstr "»__has_include__« kann nicht als Makroname verwendet werden" | 212 | msgstr "»__has_include__« kann nicht als Makroname verwendet werden" |
| 213 | 213 | ||
| 214 | #: directives.c:617 | 214 | #: directives.c:611 |
| 215 | #, c-format | 215 | #, c-format |
| 216 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 216 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 217 | msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist" | 217 | msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist" |
| 218 | 218 | ||
| 219 | #: directives.c:620 | 219 | #: directives.c:614 |
| 220 | #, c-format | 220 | #, c-format |
| 221 | msgid "no macro name given in #%s directive" | 221 | msgid "no macro name given in #%s directive" |
| 222 | msgstr "kein Makroname in Direktive #%s angegeben" | 222 | msgstr "kein Makroname in Direktive #%s angegeben" |
| 223 | 223 | ||
| 224 | #: directives.c:623 | 224 | #: directives.c:617 |
| 225 | msgid "macro names must be identifiers" | 225 | msgid "macro names must be identifiers" |
| 226 | msgstr "Makronamen müssen Bezeichner sein" | 226 | msgstr "Makronamen müssen Bezeichner sein" |
| 227 | 227 | ||
| 228 | #: directives.c:672 directives.c:677 | 228 | #: directives.c:666 directives.c:671 |
| 229 | #, c-format | 229 | #, c-format |
| 230 | msgid "undefining \"%s\"" | 230 | msgid "undefining \"%s\"" |
| 231 | msgstr "»%s« wird un-definiert" | 231 | msgstr "»%s« wird un-definiert" |
| 232 | 232 | ||
| 233 | #: directives.c:732 | 233 | #: directives.c:727 |
| 234 | msgid "missing terminating > character" | 234 | msgid "missing terminating > character" |
| 235 | msgstr "fehlendes abschließendes »>«-Zeichen" | 235 | msgstr "fehlendes abschließendes »>«-Zeichen" |
| 236 | 236 | ||
| 237 | #: directives.c:791 | 237 | #: directives.c:786 |
| 238 | #, c-format | 238 | #, c-format |
| 239 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 239 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 240 | msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>" | 240 | msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>" |
| 241 | 241 | ||
| 242 | #: directives.c:837 | 242 | #: directives.c:828 |
| 243 | #, c-format | 243 | #, c-format |
| 244 | msgid "empty filename in #%s" | 244 | msgid "empty filename in #%s" |
| 245 | msgstr "leerer Dateiname in #%s" | 245 | msgstr "leerer Dateiname in #%s" |
| 246 | 246 | ||
| 247 | #: directives.c:847 | 247 | #: directives.c:835 |
| 248 | msgid "#include nested too deeply" | 248 | msgid "#include nested too deeply" |
| 249 | msgstr "#include ist zu tief geschachtelt" | 249 | msgstr "#include ist zu tief geschachtelt" |
| 250 | 250 | ||
| 251 | #: directives.c:888 | 251 | #: directives.c:877 |
| 252 | msgid "#include_next in primary source file" | 252 | msgid "#include_next in primary source file" |
| 253 | msgstr "#include_next in erster Quelldatei" | 253 | msgstr "#include_next in erster Quelldatei" |
| 254 | 254 | ||
| 255 | #: directives.c:914 | 255 | #: directives.c:903 |
| 256 | #, c-format | 256 | #, c-format |
| 257 | msgid "invalid flag \"%s\" in line directive" | 257 | msgid "invalid flag \"%s\" in line directive" |
| 258 | msgstr "ungültiges Kennzeichen »%s« in line-Direktive" | 258 | msgstr "ungültiges Kennzeichen »%s« in line-Direktive" |
| 259 | 259 | ||
| 260 | #: directives.c:974 | 260 | #: directives.c:963 |
| 261 | msgid "unexpected end of file after #line" | 261 | msgid "unexpected end of file after #line" |
| 262 | msgstr "unerwartetes Dateiende nach #line" | 262 | msgstr "unerwartetes Dateiende nach #line" |
| 263 | 263 | ||
| 264 | #: directives.c:977 | 264 | #: directives.c:966 |
| 265 | #, c-format | 265 | #, c-format |
| 266 | msgid "\"%s\" after #line is not a positive integer" | 266 | msgid "\"%s\" after #line is not a positive integer" |
| 267 | msgstr "»%s« hinter #line ist keine positive Ganzzahl" | 267 | msgstr "»%s« hinter #line ist keine positive Ganzzahl" |
| 268 | 268 | ||
| 269 | #: directives.c:983 directives.c:985 | 269 | #: directives.c:972 directives.c:974 |
| 270 | msgid "line number out of range" | 270 | msgid "line number out of range" |
| 271 | msgstr "Zeilennummer ist außerhalb des Wertebereiches" | 271 | msgstr "Zeilennummer ist außerhalb des Wertebereiches" |
| 272 | 272 | ||
| 273 | #: directives.c:998 directives.c:1079 | 273 | #: directives.c:987 directives.c:1068 |
| 274 | #, c-format | 274 | #, c-format |
| 275 | msgid "\"%s\" is not a valid filename" | 275 | msgid "\"%s\" is not a valid filename" |
| 276 | msgstr "»%s« ist kein gültiger Dateiname" | 276 | msgstr "»%s« ist kein gültiger Dateiname" |
| 277 | 277 | ||
| 278 | #: directives.c:1039 | 278 | #: directives.c:1028 |
| 279 | #, c-format | 279 | #, c-format |
| 280 | msgid "\"%s\" after # is not a positive integer" | 280 | msgid "\"%s\" after # is not a positive integer" |
| 281 | msgstr "»%s« hinter # ist keine positive Ganzzahl" | 281 | msgstr "»%s« hinter # ist keine positive Ganzzahl" |
| 282 | 282 | ||
| 283 | #: directives.c:1098 | 283 | #: directives.c:1087 |
| 284 | #, c-format | 284 | #, c-format |
| 285 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 285 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 286 | msgstr "der Zeilenmarker in der Datei »%s« wird aufgrung falscher Schachtelung ignoriert" | 286 | msgstr "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:1747 | 288 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 289 | #, c-format | 289 | #, c-format |
| 290 | msgid "%s" | 290 | msgid "%s" |
| 291 | msgstr "%s" | 291 | msgstr "%s" |
| 292 | 292 | ||
| 293 | #: directives.c:1185 | 293 | #: directives.c:1175 |
| 294 | #, c-format | 294 | #, c-format |
| 295 | msgid "invalid #%s directive" | 295 | msgid "invalid #%s directive" |
| 296 | msgstr "ungültige #%s-Direktive" | 296 | msgstr "ungültige #%s-Direktive" |
| 297 | 297 | ||
| 298 | #: directives.c:1248 | 298 | #: directives.c:1238 |
| 299 | #, c-format | 299 | #, c-format |
| 300 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 300 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 301 | msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert" | 301 | msgstr "Pragmas im Namensraum »%s« werden ohne passende Namensauflösung registriert" |
| 302 | 302 | ||
| 303 | #: directives.c:1257 | 303 | #: directives.c:1247 |
| 304 | #, c-format | 304 | #, c-format |
| 305 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 305 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 306 | msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert" | 306 | msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namensraum registriert" |
| 307 | 307 | ||
| 308 | #: directives.c:1275 | 308 | #: directives.c:1265 |
| 309 | #, c-format | 309 | #, 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" |
| 311 | msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert" | 311 | msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namensraum registriert" |
| 312 | 312 | ||
| 313 | #: directives.c:1278 | 313 | #: directives.c:1268 |
| 314 | #, c-format | 314 | #, c-format |
| 315 | msgid "#pragma %s %s is already registered" | 315 | msgid "#pragma %s %s is already registered" |
| 316 | msgstr "#pragma %s %s ist bereits registriert" | 316 | msgstr "#pragma %s %s ist bereits registriert" |
| 317 | 317 | ||
| 318 | #: directives.c:1281 | 318 | #: directives.c:1271 |
| 319 | #, c-format | 319 | #, c-format |
| 320 | msgid "#pragma %s is already registered" | 320 | msgid "#pragma %s is already registered" |
| 321 | msgstr "#pragma %s ist bereits registriert" | 321 | msgstr "#pragma %s ist bereits registriert" |
| 322 | 322 | ||
| 323 | #: directives.c:1311 | 323 | #: directives.c:1301 |
| 324 | msgid "registering pragma with NULL handler" | 324 | msgid "registering pragma with NULL handler" |
| 325 | msgstr "Pragma mit NULL-Handler wird registriert" | 325 | msgstr "Pragma mit NULL-Handler wird registriert" |
| 326 | 326 | ||
| 327 | #: directives.c:1528 | 327 | #: directives.c:1518 |
| 328 | msgid "#pragma once in main file" | 328 | msgid "#pragma once in main file" |
| 329 | msgstr "#pragma once in Hauptdatei" | 329 | msgstr "#pragma once in Hauptdatei" |
| 330 | 330 | ||
| 331 | #: directives.c:1551 | 331 | #: directives.c:1541 |
| 332 | msgid "invalid #pragma push_macro directive" | 332 | msgid "invalid #pragma push_macro directive" |
| 333 | msgstr "ungültige #pragma push_macro Direktive" | 333 | msgstr "ungültige #pragma push_macro Direktive" |
| 334 | 334 | ||
| 335 | #: directives.c:1606 | 335 | #: directives.c:1596 |
| 336 | msgid "invalid #pragma pop_macro directive" | 336 | msgid "invalid #pragma pop_macro directive" |
| 337 | msgstr "ungültige #pragma pop_macro Direktive" | 337 | msgstr "ungültige #pragma pop_macro Direktive" |
| 338 | 338 | ||
| 339 | #: directives.c:1661 | 339 | #: directives.c:1651 |
| 340 | msgid "invalid #pragma GCC poison directive" | 340 | msgid "invalid #pragma GCC poison directive" |
| 341 | msgstr "ungültige #pragma GCC Poison Direktive" | 341 | msgstr "ungültige #pragma GCC Poison Direktive" |
| 342 | 342 | ||
| 343 | #: directives.c:1670 | 343 | #: directives.c:1660 |
| 344 | #, c-format | 344 | #, c-format |
| 345 | msgid "poisoning existing macro \"%s\"" | 345 | msgid "poisoning existing macro \"%s\"" |
| 346 | msgstr "schlechtes existierendes Makro »%s«" | 346 | msgstr "schlechtes existierendes Makro »%s«" |
| 347 | 347 | ||
| 348 | #: directives.c:1689 | 348 | #: directives.c:1679 |
| 349 | msgid "#pragma system_header ignored outside include file" | 349 | msgid "#pragma system_header ignored outside include file" |
| 350 | msgstr "#pragma system_header außerhalb include-Datei ignoriert" | 350 | msgstr "#pragma system_header außerhalb include-Datei ignoriert" |
| 351 | 351 | ||
| 352 | #: directives.c:1714 | 352 | #: directives.c:1704 |
| 353 | #, c-format | 353 | #, c-format |
| 354 | msgid "cannot find source file %s" | 354 | msgid "cannot find source file %s" |
| 355 | msgstr "Quelldatei %s kann nicht gefunden werden" | 355 | msgstr "Quelldatei %s kann nicht gefunden werden" |
| 356 | 356 | ||
| 357 | #: directives.c:1718 | 357 | #: directives.c:1708 |
| 358 | #, c-format | 358 | #, c-format |
| 359 | msgid "current file is older than %s" | 359 | msgid "current file is older than %s" |
| 360 | msgstr "aktuelle Datei ist älter als %s" | 360 | msgstr "aktuelle Datei ist älter als %s" |
| 361 | 361 | ||
| 362 | #: directives.c:1742 | 362 | #: directives.c:1732 |
| 363 | #, c-format | 363 | #, c-format |
| 364 | msgid "invalid \"#pragma GCC %s\" directive" | 364 | msgid "invalid \"#pragma GCC %s\" directive" |
| 365 | msgstr "ungültige »#pragma GCC %s« Direktive" | 365 | msgstr "ungültige »#pragma GCC %s« Direktive" |
| 366 | 366 | ||
| 367 | #: directives.c:1943 | 367 | #: directives.c:1933 |
| 368 | msgid "_Pragma takes a parenthesized string literal" | 368 | msgid "_Pragma takes a parenthesized string literal" |
| 369 | msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral" | 369 | msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral" |
| 370 | 370 | ||
| 371 | #: directives.c:2064 | 371 | #: directives.c:2021 |
| 372 | msgid "#else without #if" | 372 | msgid "#else without #if" |
| 373 | msgstr "#else ohne #if" | 373 | msgstr "#else ohne #if" |
| 374 | 374 | ||
| 375 | #: directives.c:2069 | 375 | #: directives.c:2026 |
| 376 | msgid "#else after #else" | 376 | msgid "#else after #else" |
| 377 | msgstr "#else hinter #else" | 377 | msgstr "#else hinter #else" |
| 378 | 378 | ||
| 379 | #: directives.c:2071 directives.c:2104 | 379 | #: directives.c:2028 directives.c:2061 |
| 380 | msgid "the conditional began here" | 380 | msgid "the conditional began here" |
| 381 | msgstr "die Bedingung begann hier" | 381 | msgstr "die Bedingung begann hier" |
| 382 | 382 | ||
| 383 | #: directives.c:2097 | 383 | #: directives.c:2054 |
| 384 | msgid "#elif without #if" | 384 | msgid "#elif without #if" |
| 385 | msgstr "#elif ohne #if" | 385 | msgstr "#elif ohne #if" |
| 386 | 386 | ||
| 387 | #: directives.c:2102 | 387 | #: directives.c:2059 |
| 388 | msgid "#elif after #else" | 388 | msgid "#elif after #else" |
| 389 | msgstr "#elif hinter #else" | 389 | msgstr "#elif hinter #else" |
| 390 | 390 | ||
| 391 | #: directives.c:2133 | 391 | #: directives.c:2090 |
| 392 | msgid "#endif without #if" | 392 | msgid "#endif without #if" |
| 393 | msgstr "#endif ohne #if" | 393 | msgstr "#endif ohne #if" |
| 394 | 394 | ||
| 395 | #: directives.c:2213 | 395 | #: directives.c:2166 |
| 396 | msgid "missing '(' after predicate" | 396 | msgid "missing '(' after predicate" |
| 397 | msgstr "fehlende »(« hinter Prädikat" | 397 | msgstr "fehlende »(« hinter Prädikat" |
| 398 | 398 | ||
| 399 | #: directives.c:2228 | 399 | #: directives.c:2184 |
| 400 | msgid "missing ')' to complete answer" | 400 | msgid "missing ')' to complete answer" |
| 401 | msgstr "fehlende »)«, um Antwort abzuschließen" | 401 | msgstr "fehlende »)«, um Antwort abzuschließen" |
| 402 | 402 | ||
| 403 | #: directives.c:2248 | 403 | #: directives.c:2196 |
| 404 | msgid "predicate's answer is empty" | 404 | msgid "predicate's answer is empty" |
| 405 | msgstr "Prädikatantwort ist leer" | 405 | msgstr "Prädikatantwort ist leer" |
| 406 | 406 | ||
| 407 | #: directives.c:2275 | 407 | #: directives.c:2226 |
| 408 | msgid "assertion without predicate" | 408 | msgid "assertion without predicate" |
| 409 | msgstr "Behauptung ohne Prädikat" | 409 | msgstr "Behauptung ohne Prädikat" |
| 410 | 410 | ||
| 411 | #: directives.c:2278 | 411 | #: directives.c:2229 |
| 412 | msgid "predicate must be an identifier" | 412 | msgid "predicate must be an identifier" |
| 413 | msgstr "Prädikat muss ein Bezeichner sein" | 413 | msgstr "Prädikat muss ein Bezeichner sein" |
| 414 | 414 | ||
| 415 | #: directives.c:2364 | 415 | #: directives.c:2311 |
| 416 | #, c-format | 416 | #, c-format |
| 417 | msgid "\"%s\" re-asserted" | 417 | msgid "\"%s\" re-asserted" |
| 418 | msgstr "»%s« wieder behauptet" | 418 | msgstr "»%s« wieder behauptet" |
| 419 | 419 | ||
| 420 | #: directives.c:2656 | 420 | #: directives.c:2587 |
| 421 | #, c-format | 421 | #, c-format |
| 422 | msgid "unterminated #%s" | 422 | msgid "unterminated #%s" |
| 423 | msgstr "unbeendetes #%s" | 423 | msgstr "unbeendetes #%s" |
| 424 | 424 | ||
| 425 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 425 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 426 | msgid "unterminated comment" | 426 | msgid "unterminated comment" |
| 427 | msgstr "nicht beendeter Kommentar" | 427 | msgstr "nicht beendeter Kommentar" |
| 428 | 428 | ||
| 429 | #: errors.c:284 | 429 | #: errors.c:291 |
| 430 | #, c-format | 430 | #, c-format |
| 431 | msgid "%s: %s" | 431 | msgid "%s: %s" |
| 432 | msgstr "%s: %s" | 432 | msgstr "%s: %s" |
| 433 | 433 | ||
| 434 | #: errors.c:296 | 434 | #: errors.c:304 |
| 435 | msgid "stdout" | 435 | msgid "stdout" |
| 436 | msgstr "Standardausgabe" | 436 | msgstr "Standardausgabe" |
| 437 | 437 | ||
| @@ -524,84 +524,84 @@ msgstr "(»%s« ist ein alternatives Token for »%s« in C++)" · 86 unmodified lines | |||
| 524 | msgid "this use of \"defined\" may not be portable" | 524 | msgid "this use of \"defined\" may not be portable" |
| 525 | msgstr "diese Verwendung von »defined« könnte nicht portierbar sein" | 525 | msgstr "diese Verwendung von »defined« könnte nicht portierbar sein" |
| 526 | 526 | ||
| 527 | #: expr.c:1125 | 527 | #: expr.c:1109 |
| 528 | msgid "user-defined literal in preprocessor expression" | 528 | msgid "user-defined literal in preprocessor expression" |
| 529 | msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck" | 529 | msgstr "benutzerdefiniertes Symbol in Präprozessorausdruck" |
| 530 | 530 | ||
| 531 | #: expr.c:1130 | 531 | #: expr.c:1114 |
| 532 | msgid "floating constant in preprocessor expression" | 532 | msgid "floating constant in preprocessor expression" |
| 533 | msgstr "Gleitkommakonstante in Präprozessorausdruck" | 533 | msgstr "Gleitkommakonstante in Präprozessorausdruck" |
| 534 | 534 | ||
| 535 | #: expr.c:1136 | 535 | #: expr.c:1120 |
| 536 | msgid "imaginary number in preprocessor expression" | 536 | msgid "imaginary number in preprocessor expression" |
| 537 | msgstr "imaginäre Zahl in Präprozessorausdruck" | 537 | msgstr "imaginäre Zahl in Präprozessorausdruck" |
| 538 | 538 | ||
| 539 | #: expr.c:1189 | 539 | #: expr.c:1173 |
| 540 | #, c-format | 540 | #, c-format |
| 541 | msgid "\"%s\" is not defined, evaluates to 0" | 541 | msgid "\"%s\" is not defined, evaluates to 0" |
| 542 | msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet" | 542 | msgstr "»%s« ist nicht definiert, wird zu 0 ausgewertet" |
| 543 | 543 | ||
| 544 | #: expr.c:1202 | 544 | #: expr.c:1186 |
| 545 | msgid "assertions are a GCC extension" | 545 | msgid "assertions are a GCC extension" |
| 546 | msgstr "Assertions sind eine GCC-Erweiterung" | 546 | msgstr "Assertions sind eine GCC-Erweiterung" |
| 547 | 547 | ||
| 548 | #: expr.c:1205 | 548 | #: expr.c:1189 |
| 549 | msgid "assertions are a deprecated extension" | 549 | msgid "assertions are a deprecated extension" |
| 550 | msgstr "Assertions sind eine veraltete Erweiterung" | 550 | msgstr "Assertions sind eine veraltete Erweiterung" |
| 551 | 551 | ||
| 552 | #: expr.c:1451 | 552 | #: expr.c:1435 |
| 553 | #, c-format | 553 | #, c-format |
| 554 | msgid "unbalanced stack in %s" | 554 | msgid "unbalanced stack in %s" |
| 555 | msgstr "unausgeglichener Keller in %s" | 555 | msgstr "unausgeglichener Keller in %s" |
| 556 | 556 | ||
| 557 | #: expr.c:1471 | 557 | #: expr.c:1455 |
| 558 | #, c-format | 558 | #, c-format |
| 559 | msgid "impossible operator '%u'" | 559 | msgid "impossible operator '%u'" |
| 560 | msgstr "unmöglicher Operator »%u«" | 560 | msgstr "unmöglicher Operator »%u«" |
| 561 | 561 | ||
| 562 | #: expr.c:1572 | 562 | #: expr.c:1556 |
| 563 | msgid "missing ')' in expression" | 563 | msgid "missing ')' in expression" |
| 564 | msgstr "fehlende »)« in Ausdruck" | 564 | msgstr "fehlende »)« in Ausdruck" |
| 565 | 565 | ||
| 566 | #: expr.c:1601 | 566 | #: expr.c:1585 |
| 567 | msgid "'?' without following ':'" | 567 | msgid "'?' without following ':'" |
| 568 | msgstr "»?« ohne folgenden »:«" | 568 | msgstr "»?« ohne folgenden »:«" |
| 569 | 569 | ||
| 570 | #: expr.c:1611 | 570 | #: expr.c:1595 |
| 571 | msgid "integer overflow in preprocessor expression" | 571 | msgid "integer overflow in preprocessor expression" |
| 572 | msgstr "Ganzzahlüberlauf in Präprozessorausdruck" | 572 | msgstr "Ganzzahlüberlauf in Präprozessorausdruck" |
| 573 | 573 | ||
| 574 | #: expr.c:1616 | 574 | #: expr.c:1600 |
| 575 | msgid "missing '(' in expression" | 575 | msgid "missing '(' in expression" |
| 576 | msgstr "fehlende »(« in Ausdruck" | 576 | msgstr "fehlende »(« in Ausdruck" |
| 577 | 577 | ||
| 578 | #: expr.c:1648 | 578 | #: expr.c:1632 |
| 579 | #, c-format | 579 | #, c-format |
| 580 | msgid "the left operand of \"%s\" changes sign when promoted" | 580 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 581 | msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen" | 581 | msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen" |
| 582 | 582 | ||
| 583 | #: expr.c:1653 | 583 | #: expr.c:1637 |
| 584 | #, c-format | 584 | #, c-format |
| 585 | msgid "the right operand of \"%s\" changes sign when promoted" | 585 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 586 | msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen" | 586 | msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen" |
| 587 | 587 | ||
| 588 | #: expr.c:1912 | 588 | #: expr.c:1896 |
| 589 | msgid "traditional C rejects the unary plus operator" | 589 | msgid "traditional C rejects the unary plus operator" |
| 590 | msgstr "traditionelles C weist den unären Plus-Operator zurück" | 590 | msgstr "traditionelles C weist den unären Plus-Operator zurück" |
| 591 | 591 | ||
| 592 | #: expr.c:2010 | 592 | #: expr.c:1994 |
| 593 | msgid "comma operator in operand of #if" | 593 | msgid "comma operator in operand of #if" |
| 594 | msgstr "Kommaoperator in Operand von #if" | 594 | msgstr "Kommaoperator in Operand von #if" |
| 595 | 595 | ||
| 596 | #: expr.c:2146 | 596 | #: expr.c:2130 |
| 597 | msgid "division by zero in #if" | 597 | msgid "division by zero in #if" |
| 598 | msgstr "Division durch Null in #if" | 598 | msgstr "Division durch Null in #if" |
| 599 | 599 | ||
| 600 | #: expr.c:2243 | 600 | #: expr.c:2227 |
| 601 | msgid "operator \"__has_include__\" requires a header string" | 601 | msgid "operator \"__has_include__\" requires a header string" |
| 602 | msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette" | 602 | msgstr "Operator »__has_include__« erfordert eine Header-Zeichenkette" |
| 603 | 603 | ||
| 604 | #: expr.c:2259 | 604 | #: expr.c:2243 |
| 605 | msgid "missing ')' after \"__has_include__\"" | 605 | msgid "missing ')' after \"__has_include__\"" |
| 606 | msgstr "fehlende »)« hinter »__has_include__«" | 606 | msgstr "fehlende »)« hinter »__has_include__«" |
| 607 | 607 | ||
| @@ -618,40 +618,40 @@ msgstr "-Winvalid-pch für mehr Informationen verwenden" · 10 unmodified lines | |||
| 618 | msgid "no include path in which to search for %s" | 618 | msgid "no include path in which to search for %s" |
| 619 | msgstr "kein Include-Pfad, um %s zu finden" | 619 | msgstr "kein Include-Pfad, um %s zu finden" |
| 620 | 620 | ||
| 621 | #: files.c:1441 | 621 | #: files.c:1455 |
| 622 | msgid "Multiple include guards may be useful for:\n" | 622 | msgid "Multiple include guards may be useful for:\n" |
| 623 | msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n" | 623 | msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n" |
| 624 | 624 | ||
| 625 | #: init.c:565 | 625 | #: init.c:569 |
| 626 | msgid "cppchar_t must be an unsigned type" | 626 | msgid "cppchar_t must be an unsigned type" |
| 627 | msgstr "cppchar_t muss ein vorzeichenloser Typ sein" | 627 | msgstr "cppchar_t muss ein vorzeichenloser Typ sein" |
| 628 | 628 | ||
| 629 | #: init.c:569 | 629 | #: init.c:573 |
| 630 | #, c-format | 630 | #, c-format |
| 631 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 631 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 632 | msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits" | 632 | msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits" |
| 633 | 633 | ||
| 634 | #: init.c:576 | 634 | #: init.c:580 |
| 635 | msgid "CPP arithmetic must be at least as precise as a target int" | 635 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 636 | msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int" | 636 | msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int" |
| 637 | 637 | ||
| 638 | #: init.c:579 | 638 | #: init.c:583 |
| 639 | msgid "target char is less than 8 bits wide" | 639 | msgid "target char is less than 8 bits wide" |
| 640 | msgstr "Ziel-char ist weniger als 8 Bits breit" | 640 | msgstr "Ziel-char ist weniger als 8 Bits breit" |
| 641 | 641 | ||
| 642 | #: init.c:583 | 642 | #: init.c:587 |
| 643 | msgid "target wchar_t is narrower than target char" | 643 | msgid "target wchar_t is narrower than target char" |
| 644 | msgstr "Ziel-wchar_t ist schmaler als Ziel-char" | 644 | msgstr "Ziel-wchar_t ist schmaler als Ziel-char" |
| 645 | 645 | ||
| 646 | #: init.c:587 | 646 | #: init.c:591 |
| 647 | msgid "target int is narrower than target char" | 647 | msgid "target int is narrower than target char" |
| 648 | msgstr "Ziel-int ist schmaler als Ziel-char" | 648 | msgstr "Ziel-int ist schmaler als Ziel-char" |
| 649 | 649 | ||
| 650 | #: init.c:592 | 650 | #: init.c:596 |
| 651 | msgid "CPP half-integer narrower than CPP character" | 651 | msgid "CPP half-integer narrower than CPP character" |
| 652 | msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen" | 652 | msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen" |
| 653 | 653 | ||
| 654 | #: init.c:596 | 654 | #: init.c:600 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 656 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 657 | msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits" | 657 | msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits" |
| @@ -723,258 +723,273 @@ msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftre · 65 unmodified lines | |||
| 723 | msgid "identifier \"%s\" is a special operator name in C++" | 723 | msgid "identifier \"%s\" is a special operator name in C++" |
| 724 | msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++" | 724 | msgstr "Bezeichner »%s« ist ein besonderer Operatorname in C++" |
| 725 | 725 | ||
| 726 | #: lex.c:1811 | 726 | #: lex.c:1826 |
| 727 | msgid "raw string delimiter longer than 16 characters" | 727 | msgid "raw string delimiter longer than 16 characters" |
| 728 | msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen" | 728 | msgstr "Roh-Zeichenketten-Trennsymbol länger als 16 Zeichen" |
| 729 | 729 | ||
| 730 | #: lex.c:1815 | 730 | #: lex.c:1830 |
| 731 | msgid "invalid new-line in raw string delimiter" | 731 | msgid "invalid new-line in raw string delimiter" |
| 732 | msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol" | 732 | msgstr "ungültiger Zeilenumbruch (neue Zeile) in Roh-Zeichenketten-Trennsymbol" |
| 733 | 733 | ||
| 734 | #: lex.c:1819 | 734 | #: lex.c:1834 |
| 735 | #, c-format | 735 | #, c-format |
| 736 | msgid "invalid character '%c' in raw string delimiter" | 736 | msgid "invalid character '%c' in raw string delimiter" |
| 737 | msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol" | 737 | msgstr "ungültiges Zeichen »%c« in Roh-Zeichenketten-Trennsymbol" |
| 738 | 738 | ||
| 739 | #: lex.c:1868 lex.c:1890 | 739 | #: lex.c:1883 lex.c:1905 |
| 740 | msgid "unterminated raw string" | 740 | msgid "unterminated raw string" |
| 741 | msgstr "unbeendete Roh-Zeichenkette" | 741 | msgstr "unbeendete Roh-Zeichenkette" |
| 742 | 742 | ||
| 743 | #: lex.c:1912 lex.c:2043 | 743 | #: lex.c:1925 lex.c:2054 |
| 744 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 744 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 745 | msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro" | 745 | msgstr "ungültiges Suffix an Literal; C++11 erfordert Leerzeichen zwischen Literal und Zeichenketten-Makro" |
| 746 | 746 | ||
| 747 | #: lex.c:2024 | 747 | #: lex.c:2037 |
| 748 | msgid "null character(s) preserved in literal" | 748 | msgid "null character(s) preserved in literal" |
| 749 | msgstr "Null-Zeichen im Literal erhalten" | 749 | msgstr "Null-Zeichen im Literal erhalten" |
| 750 | 750 | ||
| 751 | #: lex.c:2027 | 751 | #: lex.c:2040 |
| 752 | #, c-format | 752 | #, c-format |
| 753 | msgid "missing terminating %c character" | 753 | msgid "missing terminating %c character" |
| 754 | msgstr "fehlendes abschließendes Zeichen %c" | 754 | msgstr "fehlendes abschließendes Zeichen %c" |
| 755 | 755 | ||
| 756 | #: lex.c:2061 | 756 | #: lex.c:2072 |
| 757 | msgid "C++11 requires a space between string literal and macro" | 757 | msgid "C++11 requires a space between string literal and macro" |
| 758 | msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro" | 758 | msgstr "C++11 erfordert Leerzeichen zwischen Zeichenketten-Literal und Makro" |
| 759 | 759 | ||
| 760 | #: lex.c:2865 lex.c:2899 | 760 | #: lex.c:2876 lex.c:2910 |
| 761 | msgid "C++ style comments are not allowed in ISO C90" | 761 | msgid "C++ style comments are not allowed in ISO C90" |
| 762 | msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt" | 762 | msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt" |
| 763 | 763 | ||
| 764 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 764 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 765 | msgid "(this will be reported only once per input file)" | 765 | msgid "(this will be reported only once per input file)" |
| 766 | msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)" | 766 | msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)" |
| 767 | 767 | ||
| 768 | #: lex.c:2876 | 768 | #: lex.c:2887 |
| 769 | msgid "C++ style comments are incompatible with C90" | 769 | msgid "C++ style comments are incompatible with C90" |
| 770 | msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel" | 770 | msgstr "C++-Stil-Kommentare sind zu C90 inkompatibel" |
| 771 | 771 | ||
| 772 | #: lex.c:2907 | 772 | #: lex.c:2919 |
| 773 | msgid "multi-line comment" | 773 | msgid "multi-line comment" |
| 774 | msgstr "mehrzeiliger Kommentar" | 774 | msgstr "mehrzeiliger Kommentar" |
| 775 | 775 | ||
| 776 | #: lex.c:3287 | 776 | #: lex.c:3299 |
| 777 | #, c-format | 777 | #, c-format |
| 778 | msgid "unspellable token %s" | 778 | msgid "unspellable token %s" |
| 779 | msgstr "nicht buchstabierbares Token %s" | 779 | msgstr "nicht buchstabierbares Token %s" |
| 780 | 780 | ||
| 781 | #: macro.c:93 | 781 | #: macro.c:94 |
| 782 | msgid "'##' cannot appear at either end of __VA_OPT__" | 782 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 783 | msgstr "»##« kann an einem beliebigen Enden von __VA_OPT__ auftreten" | 783 | msgstr "»##« kann an einem beliebigen Enden von __VA_OPT__ auftreten" |
| 784 | 784 | ||
| 785 | #: macro.c:352 | 785 | #: macro.c:354 |
| 786 | #, c-format | 786 | #, c-format |
| 787 | msgid "macro \"%s\" is not used" | 787 | msgid "macro \"%s\" is not used" |
| 788 | msgstr "Makro »%s« wird nicht benutzt" | 788 | msgstr "Makro »%s« wird nicht benutzt" |
| 789 | 789 | ||
| 790 | #: macro.c:391 macro.c:639 | 790 | #: macro.c:393 macro.c:641 |
| 791 | #, c-format | 791 | #, c-format |
| 792 | msgid "invalid built-in macro \"%s\"" | 792 | msgid "invalid built-in macro \"%s\"" |
| 793 | msgstr "ungültiges eingebautes Makro »%s«" | 793 | msgstr "ungültiges eingebautes Makro »%s«" |
| 794 | 794 | ||
| 795 | #: macro.c:398 macro.c:500 | 795 | #: macro.c:400 macro.c:502 |
| 796 | #, c-format | 796 | #, c-format |
| 797 | msgid "macro \"%s\" might prevent reproducible builds" | 797 | msgid "macro \"%s\" might prevent reproducible builds" |
| 798 | msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern" | 798 | msgstr "Das Makro »%s« könnte reproduzierbare Builds verhindern" |
| 799 | 799 | ||
| 800 | #: macro.c:429 | 800 | #: macro.c:431 |
| 801 | msgid "could not determine file timestamp" | 801 | msgid "could not determine file timestamp" |
| 802 | msgstr "Zeitstempel der Datei konnte nicht ermittelt werden" | 802 | msgstr "Zeitstempel der Datei konnte nicht ermittelt werden" |
| 803 | 803 | ||
| 804 | #: macro.c:546 | 804 | #: macro.c:548 |
| 805 | msgid "could not determine date and time" | 805 | msgid "could not determine date and time" |
| 806 | msgstr "Datum und Zeit konnten nicht bestimmt werden" | 806 | msgstr "Datum und Zeit konnten nicht bestimmt werden" |
| 807 | 807 | ||
| 808 | #: macro.c:562 | 808 | #: macro.c:564 |
| 809 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 809 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 810 | msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert" | 810 | msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert" |
| 811 | 811 | ||
| 812 | #: macro.c:758 | 812 | #: macro.c:760 |
| 813 | msgid "invalid string literal, ignoring final '\\'" | 813 | msgid "invalid string literal, ignoring final '\\'" |
| 814 | msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert" | 814 | msgstr "ungültiges Zeichenkettenliteral, abschließendes »\\« wird ignoriert" |
| 815 | 815 | ||
| 816 | #: macro.c:820 | 816 | #: macro.c:822 |
| 817 | #, c-format | 817 | #, c-format |
| 818 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 818 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 819 | msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token" | 819 | msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token" |
| 820 | 820 | ||
| 821 | #: macro.c:946 | 821 | #: macro.c:948 |
| 822 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 822 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 823 | msgstr "ISO-C++11 erfordert mindestens ein Argument für »...« in einem variadischen Makro" | 823 | msgstr "ISO-C++11 erfordert mindestens ein Argument für »...« in einem variadischen Makro" |
| 824 | 824 | ||
| 825 | #: macro.c:950 | 825 | #: macro.c:952 |
| 826 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 826 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 827 | msgstr "ISO-C99 erfordert mindestens ein Argument für »...« in einem variadischen Makro" | 827 | msgstr "ISO-C99 erfordert mindestens ein Argument für »...« in einem variadischen Makro" |
| 828 | 828 | ||
| 829 | #: macro.c:957 | 829 | #: macro.c:959 |
| 830 | #, c-format | 830 | #, c-format |
| 831 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 831 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 832 | msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben" | 832 | msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben" |
| 833 | 833 | ||
| 834 | #: macro.c:962 | 834 | #: macro.c:964 |
| 835 | #, c-format | 835 | #, c-format |
| 836 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 836 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 837 | msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es akzeptiert nur %u" | 837 | msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es akzeptiert nur %u" |
| 838 | 838 | ||
| 839 | #: macro.c:1156 traditional.c:819 | 839 | #: macro.c:1162 traditional.c:827 |
| 840 | #, c-format | 840 | #, c-format |
| 841 | msgid "unterminated argument list invoking macro \"%s\"" | 841 | msgid "unterminated argument list invoking macro \"%s\"" |
| 842 | msgstr "unvollendete Argumentliste beim Makroaufruf »%s«" | 842 | msgstr "unvollendete Argumentliste beim Makroaufruf »%s«" |
| 843 | 843 | ||
| 844 | #: macro.c:1307 | 844 | #: macro.c:1304 |
| 845 | #, c-format | 845 | #, c-format |
| 846 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 846 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 847 | msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden" | 847 | msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden" |
| 848 | 848 | ||
| 849 | #: macro.c:2003 | 849 | #: macro.c:2083 |
| 850 | #, c-format | 850 | #, c-format |
| 851 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 851 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 852 | msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C++98 unbestimmt" | 852 | msgstr "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:2020 | 854 | #: macro.c:2091 macro.c:2100 |
| 855 | #, c-format | 855 | #, c-format |
| 856 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 856 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 857 | msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C90 unbestimmt" | 857 | msgstr "Beim Ausführen des Arguments %2$d des Makros %1$s: Leere Makroargumente sind nach ISO-C90 unbestimmt" |
| 858 | 858 | ||
| 859 | #: macro.c:2984 | 859 | #: macro.c:3059 |
| 860 | #, c-format | 860 | #, c-format |
| 861 | msgid "duplicate macro parameter \"%s\"" | 861 | msgid "duplicate macro parameter \"%s\"" |
| 862 | msgstr "doppelter Makroparameter »%s«" | 862 | msgstr "doppelter Makroparameter »%s«" |
| 863 | 863 | ||
| 864 | #: macro.c:3033 | 864 | #: macro.c:3141 |
| 865 | #, c-format | ||
| 866 | msgid "expected parameter name, found \"%s\"" | ||
| 867 | msgstr "Parametername erwartet, aber »%s« gefunden" | ||
| 868 | |||
| 869 | #: macro.c:3142 | ||
| 865 | #, c-format | 870 | #, c-format |
| 866 | msgid "\"%s\" may not appear in macro parameter list" | 871 | msgid "expected ',' or ')', found \"%s\"" |
| 867 | msgstr "»%s« darf nicht in Makroparameterliste auftreten" | 872 | msgstr "»,« oder »)« erwartet, aber »%s« gefunden" |
| 868 | 873 | ||
| 869 | #: macro.c:3041 | 874 | #: macro.c:3143 |
| 870 | msgid "macro parameters must be comma-separated" | 875 | msgid "expected parameter name before end of line" |
| 871 | msgstr "Makroparameter müssen mit Komma getrennt sein" | 876 | msgstr "Parametername vor dem Zeilenende erwartet" |
| 872 | 877 | ||
| 873 | #: macro.c:3060 | 878 | #: macro.c:3144 |
| 874 | msgid "parameter name missing" | 879 | msgid "expected ')' before end of line" |
| 875 | msgstr "Parametername fehlt" | 880 | msgstr "»)« vor dem Zeilenende erwartet" |
| 876 | 881 | ||
| 877 | #: macro.c:3081 | 882 | #: macro.c:3145 |
| 883 | msgid "expected ')' after \"...\"" | ||
| 884 | msgstr "»)« nach »...« erwartet" | ||
| 885 | |||
| 886 | #: macro.c:3202 | ||
| 878 | msgid "anonymous variadic macros were introduced in C++11" | 887 | msgid "anonymous variadic macros were introduced in C++11" |
| 879 | msgstr "anonyme variadische Makros wurden in C++11 eingeführt" | 888 | msgstr "anonyme variadische Makros wurden in C++11 eingeführt" |
| 880 | 889 | ||
| 881 | #: macro.c:3085 macro.c:3090 | 890 | #: macro.c:3203 macro.c:3207 |
| 882 | msgid "anonymous variadic macros were introduced in C99" | 891 | msgid "anonymous variadic macros were introduced in C99" |
| 883 | msgstr "anonyme variadische Makros wurden in C99 eingeführt" | 892 | msgstr "anonyme variadische Makros wurden in C99 eingeführt" |
| 884 | 893 | ||
| 885 | #: macro.c:3097 | 894 | #: macro.c:3213 |
| 886 | msgid "ISO C++ does not permit named variadic macros" | 895 | msgid "ISO C++ does not permit named variadic macros" |
| 887 | msgstr "ISO-C++ erlaubt keine benannten variadischen Makros" | 896 | msgstr "ISO-C++ erlaubt keine benannten variadischen Makros" |
| 888 | 897 | ||
| 889 | #: macro.c:3100 | 898 | #: macro.c:3214 |
| 890 | msgid "ISO C does not permit named variadic macros" | 899 | msgid "ISO C does not permit named variadic macros" |
| 891 | msgstr "ISO-C erlaubt keine benannten variadischen Makros" | 900 | msgstr "ISO-C erlaubt keine benannten variadischen Makros" |
| 892 | 901 | ||
| 893 | #: macro.c:3110 | 902 | #: macro.c:3260 |
| 894 | msgid "missing ')' in macro parameter list" | ||
| 895 | msgstr "fehlendes »)« in Makroparameterliste" | ||
| 896 | |||
| 897 | #: macro.c:3161 | ||
| 898 | msgid "'##' cannot appear at either end of a macro expansion" | 903 | msgid "'##' cannot appear at either end of a macro expansion" |
| 899 | msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten" | 904 | msgstr "»##« kann nicht an den Enden einer Makroexpansion auftreten" |
| 900 | 905 | ||
| 901 | #: macro.c:3198 | 906 | #: macro.c:3298 |
| 902 | msgid "ISO C++11 requires whitespace after the macro name" | 907 | msgid "ISO C++11 requires whitespace after the macro name" |
| 903 | msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname" | 908 | msgstr "ISO-C++11 erfordert Leerzeichen hinter Makroname" |
| 904 | 909 | ||
| 905 | #: macro.c:3201 | 910 | #: macro.c:3299 |
| 906 | msgid "ISO C99 requires whitespace after the macro name" | 911 | msgid "ISO C99 requires whitespace after the macro name" |
| 907 | msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname" | 912 | msgstr "ISO-C99 erfordert Leerzeichen hinter Makroname" |
| 908 | 913 | ||
| 909 | #: macro.c:3226 | 914 | #: macro.c:3323 |
| 910 | msgid "missing whitespace after the macro name" | 915 | msgid "missing whitespace after the macro name" |
| 911 | msgstr "Leerzeichen hinter Makroname fehlt" | 916 | msgstr "Leerzeichen hinter Makroname fehlt" |
| 912 | 917 | ||
| 913 | #: macro.c:3263 | 918 | #: macro.c:3373 |
| 914 | msgid "'#' is not followed by a macro parameter" | 919 | msgid "'#' is not followed by a macro parameter" |
| 915 | msgstr "»#« wird nicht von einem Makroparameter gefolgt" | 920 | msgstr "»#« wird nicht von einem Makroparameter gefolgt" |
| 916 | 921 | ||
| 917 | #: macro.c:3430 | 922 | #: macro.c:3524 |
| 918 | #, c-format | 923 | #, c-format |
| 919 | msgid "\"%s\" redefined" | 924 | msgid "\"%s\" redefined" |
| 920 | msgstr "»%s« redefiniert" | 925 | msgstr "»%s« redefiniert" |
| 921 | 926 | ||
| 922 | #: macro.c:3435 | 927 | #: macro.c:3529 |
| 923 | msgid "this is the location of the previous definition" | 928 | msgid "this is the location of the previous definition" |
| 924 | msgstr "dies ist die Stelle der vorherigen Definition" | 929 | msgstr "dies ist die Stelle der vorherigen Definition" |
| 925 | 930 | ||
| 926 | #: macro.c:3496 | 931 | #: macro.c:3633 |
| 927 | #, c-format | 932 | #, c-format |
| 928 | msgid "macro argument \"%s\" would be stringified in traditional C" | 933 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 929 | msgstr "Makroargument »%s« würde in traditionellem C zur Zeichenkette umgewandelt werden" | 934 | msgstr "Makroargument »%s« würde in traditionellem C zur Zeichenkette umgewandelt werden" |
| 930 | 935 | ||
| 931 | #: macro.c:3532 | 936 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 932 | #, c-format | ||
| 933 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 934 | msgstr "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 | ||
| 937 | msgid "while writing precompiled header" | 937 | msgid "while writing precompiled header" |
| 938 | msgstr "beim Schreiben des vorkompilierten Headers" | 938 | msgstr "beim Schreiben des vorkompilierten Headers" |
| 939 | 939 | ||
| 940 | #: pch.c:621 | 940 | #: pch.c:616 |
| 941 | #, c-format | 941 | #, c-format |
| 942 | msgid "%s: not used because `%.*s' is poisoned" | 942 | msgid "%s: not used because `%.*s' is poisoned" |
| 943 | msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist" | 943 | msgstr "%s: nicht verwendet, da »%.*s« vergiftet ist" |
| 944 | 944 | ||
| 945 | #: pch.c:643 | 945 | #: pch.c:638 |
| 946 | #, c-format | 946 | #, c-format |
| 947 | msgid "%s: not used because `%.*s' not defined" | 947 | msgid "%s: not used because `%.*s' not defined" |
| 948 | msgstr "%s: nicht verwendet, da »%.*s« nicht definiert" | 948 | msgstr "%s: nicht verwendet, da »%.*s« nicht definiert" |
| 949 | 949 | ||
| 950 | #: pch.c:655 | 950 | #: pch.c:650 |
| 951 | #, c-format | 951 | #, c-format |
| 952 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 952 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 953 | msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde" | 953 | msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde" |
| 954 | 954 | ||
| 955 | #: pch.c:696 | 955 | #: pch.c:691 |
| 956 | #, c-format | 956 | #, c-format |
| 957 | msgid "%s: not used because `%s' is defined" | 957 | msgid "%s: not used because `%s' is defined" |
| 958 | msgstr "%s: nicht verwendet, da »%s« definiert ist" | 958 | msgstr "%s: nicht verwendet, da »%s« definiert ist" |
| 959 | 959 | ||
| 960 | #: pch.c:716 | 960 | #: pch.c:711 |
| 961 | #, c-format | 961 | #, c-format |
| 962 | msgid "%s: not used because `__COUNTER__' is invalid" | 962 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 963 | msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist" | 963 | msgstr "%s: nicht verwendet, da »__COUNTER__« ungültig ist" |
| 964 | 964 | ||
| 965 | #: pch.c:725 pch.c:903 | 965 | #: pch.c:720 pch.c:878 |
| 966 | msgid "while reading precompiled header" | 966 | msgid "while reading precompiled header" |
| 967 | msgstr "beim Lesen des vorkompilierten Headers" | 967 | msgstr "beim Lesen des vorkompilierten Headers" |
| 968 | 968 | ||
| 969 | #: traditional.c:889 | 969 | #: traditional.c:896 |
| 970 | #, c-format | 970 | #, c-format |
| 971 | msgid "detected recursion whilst expanding macro \"%s\"" | 971 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 972 | msgstr "Rekursion bei Expansion des Makros »%s« entdeckt" | 972 | msgstr "Rekursion bei Expansion des Makros »%s« entdeckt" |
| 973 | 973 | ||
| 974 | #: traditional.c:1108 | 974 | #: traditional.c:1119 |
| 975 | msgid "syntax error in macro parameter list" | 975 | msgid "syntax error in macro parameter list" |
| 976 | msgstr "Syntaxfehler in Makroparameterliste" | 976 | msgstr "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 | ||
Binary file not shown.
| @@ -6,7 +6,7 @@ msgid "" · 5 unmodified lines | |||
| 6 | msgstr "" | 6 | msgstr "" |
| 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 | |||
| 86 | msgid "universal character %.*s is not valid at the start of an identifier" | 86 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 87 | msgstr "" | 87 | msgstr "" |
| 88 | 88 | ||
| 89 | #: charset.c:1181 charset.c:2000 | 89 | #: charset.c:1181 charset.c:2002 |
| 90 | msgid "converting UCN to source character set" | 90 | msgid "converting UCN to source character set" |
| 91 | msgstr "" | 91 | msgstr "" |
| 92 | 92 | ||
| @@ -143,306 +143,306 @@ msgstr " · 50 unmodified lines | |||
| 143 | msgid "missing open quote" | 143 | msgid "missing open quote" |
| 144 | msgstr "������� � ���������������� ��������" | 144 | msgstr "������� � ���������������� ��������" |
| 145 | 145 | ||
| 146 | #: charset.c:1827 charset.c:1891 | 146 | #: charset.c:1829 charset.c:1893 |
| 147 | #, fuzzy | 147 | #, fuzzy |
| 148 | msgid "character constant too long for its type" | 148 | msgid "character constant too long for its type" |
| 149 | msgstr "�� ������� �������� ���������� ��� �������������" | 149 | msgstr "�� ������� �������� ���������� ��� �������������" |
| 150 | 150 | ||
| 151 | #: charset.c:1830 | 151 | #: charset.c:1832 |
| 152 | #, fuzzy | 152 | #, fuzzy |
| 153 | msgid "multi-character character constant" | 153 | msgid "multi-character character constant" |
| 154 | msgstr "����� ����� ��������� `%s'" | 154 | msgstr "����� ����� ��������� `%s'" |
| 155 | 155 | ||
| 156 | #: charset.c:1931 | 156 | #: charset.c:1933 |
| 157 | #, fuzzy | 157 | #, fuzzy |
| 158 | msgid "empty character constant" | 158 | msgid "empty character constant" |
| 159 | msgstr "���� �������������" | 159 | msgstr "���� �������������" |
| 160 | 160 | ||
| 161 | #: charset.c:2047 | 161 | #: charset.c:2049 |
| 162 | #, fuzzy, c-format | 162 | #, fuzzy, c-format |
| 163 | msgid "failure to convert %s to %s" | 163 | msgid "failure to convert %s to %s" |
| 164 | msgstr "��� ����� ������ �� ������������ �� %s `%s' ��� `%s'" | 164 | msgstr "��� ����� ������ �� ������������ �� %s `%s' ��� `%s'" |
| 165 | 165 | ||
| 166 | #: directives.c:235 directives.c:278 | 166 | #: directives.c:229 directives.c:272 |
| 167 | #, c-format | 167 | #, c-format |
| 168 | msgid "extra tokens at end of #%s directive" | 168 | msgid "extra tokens at end of #%s directive" |
| 169 | msgstr "" | 169 | msgstr "" |
| 170 | 170 | ||
| 171 | #: directives.c:385 | 171 | #: directives.c:379 |
| 172 | #, c-format | 172 | #, c-format |
| 173 | msgid "#%s is a GCC extension" | 173 | msgid "#%s is a GCC extension" |
| 174 | msgstr "" | 174 | msgstr "" |
| 175 | 175 | ||
| 176 | #: directives.c:390 | 176 | #: directives.c:384 |
| 177 | #, fuzzy, c-format | 177 | #, fuzzy, c-format |
| 178 | msgid "#%s is a deprecated GCC extension" | 178 | msgid "#%s is a deprecated GCC extension" |
| 179 | msgstr "�� `%s' ��� ����� �������� ������" | 179 | msgstr "�� `%s' ��� ����� �������� ������" |
| 180 | 180 | ||
| 181 | #: directives.c:403 | 181 | #: directives.c:397 |
| 182 | msgid "suggest not using #elif in traditional C" | 182 | msgid "suggest not using #elif in traditional C" |
| 183 | msgstr "" | 183 | msgstr "" |
| 184 | 184 | ||
| 185 | #: directives.c:406 | 185 | #: directives.c:400 |
| 186 | #, c-format | 186 | #, c-format |
| 187 | msgid "traditional C ignores #%s with the # indented" | 187 | msgid "traditional C ignores #%s with the # indented" |
| 188 | msgstr "" | 188 | msgstr "" |
| 189 | 189 | ||
| 190 | #: directives.c:410 | 190 | #: directives.c:404 |
| 191 | #, c-format | 191 | #, c-format |
| 192 | msgid "suggest hiding #%s from traditional C with an indented #" | 192 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 193 | msgstr "" | 193 | msgstr "" |
| 194 | 194 | ||
| 195 | #: directives.c:436 | 195 | #: directives.c:430 |
| 196 | msgid "embedding a directive within macro arguments is not portable" | 196 | msgid "embedding a directive within macro arguments is not portable" |
| 197 | msgstr "" | 197 | msgstr "" |
| 198 | 198 | ||
| 199 | #: directives.c:456 | 199 | #: directives.c:450 |
| 200 | msgid "style of line directive is a GCC extension" | 200 | msgid "style of line directive is a GCC extension" |
| 201 | msgstr "" | 201 | msgstr "" |
| 202 | 202 | ||
| 203 | #: directives.c:537 | 203 | #: directives.c:531 |
| 204 | #, c-format | 204 | #, c-format |
| 205 | msgid "invalid preprocessing directive #%s" | 205 | msgid "invalid preprocessing directive #%s" |
| 206 | msgstr "" | 206 | msgstr "" |
| 207 | 207 | ||
| 208 | #: directives.c:606 | 208 | #: directives.c:600 |
| 209 | msgid "\"defined\" cannot be used as a macro name" | 209 | msgid "\"defined\" cannot be used as a macro name" |
| 210 | msgstr "" | 210 | msgstr "" |
| 211 | 211 | ||
| 212 | #: directives.c:611 | 212 | #: directives.c:605 |
| 213 | msgid "\"__has_include__\" cannot be used as a macro name" | 213 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 214 | msgstr "" | 214 | msgstr "" |
| 215 | 215 | ||
| 216 | #: directives.c:617 | 216 | #: directives.c:611 |
| 217 | #, c-format | 217 | #, c-format |
| 218 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 218 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 219 | msgstr "" | 219 | msgstr "" |
| 220 | 220 | ||
| 221 | #: directives.c:620 | 221 | #: directives.c:614 |
| 222 | #, c-format | 222 | #, c-format |
| 223 | msgid "no macro name given in #%s directive" | 223 | msgid "no macro name given in #%s directive" |
| 224 | msgstr "" | 224 | msgstr "" |
| 225 | 225 | ||
| 226 | #: directives.c:623 | 226 | #: directives.c:617 |
| 227 | #, fuzzy | 227 | #, fuzzy |
| 228 | msgid "macro names must be identifiers" | 228 | msgid "macro names must be identifiers" |
| 229 | msgstr "������ ������������� ���������" | 229 | msgstr "������ ������������� ���������" |
| 230 | 230 | ||
| 231 | #: directives.c:672 directives.c:677 | 231 | #: directives.c:666 directives.c:671 |
| 232 | #, fuzzy, c-format | 232 | #, fuzzy, c-format |
| 233 | msgid "undefining \"%s\"" | 233 | msgid "undefining \"%s\"" |
| 234 | msgstr "�� �������� ����� %s" | 234 | msgstr "�� �������� ����� %s" |
| 235 | 235 | ||
| 236 | #: directives.c:732 | 236 | #: directives.c:727 |
| 237 | #, fuzzy | 237 | #, fuzzy |
| 238 | msgid "missing terminating > character" | 238 | msgid "missing terminating > character" |
| 239 | msgstr "���� ���������� �� ������ ����������" | 239 | msgstr "���� ���������� �� ������ ����������" |
| 240 | 240 | ||
| 241 | #: directives.c:791 | 241 | #: directives.c:786 |
| 242 | #, c-format | 242 | #, c-format |
| 243 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 243 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 244 | msgstr "" | 244 | msgstr "" |
| 245 | 245 | ||
| 246 | #: directives.c:837 | 246 | #: directives.c:828 |
| 247 | #, fuzzy, c-format | 247 | #, fuzzy, c-format |
| 248 | msgid "empty filename in #%s" | 248 | msgid "empty filename in #%s" |
| 249 | msgstr "�� �������� ����� %s" | 249 | msgstr "�� �������� ����� %s" |
| 250 | 250 | ||
| 251 | #: directives.c:847 | 251 | #: directives.c:835 |
| 252 | msgid "#include nested too deeply" | 252 | msgid "#include nested too deeply" |
| 253 | msgstr "" | 253 | msgstr "" |
| 254 | 254 | ||
| 255 | #: directives.c:888 | 255 | #: directives.c:877 |
| 256 | msgid "#include_next in primary source file" | 256 | msgid "#include_next in primary source file" |
| 257 | msgstr "" | 257 | msgstr "" |
| 258 | 258 | ||
| 259 | #: directives.c:914 | 259 | #: directives.c:903 |
| 260 | #, c-format | 260 | #, c-format |
| 261 | msgid "invalid flag \"%s\" in line directive" | 261 | msgid "invalid flag \"%s\" in line directive" |
| 262 | msgstr "" | 262 | msgstr "" |
| 263 | 263 | ||
| 264 | #: directives.c:974 | 264 | #: directives.c:963 |
| 265 | msgid "unexpected end of file after #line" | 265 | msgid "unexpected end of file after #line" |
| 266 | msgstr "" | 266 | msgstr "" |
| 267 | 267 | ||
| 268 | #: directives.c:977 | 268 | #: directives.c:966 |
| 269 | #, fuzzy, c-format | 269 | #, fuzzy, c-format |
| 270 | msgid "\"%s\" after #line is not a positive integer" | 270 | msgid "\"%s\" after #line is not a positive integer" |
| 271 | msgstr "%s' ��� ����� ������ ������� ��������." | 271 | msgstr "%s' ��� ����� ������ ������� ��������." |
| 272 | 272 | ||
| 273 | #: directives.c:983 directives.c:985 | 273 | #: directives.c:972 directives.c:974 |
| 274 | #, fuzzy | 274 | #, fuzzy |
| 275 | msgid "line number out of range" | 275 | msgid "line number out of range" |
| 276 | msgstr "%s: ������� ������� ��� ��� �� ����" | 276 | msgstr "%s: ������� ������� ��� ��� �� ����" |
| 277 | 277 | ||
| 278 | #: directives.c:998 directives.c:1079 | 278 | #: directives.c:987 directives.c:1068 |
| 279 | #, fuzzy, c-format | 279 | #, fuzzy, c-format |
| 280 | msgid "\"%s\" is not a valid filename" | 280 | msgid "\"%s\" is not a valid filename" |
| 281 | msgstr "%s' ��� ����� ������ ������� ��������." | 281 | msgstr "%s' ��� ����� ������ ������� ��������." |
| 282 | 282 | ||
| 283 | #: directives.c:1039 | 283 | #: directives.c:1028 |
| 284 | #, fuzzy, c-format | 284 | #, fuzzy, c-format |
| 285 | msgid "\"%s\" after # is not a positive integer" | 285 | msgid "\"%s\" after # is not a positive integer" |
| 286 | msgstr "%s' ��� ����� ������ ������� ��������." | 286 | msgstr "%s' ��� ����� ������ ������� ��������." |
| 287 | 287 | ||
| 288 | #: directives.c:1098 | 288 | #: directives.c:1087 |
| 289 | #, c-format | 289 | #, c-format |
| 290 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 290 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 291 | msgstr "" | 291 | msgstr "" |
| 292 | 292 | ||
| 293 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 293 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 294 | #, c-format | 294 | #, c-format |
| 295 | msgid "%s" | 295 | msgid "%s" |
| 296 | msgstr "%s" | 296 | msgstr "%s" |
| 297 | 297 | ||
| 298 | #: directives.c:1185 | 298 | #: directives.c:1175 |
| 299 | #, fuzzy, c-format | 299 | #, fuzzy, c-format |
| 300 | msgid "invalid #%s directive" | 300 | msgid "invalid #%s directive" |
| 301 | msgstr "%%%c: �������������� ������ �� ������." | 301 | msgstr "%%%c: �������������� ������ �� ������." |
| 302 | 302 | ||
| 303 | #: directives.c:1248 | 303 | #: directives.c:1238 |
| 304 | #, c-format | 304 | #, c-format |
| 305 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 305 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 306 | msgstr "" | 306 | msgstr "" |
| 307 | 307 | ||
| 308 | #: directives.c:1257 | 308 | #: directives.c:1247 |
| 309 | #, c-format | 309 | #, c-format |
| 310 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 310 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 311 | msgstr "" | 311 | msgstr "" |
| 312 | 312 | ||
| 313 | #: directives.c:1275 | 313 | #: directives.c:1265 |
| 314 | #, c-format | 314 | #, c-format |
| 315 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 315 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 316 | msgstr "" | 316 | msgstr "" |
| 317 | 317 | ||
| 318 | #: directives.c:1278 | 318 | #: directives.c:1268 |
| 319 | #, c-format | 319 | #, c-format |
| 320 | msgid "#pragma %s %s is already registered" | 320 | msgid "#pragma %s %s is already registered" |
| 321 | msgstr "" | 321 | msgstr "" |
| 322 | 322 | ||
| 323 | #: directives.c:1281 | 323 | #: directives.c:1271 |
| 324 | #, fuzzy, c-format | 324 | #, fuzzy, c-format |
| 325 | msgid "#pragma %s is already registered" | 325 | msgid "#pragma %s is already registered" |
| 326 | msgstr "� ������ ���������� `%s' �������� ���" | 326 | msgstr "� ������ ���������� `%s' �������� ���" |
| 327 | 327 | ||
| 328 | #: directives.c:1311 | 328 | #: directives.c:1301 |
| 329 | msgid "registering pragma with NULL handler" | 329 | msgid "registering pragma with NULL handler" |
| 330 | msgstr "" | 330 | msgstr "" |
| 331 | 331 | ||
| 332 | #: directives.c:1528 | 332 | #: directives.c:1518 |
| 333 | msgid "#pragma once in main file" | 333 | msgid "#pragma once in main file" |
| 334 | msgstr "" | 334 | msgstr "" |
| 335 | 335 | ||
| 336 | #: directives.c:1551 | 336 | #: directives.c:1541 |
| 337 | #, fuzzy | 337 | #, fuzzy |
| 338 | msgid "invalid #pragma push_macro directive" | 338 | msgid "invalid #pragma push_macro directive" |
| 339 | msgstr "%%%c: �������������� ������ �� ������." | 339 | msgstr "%%%c: �������������� ������ �� ������." |
| 340 | 340 | ||
| 341 | #: directives.c:1606 | 341 | #: directives.c:1596 |
| 342 | #, fuzzy | 342 | #, fuzzy |
| 343 | msgid "invalid #pragma pop_macro directive" | 343 | msgid "invalid #pragma pop_macro directive" |
| 344 | msgstr "%%%c: �������������� ������ �� ������." | 344 | msgstr "%%%c: �������������� ������ �� ������." |
| 345 | 345 | ||
| 346 | #: directives.c:1661 | 346 | #: directives.c:1651 |
| 347 | msgid "invalid #pragma GCC poison directive" | 347 | msgid "invalid #pragma GCC poison directive" |
| 348 | msgstr "" | 348 | msgstr "" |
| 349 | 349 | ||
| 350 | #: directives.c:1670 | 350 | #: directives.c:1660 |
| 351 | #, c-format | 351 | #, c-format |
| 352 | msgid "poisoning existing macro \"%s\"" | 352 | msgid "poisoning existing macro \"%s\"" |
| 353 | msgstr "" | 353 | msgstr "" |
| 354 | 354 | ||
| 355 | #: directives.c:1689 | 355 | #: directives.c:1679 |
| 356 | msgid "#pragma system_header ignored outside include file" | 356 | msgid "#pragma system_header ignored outside include file" |
| 357 | msgstr "" | 357 | msgstr "" |
| 358 | 358 | ||
| 359 | #: directives.c:1714 | 359 | #: directives.c:1704 |
| 360 | #, fuzzy, c-format | 360 | #, fuzzy, c-format |
| 361 | msgid "cannot find source file %s" | 361 | msgid "cannot find source file %s" |
| 362 | msgstr "�������� ���������� ��������: %s" | 362 | msgstr "�������� ���������� ��������: %s" |
| 363 | 363 | ||
| 364 | #: directives.c:1718 | 364 | #: directives.c:1708 |
| 365 | #, c-format | 365 | #, c-format |
| 366 | msgid "current file is older than %s" | 366 | msgid "current file is older than %s" |
| 367 | msgstr "" | 367 | msgstr "" |
| 368 | 368 | ||
| 369 | #: directives.c:1742 | 369 | #: directives.c:1732 |
| 370 | #, fuzzy, c-format | 370 | #, fuzzy, c-format |
| 371 | msgid "invalid \"#pragma GCC %s\" directive" | 371 | msgid "invalid \"#pragma GCC %s\" directive" |
| 372 | msgstr "� ���������� `%s' ��� ����� ������." | 372 | msgstr "� ���������� `%s' ��� ����� ������." |
| 373 | 373 | ||
| 374 | #: directives.c:1943 | 374 | #: directives.c:1933 |
| 375 | msgid "_Pragma takes a parenthesized string literal" | 375 | msgid "_Pragma takes a parenthesized string literal" |
| 376 | msgstr "" | 376 | msgstr "" |
| 377 | 377 | ||
| 378 | #: directives.c:2064 | 378 | #: directives.c:2021 |
| 379 | msgid "#else without #if" | 379 | msgid "#else without #if" |
| 380 | msgstr "" | 380 | msgstr "" |
| 381 | 381 | ||
| 382 | #: directives.c:2069 | 382 | #: directives.c:2026 |
| 383 | msgid "#else after #else" | 383 | msgid "#else after #else" |
| 384 | msgstr "#else ���� ��� #else" | 384 | msgstr "#else ���� ��� #else" |
| 385 | 385 | ||
| 386 | #: directives.c:2071 directives.c:2104 | 386 | #: directives.c:2028 directives.c:2061 |
| 387 | msgid "the conditional began here" | 387 | msgid "the conditional began here" |
| 388 | msgstr "" | 388 | msgstr "" |
| 389 | 389 | ||
| 390 | #: directives.c:2097 | 390 | #: directives.c:2054 |
| 391 | msgid "#elif without #if" | 391 | msgid "#elif without #if" |
| 392 | msgstr "" | 392 | msgstr "" |
| 393 | 393 | ||
| 394 | #: directives.c:2102 | 394 | #: directives.c:2059 |
| 395 | msgid "#elif after #else" | 395 | msgid "#elif after #else" |
| 396 | msgstr "#elif ���� ��� #else" | 396 | msgstr "#elif ���� ��� #else" |
| 397 | 397 | ||
| 398 | #: directives.c:2133 | 398 | #: directives.c:2090 |
| 399 | msgid "#endif without #if" | 399 | msgid "#endif without #if" |
| 400 | msgstr "" | 400 | msgstr "" |
| 401 | 401 | ||
| 402 | #: directives.c:2213 | 402 | #: directives.c:2166 |
| 403 | msgid "missing '(' after predicate" | 403 | msgid "missing '(' after predicate" |
| 404 | msgstr "" | 404 | msgstr "" |
| 405 | 405 | ||
| 406 | #: directives.c:2228 | 406 | #: directives.c:2184 |
| 407 | msgid "missing ')' to complete answer" | 407 | msgid "missing ')' to complete answer" |
| 408 | msgstr "" | 408 | msgstr "" |
| 409 | 409 | ||
| 410 | #: directives.c:2248 | 410 | #: directives.c:2196 |
| 411 | msgid "predicate's answer is empty" | 411 | msgid "predicate's answer is empty" |
| 412 | msgstr "" | 412 | msgstr "" |
| 413 | 413 | ||
| 414 | #: directives.c:2275 | 414 | #: directives.c:2226 |
| 415 | #, fuzzy | 415 | #, fuzzy |
| 416 | msgid "assertion without predicate" | 416 | msgid "assertion without predicate" |
| 417 | msgstr "� ���������� ��� �����������" | 417 | msgstr "� ���������� ��� �����������" |
| 418 | 418 | ||
| 419 | #: directives.c:2278 | 419 | #: directives.c:2229 |
| 420 | #, fuzzy | 420 | #, fuzzy |
| 421 | msgid "predicate must be an identifier" | 421 | msgid "predicate must be an identifier" |
| 422 | msgstr "������ ������������� ���������" | 422 | msgstr "������ ������������� ���������" |
| 423 | 423 | ||
| 424 | #: directives.c:2364 | 424 | #: directives.c:2311 |
| 425 | #, c-format | 425 | #, c-format |
| 426 | msgid "\"%s\" re-asserted" | 426 | msgid "\"%s\" re-asserted" |
| 427 | msgstr "" | 427 | msgstr "" |
| 428 | 428 | ||
| 429 | #: directives.c:2656 | 429 | #: directives.c:2587 |
| 430 | #, fuzzy, c-format | 430 | #, fuzzy, c-format |
| 431 | msgid "unterminated #%s" | 431 | msgid "unterminated #%s" |
| 432 | msgstr "�� ������������o �������������" | 432 | msgstr "�� ������������o �������������" |
| 433 | 433 | ||
| 434 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 434 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 435 | #, fuzzy | 435 | #, fuzzy |
| 436 | msgid "unterminated comment" | 436 | msgid "unterminated comment" |
| 437 | msgstr "�� ������������ ������ `s'" | 437 | msgstr "�� ������������ ������ `s'" |
| 438 | 438 | ||
| 439 | # src/request.c:37 | 439 | # src/request.c:37 |
| 440 | #: errors.c:284 | 440 | #: errors.c:291 |
| 441 | #, c-format | 441 | #, c-format |
| 442 | msgid "%s: %s" | 442 | msgid "%s: %s" |
| 443 | msgstr "%s: %s" | 443 | msgstr "%s: %s" |
| 444 | 444 | ||
| 445 | #: errors.c:296 | 445 | #: errors.c:304 |
| 446 | msgid "stdout" | 446 | msgid "stdout" |
| 447 | msgstr "" | 447 | msgstr "" |
| 448 | 448 | ||
| @@ -542,30 +542,30 @@ msgstr "" · 93 unmodified lines | |||
| 542 | msgid "this use of \"defined\" may not be portable" | 542 | msgid "this use of \"defined\" may not be portable" |
| 543 | msgstr "" | 543 | msgstr "" |
| 544 | 544 | ||
| 545 | #: expr.c:1125 | 545 | #: expr.c:1109 |
| 546 | msgid "user-defined literal in preprocessor expression" | 546 | msgid "user-defined literal in preprocessor expression" |
| 547 | msgstr "" | 547 | msgstr "" |
| 548 | 548 | ||
| 549 | #: expr.c:1130 | 549 | #: expr.c:1114 |
| 550 | #, fuzzy | 550 | #, fuzzy |
| 551 | msgid "floating constant in preprocessor expression" | 551 | msgid "floating constant in preprocessor expression" |
| 552 | msgstr "�������� ������� ������������" | 552 | msgstr "�������� ������� ������������" |
| 553 | 553 | ||
| 554 | #: expr.c:1136 | 554 | #: expr.c:1120 |
| 555 | #, fuzzy | 555 | #, fuzzy |
| 556 | msgid "imaginary number in preprocessor expression" | 556 | msgid "imaginary number in preprocessor expression" |
| 557 | msgstr "�� ������� ������� ��� �������" | 557 | msgstr "�� ������� ������� ��� �������" |
| 558 | 558 | ||
| 559 | #: expr.c:1189 | 559 | #: expr.c:1173 |
| 560 | #, fuzzy, c-format | 560 | #, fuzzy, c-format |
| 561 | msgid "\"%s\" is not defined, evaluates to 0" | 561 | msgid "\"%s\" is not defined, evaluates to 0" |
| 562 | msgstr "�� `%s' ��� ����� �������� ������" | 562 | msgstr "�� `%s' ��� ����� �������� ������" |
| 563 | 563 | ||
| 564 | #: expr.c:1202 | 564 | #: expr.c:1186 |
| 565 | msgid "assertions are a GCC extension" | 565 | msgid "assertions are a GCC extension" |
| 566 | msgstr "" | 566 | msgstr "" |
| 567 | 567 | ||
| 568 | #: expr.c:1205 | 568 | #: expr.c:1189 |
| 569 | msgid "assertions are a deprecated extension" | 569 | msgid "assertions are a deprecated extension" |
| 570 | msgstr "" | 570 | msgstr "" |
| 571 | 571 | ||
| @@ -573,63 +573,63 @@ msgstr "" · 1 unmodified line | |||
| 573 | # src/dfa.c:690 src/dfa.c:703 src/dfa.c:704 | 573 | # 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:695 | 574 | # 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:712 | 575 | # src/dfa.c:698 src/dfa.c:711 src/dfa.c:712 |
| 576 | #: expr.c:1451 | 576 | #: expr.c:1435 |
| 577 | #, fuzzy, c-format | 577 | #, fuzzy, c-format |
| 578 | msgid "unbalanced stack in %s" | 578 | msgid "unbalanced stack in %s" |
| 579 | msgstr "�� ������������ [" | 579 | msgstr "�� ������������ [" |
| 580 | 580 | ||
| 581 | #: expr.c:1471 | 581 | #: expr.c:1455 |
| 582 | #, fuzzy, c-format | 582 | #, fuzzy, c-format |
| 583 | msgid "impossible operator '%u'" | 583 | msgid "impossible operator '%u'" |
| 584 | msgstr "RPC: �� �������� �������� ��� RPC" | 584 | msgstr "RPC: �� �������� �������� ��� RPC" |
| 585 | 585 | ||
| 586 | #: expr.c:1572 | 586 | #: expr.c:1556 |
| 587 | #, fuzzy | 587 | #, fuzzy |
| 588 | msgid "missing ')' in expression" | 588 | msgid "missing ')' in expression" |
| 589 | msgstr "���� ���������� � ����� �� ��� ������" | 589 | msgstr "���� ���������� � ����� �� ��� ������" |
| 590 | 590 | ||
| 591 | #: expr.c:1601 | 591 | #: expr.c:1585 |
| 592 | #, fuzzy | 592 | #, fuzzy |
| 593 | msgid "'?' without following ':'" | 593 | msgid "'?' without following ':'" |
| 594 | msgstr "���������� ������ ���� �������: %s" | 594 | msgstr "���������� ������ ���� �������: %s" |
| 595 | 595 | ||
| 596 | #: expr.c:1611 | 596 | #: expr.c:1595 |
| 597 | msgid "integer overflow in preprocessor expression" | 597 | msgid "integer overflow in preprocessor expression" |
| 598 | msgstr "" | 598 | msgstr "" |
| 599 | 599 | ||
| 600 | #: expr.c:1616 | 600 | #: expr.c:1600 |
| 601 | #, fuzzy | 601 | #, fuzzy |
| 602 | msgid "missing '(' in expression" | 602 | msgid "missing '(' in expression" |
| 603 | msgstr "���� ���������� � ����� �� ��� ������" | 603 | msgstr "���� ���������� � ����� �� ��� ������" |
| 604 | 604 | ||
| 605 | #: expr.c:1648 | 605 | #: expr.c:1632 |
| 606 | #, c-format | 606 | #, c-format |
| 607 | msgid "the left operand of \"%s\" changes sign when promoted" | 607 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 608 | msgstr "" | 608 | msgstr "" |
| 609 | 609 | ||
| 610 | #: expr.c:1653 | 610 | #: expr.c:1637 |
| 611 | #, c-format | 611 | #, c-format |
| 612 | msgid "the right operand of \"%s\" changes sign when promoted" | 612 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 613 | msgstr "" | 613 | msgstr "" |
| 614 | 614 | ||
| 615 | #: expr.c:1912 | 615 | #: expr.c:1896 |
| 616 | msgid "traditional C rejects the unary plus operator" | 616 | msgid "traditional C rejects the unary plus operator" |
| 617 | msgstr "" | 617 | msgstr "" |
| 618 | 618 | ||
| 619 | #: expr.c:2010 | 619 | #: expr.c:1994 |
| 620 | msgid "comma operator in operand of #if" | 620 | msgid "comma operator in operand of #if" |
| 621 | msgstr "" | 621 | msgstr "" |
| 622 | 622 | ||
| 623 | #: expr.c:2146 | 623 | #: expr.c:2130 |
| 624 | #, fuzzy | 624 | #, fuzzy |
| 625 | msgid "division by zero in #if" | 625 | msgid "division by zero in #if" |
| 626 | msgstr "�������� �� ����� ���� ���������: %s" | 626 | msgstr "�������� �� ����� ���� ���������: %s" |
| 627 | 627 | ||
| 628 | #: expr.c:2243 | 628 | #: expr.c:2227 |
| 629 | msgid "operator \"__has_include__\" requires a header string" | 629 | msgid "operator \"__has_include__\" requires a header string" |
| 630 | msgstr "" | 630 | msgstr "" |
| 631 | 631 | ||
| 632 | #: expr.c:2259 | 632 | #: expr.c:2243 |
| 633 | #, fuzzy | 633 | #, fuzzy |
| 634 | msgid "missing ')' after \"__has_include__\"" | 634 | msgid "missing ')' after \"__has_include__\"" |
| 635 | msgstr "���� ���������� � ����� �� �� �����" | 635 | msgstr "���� ���������� � ����� �� �� �����" |
| @@ -647,41 +647,41 @@ msgstr "" · 11 unmodified lines | |||
| 647 | msgid "no include path in which to search for %s" | 647 | msgid "no include path in which to search for %s" |
| 648 | msgstr "" | 648 | msgstr "" |
| 649 | 649 | ||
| 650 | #: files.c:1441 | 650 | #: files.c:1455 |
| 651 | msgid "Multiple include guards may be useful for:\n" | 651 | msgid "Multiple include guards may be useful for:\n" |
| 652 | msgstr "" | 652 | msgstr "" |
| 653 | 653 | ||
| 654 | #: init.c:565 | 654 | #: init.c:569 |
| 655 | #, fuzzy | 655 | #, fuzzy |
| 656 | msgid "cppchar_t must be an unsigned type" | 656 | msgid "cppchar_t must be an unsigned type" |
| 657 | msgstr "������ ������������� ���������" | 657 | msgstr "������ ������������� ���������" |
| 658 | 658 | ||
| 659 | #: init.c:569 | 659 | #: init.c:573 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 661 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 662 | msgstr "" | 662 | msgstr "" |
| 663 | 663 | ||
| 664 | #: init.c:576 | 664 | #: init.c:580 |
| 665 | msgid "CPP arithmetic must be at least as precise as a target int" | 665 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 666 | msgstr "" | 666 | msgstr "" |
| 667 | 667 | ||
| 668 | #: init.c:579 | 668 | #: init.c:583 |
| 669 | msgid "target char is less than 8 bits wide" | 669 | msgid "target char is less than 8 bits wide" |
| 670 | msgstr "" | 670 | msgstr "" |
| 671 | 671 | ||
| 672 | #: init.c:583 | 672 | #: init.c:587 |
| 673 | msgid "target wchar_t is narrower than target char" | 673 | msgid "target wchar_t is narrower than target char" |
| 674 | msgstr "" | 674 | msgstr "" |
| 675 | 675 | ||
| 676 | #: init.c:587 | 676 | #: init.c:591 |
| 677 | msgid "target int is narrower than target char" | 677 | msgid "target int is narrower than target char" |
| 678 | msgstr "" | 678 | msgstr "" |
| 679 | 679 | ||
| 680 | #: init.c:592 | 680 | #: init.c:596 |
| 681 | msgid "CPP half-integer narrower than CPP character" | 681 | msgid "CPP half-integer narrower than CPP character" |
| 682 | msgstr "" | 682 | msgstr "" |
| 683 | 683 | ||
| 684 | #: init.c:596 | 684 | #: init.c:600 |
| 685 | #, c-format | 685 | #, c-format |
| 686 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 686 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 687 | msgstr "" | 687 | msgstr "" |
| @@ -755,262 +755,263 @@ msgstr "" · 67 unmodified lines | |||
| 755 | msgid "identifier \"%s\" is a special operator name in C++" | 755 | msgid "identifier \"%s\" is a special operator name in C++" |
| 756 | msgstr "" | 756 | msgstr "" |
| 757 | 757 | ||
| 758 | #: lex.c:1811 | 758 | #: lex.c:1826 |
| 759 | msgid "raw string delimiter longer than 16 characters" | 759 | msgid "raw string delimiter longer than 16 characters" |
| 760 | msgstr "" | 760 | msgstr "" |
| 761 | 761 | ||
| 762 | #: lex.c:1815 | 762 | #: lex.c:1830 |
| 763 | msgid "invalid new-line in raw string delimiter" | 763 | msgid "invalid new-line in raw string delimiter" |
| 764 | msgstr "" | 764 | msgstr "" |
| 765 | 765 | ||
| 766 | #: lex.c:1819 | 766 | #: lex.c:1834 |
| 767 | #, fuzzy, c-format | 767 | #, fuzzy, c-format |
| 768 | msgid "invalid character '%c' in raw string delimiter" | 768 | msgid "invalid character '%c' in raw string delimiter" |
| 769 | msgstr "�� ������� ���������� `%c' ��� ���� �������������� `%s'" | 769 | msgstr "�� ������� ���������� `%c' ��� ���� �������������� `%s'" |
| 770 | 770 | ||
| 771 | #: lex.c:1868 lex.c:1890 | 771 | #: lex.c:1883 lex.c:1905 |
| 772 | #, fuzzy | 772 | #, fuzzy |
| 773 | msgid "unterminated raw string" | 773 | msgid "unterminated raw string" |
| 774 | msgstr "�� ������������o �������������" | 774 | msgstr "�� ������������o �������������" |
| 775 | 775 | ||
| 776 | #: lex.c:1912 lex.c:2043 | 776 | #: lex.c:1925 lex.c:2054 |
| 777 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 777 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 778 | msgstr "" | 778 | msgstr "" |
| 779 | 779 | ||
| 780 | #: lex.c:2024 | 780 | #: lex.c:2037 |
| 781 | msgid "null character(s) preserved in literal" | 781 | msgid "null character(s) preserved in literal" |
| 782 | msgstr "" | 782 | msgstr "" |
| 783 | 783 | ||
| 784 | #: lex.c:2027 | 784 | #: lex.c:2040 |
| 785 | #, c-format | 785 | #, c-format |
| 786 | msgid "missing terminating %c character" | 786 | msgid "missing terminating %c character" |
| 787 | msgstr "���� ���������� ���������� ���������� %c" | 787 | msgstr "���� ���������� ���������� ���������� %c" |
| 788 | 788 | ||
| 789 | #: lex.c:2061 | 789 | #: lex.c:2072 |
| 790 | msgid "C++11 requires a space between string literal and macro" | 790 | msgid "C++11 requires a space between string literal and macro" |
| 791 | msgstr "" | 791 | msgstr "" |
| 792 | 792 | ||
| 793 | #: lex.c:2865 lex.c:2899 | 793 | #: lex.c:2876 lex.c:2910 |
| 794 | msgid "C++ style comments are not allowed in ISO C90" | 794 | msgid "C++ style comments are not allowed in ISO C90" |
| 795 | msgstr "" | 795 | msgstr "" |
| 796 | 796 | ||
| 797 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 797 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 798 | msgid "(this will be reported only once per input file)" | 798 | msgid "(this will be reported only once per input file)" |
| 799 | msgstr "" | 799 | msgstr "" |
| 800 | 800 | ||
| 801 | #: lex.c:2876 | 801 | #: lex.c:2887 |
| 802 | msgid "C++ style comments are incompatible with C90" | 802 | msgid "C++ style comments are incompatible with C90" |
| 803 | msgstr "" | 803 | msgstr "" |
| 804 | 804 | ||
| 805 | #: lex.c:2907 | 805 | #: lex.c:2919 |
| 806 | msgid "multi-line comment" | 806 | msgid "multi-line comment" |
| 807 | msgstr "" | 807 | msgstr "" |
| 808 | 808 | ||
| 809 | #: lex.c:3287 | 809 | #: lex.c:3299 |
| 810 | #, fuzzy, c-format | 810 | #, fuzzy, c-format |
| 811 | msgid "unspellable token %s" | 811 | msgid "unspellable token %s" |
| 812 | msgstr "%s: ������� �� ������� ��� %s: %m\n" | 812 | msgstr "%s: ������� �� ������� ��� %s: %m\n" |
| 813 | 813 | ||
| 814 | #: macro.c:93 | 814 | #: macro.c:94 |
| 815 | msgid "'##' cannot appear at either end of __VA_OPT__" | 815 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 816 | msgstr "" | 816 | msgstr "" |
| 817 | 817 | ||
| 818 | #: macro.c:352 | 818 | #: macro.c:354 |
| 819 | #, fuzzy, c-format | 819 | #, fuzzy, c-format |
| 820 | msgid "macro \"%s\" is not used" | 820 | msgid "macro \"%s\" is not used" |
| 821 | msgstr "�� `%s' ��� ����� �������� ������" | 821 | msgstr "�� `%s' ��� ����� �������� ������" |
| 822 | 822 | ||
| 823 | #: macro.c:391 macro.c:639 | 823 | #: macro.c:393 macro.c:641 |
| 824 | #, fuzzy, c-format | 824 | #, fuzzy, c-format |
| 825 | msgid "invalid built-in macro \"%s\"" | 825 | msgid "invalid built-in macro \"%s\"" |
| 826 | msgstr "�� ������ ����� �������: %s" | 826 | msgstr "�� ������ ����� �������: %s" |
| 827 | 827 | ||
| 828 | #: macro.c:398 macro.c:500 | 828 | #: macro.c:400 macro.c:502 |
| 829 | #, c-format | 829 | #, c-format |
| 830 | msgid "macro \"%s\" might prevent reproducible builds" | 830 | msgid "macro \"%s\" might prevent reproducible builds" |
| 831 | msgstr "" | 831 | msgstr "" |
| 832 | 832 | ||
| 833 | #: macro.c:429 | 833 | #: macro.c:431 |
| 834 | #, fuzzy | 834 | #, fuzzy |
| 835 | msgid "could not determine file timestamp" | 835 | msgid "could not determine file timestamp" |
| 836 | msgstr "��� ������� �� ������ �� ������ %s" | 836 | msgstr "��� ������� �� ������ �� ������ %s" |
| 837 | 837 | ||
| 838 | #: macro.c:546 | 838 | #: macro.c:548 |
| 839 | #, fuzzy | 839 | #, fuzzy |
| 840 | msgid "could not determine date and time" | 840 | msgid "could not determine date and time" |
| 841 | msgstr "��� ������� �� ������ �� ������ %s" | 841 | msgstr "��� ������� �� ������ �� ������ %s" |
| 842 | 842 | ||
| 843 | #: macro.c:562 | 843 | #: macro.c:564 |
| 844 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 844 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 845 | msgstr "" | 845 | msgstr "" |
| 846 | 846 | ||
| 847 | #: macro.c:758 | 847 | #: macro.c:760 |
| 848 | #, fuzzy | 848 | #, fuzzy |
| 849 | msgid "invalid string literal, ignoring final '\\'" | 849 | msgid "invalid string literal, ignoring final '\\'" |
| 850 | msgstr "�� ������� ������� ������� �������: `%s'" | 850 | msgstr "�� ������� ������� ������� �������: `%s'" |
| 851 | 851 | ||
| 852 | #: macro.c:820 | 852 | #: macro.c:822 |
| 853 | #, c-format | 853 | #, c-format |
| 854 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 854 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 855 | msgstr "" | 855 | msgstr "" |
| 856 | 856 | ||
| 857 | #: macro.c:946 | 857 | #: macro.c:948 |
| 858 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 858 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 859 | msgstr "" | 859 | msgstr "" |
| 860 | 860 | ||
| 861 | #: macro.c:950 | 861 | #: macro.c:952 |
| 862 | #, fuzzy | 862 | #, fuzzy |
| 863 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 863 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 864 | msgstr "���� ������ ����������" | 864 | msgstr "���� ������ ����������" |
| 865 | 865 | ||
| 866 | #: macro.c:957 | 866 | #: macro.c:959 |
| 867 | #, c-format | 867 | #, c-format |
| 868 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 868 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 869 | msgstr "" | 869 | msgstr "" |
| 870 | 870 | ||
| 871 | #: macro.c:962 | 871 | #: macro.c:964 |
| 872 | #, c-format | 872 | #, c-format |
| 873 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 873 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 874 | msgstr "" | 874 | msgstr "" |
| 875 | 875 | ||
| 876 | #: macro.c:1156 traditional.c:819 | 876 | #: macro.c:1162 traditional.c:827 |
| 877 | #, c-format | 877 | #, c-format |
| 878 | msgid "unterminated argument list invoking macro \"%s\"" | 878 | msgid "unterminated argument list invoking macro \"%s\"" |
| 879 | msgstr "" | 879 | msgstr "" |
| 880 | 880 | ||
| 881 | #: macro.c:1307 | 881 | #: macro.c:1304 |
| 882 | #, c-format | 882 | #, c-format |
| 883 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 883 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 884 | msgstr "" | 884 | msgstr "" |
| 885 | 885 | ||
| 886 | #: macro.c:2003 | 886 | #: macro.c:2083 |
| 887 | #, c-format | 887 | #, c-format |
| 888 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 888 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 889 | msgstr "" | 889 | msgstr "" |
| 890 | 890 | ||
| 891 | #: macro.c:2011 macro.c:2020 | 891 | #: macro.c:2091 macro.c:2100 |
| 892 | #, c-format | 892 | #, c-format |
| 893 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 893 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 894 | msgstr "" | 894 | msgstr "" |
| 895 | 895 | ||
| 896 | #: macro.c:2984 | 896 | #: macro.c:3059 |
| 897 | #, fuzzy, c-format | 897 | #, fuzzy, c-format |
| 898 | msgid "duplicate macro parameter \"%s\"" | 898 | msgid "duplicate macro parameter \"%s\"" |
| 899 | msgstr "����� ����� ��������� `%s'" | 899 | msgstr "����� ����� ��������� `%s'" |
| 900 | 900 | ||
| 901 | #: macro.c:3033 | 901 | #: macro.c:3141 |
| 902 | #, fuzzy, c-format | ||
| 903 | msgid "expected parameter name, found \"%s\"" | ||
| 904 | msgstr "����� ����� ��������� `%s'" | ||
| 905 | |||
| 906 | #: macro.c:3142 | ||
| 902 | #, c-format | 907 | #, c-format |
| 903 | msgid "\"%s\" may not appear in macro parameter list" | 908 | msgid "expected ',' or ')', found \"%s\"" |
| 904 | msgstr "" | 909 | msgstr "" |
| 905 | 910 | ||
| 906 | #: macro.c:3041 | 911 | #: macro.c:3143 |
| 907 | msgid "macro parameters must be comma-separated" | 912 | #, fuzzy |
| 913 | msgid "expected parameter name before end of line" | ||
| 914 | msgstr "%s: ���������� ���������� ����." | ||
| 915 | |||
| 916 | #: macro.c:3144 | ||
| 917 | msgid "expected ')' before end of line" | ||
| 908 | msgstr "" | 918 | msgstr "" |
| 909 | 919 | ||
| 910 | #: macro.c:3060 | 920 | #: macro.c:3145 |
| 911 | msgid "parameter name missing" | 921 | msgid "expected ')' after \"...\"" |
| 912 | msgstr "" | 922 | msgstr "" |
| 913 | 923 | ||
| 914 | #: macro.c:3081 | 924 | #: macro.c:3202 |
| 915 | msgid "anonymous variadic macros were introduced in C++11" | 925 | msgid "anonymous variadic macros were introduced in C++11" |
| 916 | msgstr "" | 926 | msgstr "" |
| 917 | 927 | ||
| 918 | #: macro.c:3085 macro.c:3090 | 928 | #: macro.c:3203 macro.c:3207 |
| 919 | msgid "anonymous variadic macros were introduced in C99" | 929 | msgid "anonymous variadic macros were introduced in C99" |
| 920 | msgstr "" | 930 | msgstr "" |
| 921 | 931 | ||
| 922 | #: macro.c:3097 | 932 | #: macro.c:3213 |
| 923 | msgid "ISO C++ does not permit named variadic macros" | 933 | msgid "ISO C++ does not permit named variadic macros" |
| 924 | msgstr "" | 934 | msgstr "" |
| 925 | 935 | ||
| 926 | #: macro.c:3100 | 936 | #: macro.c:3214 |
| 927 | msgid "ISO C does not permit named variadic macros" | 937 | msgid "ISO C does not permit named variadic macros" |
| 928 | msgstr "" | 938 | msgstr "" |
| 929 | 939 | ||
| 930 | #: macro.c:3110 | 940 | #: macro.c:3260 |
| 931 | msgid "missing ')' in macro parameter list" | ||
| 932 | msgstr "" | ||
| 933 | |||
| 934 | #: macro.c:3161 | ||
| 935 | msgid "'##' cannot appear at either end of a macro expansion" | 941 | msgid "'##' cannot appear at either end of a macro expansion" |
| 936 | msgstr "" | 942 | msgstr "" |
| 937 | 943 | ||
| 938 | #: macro.c:3198 | 944 | #: macro.c:3298 |
| 939 | msgid "ISO C++11 requires whitespace after the macro name" | 945 | msgid "ISO C++11 requires whitespace after the macro name" |
| 940 | msgstr "" | 946 | msgstr "" |
| 941 | 947 | ||
| 942 | #: macro.c:3201 | 948 | #: macro.c:3299 |
| 943 | #, fuzzy | 949 | #, fuzzy |
| 944 | msgid "ISO C99 requires whitespace after the macro name" | 950 | msgid "ISO C99 requires whitespace after the macro name" |
| 945 | msgstr "���� ������ ����������" | 951 | msgstr "���� ������ ����������" |
| 946 | 952 | ||
| 947 | #: macro.c:3226 | 953 | #: macro.c:3323 |
| 948 | msgid "missing whitespace after the macro name" | 954 | msgid "missing whitespace after the macro name" |
| 949 | msgstr "" | 955 | msgstr "" |
| 950 | 956 | ||
| 951 | #: macro.c:3263 | 957 | #: macro.c:3373 |
| 952 | msgid "'#' is not followed by a macro parameter" | 958 | msgid "'#' is not followed by a macro parameter" |
| 953 | msgstr "" | 959 | msgstr "" |
| 954 | 960 | ||
| 955 | #: macro.c:3430 | 961 | #: macro.c:3524 |
| 956 | #, fuzzy, c-format | 962 | #, fuzzy, c-format |
| 957 | msgid "\"%s\" redefined" | 963 | msgid "\"%s\" redefined" |
| 958 | msgstr "�������" | 964 | msgstr "�������" |
| 959 | 965 | ||
| 960 | #: macro.c:3435 | 966 | #: macro.c:3529 |
| 961 | #, fuzzy | 967 | #, fuzzy |
| 962 | msgid "this is the location of the previous definition" | 968 | msgid "this is the location of the previous definition" |
| 963 | msgstr "���� ����� � ���� ��� ������ �������" | 969 | msgstr "���� ����� � ���� ��� ������ �������" |
| 964 | 970 | ||
| 965 | #: macro.c:3496 | 971 | #: macro.c:3633 |
| 966 | #, c-format | 972 | #, c-format |
| 967 | msgid "macro argument \"%s\" would be stringified in traditional C" | 973 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 968 | msgstr "" | 974 | msgstr "" |
| 969 | 975 | ||
| 970 | #: macro.c:3532 | 976 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 971 | #, c-format | ||
| 972 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 973 | msgstr "" | ||
| 974 | |||
| 975 | #: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401 | ||
| 976 | msgid "while writing precompiled header" | 977 | msgid "while writing precompiled header" |
| 977 | msgstr "" | 978 | msgstr "" |
| 978 | 979 | ||
| 979 | #: pch.c:621 | 980 | #: pch.c:616 |
| 980 | #, c-format | 981 | #, c-format |
| 981 | msgid "%s: not used because `%.*s' is poisoned" | 982 | msgid "%s: not used because `%.*s' is poisoned" |
| 982 | msgstr "" | 983 | msgstr "" |
| 983 | 984 | ||
| 984 | #: pch.c:643 | 985 | #: pch.c:638 |
| 985 | #, c-format | 986 | #, c-format |
| 986 | msgid "%s: not used because `%.*s' not defined" | 987 | msgid "%s: not used because `%.*s' not defined" |
| 987 | msgstr "" | 988 | msgstr "" |
| 988 | 989 | ||
| 989 | #: pch.c:655 | 990 | #: pch.c:650 |
| 990 | #, c-format | 991 | #, c-format |
| 991 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 992 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 992 | msgstr "" | 993 | msgstr "" |
| 993 | 994 | ||
| 994 | #: pch.c:696 | 995 | #: pch.c:691 |
| 995 | #, c-format | 996 | #, c-format |
| 996 | msgid "%s: not used because `%s' is defined" | 997 | msgid "%s: not used because `%s' is defined" |
| 997 | msgstr "" | 998 | msgstr "" |
| 998 | 999 | ||
| 999 | #: pch.c:716 | 1000 | #: pch.c:711 |
| 1000 | #, c-format | 1001 | #, c-format |
| 1001 | msgid "%s: not used because `__COUNTER__' is invalid" | 1002 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 1002 | msgstr "" | 1003 | msgstr "" |
| 1003 | 1004 | ||
| 1004 | #: pch.c:725 pch.c:903 | 1005 | #: pch.c:720 pch.c:878 |
| 1005 | msgid "while reading precompiled header" | 1006 | msgid "while reading precompiled header" |
| 1006 | msgstr "" | 1007 | msgstr "" |
| 1007 | 1008 | ||
| 1008 | #: traditional.c:889 | 1009 | #: traditional.c:896 |
| 1009 | #, c-format | 1010 | #, c-format |
| 1010 | msgid "detected recursion whilst expanding macro \"%s\"" | 1011 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 1011 | msgstr "" | 1012 | msgstr "" |
| 1012 | 1013 | ||
| 1013 | #: traditional.c:1108 | 1014 | #: traditional.c:1119 |
| 1014 | #, fuzzy | 1015 | #, fuzzy |
| 1015 | msgid "syntax error in macro parameter list" | 1016 | msgid "syntax error in macro parameter list" |
| 1016 | msgstr "���������� ������ ���� ������ ������ ����������" | 1017 | msgstr "���������� ������ ���� ������ ������ ����������" |
| @@ -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 | #, fuzzy | 1284 | #, 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 | #, fuzzy | 5179 | #, fuzzy |
| 5187 | #~ msgid "expected a name string here" | 5180 | #~ msgid "expected a name string here" |
| 5188 | #~ msgstr "%s: ���������� ���������� ����." | 5181 | #~ msgstr "%s: ���������� ���������� ����." |
| @@ -1,14 +1,14 @@ | |||
| 1 | # Translation of cpplib to Esperanto | 1 | # 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 | # |
| 6 | msgid "" | 6 | msgid "" |
| 7 | msgstr "" | 7 | msgstr "" |
| 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:674 | 21 | #: charset.c:674 |
| 22 | #, c-format | 22 | #, c-format |
| @@ -87,7 +87,7 @@ msgstr "la universala signo %.*s ne estas valida en identiganto" · 64 unmodified lines | |||
| 87 | msgid "universal character %.*s is not valid at the start of an identifier" | 87 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 88 | msgstr "la universala signo %.*s ne estas valida en komenco de identiganto" | 88 | msgstr "la universala signo %.*s ne estas valida en komenco de identiganto" |
| 89 | 89 | ||
| 90 | #: charset.c:1181 charset.c:2000 | 90 | #: charset.c:1181 charset.c:2002 |
| 91 | msgid "converting UCN to source character set" | 91 | msgid "converting UCN to source character set" |
| 92 | msgstr "konverto de UCN al la fonta signaro" | 92 | msgstr "konverto de UCN al la fonta signaro" |
| 93 | 93 | ||
| @@ -138,294 +138,294 @@ msgstr "konverto de eskapa sekvo al plenumiga signaro" · 44 unmodified lines | |||
| 138 | msgid "missing open quote" | 138 | msgid "missing open quote" |
| 139 | msgstr "mankas komenca citilo" | 139 | msgstr "mankas komenca citilo" |
| 140 | 140 | ||
| 141 | #: charset.c:1827 charset.c:1891 | 141 | #: charset.c:1829 charset.c:1893 |
| 142 | msgid "character constant too long for its type" | 142 | msgid "character constant too long for its type" |
| 143 | msgstr "signa konstanto tro longas por ties tipo" | 143 | msgstr "signa konstanto tro longas por ties tipo" |
| 144 | 144 | ||
| 145 | #: charset.c:1830 | 145 | #: charset.c:1832 |
| 146 | msgid "multi-character character constant" | 146 | msgid "multi-character character constant" |
| 147 | msgstr "plursigna signa konstanto" | 147 | msgstr "plursigna signa konstanto" |
| 148 | 148 | ||
| 149 | #: charset.c:1931 | 149 | #: charset.c:1933 |
| 150 | msgid "empty character constant" | 150 | msgid "empty character constant" |
| 151 | msgstr "malplena signa konstanto" | 151 | msgstr "malplena signa konstanto" |
| 152 | 152 | ||
| 153 | #: charset.c:2047 | 153 | #: charset.c:2049 |
| 154 | #, c-format | 154 | #, c-format |
| 155 | msgid "failure to convert %s to %s" | 155 | msgid "failure to convert %s to %s" |
| 156 | msgstr "problemo por konverti %s al %s" | 156 | msgstr "problemo por konverti %s al %s" |
| 157 | 157 | ||
| 158 | #: directives.c:235 directives.c:278 | 158 | #: directives.c:229 directives.c:272 |
| 159 | #, c-format | 159 | #, c-format |
| 160 | msgid "extra tokens at end of #%s directive" | 160 | msgid "extra tokens at end of #%s directive" |
| 161 | msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s" | 161 | msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s" |
| 162 | 162 | ||
| 163 | #: directives.c:385 | 163 | #: directives.c:379 |
| 164 | #, c-format | 164 | #, c-format |
| 165 | msgid "#%s is a GCC extension" | 165 | msgid "#%s is a GCC extension" |
| 166 | msgstr "#%s estas aldono de GCC" | 166 | msgstr "#%s estas aldono de GCC" |
| 167 | 167 | ||
| 168 | #: directives.c:390 | 168 | #: directives.c:384 |
| 169 | #, c-format | 169 | #, c-format |
| 170 | msgid "#%s is a deprecated GCC extension" | 170 | msgid "#%s is a deprecated GCC extension" |
| 171 | msgstr "#%s estas evitinda aldono de GCC" | 171 | msgstr "#%s estas evitinda aldono de GCC" |
| 172 | 172 | ||
| 173 | #: directives.c:403 | 173 | #: directives.c:397 |
| 174 | msgid "suggest not using #elif in traditional C" | 174 | msgid "suggest not using #elif in traditional C" |
| 175 | msgstr "sugesti ne uzi #elif en tradicia C" | 175 | msgstr "sugesti ne uzi #elif en tradicia C" |
| 176 | 176 | ||
| 177 | #: directives.c:406 | 177 | #: directives.c:400 |
| 178 | #, c-format | 178 | #, c-format |
| 179 | msgid "traditional C ignores #%s with the # indented" | 179 | msgid "traditional C ignores #%s with the # indented" |
| 180 | msgstr "tradicia C preteratentas #%s kun la # krommarĝenita" | 180 | msgstr "tradicia C preteratentas #%s kun la # krommarĝenita" |
| 181 | 181 | ||
| 182 | #: directives.c:410 | 182 | #: directives.c:404 |
| 183 | #, c-format | 183 | #, c-format |
| 184 | msgid "suggest hiding #%s from traditional C with an indented #" | 184 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 185 | msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #" | 185 | msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #" |
| 186 | 186 | ||
| 187 | #: directives.c:436 | 187 | #: directives.c:430 |
| 188 | msgid "embedding a directive within macro arguments is not portable" | 188 | msgid "embedding a directive within macro arguments is not portable" |
| 189 | msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla" | 189 | msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla" |
| 190 | 190 | ||
| 191 | #: directives.c:456 | 191 | #: directives.c:450 |
| 192 | msgid "style of line directive is a GCC extension" | 192 | msgid "style of line directive is a GCC extension" |
| 193 | msgstr "stilo de lini-instrukcioj estas aldono de GCC" | 193 | msgstr "stilo de lini-instrukcioj estas aldono de GCC" |
| 194 | 194 | ||
| 195 | #: directives.c:537 | 195 | #: directives.c:531 |
| 196 | #, c-format | 196 | #, c-format |
| 197 | msgid "invalid preprocessing directive #%s" | 197 | msgid "invalid preprocessing directive #%s" |
| 198 | msgstr "malvalida antaŭproceza instrukcio #%s" | 198 | msgstr "malvalida antaŭproceza instrukcio #%s" |
| 199 | 199 | ||
| 200 | #: directives.c:606 | 200 | #: directives.c:600 |
| 201 | msgid "\"defined\" cannot be used as a macro name" | 201 | msgid "\"defined\" cannot be used as a macro name" |
| 202 | msgstr "\"defined\" ne povas estis uzata kiel makroa nomo" | 202 | msgstr "\"defined\" ne povas estis uzata kiel makroa nomo" |
| 203 | 203 | ||
| 204 | #: directives.c:611 | 204 | #: directives.c:605 |
| 205 | msgid "\"__has_include__\" cannot be used as a macro name" | 205 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 206 | msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo" | 206 | msgstr "\"__has_include__\" ne povas estis uzata kiel makroa nomo" |
| 207 | 207 | ||
| 208 | #: directives.c:617 | 208 | #: directives.c:611 |
| 209 | #, c-format | 209 | #, c-format |
| 210 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 210 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 211 | msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++" | 211 | msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++" |
| 212 | 212 | ||
| 213 | #: directives.c:620 | 213 | #: directives.c:614 |
| 214 | #, c-format | 214 | #, c-format |
| 215 | msgid "no macro name given in #%s directive" | 215 | msgid "no macro name given in #%s directive" |
| 216 | msgstr "neniu makroa nomo estas indikita en la instrukcio #%s" | 216 | msgstr "neniu makroa nomo estas indikita en la instrukcio #%s" |
| 217 | 217 | ||
| 218 | #: directives.c:623 | 218 | #: directives.c:617 |
| 219 | msgid "macro names must be identifiers" | 219 | msgid "macro names must be identifiers" |
| 220 | msgstr "makroaj nomoj devas esti identigantoj" | 220 | msgstr "makroaj nomoj devas esti identigantoj" |
| 221 | 221 | ||
| 222 | #: directives.c:672 directives.c:677 | 222 | #: directives.c:666 directives.c:671 |
| 223 | #, c-format | 223 | #, c-format |
| 224 | msgid "undefining \"%s\"" | 224 | msgid "undefining \"%s\"" |
| 225 | msgstr "ni maldifinas \"%s\"" | 225 | msgstr "ni maldifinas \"%s\"" |
| 226 | 226 | ||
| 227 | #: directives.c:732 | 227 | #: directives.c:727 |
| 228 | msgid "missing terminating > character" | 228 | msgid "missing terminating > character" |
| 229 | msgstr "mankas finiganta signo >" | 229 | msgstr "mankas finiganta signo >" |
| 230 | 230 | ||
| 231 | #: directives.c:791 | 231 | #: directives.c:786 |
| 232 | #, c-format | 232 | #, c-format |
| 233 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 233 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 234 | msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>" | 234 | msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>" |
| 235 | 235 | ||
| 236 | #: directives.c:837 | 236 | #: directives.c:828 |
| 237 | #, c-format | 237 | #, c-format |
| 238 | msgid "empty filename in #%s" | 238 | msgid "empty filename in #%s" |
| 239 | msgstr "malplena dosiernomo en #%s" | 239 | msgstr "malplena dosiernomo en #%s" |
| 240 | 240 | ||
| 241 | #: directives.c:847 | 241 | #: directives.c:835 |
| 242 | msgid "#include nested too deeply" | 242 | msgid "#include nested too deeply" |
| 243 | msgstr "#include estas ingita tro profunde" | 243 | msgstr "#include estas ingita tro profunde" |
| 244 | 244 | ||
| 245 | #: directives.c:888 | 245 | #: directives.c:877 |
| 246 | msgid "#include_next in primary source file" | 246 | msgid "#include_next in primary source file" |
| 247 | msgstr "#include_next en ĉefa fonta dosiero" | 247 | msgstr "#include_next en ĉefa fonta dosiero" |
| 248 | 248 | ||
| 249 | #: directives.c:914 | 249 | #: directives.c:903 |
| 250 | #, c-format | 250 | #, c-format |
| 251 | msgid "invalid flag \"%s\" in line directive" | 251 | msgid "invalid flag \"%s\" in line directive" |
| 252 | msgstr "malvalida flago \"%s\" en lini-instrukcio" | 252 | msgstr "malvalida flago \"%s\" en lini-instrukcio" |
| 253 | 253 | ||
| 254 | #: directives.c:974 | 254 | #: directives.c:963 |
| 255 | msgid "unexpected end of file after #line" | 255 | msgid "unexpected end of file after #line" |
| 256 | msgstr "neatendita dosierfino post #line" | 256 | msgstr "neatendita dosierfino post #line" |
| 257 | 257 | ||
| 258 | #: directives.c:977 | 258 | #: directives.c:966 |
| 259 | #, c-format | 259 | #, c-format |
| 260 | msgid "\"%s\" after #line is not a positive integer" | 260 | msgid "\"%s\" after #line is not a positive integer" |
| 261 | msgstr "\"%s\" post #line ne estas pozitiva entjero" | 261 | msgstr "\"%s\" post #line ne estas pozitiva entjero" |
| 262 | 262 | ||
| 263 | #: directives.c:983 directives.c:985 | 263 | #: directives.c:972 directives.c:974 |
| 264 | msgid "line number out of range" | 264 | msgid "line number out of range" |
| 265 | msgstr "lininumero estas for de intervalo" | 265 | msgstr "lininumero estas for de intervalo" |
| 266 | 266 | ||
| 267 | #: directives.c:998 directives.c:1079 | 267 | #: directives.c:987 directives.c:1068 |
| 268 | #, c-format | 268 | #, c-format |
| 269 | msgid "\"%s\" is not a valid filename" | 269 | msgid "\"%s\" is not a valid filename" |
| 270 | msgstr "\"%s\" ne estas valida dosiernomo" | 270 | msgstr "\"%s\" ne estas valida dosiernomo" |
| 271 | 271 | ||
| 272 | #: directives.c:1039 | 272 | #: directives.c:1028 |
| 273 | #, c-format | 273 | #, c-format |
| 274 | msgid "\"%s\" after # is not a positive integer" | 274 | msgid "\"%s\" after # is not a positive integer" |
| 275 | msgstr "\"%s\" post # ne estas pozitiva entjero" | 275 | msgstr "\"%s\" post # ne estas pozitiva entjero" |
| 276 | 276 | ||
| 277 | #: directives.c:1098 | 277 | #: directives.c:1087 |
| 278 | #, c-format | 278 | #, c-format |
| 279 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 279 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 280 | msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto" | 280 | msgstr "linimarkilo de dosiero \"%s\" estis preteratentata pro malkorekta nesto" |
| 281 | 281 | ||
| 282 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 282 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 283 | #, c-format | 283 | #, c-format |
| 284 | msgid "%s" | 284 | msgid "%s" |
| 285 | msgstr "%s" | 285 | msgstr "%s" |
| 286 | 286 | ||
| 287 | #: directives.c:1185 | 287 | #: directives.c:1175 |
| 288 | #, c-format | 288 | #, c-format |
| 289 | msgid "invalid #%s directive" | 289 | msgid "invalid #%s directive" |
| 290 | msgstr "malvalida instrukcio #%s" | 290 | msgstr "malvalida instrukcio #%s" |
| 291 | 291 | ||
| 292 | #: directives.c:1248 | 292 | #: directives.c:1238 |
| 293 | #, c-format | 293 | #, c-format |
| 294 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 294 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 295 | msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo" | 295 | msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-disvolviĝo" |
| 296 | 296 | ||
| 297 | #: directives.c:1257 | 297 | #: directives.c:1247 |
| 298 | #, c-format | 298 | #, c-format |
| 299 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 299 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 300 | msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco" | 300 | msgstr "registro de pragma \"%s\" kun nom-disvolviĝo kaj sen nomspaco" |
| 301 | 301 | ||
| 302 | #: directives.c:1275 | 302 | #: directives.c:1265 |
| 303 | #, c-format | 303 | #, c-format |
| 304 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 304 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 305 | msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco" | 305 | msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco" |
| 306 | 306 | ||
| 307 | #: directives.c:1278 | 307 | #: directives.c:1268 |
| 308 | #, c-format | 308 | #, c-format |
| 309 | msgid "#pragma %s %s is already registered" | 309 | msgid "#pragma %s %s is already registered" |
| 310 | msgstr "#pragma %s %s jam estas registrita" | 310 | msgstr "#pragma %s %s jam estas registrita" |
| 311 | 311 | ||
| 312 | #: directives.c:1281 | 312 | #: directives.c:1271 |
| 313 | #, c-format | 313 | #, c-format |
| 314 | msgid "#pragma %s is already registered" | 314 | msgid "#pragma %s is already registered" |
| 315 | msgstr "#pragma %s jam estas registrita" | 315 | msgstr "#pragma %s jam estas registrita" |
| 316 | 316 | ||
| 317 | #: directives.c:1311 | 317 | #: directives.c:1301 |
| 318 | msgid "registering pragma with NULL handler" | 318 | msgid "registering pragma with NULL handler" |
| 319 | msgstr "registro de pragma kun traktilo de NULL" | 319 | msgstr "registro de pragma kun traktilo de NULL" |
| 320 | 320 | ||
| 321 | #: directives.c:1528 | 321 | #: directives.c:1518 |
| 322 | msgid "#pragma once in main file" | 322 | msgid "#pragma once in main file" |
| 323 | msgstr "#pragma unufoje en ĉefdosiero" | 323 | msgstr "#pragma unufoje en ĉefdosiero" |
| 324 | 324 | ||
| 325 | #: directives.c:1551 | 325 | #: directives.c:1541 |
| 326 | msgid "invalid #pragma push_macro directive" | 326 | msgid "invalid #pragma push_macro directive" |
| 327 | msgstr "malvalida instrukcio #pragma push_macro" | 327 | msgstr "malvalida instrukcio #pragma push_macro" |
| 328 | 328 | ||
| 329 | #: directives.c:1606 | 329 | #: directives.c:1596 |
| 330 | msgid "invalid #pragma pop_macro directive" | 330 | msgid "invalid #pragma pop_macro directive" |
| 331 | msgstr "malvalida instrukcio #pragma pop_macro" | 331 | msgstr "malvalida instrukcio #pragma pop_macro" |
| 332 | 332 | ||
| 333 | #: directives.c:1661 | 333 | #: directives.c:1651 |
| 334 | msgid "invalid #pragma GCC poison directive" | 334 | msgid "invalid #pragma GCC poison directive" |
| 335 | msgstr "malvalida instrukcio #pragma GCC poison" | 335 | msgstr "malvalida instrukcio #pragma GCC poison" |
| 336 | 336 | ||
| 337 | #: directives.c:1670 | 337 | #: directives.c:1660 |
| 338 | #, c-format | 338 | #, c-format |
| 339 | msgid "poisoning existing macro \"%s\"" | 339 | msgid "poisoning existing macro \"%s\"" |
| 340 | msgstr "venenigo de ekzistanta makroo \"%s\"" | 340 | msgstr "venenigo de ekzistanta makroo \"%s\"" |
| 341 | 341 | ||
| 342 | #: directives.c:1689 | 342 | #: directives.c:1679 |
| 343 | msgid "#pragma system_header ignored outside include file" | 343 | msgid "#pragma system_header ignored outside include file" |
| 344 | msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero" | 344 | msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero" |
| 345 | 345 | ||
| 346 | #: directives.c:1714 | 346 | #: directives.c:1704 |
| 347 | #, c-format | 347 | #, c-format |
| 348 | msgid "cannot find source file %s" | 348 | msgid "cannot find source file %s" |
| 349 | msgstr "ne eblas trovi la fontan dosieron %s" | 349 | msgstr "ne eblas trovi la fontan dosieron %s" |
| 350 | 350 | ||
| 351 | #: directives.c:1718 | 351 | #: directives.c:1708 |
| 352 | #, c-format | 352 | #, c-format |
| 353 | msgid "current file is older than %s" | 353 | msgid "current file is older than %s" |
| 354 | msgstr "nuna dosiero estas pli malnova ol %s" | 354 | msgstr "nuna dosiero estas pli malnova ol %s" |
| 355 | 355 | ||
| 356 | #: directives.c:1742 | 356 | #: directives.c:1732 |
| 357 | #, c-format | 357 | #, c-format |
| 358 | msgid "invalid \"#pragma GCC %s\" directive" | 358 | msgid "invalid \"#pragma GCC %s\" directive" |
| 359 | msgstr "malvalida instrukcio \"#pragma GCC %s\"" | 359 | msgstr "malvalida instrukcio \"#pragma GCC %s\"" |
| 360 | 360 | ||
| 361 | #: directives.c:1943 | 361 | #: directives.c:1933 |
| 362 | msgid "_Pragma takes a parenthesized string literal" | 362 | msgid "_Pragma takes a parenthesized string literal" |
| 363 | msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon" | 363 | msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon" |
| 364 | 364 | ||
| 365 | #: directives.c:2064 | 365 | #: directives.c:2021 |
| 366 | msgid "#else without #if" | 366 | msgid "#else without #if" |
| 367 | msgstr "#else sen #if" | 367 | msgstr "#else sen #if" |
| 368 | 368 | ||
| 369 | #: directives.c:2069 | 369 | #: directives.c:2026 |
| 370 | msgid "#else after #else" | 370 | msgid "#else after #else" |
| 371 | msgstr "#else post #else" | 371 | msgstr "#else post #else" |
| 372 | 372 | ||
| 373 | #: directives.c:2071 directives.c:2104 | 373 | #: directives.c:2028 directives.c:2061 |
| 374 | msgid "the conditional began here" | 374 | msgid "the conditional began here" |
| 375 | msgstr "la kondiĉo komencis ĉi tie" | 375 | msgstr "la kondiĉo komencis ĉi tie" |
| 376 | 376 | ||
| 377 | #: directives.c:2097 | 377 | #: directives.c:2054 |
| 378 | msgid "#elif without #if" | 378 | msgid "#elif without #if" |
| 379 | msgstr "#elif sen #if" | 379 | msgstr "#elif sen #if" |
| 380 | 380 | ||
| 381 | #: directives.c:2102 | 381 | #: directives.c:2059 |
| 382 | msgid "#elif after #else" | 382 | msgid "#elif after #else" |
| 383 | msgstr "#elif post #else" | 383 | msgstr "#elif post #else" |
| 384 | 384 | ||
| 385 | #: directives.c:2133 | 385 | #: directives.c:2090 |
| 386 | msgid "#endif without #if" | 386 | msgid "#endif without #if" |
| 387 | msgstr "#endif sen #if" | 387 | msgstr "#endif sen #if" |
| 388 | 388 | ||
| 389 | #: directives.c:2213 | 389 | #: directives.c:2166 |
| 390 | msgid "missing '(' after predicate" | 390 | msgid "missing '(' after predicate" |
| 391 | msgstr "mankas '(' post predikato" | 391 | msgstr "mankas '(' post predikato" |
| 392 | 392 | ||
| 393 | #: directives.c:2228 | 393 | #: directives.c:2184 |
| 394 | msgid "missing ')' to complete answer" | 394 | msgid "missing ')' to complete answer" |
| 395 | msgstr "mankas ')' por kompletigi respondon" | 395 | msgstr "mankas ')' por kompletigi respondon" |
| 396 | 396 | ||
| 397 | #: directives.c:2248 | 397 | #: directives.c:2196 |
| 398 | msgid "predicate's answer is empty" | 398 | msgid "predicate's answer is empty" |
| 399 | msgstr "respondo de predikato estas malplena" | 399 | msgstr "respondo de predikato estas malplena" |
| 400 | 400 | ||
| 401 | #: directives.c:2275 | 401 | #: directives.c:2226 |
| 402 | msgid "assertion without predicate" | 402 | msgid "assertion without predicate" |
| 403 | msgstr "aserto sen predikato" | 403 | msgstr "aserto sen predikato" |
| 404 | 404 | ||
| 405 | #: directives.c:2278 | 405 | #: directives.c:2229 |
| 406 | msgid "predicate must be an identifier" | 406 | msgid "predicate must be an identifier" |
| 407 | msgstr "predikato devas esti identiganto" | 407 | msgstr "predikato devas esti identiganto" |
| 408 | 408 | ||
| 409 | #: directives.c:2364 | 409 | #: directives.c:2311 |
| 410 | #, c-format | 410 | #, c-format |
| 411 | msgid "\"%s\" re-asserted" | 411 | msgid "\"%s\" re-asserted" |
| 412 | msgstr "\"%s\" estas re-asertita" | 412 | msgstr "\"%s\" estas re-asertita" |
| 413 | 413 | ||
| 414 | #: directives.c:2656 | 414 | #: directives.c:2587 |
| 415 | #, c-format | 415 | #, c-format |
| 416 | msgid "unterminated #%s" | 416 | msgid "unterminated #%s" |
| 417 | msgstr "nefinigita #%s" | 417 | msgstr "nefinigita #%s" |
| 418 | 418 | ||
| 419 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 419 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 420 | msgid "unterminated comment" | 420 | msgid "unterminated comment" |
| 421 | msgstr "nefinigita komento" | 421 | msgstr "nefinigita komento" |
| 422 | 422 | ||
| 423 | #: errors.c:284 | 423 | #: errors.c:291 |
| 424 | #, c-format | 424 | #, c-format |
| 425 | msgid "%s: %s" | 425 | msgid "%s: %s" |
| 426 | msgstr "%s: %s" | 426 | msgstr "%s: %s" |
| 427 | 427 | ||
| 428 | #: errors.c:296 | 428 | #: errors.c:304 |
| 429 | msgid "stdout" | 429 | msgid "stdout" |
| 430 | msgstr "ĉefeligujo" | 430 | msgstr "ĉefeligujo" |
| 431 | 431 | ||
| @@ -518,84 +518,84 @@ msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)" · 86 unmodified lines | |||
| 518 | msgid "this use of \"defined\" may not be portable" | 518 | msgid "this use of \"defined\" may not be portable" |
| 519 | msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla" | 519 | msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla" |
| 520 | 520 | ||
| 521 | #: expr.c:1125 | 521 | #: expr.c:1109 |
| 522 | msgid "user-defined literal in preprocessor expression" | 522 | msgid "user-defined literal in preprocessor expression" |
| 523 | msgstr "uzant-difinita literaĵo en antaŭproceza esprimo" | 523 | msgstr "uzant-difinita literaĵo en antaŭproceza esprimo" |
| 524 | 524 | ||
| 525 | #: expr.c:1130 | 525 | #: expr.c:1114 |
| 526 | msgid "floating constant in preprocessor expression" | 526 | msgid "floating constant in preprocessor expression" |
| 527 | msgstr "glitkoma konstanto en antaŭproceza esprimo" | 527 | msgstr "glitkoma konstanto en antaŭproceza esprimo" |
| 528 | 528 | ||
| 529 | #: expr.c:1136 | 529 | #: expr.c:1120 |
| 530 | msgid "imaginary number in preprocessor expression" | 530 | msgid "imaginary number in preprocessor expression" |
| 531 | msgstr "imaginara numero en antaŭproceza esprimo" | 531 | msgstr "imaginara numero en antaŭproceza esprimo" |
| 532 | 532 | ||
| 533 | #: expr.c:1189 | 533 | #: expr.c:1173 |
| 534 | #, c-format | 534 | #, c-format |
| 535 | msgid "\"%s\" is not defined, evaluates to 0" | 535 | msgid "\"%s\" is not defined, evaluates to 0" |
| 536 | msgstr "\"%s\" ne estas difinita, rezultas al 0" | 536 | msgstr "\"%s\" ne estas difinita, rezultas al 0" |
| 537 | 537 | ||
| 538 | #: expr.c:1202 | 538 | #: expr.c:1186 |
| 539 | msgid "assertions are a GCC extension" | 539 | msgid "assertions are a GCC extension" |
| 540 | msgstr "asertoj estas aldono de GCC" | 540 | msgstr "asertoj estas aldono de GCC" |
| 541 | 541 | ||
| 542 | #: expr.c:1205 | 542 | #: expr.c:1189 |
| 543 | msgid "assertions are a deprecated extension" | 543 | msgid "assertions are a deprecated extension" |
| 544 | msgstr "asertoj estas evitinda aldono" | 544 | msgstr "asertoj estas evitinda aldono" |
| 545 | 545 | ||
| 546 | #: expr.c:1451 | 546 | #: expr.c:1435 |
| 547 | #, c-format | 547 | #, c-format |
| 548 | msgid "unbalanced stack in %s" | 548 | msgid "unbalanced stack in %s" |
| 549 | msgstr "neekvilibrita stako en %s" | 549 | msgstr "neekvilibrita stako en %s" |
| 550 | 550 | ||
| 551 | #: expr.c:1471 | 551 | #: expr.c:1455 |
| 552 | #, c-format | 552 | #, c-format |
| 553 | msgid "impossible operator '%u'" | 553 | msgid "impossible operator '%u'" |
| 554 | msgstr "neebla operatoro '%u'" | 554 | msgstr "neebla operatoro '%u'" |
| 555 | 555 | ||
| 556 | #: expr.c:1572 | 556 | #: expr.c:1556 |
| 557 | msgid "missing ')' in expression" | 557 | msgid "missing ')' in expression" |
| 558 | msgstr "mankas ')' en esprimo" | 558 | msgstr "mankas ')' en esprimo" |
| 559 | 559 | ||
| 560 | #: expr.c:1601 | 560 | #: expr.c:1585 |
| 561 | msgid "'?' without following ':'" | 561 | msgid "'?' without following ':'" |
| 562 | msgstr "'?' sen sekvanta ':'" | 562 | msgstr "'?' sen sekvanta ':'" |
| 563 | 563 | ||
| 564 | #: expr.c:1611 | 564 | #: expr.c:1595 |
| 565 | msgid "integer overflow in preprocessor expression" | 565 | msgid "integer overflow in preprocessor expression" |
| 566 | msgstr "entjera troigo en antaŭproceza esprimo" | 566 | msgstr "entjera troigo en antaŭproceza esprimo" |
| 567 | 567 | ||
| 568 | #: expr.c:1616 | 568 | #: expr.c:1600 |
| 569 | msgid "missing '(' in expression" | 569 | msgid "missing '(' in expression" |
| 570 | msgstr "mankas '(' en esprimo" | 570 | msgstr "mankas '(' en esprimo" |
| 571 | 571 | ||
| 572 | #: expr.c:1648 | 572 | #: expr.c:1632 |
| 573 | #, c-format | 573 | #, c-format |
| 574 | msgid "the left operand of \"%s\" changes sign when promoted" | 574 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 575 | msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita" | 575 | msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita" |
| 576 | 576 | ||
| 577 | #: expr.c:1653 | 577 | #: expr.c:1637 |
| 578 | #, c-format | 578 | #, c-format |
| 579 | msgid "the right operand of \"%s\" changes sign when promoted" | 579 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 580 | msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita" | 580 | msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita" |
| 581 | 581 | ||
| 582 | #: expr.c:1912 | 582 | #: expr.c:1896 |
| 583 | msgid "traditional C rejects the unary plus operator" | 583 | msgid "traditional C rejects the unary plus operator" |
| 584 | msgstr "tradicia C rifuzas la unuloka plusan operatoron" | 584 | msgstr "tradicia C rifuzas la unuloka plusan operatoron" |
| 585 | 585 | ||
| 586 | #: expr.c:2010 | 586 | #: expr.c:1994 |
| 587 | msgid "comma operator in operand of #if" | 587 | msgid "comma operator in operand of #if" |
| 588 | msgstr "koma operatoro en operaciado de #if" | 588 | msgstr "koma operatoro en operaciado de #if" |
| 589 | 589 | ||
| 590 | #: expr.c:2146 | 590 | #: expr.c:2130 |
| 591 | msgid "division by zero in #if" | 591 | msgid "division by zero in #if" |
| 592 | msgstr "divido per nulo en #if" | 592 | msgstr "divido per nulo en #if" |
| 593 | 593 | ||
| 594 | #: expr.c:2243 | 594 | #: expr.c:2227 |
| 595 | msgid "operator \"__has_include__\" requires a header string" | 595 | msgid "operator \"__has_include__\" requires a header string" |
| 596 | msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon" | 596 | msgstr "la operatoro \"__has_include__\" postulas kapan ĉenon" |
| 597 | 597 | ||
| 598 | #: expr.c:2259 | 598 | #: expr.c:2243 |
| 599 | msgid "missing ')' after \"__has_include__\"" | 599 | msgid "missing ')' after \"__has_include__\"" |
| 600 | msgstr "mankas ')' post \"__has_include__\"" | 600 | msgstr "mankas ')' post \"__has_include__\"" |
| 601 | 601 | ||
| @@ -612,40 +612,40 @@ msgstr "uzu -Winvalid-pch por pli da informo" · 10 unmodified lines | |||
| 612 | msgid "no include path in which to search for %s" | 612 | msgid "no include path in which to search for %s" |
| 613 | msgstr "estas neniu inkluziva vojo por serĉi %s" | 613 | msgstr "estas neniu inkluziva vojo por serĉi %s" |
| 614 | 614 | ||
| 615 | #: files.c:1441 | 615 | #: files.c:1455 |
| 616 | msgid "Multiple include guards may be useful for:\n" | 616 | msgid "Multiple include guards may be useful for:\n" |
| 617 | msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n" | 617 | msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n" |
| 618 | 618 | ||
| 619 | #: init.c:565 | 619 | #: init.c:569 |
| 620 | msgid "cppchar_t must be an unsigned type" | 620 | msgid "cppchar_t must be an unsigned type" |
| 621 | msgstr "cppchar_t devas esti sensignuma tipo" | 621 | msgstr "cppchar_t devas esti sensignuma tipo" |
| 622 | 622 | ||
| 623 | #: init.c:569 | 623 | #: init.c:573 |
| 624 | #, c-format | 624 | #, c-format |
| 625 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 625 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 626 | msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn" | 626 | msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn" |
| 627 | 627 | ||
| 628 | #: init.c:576 | 628 | #: init.c:580 |
| 629 | msgid "CPP arithmetic must be at least as precise as a target int" | 629 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 630 | msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int" | 630 | msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int" |
| 631 | 631 | ||
| 632 | #: init.c:579 | 632 | #: init.c:583 |
| 633 | msgid "target char is less than 8 bits wide" | 633 | msgid "target char is less than 8 bits wide" |
| 634 | msgstr "la celata char estas pli eta ol 8 bitoj" | 634 | msgstr "la celata char estas pli eta ol 8 bitoj" |
| 635 | 635 | ||
| 636 | #: init.c:583 | 636 | #: init.c:587 |
| 637 | msgid "target wchar_t is narrower than target char" | 637 | msgid "target wchar_t is narrower than target char" |
| 638 | msgstr "la celata wchar_t estas pli mallarĝa ol la celata char" | 638 | msgstr "la celata wchar_t estas pli mallarĝa ol la celata char" |
| 639 | 639 | ||
| 640 | #: init.c:587 | 640 | #: init.c:591 |
| 641 | msgid "target int is narrower than target char" | 641 | msgid "target int is narrower than target char" |
| 642 | msgstr "la celata int estas pli mallarĝa ol la celata char" | 642 | msgstr "la celata int estas pli mallarĝa ol la celata char" |
| 643 | 643 | ||
| 644 | #: init.c:592 | 644 | #: init.c:596 |
| 645 | msgid "CPP half-integer narrower than CPP character" | 645 | msgid "CPP half-integer narrower than CPP character" |
| 646 | msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP" | 646 | msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP" |
| 647 | 647 | ||
| 648 | #: init.c:596 | 648 | #: init.c:600 |
| 649 | #, c-format | 649 | #, c-format |
| 650 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 650 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 651 | msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn" | 651 | msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn" |
| @@ -717,258 +717,273 @@ msgstr "__VA_ARGS__ nur povas aperi en la disvolviĝo de variebl-argumenta makro · 65 unmodified lines | |||
| 717 | msgid "identifier \"%s\" is a special operator name in C++" | 717 | msgid "identifier \"%s\" is a special operator name in C++" |
| 718 | msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++" | 718 | msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++" |
| 719 | 719 | ||
| 720 | #: lex.c:1811 | 720 | #: lex.c:1826 |
| 721 | msgid "raw string delimiter longer than 16 characters" | 721 | msgid "raw string delimiter longer than 16 characters" |
| 722 | msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj" | 722 | msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj" |
| 723 | 723 | ||
| 724 | #: lex.c:1815 | 724 | #: lex.c:1830 |
| 725 | msgid "invalid new-line in raw string delimiter" | 725 | msgid "invalid new-line in raw string delimiter" |
| 726 | msgstr "malvalida nov-linio en kruda ĉen-apartigilo" | 726 | msgstr "malvalida nov-linio en kruda ĉen-apartigilo" |
| 727 | 727 | ||
| 728 | #: lex.c:1819 | 728 | #: lex.c:1834 |
| 729 | #, c-format | 729 | #, c-format |
| 730 | msgid "invalid character '%c' in raw string delimiter" | 730 | msgid "invalid character '%c' in raw string delimiter" |
| 731 | msgstr "malvalida signo '%c' en kruda ĉen-apartigilo" | 731 | msgstr "malvalida signo '%c' en kruda ĉen-apartigilo" |
| 732 | 732 | ||
| 733 | #: lex.c:1868 lex.c:1890 | 733 | #: lex.c:1883 lex.c:1905 |
| 734 | msgid "unterminated raw string" | 734 | msgid "unterminated raw string" |
| 735 | msgstr "nefinigita kruda ĉeno" | 735 | msgstr "nefinigita kruda ĉeno" |
| 736 | 736 | ||
| 737 | #: lex.c:1912 lex.c:2043 | 737 | #: lex.c:1925 lex.c:2054 |
| 738 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 738 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 739 | msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo" | 739 | msgstr "malvalida sufikso en literaĵo; C++11 postulas spacon inter literaĵo kaj ĉena makroo" |
| 740 | 740 | ||
| 741 | #: lex.c:2024 | 741 | #: lex.c:2037 |
| 742 | msgid "null character(s) preserved in literal" | 742 | msgid "null character(s) preserved in literal" |
| 743 | msgstr "nul-signo(j) tenitaj en literaĵo" | 743 | msgstr "nul-signo(j) tenitaj en literaĵo" |
| 744 | 744 | ||
| 745 | #: lex.c:2027 | 745 | #: lex.c:2040 |
| 746 | #, c-format | 746 | #, c-format |
| 747 | msgid "missing terminating %c character" | 747 | msgid "missing terminating %c character" |
| 748 | msgstr "mankas finigantan signon %c" | 748 | msgstr "mankas finigantan signon %c" |
| 749 | 749 | ||
| 750 | #: lex.c:2061 | 750 | #: lex.c:2072 |
| 751 | msgid "C++11 requires a space between string literal and macro" | 751 | msgid "C++11 requires a space between string literal and macro" |
| 752 | msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo" | 752 | msgstr "C++11 postulas spacon inter ĉena literaĵo kaj makroo" |
| 753 | 753 | ||
| 754 | #: lex.c:2865 lex.c:2899 | 754 | #: lex.c:2876 lex.c:2910 |
| 755 | msgid "C++ style comments are not allowed in ISO C90" | 755 | msgid "C++ style comments are not allowed in ISO C90" |
| 756 | msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90" | 756 | msgstr "Komentoj laŭ estilo de C++ ne estas permesataj en ISO C90" |
| 757 | 757 | ||
| 758 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 758 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 759 | msgid "(this will be reported only once per input file)" | 759 | msgid "(this will be reported only once per input file)" |
| 760 | msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)" | 760 | msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)" |
| 761 | 761 | ||
| 762 | #: lex.c:2876 | 762 | #: lex.c:2887 |
| 763 | msgid "C++ style comments are incompatible with C90" | 763 | msgid "C++ style comments are incompatible with C90" |
| 764 | msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90" | 764 | msgstr "Komentoj laŭ estilo de C++ ne interakordas kun C90" |
| 765 | 765 | ||
| 766 | #: lex.c:2907 | 766 | #: lex.c:2919 |
| 767 | msgid "multi-line comment" | 767 | msgid "multi-line comment" |
| 768 | msgstr "plurlinia komento" | 768 | msgstr "plurlinia komento" |
| 769 | 769 | ||
| 770 | #: lex.c:3287 | 770 | #: lex.c:3299 |
| 771 | #, c-format | 771 | #, c-format |
| 772 | msgid "unspellable token %s" | 772 | msgid "unspellable token %s" |
| 773 | msgstr "neliterumebla ĵetono %s" | 773 | msgstr "neliterumebla ĵetono %s" |
| 774 | 774 | ||
| 775 | #: macro.c:93 | 775 | #: macro.c:94 |
| 776 | msgid "'##' cannot appear at either end of __VA_OPT__" | 776 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 777 | msgstr "'##' ne povas aperi ĉe iu ajn flanko de __VA_OPT__" | 777 | msgstr "'##' ne povas aperi ĉe iu ajn flanko de __VA_OPT__" |
| 778 | 778 | ||
| 779 | #: macro.c:352 | 779 | #: macro.c:354 |
| 780 | #, c-format | 780 | #, c-format |
| 781 | msgid "macro \"%s\" is not used" | 781 | msgid "macro \"%s\" is not used" |
| 782 | msgstr "makroo \"%s\" ne estas uzata" | 782 | msgstr "makroo \"%s\" ne estas uzata" |
| 783 | 783 | ||
| 784 | #: macro.c:391 macro.c:639 | 784 | #: macro.c:393 macro.c:641 |
| 785 | #, c-format | 785 | #, c-format |
| 786 | msgid "invalid built-in macro \"%s\"" | 786 | msgid "invalid built-in macro \"%s\"" |
| 787 | msgstr "malvalida enkonstruita makroo \"%s\"" | 787 | msgstr "malvalida enkonstruita makroo \"%s\"" |
| 788 | 788 | ||
| 789 | #: macro.c:398 macro.c:500 | 789 | #: macro.c:400 macro.c:502 |
| 790 | #, c-format | 790 | #, c-format |
| 791 | msgid "macro \"%s\" might prevent reproducible builds" | 791 | msgid "macro \"%s\" might prevent reproducible builds" |
| 792 | msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn" | 792 | msgstr "la makroo \"%s\" povos malebligi reprodukteblajn konstruojn" |
| 793 | 793 | ||
| 794 | #: macro.c:429 | 794 | #: macro.c:431 |
| 795 | msgid "could not determine file timestamp" | 795 | msgid "could not determine file timestamp" |
| 796 | msgstr "ne eblis determini la dosieran tempomarkon" | 796 | msgstr "ne eblis determini la dosieran tempomarkon" |
| 797 | 797 | ||
| 798 | #: macro.c:546 | 798 | #: macro.c:548 |
| 799 | msgid "could not determine date and time" | 799 | msgid "could not determine date and time" |
| 800 | msgstr "ne eblis determini la daton kaj horon" | 800 | msgstr "ne eblis determini la daton kaj horon" |
| 801 | 801 | ||
| 802 | #: macro.c:562 | 802 | #: macro.c:564 |
| 803 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 803 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 804 | msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only" | 804 | msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only" |
| 805 | 805 | ||
| 806 | #: macro.c:758 | 806 | #: macro.c:760 |
| 807 | msgid "invalid string literal, ignoring final '\\'" | 807 | msgid "invalid string literal, ignoring final '\\'" |
| 808 | msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'" | 808 | msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'" |
| 809 | 809 | ||
| 810 | #: macro.c:820 | 810 | #: macro.c:822 |
| 811 | #, c-format | 811 | #, c-format |
| 812 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 812 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 813 | msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono" | 813 | msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono" |
| 814 | 814 | ||
| 815 | #: macro.c:946 | 815 | #: macro.c:948 |
| 816 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 816 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 817 | msgstr "ISO C++11 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo" | 817 | msgstr "ISO C++11 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo" |
| 818 | 818 | ||
| 819 | #: macro.c:950 | 819 | #: macro.c:952 |
| 820 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 820 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 821 | msgstr "ISO C99 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo" | 821 | msgstr "ISO C99 postulas minimume unu argumenton por la \"...\" en variebl-argumenta makroo" |
| 822 | 822 | ||
| 823 | #: macro.c:957 | 823 | #: macro.c:959 |
| 824 | #, c-format | 824 | #, c-format |
| 825 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 825 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 826 | msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj" | 826 | msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj" |
| 827 | 827 | ||
| 828 | #: macro.c:962 | 828 | #: macro.c:964 |
| 829 | #, c-format | 829 | #, c-format |
| 830 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 830 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 831 | msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u" | 831 | msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u" |
| 832 | 832 | ||
| 833 | #: macro.c:1156 traditional.c:819 | 833 | #: macro.c:1162 traditional.c:827 |
| 834 | #, c-format | 834 | #, c-format |
| 835 | msgid "unterminated argument list invoking macro \"%s\"" | 835 | msgid "unterminated argument list invoking macro \"%s\"" |
| 836 | msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\"" | 836 | msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\"" |
| 837 | 837 | ||
| 838 | #: macro.c:1307 | 838 | #: macro.c:1304 |
| 839 | #, c-format | 839 | #, c-format |
| 840 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 840 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 841 | msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C" | 841 | msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C" |
| 842 | 842 | ||
| 843 | #: macro.c:2003 | 843 | #: macro.c:2083 |
| 844 | #, c-format | 844 | #, c-format |
| 845 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 845 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 846 | msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C++98" | 846 | msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C++98" |
| 847 | 847 | ||
| 848 | #: macro.c:2011 macro.c:2020 | 848 | #: macro.c:2091 macro.c:2100 |
| 849 | #, c-format | 849 | #, c-format |
| 850 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 850 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 851 | msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90" | 851 | msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90" |
| 852 | 852 | ||
| 853 | #: macro.c:2984 | 853 | #: macro.c:3059 |
| 854 | #, c-format | 854 | #, c-format |
| 855 | msgid "duplicate macro parameter \"%s\"" | 855 | msgid "duplicate macro parameter \"%s\"" |
| 856 | msgstr "duobligata makro-parametro \"%s\"" | 856 | msgstr "duobligata makro-parametro \"%s\"" |
| 857 | 857 | ||
| 858 | #: macro.c:3033 | 858 | #: macro.c:3141 |
| 859 | #, c-format | ||
| 860 | msgid "expected parameter name, found \"%s\"" | ||
| 861 | msgstr "atendinte parametran nomon, ni trovis \"%s\"" | ||
| 862 | |||
| 863 | #: macro.c:3142 | ||
| 859 | #, c-format | 864 | #, c-format |
| 860 | msgid "\"%s\" may not appear in macro parameter list" | 865 | msgid "expected ',' or ')', found \"%s\"" |
| 861 | msgstr "\"%s\" ne povas aperi en makroa parametro-listo" | 866 | msgstr "atendinte ',' aŭ ')', ni trovis \"%s\"" |
| 862 | 867 | ||
| 863 | #: macro.c:3041 | 868 | #: macro.c:3143 |
| 864 | msgid "macro parameters must be comma-separated" | 869 | msgid "expected parameter name before end of line" |
| 865 | msgstr "makro-parametroj devas esti apartitaj per komoj" | 870 | msgstr "ni atendis parametran nomon antaŭ lini-fino" |
| 866 | 871 | ||
| 867 | #: macro.c:3060 | 872 | #: macro.c:3144 |
| 868 | msgid "parameter name missing" | 873 | msgid "expected ')' before end of line" |
| 869 | msgstr "mankas parametra nomo" | 874 | msgstr "ni atendis ')' antaŭ lini-fino" |
| 870 | 875 | ||
| 871 | #: macro.c:3081 | 876 | #: macro.c:3145 |
| 877 | msgid "expected ')' after \"...\"" | ||
| 878 | msgstr "ni atendis ')' post \"...\"" | ||
| 879 | |||
| 880 | #: macro.c:3202 | ||
| 872 | msgid "anonymous variadic macros were introduced in C++11" | 881 | msgid "anonymous variadic macros were introduced in C++11" |
| 873 | msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11" | 882 | msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C++11" |
| 874 | 883 | ||
| 875 | #: macro.c:3085 macro.c:3090 | 884 | #: macro.c:3203 macro.c:3207 |
| 876 | msgid "anonymous variadic macros were introduced in C99" | 885 | msgid "anonymous variadic macros were introduced in C99" |
| 877 | msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99" | 886 | msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99" |
| 878 | 887 | ||
| 879 | #: macro.c:3097 | 888 | #: macro.c:3213 |
| 880 | msgid "ISO C++ does not permit named variadic macros" | 889 | msgid "ISO C++ does not permit named variadic macros" |
| 881 | msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn" | 890 | msgstr "ISO C++ ne permesas nomitajn variebl-argumentajn makroojn" |
| 882 | 891 | ||
| 883 | #: macro.c:3100 | 892 | #: macro.c:3214 |
| 884 | msgid "ISO C does not permit named variadic macros" | 893 | msgid "ISO C does not permit named variadic macros" |
| 885 | msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn" | 894 | msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn" |
| 886 | 895 | ||
| 887 | #: macro.c:3110 | 896 | #: macro.c:3260 |
| 888 | msgid "missing ')' in macro parameter list" | ||
| 889 | msgstr "mankas ')' en makroa parametro-listo" | ||
| 890 | |||
| 891 | #: macro.c:3161 | ||
| 892 | msgid "'##' cannot appear at either end of a macro expansion" | 897 | msgid "'##' cannot appear at either end of a macro expansion" |
| 893 | msgstr "'##' ne povas aperi ĉe iu ajn flanko de makroa disvolviĝo" | 898 | msgstr "'##' ne povas aperi ĉe iu ajn flanko de makroa disvolviĝo" |
| 894 | 899 | ||
| 895 | #: macro.c:3198 | 900 | #: macro.c:3298 |
| 896 | msgid "ISO C++11 requires whitespace after the macro name" | 901 | msgid "ISO C++11 requires whitespace after the macro name" |
| 897 | msgstr "ISO C++11 postulas blankspacon post la makroa nomo" | 902 | msgstr "ISO C++11 postulas blankspacon post la makroa nomo" |
| 898 | 903 | ||
| 899 | #: macro.c:3201 | 904 | #: macro.c:3299 |
| 900 | msgid "ISO C99 requires whitespace after the macro name" | 905 | msgid "ISO C99 requires whitespace after the macro name" |
| 901 | msgstr "ISO C99 postulas blankspacon post la makroa nomo" | 906 | msgstr "ISO C99 postulas blankspacon post la makroa nomo" |
| 902 | 907 | ||
| 903 | #: macro.c:3226 | 908 | #: macro.c:3323 |
| 904 | msgid "missing whitespace after the macro name" | 909 | msgid "missing whitespace after the macro name" |
| 905 | msgstr "mankas blankspacon post la makroa nomo" | 910 | msgstr "mankas blankspacon post la makroa nomo" |
| 906 | 911 | ||
| 907 | #: macro.c:3263 | 912 | #: macro.c:3373 |
| 908 | msgid "'#' is not followed by a macro parameter" | 913 | msgid "'#' is not followed by a macro parameter" |
| 909 | msgstr "'#' ne estas sekvata de makroa parametro" | 914 | msgstr "'#' ne estas sekvata de makroa parametro" |
| 910 | 915 | ||
| 911 | #: macro.c:3430 | 916 | #: macro.c:3524 |
| 912 | #, c-format | 917 | #, c-format |
| 913 | msgid "\"%s\" redefined" | 918 | msgid "\"%s\" redefined" |
| 914 | msgstr "\"%s\" estas redifinita" | 919 | msgstr "\"%s\" estas redifinita" |
| 915 | 920 | ||
| 916 | #: macro.c:3435 | 921 | #: macro.c:3529 |
| 917 | msgid "this is the location of the previous definition" | 922 | msgid "this is the location of the previous definition" |
| 918 | msgstr "tiu ĉi estas la loko de la antaŭa difino" | 923 | msgstr "tiu ĉi estas la loko de la antaŭa difino" |
| 919 | 924 | ||
| 920 | #: macro.c:3496 | 925 | #: macro.c:3633 |
| 921 | #, c-format | 926 | #, c-format |
| 922 | msgid "macro argument \"%s\" would be stringified in traditional C" | 927 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 923 | msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C" | 928 | msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C" |
| 924 | 929 | ||
| 925 | #: macro.c:3532 | 930 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 926 | #, c-format | ||
| 927 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 928 | msgstr "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 | ||
| 931 | msgid "while writing precompiled header" | 931 | msgid "while writing precompiled header" |
| 932 | msgstr "dum skribo de antaŭkompilita kapo" | 932 | msgstr "dum skribo de antaŭkompilita kapo" |
| 933 | 933 | ||
| 934 | #: pch.c:621 | 934 | #: pch.c:616 |
| 935 | #, c-format | 935 | #, c-format |
| 936 | msgid "%s: not used because `%.*s' is poisoned" | 936 | msgid "%s: not used because `%.*s' is poisoned" |
| 937 | msgstr "%s: ne uzata ĉar '%.*s' estas venenita" | 937 | msgstr "%s: ne uzata ĉar '%.*s' estas venenita" |
| 938 | 938 | ||
| 939 | #: pch.c:643 | 939 | #: pch.c:638 |
| 940 | #, c-format | 940 | #, c-format |
| 941 | msgid "%s: not used because `%.*s' not defined" | 941 | msgid "%s: not used because `%.*s' not defined" |
| 942 | msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita" | 942 | msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita" |
| 943 | 943 | ||
| 944 | #: pch.c:655 | 944 | #: pch.c:650 |
| 945 | #, c-format | 945 | #, c-format |
| 946 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 946 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 947 | msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'" | 947 | msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'" |
| 948 | 948 | ||
| 949 | #: pch.c:696 | 949 | #: pch.c:691 |
| 950 | #, c-format | 950 | #, c-format |
| 951 | msgid "%s: not used because `%s' is defined" | 951 | msgid "%s: not used because `%s' is defined" |
| 952 | msgstr "%s: ne uzata ĉar '%s' estas difinita" | 952 | msgstr "%s: ne uzata ĉar '%s' estas difinita" |
| 953 | 953 | ||
| 954 | #: pch.c:716 | 954 | #: pch.c:711 |
| 955 | #, c-format | 955 | #, c-format |
| 956 | msgid "%s: not used because `__COUNTER__' is invalid" | 956 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 957 | msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida" | 957 | msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida" |
| 958 | 958 | ||
| 959 | #: pch.c:725 pch.c:903 | 959 | #: pch.c:720 pch.c:878 |
| 960 | msgid "while reading precompiled header" | 960 | msgid "while reading precompiled header" |
| 961 | msgstr "dum lego de antaŭkompilita kapo" | 961 | msgstr "dum lego de antaŭkompilita kapo" |
| 962 | 962 | ||
| 963 | #: traditional.c:889 | 963 | #: traditional.c:896 |
| 964 | #, c-format | 964 | #, c-format |
| 965 | msgid "detected recursion whilst expanding macro \"%s\"" | 965 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 966 | msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\"" | 966 | msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\"" |
| 967 | 967 | ||
| 968 | #: traditional.c:1108 | 968 | #: traditional.c:1119 |
| 969 | msgid "syntax error in macro parameter list" | 969 | msgid "syntax error in macro parameter list" |
| 970 | msgstr "sintaksa eraro en makroa parametro-listo" | 970 | msgstr "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 | ||
Binary file not shown.
| @@ -7,7 +7,7 @@ msgid "" · 6 unmodified lines | |||
| 7 | msgstr "" | 7 | msgstr "" |
| 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 | |||
| 87 | msgid "universal character %.*s is not valid at the start of an identifier" | 87 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 88 | msgstr "el carácter universal %.*s no es válido al inicio de un identificador" | 88 | msgstr "el carácter universal %.*s no es válido al inicio de un identificador" |
| 89 | 89 | ||
| 90 | #: charset.c:1181 charset.c:2000 | 90 | #: charset.c:1181 charset.c:2002 |
| 91 | msgid "converting UCN to source character set" | 91 | msgid "converting UCN to source character set" |
| 92 | msgstr "convirtiendo un NUC al conjunto de caracteres fuente" | 92 | msgstr "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 | |||
| 138 | msgid "missing open quote" | 138 | msgid "missing open quote" |
| 139 | msgstr "falta comilla abierta" | 139 | msgstr "falta comilla abierta" |
| 140 | 140 | ||
| 141 | #: charset.c:1827 charset.c:1891 | 141 | #: charset.c:1829 charset.c:1893 |
| 142 | msgid "character constant too long for its type" | 142 | msgid "character constant too long for its type" |
| 143 | msgstr "constante de carácter demasiado grande para su tipo" | 143 | msgstr "constante de carácter demasiado grande para su tipo" |
| 144 | 144 | ||
| 145 | #: charset.c:1830 | 145 | #: charset.c:1832 |
| 146 | msgid "multi-character character constant" | 146 | msgid "multi-character character constant" |
| 147 | msgstr "constante de carácter con múltiples caracteres" | 147 | msgstr "constante de carácter con múltiples caracteres" |
| 148 | 148 | ||
| 149 | #: charset.c:1931 | 149 | #: charset.c:1933 |
| 150 | msgid "empty character constant" | 150 | msgid "empty character constant" |
| 151 | msgstr "constante de carácter vacía" | 151 | msgstr "constante de carácter vacía" |
| 152 | 152 | ||
| 153 | #: charset.c:2047 | 153 | #: charset.c:2049 |
| 154 | #, c-format | 154 | #, c-format |
| 155 | msgid "failure to convert %s to %s" | 155 | msgid "failure to convert %s to %s" |
| 156 | msgstr "no se puede convertir %s a %s" | 156 | msgstr "no se puede convertir %s a %s" |
| 157 | 157 | ||
| 158 | #: directives.c:235 directives.c:278 | 158 | #: directives.c:229 directives.c:272 |
| 159 | #, c-format | 159 | #, c-format |
| 160 | msgid "extra tokens at end of #%s directive" | 160 | msgid "extra tokens at end of #%s directive" |
| 161 | msgstr "elementos extra al final de la directiva #%s" | 161 | msgstr "elementos extra al final de la directiva #%s" |
| 162 | 162 | ||
| 163 | #: directives.c:385 | 163 | #: directives.c:379 |
| 164 | #, c-format | 164 | #, c-format |
| 165 | msgid "#%s is a GCC extension" | 165 | msgid "#%s is a GCC extension" |
| 166 | msgstr "#%s es una extensión de GCC" | 166 | msgstr "#%s es una extensión de GCC" |
| 167 | 167 | ||
| 168 | #: directives.c:390 | 168 | #: directives.c:384 |
| 169 | #, c-format | 169 | #, c-format |
| 170 | msgid "#%s is a deprecated GCC extension" | 170 | msgid "#%s is a deprecated GCC extension" |
| 171 | msgstr "#%s es una extensión de GCC obsoleta" | 171 | msgstr "#%s es una extensión de GCC obsoleta" |
| 172 | 172 | ||
| 173 | #: directives.c:403 | 173 | #: directives.c:397 |
| 174 | msgid "suggest not using #elif in traditional C" | 174 | msgid "suggest not using #elif in traditional C" |
| 175 | msgstr "se sugiere no usar #elif en C tradicional" | 175 | msgstr "se sugiere no usar #elif en C tradicional" |
| 176 | 176 | ||
| 177 | #: directives.c:406 | 177 | #: directives.c:400 |
| 178 | #, c-format | 178 | #, c-format |
| 179 | msgid "traditional C ignores #%s with the # indented" | 179 | msgid "traditional C ignores #%s with the # indented" |
| 180 | msgstr "C tradicional ignora #%s con el # indentado" | 180 | msgstr "C tradicional ignora #%s con el # indentado" |
| 181 | 181 | ||
| 182 | #: directives.c:410 | 182 | #: directives.c:404 |
| 183 | #, c-format | 183 | #, c-format |
| 184 | msgid "suggest hiding #%s from traditional C with an indented #" | 184 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 185 | msgstr "se sugiere ocultar #%s de C tradicional con un # indentado" | 185 | msgstr "se sugiere ocultar #%s de C tradicional con un # indentado" |
| 186 | 186 | ||
| 187 | #: directives.c:436 | 187 | #: directives.c:430 |
| 188 | msgid "embedding a directive within macro arguments is not portable" | 188 | msgid "embedding a directive within macro arguments is not portable" |
| 189 | msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable" | 189 | msgstr "imbuir una directiva dentro de los argumentos de una macro no es transportable" |
| 190 | 190 | ||
| 191 | #: directives.c:456 | 191 | #: directives.c:450 |
| 192 | msgid "style of line directive is a GCC extension" | 192 | msgid "style of line directive is a GCC extension" |
| 193 | msgstr "la directiva de estilo de línea es una extensión de GCC" | 193 | msgstr "la directiva de estilo de línea es una extensión de GCC" |
| 194 | 194 | ||
| 195 | #: directives.c:537 | 195 | #: directives.c:531 |
| 196 | #, c-format | 196 | #, c-format |
| 197 | msgid "invalid preprocessing directive #%s" | 197 | msgid "invalid preprocessing directive #%s" |
| 198 | msgstr "directiva de preprocesamiento #%s inválida" | 198 | msgstr "directiva de preprocesamiento #%s inválida" |
| 199 | 199 | ||
| 200 | #: directives.c:606 | 200 | #: directives.c:600 |
| 201 | msgid "\"defined\" cannot be used as a macro name" | 201 | msgid "\"defined\" cannot be used as a macro name" |
| 202 | msgstr "«defined» no se puede utilizarse como un nombre de macro" | 202 | msgstr "«defined» no se puede utilizarse como un nombre de macro" |
| 203 | 203 | ||
| 204 | #: directives.c:611 | 204 | #: directives.c:605 |
| 205 | msgid "\"__has_include__\" cannot be used as a macro name" | 205 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 206 | msgstr "\"__has_include__\" no puede ser usado como un nombre de macro" | 206 | msgstr "\"__has_include__\" no puede ser usado como un nombre de macro" |
| 207 | 207 | ||
| 208 | #: directives.c:617 | 208 | #: directives.c:611 |
| 209 | #, c-format | 209 | #, c-format |
| 210 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 210 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 211 | msgstr "no se puede usar «%s» como un nombre de macro porque es un operador en C++" | 211 | msgstr "no se puede usar «%s» como un nombre de macro porque es un operador en C++" |
| 212 | 212 | ||
| 213 | #: directives.c:620 | 213 | #: directives.c:614 |
| 214 | #, c-format | 214 | #, c-format |
| 215 | msgid "no macro name given in #%s directive" | 215 | msgid "no macro name given in #%s directive" |
| 216 | msgstr "no se dio un nombre de macro en la directiva #%s" | 216 | msgstr "no se dio un nombre de macro en la directiva #%s" |
| 217 | 217 | ||
| 218 | #: directives.c:623 | 218 | #: directives.c:617 |
| 219 | msgid "macro names must be identifiers" | 219 | msgid "macro names must be identifiers" |
| 220 | msgstr "los nombres de macro deben ser identificadores" | 220 | msgstr "los nombres de macro deben ser identificadores" |
| 221 | 221 | ||
| 222 | #: directives.c:672 directives.c:677 | 222 | #: directives.c:666 directives.c:671 |
| 223 | #, c-format | 223 | #, c-format |
| 224 | msgid "undefining \"%s\"" | 224 | msgid "undefining \"%s\"" |
| 225 | msgstr "borrando la definición de «%s»" | 225 | msgstr "borrando la definición de «%s»" |
| 226 | 226 | ||
| 227 | #: directives.c:732 | 227 | #: directives.c:727 |
| 228 | msgid "missing terminating > character" | 228 | msgid "missing terminating > character" |
| 229 | msgstr "falta el carácter de terminación >" | 229 | msgstr "falta el carácter de terminación >" |
| 230 | 230 | ||
| 231 | #: directives.c:791 | 231 | #: directives.c:786 |
| 232 | #, c-format | 232 | #, c-format |
| 233 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 233 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 234 | msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>" | 234 | msgstr "#%s espera «NOMBREFICHERO» o <NOMBREFICHERO>" |
| 235 | 235 | ||
| 236 | #: directives.c:837 | 236 | #: directives.c:828 |
| 237 | #, c-format | 237 | #, c-format |
| 238 | msgid "empty filename in #%s" | 238 | msgid "empty filename in #%s" |
| 239 | msgstr "nombre de fichero vacío en #%s" | 239 | msgstr "nombre de fichero vacío en #%s" |
| 240 | 240 | ||
| 241 | #: directives.c:847 | 241 | #: directives.c:835 |
| 242 | msgid "#include nested too deeply" | 242 | msgid "#include nested too deeply" |
| 243 | msgstr "#include anidado con demasiada profundidad" | 243 | msgstr "#include anidado con demasiada profundidad" |
| 244 | 244 | ||
| 245 | #: directives.c:888 | 245 | #: directives.c:877 |
| 246 | msgid "#include_next in primary source file" | 246 | msgid "#include_next in primary source file" |
| 247 | msgstr "#include_next en fichero primario de código fuente" | 247 | msgstr "#include_next en fichero primario de código fuente" |
| 248 | 248 | ||
| 249 | #: directives.c:914 | 249 | #: directives.c:903 |
| 250 | #, c-format | 250 | #, c-format |
| 251 | msgid "invalid flag \"%s\" in line directive" | 251 | msgid "invalid flag \"%s\" in line directive" |
| 252 | msgstr "indicador «%s» inválido en la línea de la directiva" | 252 | msgstr "indicador «%s» inválido en la línea de la directiva" |
| 253 | 253 | ||
| 254 | #: directives.c:974 | 254 | #: directives.c:963 |
| 255 | msgid "unexpected end of file after #line" | 255 | msgid "unexpected end of file after #line" |
| 256 | msgstr "fin de fichero inesperado después de #line" | 256 | msgstr "fin de fichero inesperado después de #line" |
| 257 | 257 | ||
| 258 | #: directives.c:977 | 258 | #: directives.c:966 |
| 259 | #, c-format | 259 | #, c-format |
| 260 | msgid "\"%s\" after #line is not a positive integer" | 260 | msgid "\"%s\" after #line is not a positive integer" |
| 261 | msgstr "«%s» después de #line no es un entero positivo" | 261 | msgstr "«%s» después de #line no es un entero positivo" |
| 262 | 262 | ||
| 263 | #: directives.c:983 directives.c:985 | 263 | #: directives.c:972 directives.c:974 |
| 264 | msgid "line number out of range" | 264 | msgid "line number out of range" |
| 265 | msgstr "número de línea fuera de rango" | 265 | msgstr "número de línea fuera de rango" |
| 266 | 266 | ||
| 267 | #: directives.c:998 directives.c:1079 | 267 | #: directives.c:987 directives.c:1068 |
| 268 | #, c-format | 268 | #, c-format |
| 269 | msgid "\"%s\" is not a valid filename" | 269 | msgid "\"%s\" is not a valid filename" |
| 270 | msgstr "«%s» no es un nombre de fichero válido" | 270 | msgstr "«%s» no es un nombre de fichero válido" |
| 271 | 271 | ||
| 272 | #: directives.c:1039 | 272 | #: directives.c:1028 |
| 273 | #, c-format | 273 | #, c-format |
| 274 | msgid "\"%s\" after # is not a positive integer" | 274 | msgid "\"%s\" after # is not a positive integer" |
| 275 | msgstr "«%s» después de # no es un entero positivo" | 275 | msgstr "«%s» después de # no es un entero positivo" |
| 276 | 276 | ||
| 277 | #: directives.c:1098 | 277 | #: directives.c:1087 |
| 278 | #, c-format | 278 | #, c-format |
| 279 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 279 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 280 | msgstr "marca lineal de fichero «%s» ignorada debido a anidación incorrecta" | 280 | msgstr "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:1747 | 282 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 283 | #, c-format | 283 | #, c-format |
| 284 | msgid "%s" | 284 | msgid "%s" |
| 285 | msgstr "%s" | 285 | msgstr "%s" |
| 286 | 286 | ||
| 287 | #: directives.c:1185 | 287 | #: directives.c:1175 |
| 288 | #, c-format | 288 | #, c-format |
| 289 | msgid "invalid #%s directive" | 289 | msgid "invalid #%s directive" |
| 290 | msgstr "directiva #%s inválida" | 290 | msgstr "directiva #%s inválida" |
| 291 | 291 | ||
| 292 | #: directives.c:1248 | 292 | #: directives.c:1238 |
| 293 | #, c-format | 293 | #, c-format |
| 294 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 294 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 295 | msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide" | 295 | msgstr "se registran pragmas en el espacio de nombres «%s» con una expansión de nombre que no coincide" |
| 296 | 296 | ||
| 297 | #: directives.c:1257 | 297 | #: directives.c:1247 |
| 298 | #, c-format | 298 | #, c-format |
| 299 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 299 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 300 | msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres" | 300 | msgstr "se registra el pragma «%s» con expansión de nombre y sin un espacio de nombres" |
| 301 | 301 | ||
| 302 | #: directives.c:1275 | 302 | #: directives.c:1265 |
| 303 | #, c-format | 303 | #, c-format |
| 304 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 304 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 305 | msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma" | 305 | msgstr "se registra «%s» como un pragma y como un espacio de nombres de pragma" |
| 306 | 306 | ||
| 307 | #: directives.c:1278 | 307 | #: directives.c:1268 |
| 308 | #, c-format | 308 | #, c-format |
| 309 | msgid "#pragma %s %s is already registered" | 309 | msgid "#pragma %s %s is already registered" |
| 310 | msgstr "#pragma %s %s ya está registrado" | 310 | msgstr "#pragma %s %s ya está registrado" |
| 311 | 311 | ||
| 312 | #: directives.c:1281 | 312 | #: directives.c:1271 |
| 313 | #, c-format | 313 | #, c-format |
| 314 | msgid "#pragma %s is already registered" | 314 | msgid "#pragma %s is already registered" |
| 315 | msgstr "#pragma %s ya está registrado" | 315 | msgstr "#pragma %s ya está registrado" |
| 316 | 316 | ||
| 317 | #: directives.c:1311 | 317 | #: directives.c:1301 |
| 318 | msgid "registering pragma with NULL handler" | 318 | msgid "registering pragma with NULL handler" |
| 319 | msgstr "se registra un pragma con manejador NULL" | 319 | msgstr "se registra un pragma con manejador NULL" |
| 320 | 320 | ||
| 321 | #: directives.c:1528 | 321 | #: directives.c:1518 |
| 322 | msgid "#pragma once in main file" | 322 | msgid "#pragma once in main file" |
| 323 | msgstr "#pragma una vez en el fichero principal" | 323 | msgstr "#pragma una vez en el fichero principal" |
| 324 | 324 | ||
| 325 | #: directives.c:1551 | 325 | #: directives.c:1541 |
| 326 | msgid "invalid #pragma push_macro directive" | 326 | msgid "invalid #pragma push_macro directive" |
| 327 | msgstr "directiva #pragma push_macro inválida" | 327 | msgstr "directiva #pragma push_macro inválida" |
| 328 | 328 | ||
| 329 | #: directives.c:1606 | 329 | #: directives.c:1596 |
| 330 | msgid "invalid #pragma pop_macro directive" | 330 | msgid "invalid #pragma pop_macro directive" |
| 331 | msgstr "directiva #pragma pop_macro inválida" | 331 | msgstr "directiva #pragma pop_macro inválida" |
| 332 | 332 | ||
| 333 | #: directives.c:1661 | 333 | #: directives.c:1651 |
| 334 | msgid "invalid #pragma GCC poison directive" | 334 | msgid "invalid #pragma GCC poison directive" |
| 335 | msgstr "directiva #pragma de GCC envenenada inválida" | 335 | msgstr "directiva #pragma de GCC envenenada inválida" |
| 336 | 336 | ||
| 337 | #: directives.c:1670 | 337 | #: directives.c:1660 |
| 338 | #, c-format | 338 | #, c-format |
| 339 | msgid "poisoning existing macro \"%s\"" | 339 | msgid "poisoning existing macro \"%s\"" |
| 340 | msgstr "se envenena la macro existente «%s»" | 340 | msgstr "se envenena la macro existente «%s»" |
| 341 | 341 | ||
| 342 | #: directives.c:1689 | 342 | #: directives.c:1679 |
| 343 | msgid "#pragma system_header ignored outside include file" | 343 | msgid "#pragma system_header ignored outside include file" |
| 344 | msgstr "#pragma system_header ignorado fuera del fichero a incluir" | 344 | msgstr "#pragma system_header ignorado fuera del fichero a incluir" |
| 345 | 345 | ||
| 346 | #: directives.c:1714 | 346 | #: directives.c:1704 |
| 347 | #, c-format | 347 | #, c-format |
| 348 | msgid "cannot find source file %s" | 348 | msgid "cannot find source file %s" |
| 349 | msgstr "no se puede encontrar el fichero fuente %s" | 349 | msgstr "no se puede encontrar el fichero fuente %s" |
| 350 | 350 | ||
| 351 | #: directives.c:1718 | 351 | #: directives.c:1708 |
| 352 | #, c-format | 352 | #, c-format |
| 353 | msgid "current file is older than %s" | 353 | msgid "current file is older than %s" |
| 354 | msgstr "el fichero actual es más antiguo que %s" | 354 | msgstr "el fichero actual es más antiguo que %s" |
| 355 | 355 | ||
| 356 | #: directives.c:1742 | 356 | #: directives.c:1732 |
| 357 | #, c-format | 357 | #, c-format |
| 358 | msgid "invalid \"#pragma GCC %s\" directive" | 358 | msgid "invalid \"#pragma GCC %s\" directive" |
| 359 | msgstr "directiva \"#pragma GCC %s\" inválida" | 359 | msgstr "directiva \"#pragma GCC %s\" inválida" |
| 360 | 360 | ||
| 361 | #: directives.c:1943 | 361 | #: directives.c:1933 |
| 362 | msgid "_Pragma takes a parenthesized string literal" | 362 | msgid "_Pragma takes a parenthesized string literal" |
| 363 | msgstr "_Pragma lleva una cadena literal entre paréntesis" | 363 | msgstr "_Pragma lleva una cadena literal entre paréntesis" |
| 364 | 364 | ||
| 365 | #: directives.c:2064 | 365 | #: directives.c:2021 |
| 366 | msgid "#else without #if" | 366 | msgid "#else without #if" |
| 367 | msgstr "#else sin #if" | 367 | msgstr "#else sin #if" |
| 368 | 368 | ||
| 369 | #: directives.c:2069 | 369 | #: directives.c:2026 |
| 370 | msgid "#else after #else" | 370 | msgid "#else after #else" |
| 371 | msgstr "#else tras #else" | 371 | msgstr "#else tras #else" |
| 372 | 372 | ||
| 373 | #: directives.c:2071 directives.c:2104 | 373 | #: directives.c:2028 directives.c:2061 |
| 374 | msgid "the conditional began here" | 374 | msgid "the conditional began here" |
| 375 | msgstr "el condicional empezó aquí" | 375 | msgstr "el condicional empezó aquí" |
| 376 | 376 | ||
| 377 | #: directives.c:2097 | 377 | #: directives.c:2054 |
| 378 | msgid "#elif without #if" | 378 | msgid "#elif without #if" |
| 379 | msgstr "#elif sin #if" | 379 | msgstr "#elif sin #if" |
| 380 | 380 | ||
| 381 | #: directives.c:2102 | 381 | #: directives.c:2059 |
| 382 | msgid "#elif after #else" | 382 | msgid "#elif after #else" |
| 383 | msgstr "#elif después de #else" | 383 | msgstr "#elif después de #else" |
| 384 | 384 | ||
| 385 | #: directives.c:2133 | 385 | #: directives.c:2090 |
| 386 | msgid "#endif without #if" | 386 | msgid "#endif without #if" |
| 387 | msgstr "#endif sin #if" | 387 | msgstr "#endif sin #if" |
| 388 | 388 | ||
| 389 | #: directives.c:2213 | 389 | #: directives.c:2166 |
| 390 | msgid "missing '(' after predicate" | 390 | msgid "missing '(' after predicate" |
| 391 | msgstr "falta '(' antes del predicado" | 391 | msgstr "falta '(' antes del predicado" |
| 392 | 392 | ||
| 393 | #: directives.c:2228 | 393 | #: directives.c:2184 |
| 394 | msgid "missing ')' to complete answer" | 394 | msgid "missing ')' to complete answer" |
| 395 | msgstr "falta ')' para completar la respuesta" | 395 | msgstr "falta ')' para completar la respuesta" |
| 396 | 396 | ||
| 397 | #: directives.c:2248 | 397 | #: directives.c:2196 |
| 398 | msgid "predicate's answer is empty" | 398 | msgid "predicate's answer is empty" |
| 399 | msgstr "la respuesta del predicado está vacía" | 399 | msgstr "la respuesta del predicado está vacía" |
| 400 | 400 | ||
| 401 | #: directives.c:2275 | 401 | #: directives.c:2226 |
| 402 | msgid "assertion without predicate" | 402 | msgid "assertion without predicate" |
| 403 | msgstr "afirmación sin predicado" | 403 | msgstr "afirmación sin predicado" |
| 404 | 404 | ||
| 405 | #: directives.c:2278 | 405 | #: directives.c:2229 |
| 406 | msgid "predicate must be an identifier" | 406 | msgid "predicate must be an identifier" |
| 407 | msgstr "el predicado debe ser un identificador" | 407 | msgstr "el predicado debe ser un identificador" |
| 408 | 408 | ||
| 409 | #: directives.c:2364 | 409 | #: directives.c:2311 |
| 410 | #, c-format | 410 | #, c-format |
| 411 | msgid "\"%s\" re-asserted" | 411 | msgid "\"%s\" re-asserted" |
| 412 | msgstr "«%s» reafirmado" | 412 | msgstr "«%s» reafirmado" |
| 413 | 413 | ||
| 414 | #: directives.c:2656 | 414 | #: directives.c:2587 |
| 415 | #, c-format | 415 | #, c-format |
| 416 | msgid "unterminated #%s" | 416 | msgid "unterminated #%s" |
| 417 | msgstr "#%s sin terminar" | 417 | msgstr "#%s sin terminar" |
| 418 | 418 | ||
| 419 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 419 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 420 | msgid "unterminated comment" | 420 | msgid "unterminated comment" |
| 421 | msgstr "comentario sin terminar" | 421 | msgstr "comentario sin terminar" |
| 422 | 422 | ||
| 423 | #: errors.c:284 | 423 | #: errors.c:291 |
| 424 | #, c-format | 424 | #, c-format |
| 425 | msgid "%s: %s" | 425 | msgid "%s: %s" |
| 426 | msgstr "%s: %s" | 426 | msgstr "%s: %s" |
| 427 | 427 | ||
| 428 | #: errors.c:296 | 428 | #: errors.c:304 |
| 429 | msgid "stdout" | 429 | msgid "stdout" |
| 430 | msgstr "salida estándard" | 430 | msgstr "salida estándard" |
| 431 | 431 | ||
| @@ -518,84 +518,84 @@ msgstr "(«%s» es una marca alternativa para «%s» en C++)" · 86 unmodified lines | |||
| 518 | msgid "this use of \"defined\" may not be portable" | 518 | msgid "this use of \"defined\" may not be portable" |
| 519 | msgstr "este uso de \"defined\" puede no ser transportable" | 519 | msgstr "este uso de \"defined\" puede no ser transportable" |
| 520 | 520 | ||
| 521 | #: expr.c:1125 | 521 | #: expr.c:1109 |
| 522 | msgid "user-defined literal in preprocessor expression" | 522 | msgid "user-defined literal in preprocessor expression" |
| 523 | msgstr "literal definida por el usuario en una expresión del preprocesador" | 523 | msgstr "literal definida por el usuario en una expresión del preprocesador" |
| 524 | 524 | ||
| 525 | #: expr.c:1130 | 525 | #: expr.c:1114 |
| 526 | msgid "floating constant in preprocessor expression" | 526 | msgid "floating constant in preprocessor expression" |
| 527 | msgstr "constante de coma flotante en una expresión del preprocesador" | 527 | msgstr "constante de coma flotante en una expresión del preprocesador" |
| 528 | 528 | ||
| 529 | #: expr.c:1136 | 529 | #: expr.c:1120 |
| 530 | msgid "imaginary number in preprocessor expression" | 530 | msgid "imaginary number in preprocessor expression" |
| 531 | msgstr "número imaginario en una expresión del preprocesador" | 531 | msgstr "número imaginario en una expresión del preprocesador" |
| 532 | 532 | ||
| 533 | #: expr.c:1189 | 533 | #: expr.c:1173 |
| 534 | #, c-format | 534 | #, c-format |
| 535 | msgid "\"%s\" is not defined, evaluates to 0" | 535 | msgid "\"%s\" is not defined, evaluates to 0" |
| 536 | msgstr "«%s» no está definido, evalúa a 0" | 536 | msgstr "«%s» no está definido, evalúa a 0" |
| 537 | 537 | ||
| 538 | #: expr.c:1202 | 538 | #: expr.c:1186 |
| 539 | msgid "assertions are a GCC extension" | 539 | msgid "assertions are a GCC extension" |
| 540 | msgstr "las aserciones son una extensión GCC" | 540 | msgstr "las aserciones son una extensión GCC" |
| 541 | 541 | ||
| 542 | #: expr.c:1205 | 542 | #: expr.c:1189 |
| 543 | msgid "assertions are a deprecated extension" | 543 | msgid "assertions are a deprecated extension" |
| 544 | msgstr "las aserciones son una extensión obsoleta" | 544 | msgstr "las aserciones son una extensión obsoleta" |
| 545 | 545 | ||
| 546 | #: expr.c:1451 | 546 | #: expr.c:1435 |
| 547 | #, c-format | 547 | #, c-format |
| 548 | msgid "unbalanced stack in %s" | 548 | msgid "unbalanced stack in %s" |
| 549 | msgstr "pila desbalanceada en %s" | 549 | msgstr "pila desbalanceada en %s" |
| 550 | 550 | ||
| 551 | #: expr.c:1471 | 551 | #: expr.c:1455 |
| 552 | #, c-format | 552 | #, c-format |
| 553 | msgid "impossible operator '%u'" | 553 | msgid "impossible operator '%u'" |
| 554 | msgstr "operador '%u' imposible" | 554 | msgstr "operador '%u' imposible" |
| 555 | 555 | ||
| 556 | #: expr.c:1572 | 556 | #: expr.c:1556 |
| 557 | msgid "missing ')' in expression" | 557 | msgid "missing ')' in expression" |
| 558 | msgstr "falta ')' en la expresión" | 558 | msgstr "falta ')' en la expresión" |
| 559 | 559 | ||
| 560 | #: expr.c:1601 | 560 | #: expr.c:1585 |
| 561 | msgid "'?' without following ':'" | 561 | msgid "'?' without following ':'" |
| 562 | msgstr "'?' sin ':' a continuación" | 562 | msgstr "'?' sin ':' a continuación" |
| 563 | 563 | ||
| 564 | #: expr.c:1611 | 564 | #: expr.c:1595 |
| 565 | msgid "integer overflow in preprocessor expression" | 565 | msgid "integer overflow in preprocessor expression" |
| 566 | msgstr "desbordamiento entero en expresión del preprocesador" | 566 | msgstr "desbordamiento entero en expresión del preprocesador" |
| 567 | 567 | ||
| 568 | #: expr.c:1616 | 568 | #: expr.c:1600 |
| 569 | msgid "missing '(' in expression" | 569 | msgid "missing '(' in expression" |
| 570 | msgstr "falta '(' en la expresión" | 570 | msgstr "falta '(' en la expresión" |
| 571 | 571 | ||
| 572 | #: expr.c:1648 | 572 | #: expr.c:1632 |
| 573 | #, c-format | 573 | #, c-format |
| 574 | msgid "the left operand of \"%s\" changes sign when promoted" | 574 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 575 | msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido" | 575 | msgstr "el operando izquierdo de «%s» cambia de signo cuando es promovido" |
| 576 | 576 | ||
| 577 | #: expr.c:1653 | 577 | #: expr.c:1637 |
| 578 | #, c-format | 578 | #, c-format |
| 579 | msgid "the right operand of \"%s\" changes sign when promoted" | 579 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 580 | msgstr "el operando derecho de «%s» cambia de signo cuando es promovido" | 580 | msgstr "el operando derecho de «%s» cambia de signo cuando es promovido" |
| 581 | 581 | ||
| 582 | #: expr.c:1912 | 582 | #: expr.c:1896 |
| 583 | msgid "traditional C rejects the unary plus operator" | 583 | msgid "traditional C rejects the unary plus operator" |
| 584 | msgstr "C tradicional rechaza el operador unario mas" | 584 | msgstr "C tradicional rechaza el operador unario mas" |
| 585 | 585 | ||
| 586 | #: expr.c:2010 | 586 | #: expr.c:1994 |
| 587 | msgid "comma operator in operand of #if" | 587 | msgid "comma operator in operand of #if" |
| 588 | msgstr "operador coma en operando de #if" | 588 | msgstr "operador coma en operando de #if" |
| 589 | 589 | ||
| 590 | #: expr.c:2146 | 590 | #: expr.c:2130 |
| 591 | msgid "division by zero in #if" | 591 | msgid "division by zero in #if" |
| 592 | msgstr "división por cero en #if" | 592 | msgstr "división por cero en #if" |
| 593 | 593 | ||
| 594 | #: expr.c:2243 | 594 | #: expr.c:2227 |
| 595 | msgid "operator \"__has_include__\" requires a header string" | 595 | msgid "operator \"__has_include__\" requires a header string" |
| 596 | msgstr "el operador \"__has_include__\" requiere una cadena cabecera" | 596 | msgstr "el operador \"__has_include__\" requiere una cadena cabecera" |
| 597 | 597 | ||
| 598 | #: expr.c:2259 | 598 | #: expr.c:2243 |
| 599 | msgid "missing ')' after \"__has_include__\"" | 599 | msgid "missing ')' after \"__has_include__\"" |
| 600 | msgstr "falta ')' tras \"__has_include__\"" | 600 | msgstr "falta ')' tras \"__has_include__\"" |
| 601 | 601 | ||
| @@ -612,40 +612,40 @@ msgstr "use -Winvalid-pch para más información" · 10 unmodified lines | |||
| 612 | msgid "no include path in which to search for %s" | 612 | msgid "no include path in which to search for %s" |
| 613 | msgstr "no hay ruta de inclusión en la cual se pueda buscar %s" | 613 | msgstr "no hay ruta de inclusión en la cual se pueda buscar %s" |
| 614 | 614 | ||
| 615 | #: files.c:1441 | 615 | #: files.c:1455 |
| 616 | msgid "Multiple include guards may be useful for:\n" | 616 | msgid "Multiple include guards may be useful for:\n" |
| 617 | msgstr "Guardias múltiples de include pueden ser útiles para:\n" | 617 | msgstr "Guardias múltiples de include pueden ser útiles para:\n" |
| 618 | 618 | ||
| 619 | #: init.c:565 | 619 | #: init.c:569 |
| 620 | msgid "cppchar_t must be an unsigned type" | 620 | msgid "cppchar_t must be an unsigned type" |
| 621 | msgstr "cppchar_t debe ser de un tipo unsigned" | 621 | msgstr "cppchar_t debe ser de un tipo unsigned" |
| 622 | 622 | ||
| 623 | #: init.c:569 | 623 | #: init.c:573 |
| 624 | #, c-format | 624 | #, c-format |
| 625 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 625 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 626 | msgstr "la aritmética del preprocesador tiene una precisión máxima de %lu bits; el objetivo requiere de %lu bits" | 626 | msgstr "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:576 | 628 | #: init.c:580 |
| 629 | msgid "CPP arithmetic must be at least as precise as a target int" | 629 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 630 | msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo" | 630 | msgstr "la aritmética de CPP debe se al menos tan precisa como un int del objetivo" |
| 631 | 631 | ||
| 632 | #: init.c:579 | 632 | #: init.c:583 |
| 633 | msgid "target char is less than 8 bits wide" | 633 | msgid "target char is less than 8 bits wide" |
| 634 | msgstr "el char del objetivo tiene menos de 8 bits de ancho" | 634 | msgstr "el char del objetivo tiene menos de 8 bits de ancho" |
| 635 | 635 | ||
| 636 | #: init.c:583 | 636 | #: init.c:587 |
| 637 | msgid "target wchar_t is narrower than target char" | 637 | msgid "target wchar_t is narrower than target char" |
| 638 | msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo" | 638 | msgstr "el wchar_t del objetivo es más estrecho que el char del objetivo" |
| 639 | 639 | ||
| 640 | #: init.c:587 | 640 | #: init.c:591 |
| 641 | msgid "target int is narrower than target char" | 641 | msgid "target int is narrower than target char" |
| 642 | msgstr "el int del objetivo es más estrecho que el char del objetivo" | 642 | msgstr "el int del objetivo es más estrecho que el char del objetivo" |
| 643 | 643 | ||
| 644 | #: init.c:592 | 644 | #: init.c:596 |
| 645 | msgid "CPP half-integer narrower than CPP character" | 645 | msgid "CPP half-integer narrower than CPP character" |
| 646 | msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP" | 646 | msgstr "el medio-entero de CPP es más estrecho que el carácter de CPP" |
| 647 | 647 | ||
| 648 | #: init.c:596 | 648 | #: init.c:600 |
| 649 | #, c-format | 649 | #, c-format |
| 650 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 650 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 651 | msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits" | 651 | msgstr "CPP no puede manejar constantes de carácter anchas más allá de %lu bits en este objetivo, pero el objetivo requiere %lu bits" |
| @@ -717,258 +717,275 @@ msgstr "__VA_ARGS__ solamente puede aparecer en la expansión de una macro varia · 65 unmodified lines | |||
| 717 | msgid "identifier \"%s\" is a special operator name in C++" | 717 | msgid "identifier \"%s\" is a special operator name in C++" |
| 718 | msgstr "el identificador «%s» es un nombre de operador especial en C++" | 718 | msgstr "el identificador «%s» es un nombre de operador especial en C++" |
| 719 | 719 | ||
| 720 | #: lex.c:1811 | 720 | #: lex.c:1826 |
| 721 | msgid "raw string delimiter longer than 16 characters" | 721 | msgid "raw string delimiter longer than 16 characters" |
| 722 | msgstr "el delimitador de cadena cruda es más largo que 16 caracteres" | 722 | msgstr "el delimitador de cadena cruda es más largo que 16 caracteres" |
| 723 | 723 | ||
| 724 | #: lex.c:1815 | 724 | #: lex.c:1830 |
| 725 | msgid "invalid new-line in raw string delimiter" | 725 | msgid "invalid new-line in raw string delimiter" |
| 726 | msgstr "carácter inválido nueva línea en un delimitador de cadena cruda" | 726 | msgstr "carácter inválido nueva línea en un delimitador de cadena cruda" |
| 727 | 727 | ||
| 728 | #: lex.c:1819 | 728 | #: lex.c:1834 |
| 729 | #, c-format | 729 | #, c-format |
| 730 | msgid "invalid character '%c' in raw string delimiter" | 730 | msgid "invalid character '%c' in raw string delimiter" |
| 731 | msgstr "carácter inválido '%c' en un delimitador de cadena cruda" | 731 | msgstr "carácter inválido '%c' en un delimitador de cadena cruda" |
| 732 | 732 | ||
| 733 | #: lex.c:1868 lex.c:1890 | 733 | #: lex.c:1883 lex.c:1905 |
| 734 | msgid "unterminated raw string" | 734 | msgid "unterminated raw string" |
| 735 | msgstr "cadena cruda sin terminar" | 735 | msgstr "cadena cruda sin terminar" |
| 736 | 736 | ||
| 737 | #: lex.c:1912 lex.c:2043 | 737 | #: lex.c:1925 lex.c:2054 |
| 738 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 738 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 739 | msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro" | 739 | msgstr "sufijo inválido en literal; C++11 requiere un espacio entre literal y cadena macro" |
| 740 | 740 | ||
| 741 | #: lex.c:2024 | 741 | #: lex.c:2037 |
| 742 | msgid "null character(s) preserved in literal" | 742 | msgid "null character(s) preserved in literal" |
| 743 | msgstr "caracter(es) nulo(s) preservados en la literal" | 743 | msgstr "caracter(es) nulo(s) preservados en la literal" |
| 744 | 744 | ||
| 745 | #: lex.c:2027 | 745 | #: lex.c:2040 |
| 746 | #, c-format | 746 | #, c-format |
| 747 | msgid "missing terminating %c character" | 747 | msgid "missing terminating %c character" |
| 748 | msgstr "falta el carácter de terminación %c" | 748 | msgstr "falta el carácter de terminación %c" |
| 749 | 749 | ||
| 750 | #: lex.c:2061 | 750 | #: lex.c:2072 |
| 751 | msgid "C++11 requires a space between string literal and macro" | 751 | msgid "C++11 requires a space between string literal and macro" |
| 752 | msgstr "C++11 requiere un espacio entre cadena literal y macro" | 752 | msgstr "C++11 requiere un espacio entre cadena literal y macro" |
| 753 | 753 | ||
| 754 | #: lex.c:2865 lex.c:2899 | 754 | #: lex.c:2876 lex.c:2910 |
| 755 | msgid "C++ style comments are not allowed in ISO C90" | 755 | msgid "C++ style comments are not allowed in ISO C90" |
| 756 | msgstr "los comentarios de estilo C++ no se permiten en ISO C90" | 756 | msgstr "los comentarios de estilo C++ no se permiten en ISO C90" |
| 757 | 757 | ||
| 758 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 758 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 759 | msgid "(this will be reported only once per input file)" | 759 | msgid "(this will be reported only once per input file)" |
| 760 | msgstr "(esto se reportará solamente una vez por cada fichero de entrada)" | 760 | msgstr "(esto se reportará solamente una vez por cada fichero de entrada)" |
| 761 | 761 | ||
| 762 | #: lex.c:2876 | 762 | #: lex.c:2887 |
| 763 | msgid "C++ style comments are incompatible with C90" | 763 | msgid "C++ style comments are incompatible with C90" |
| 764 | msgstr "los comentarios de estilo C++ son incompatibles con C90" | 764 | msgstr "los comentarios de estilo C++ son incompatibles con C90" |
| 765 | 765 | ||
| 766 | #: lex.c:2907 | 766 | #: lex.c:2919 |
| 767 | msgid "multi-line comment" | 767 | msgid "multi-line comment" |
| 768 | msgstr "comentario en múltiples líneas" | 768 | msgstr "comentario en múltiples líneas" |
| 769 | 769 | ||
| 770 | #: lex.c:3287 | 770 | #: lex.c:3299 |
| 771 | #, c-format | 771 | #, c-format |
| 772 | msgid "unspellable token %s" | 772 | msgid "unspellable token %s" |
| 773 | msgstr "elemento %s impronunciable" | 773 | msgstr "elemento %s impronunciable" |
| 774 | 774 | ||
| 775 | #: macro.c:93 | 775 | #: macro.c:94 |
| 776 | msgid "'##' cannot appear at either end of __VA_OPT__" | 776 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 777 | msgstr "'##' no puede aparecer o en el final de una __VA_OPT__" | 777 | msgstr "'##' no puede aparecer o en el final de una __VA_OPT__" |
| 778 | 778 | ||
| 779 | #: macro.c:352 | 779 | #: macro.c:354 |
| 780 | #, c-format | 780 | #, c-format |
| 781 | msgid "macro \"%s\" is not used" | 781 | msgid "macro \"%s\" is not used" |
| 782 | msgstr "la macro «%s» no se utiliza" | 782 | msgstr "la macro «%s» no se utiliza" |
| 783 | 783 | ||
| 784 | #: macro.c:391 macro.c:639 | 784 | #: macro.c:393 macro.c:641 |
| 785 | #, c-format | 785 | #, c-format |
| 786 | msgid "invalid built-in macro \"%s\"" | 786 | msgid "invalid built-in macro \"%s\"" |
| 787 | msgstr "macro interna «%s» inválida" | 787 | msgstr "macro interna «%s» inválida" |
| 788 | 788 | ||
| 789 | #: macro.c:398 macro.c:500 | 789 | #: macro.c:400 macro.c:502 |
| 790 | #, c-format | 790 | #, c-format |
| 791 | msgid "macro \"%s\" might prevent reproducible builds" | 791 | msgid "macro \"%s\" might prevent reproducible builds" |
| 792 | msgstr "macro «%s» quizá previene compilaciones reproducibles" | 792 | msgstr "macro «%s» quizá previene compilaciones reproducibles" |
| 793 | 793 | ||
| 794 | #: macro.c:429 | 794 | #: macro.c:431 |
| 795 | msgid "could not determine file timestamp" | 795 | msgid "could not determine file timestamp" |
| 796 | msgstr "no se puede determinar la marca de fecha del fichero" | 796 | msgstr "no se puede determinar la marca de fecha del fichero" |
| 797 | 797 | ||
| 798 | #: macro.c:546 | 798 | #: macro.c:548 |
| 799 | msgid "could not determine date and time" | 799 | msgid "could not determine date and time" |
| 800 | msgstr "no se puede determinar la fecha y la hora" | 800 | msgstr "no se puede determinar la fecha y la hora" |
| 801 | 801 | ||
| 802 | #: macro.c:562 | 802 | #: macro.c:564 |
| 803 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 803 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 804 | msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only" | 804 | msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only" |
| 805 | 805 | ||
| 806 | #: macro.c:758 | 806 | #: macro.c:760 |
| 807 | msgid "invalid string literal, ignoring final '\\'" | 807 | msgid "invalid string literal, ignoring final '\\'" |
| 808 | msgstr "cadena literal inválida, se ignora el '\\' final" | 808 | msgstr "cadena literal inválida, se ignora el '\\' final" |
| 809 | 809 | ||
| 810 | #: macro.c:820 | 810 | #: macro.c:822 |
| 811 | #, c-format | 811 | #, c-format |
| 812 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 812 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 813 | msgstr "pegar «%s» y «%s» no da un elemento válido de preprocesamiento" | 813 | msgstr "pegar «%s» y «%s» no da un elemento válido de preprocesamiento" |
| 814 | 814 | ||
| 815 | #: macro.c:946 | 815 | #: macro.c:948 |
| 816 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 816 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 817 | msgstr "ISO C++ requiere al menos un argumento: para la \"...\" en una macro variadic" | 817 | msgstr "ISO C++ requiere al menos un argumento: para la \"...\" en una macro variadic" |
| 818 | 818 | ||
| 819 | #: macro.c:950 | 819 | #: macro.c:952 |
| 820 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 820 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 821 | msgstr "ISO C99 requiere al menos un argumento para la \"...\" en una macro variadic" | 821 | msgstr "ISO C99 requiere al menos un argumento para la \"...\" en una macro variadic" |
| 822 | 822 | ||
| 823 | #: macro.c:957 | 823 | #: macro.c:959 |
| 824 | #, c-format | 824 | #, c-format |
| 825 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 825 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 826 | msgstr "la macro «%s» requiere %u argumentos, pero solo se proporcionan %u" | 826 | msgstr "la macro «%s» requiere %u argumentos, pero solo se proporcionan %u" |
| 827 | 827 | ||
| 828 | #: macro.c:962 | 828 | #: macro.c:964 |
| 829 | #, c-format | 829 | #, c-format |
| 830 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 830 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 831 | msgstr "la macro «%s» pasó %u argumentos, pero solamente toma %u" | 831 | msgstr "la macro «%s» pasó %u argumentos, pero solamente toma %u" |
| 832 | 832 | ||
| 833 | #: macro.c:1156 traditional.c:819 | 833 | #: macro.c:1162 traditional.c:827 |
| 834 | #, c-format | 834 | #, c-format |
| 835 | msgid "unterminated argument list invoking macro \"%s\"" | 835 | msgid "unterminated argument list invoking macro \"%s\"" |
| 836 | msgstr "lista de argumentos sin terminar al invocar la macro «%s»" | 836 | msgstr "lista de argumentos sin terminar al invocar la macro «%s»" |
| 837 | 837 | ||
| 838 | #: macro.c:1307 | 838 | #: macro.c:1304 |
| 839 | #, c-format | 839 | #, c-format |
| 840 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 840 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 841 | msgstr "la función de macro «%s» se debe usar con argumentos en C tradicional" | 841 | msgstr "la función de macro «%s» se debe usar con argumentos en C tradicional" |
| 842 | 842 | ||
| 843 | #: macro.c:2003 | 843 | #: macro.c:2083 |
| 844 | #, c-format | 844 | #, c-format |
| 845 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 845 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 846 | msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C++98" | 846 | msgstr "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:2020 | 848 | #: macro.c:2091 macro.c:2100 |
| 849 | #, c-format | 849 | #, c-format |
| 850 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 850 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 851 | msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90" | 851 | msgstr "al invocar el macro %s argumento %d: los argumentos de macro vacíos están indefinidos en ISO C90" |
| 852 | 852 | ||
| 853 | #: macro.c:2984 | 853 | #: macro.c:3059 |
| 854 | #, c-format | 854 | #, c-format |
| 855 | msgid "duplicate macro parameter \"%s\"" | 855 | msgid "duplicate macro parameter \"%s\"" |
| 856 | msgstr "parámetro de macro «%s» duplicado" | 856 | msgstr "parámetro de macro «%s» duplicado" |
| 857 | 857 | ||
| 858 | #: macro.c:3033 | 858 | #: macro.c:3141 |
| 859 | #, c-format | 859 | #, c-format |
| 860 | msgid "\"%s\" may not appear in macro parameter list" | 860 | msgid "expected parameter name, found \"%s\"" |
| 861 | msgstr "«%s» podría faltar en la lista de parámetro de macro" | 861 | msgstr "" |
| 862 | |||
| 863 | #: macro.c:3142 | ||
| 864 | #, c-format | ||
| 865 | msgid "expected ',' or ')', found \"%s\"" | ||
| 866 | msgstr "" | ||
| 862 | 867 | ||
| 863 | #: macro.c:3041 | 868 | #: macro.c:3143 |
| 864 | msgid "macro parameters must be comma-separated" | 869 | msgid "expected parameter name before end of line" |
| 865 | msgstr "los parámetros de macro deben ser separados por comas" | 870 | msgstr "" |
| 871 | |||
| 872 | #: macro.c:3144 | ||
| 873 | #, fuzzy | ||
| 874 | #| msgid "unexpected end of file after #line" | ||
| 875 | msgid "expected ')' before end of line" | ||
| 876 | msgstr "fin de fichero inesperado después de #line" | ||
| 866 | 877 | ||
| 867 | #: macro.c:3060 | 878 | #: macro.c:3145 |
| 868 | msgid "parameter name missing" | 879 | msgid "expected ')' after \"...\"" |
| 869 | msgstr "falta el nombre del parámetro" | 880 | msgstr "" |
| 870 | 881 | ||
| 871 | #: macro.c:3081 | 882 | #: macro.c:3202 |
| 872 | msgid "anonymous variadic macros were introduced in C++11" | 883 | msgid "anonymous variadic macros were introduced in C++11" |
| 873 | msgstr "las macros variadic anónimas se introdujeron en C++11" | 884 | msgstr "las macros variadic anónimas se introdujeron en C++11" |
| 874 | 885 | ||
| 875 | #: macro.c:3085 macro.c:3090 | 886 | #: macro.c:3203 macro.c:3207 |
| 876 | msgid "anonymous variadic macros were introduced in C99" | 887 | msgid "anonymous variadic macros were introduced in C99" |
| 877 | msgstr "los macros variadic anónimos se introdujeron en C99" | 888 | msgstr "los macros variadic anónimos se introdujeron en C99" |
| 878 | 889 | ||
| 879 | #: macro.c:3097 | 890 | #: macro.c:3213 |
| 880 | msgid "ISO C++ does not permit named variadic macros" | 891 | msgid "ISO C++ does not permit named variadic macros" |
| 881 | msgstr "ISO C++ no permite macros variadic nombrados" | 892 | msgstr "ISO C++ no permite macros variadic nombrados" |
| 882 | 893 | ||
| 883 | #: macro.c:3100 | 894 | #: macro.c:3214 |
| 884 | msgid "ISO C does not permit named variadic macros" | 895 | msgid "ISO C does not permit named variadic macros" |
| 885 | msgstr "ISO C no permite macros variadic nombrados" | 896 | msgstr "ISO C no permite macros variadic nombrados" |
| 886 | 897 | ||
| 887 | #: macro.c:3110 | 898 | #: macro.c:3260 |
| 888 | msgid "missing ')' in macro parameter list" | ||
| 889 | msgstr "falta ')' en la lista de parámetros de macro" | ||
| 890 | |||
| 891 | #: macro.c:3161 | ||
| 892 | msgid "'##' cannot appear at either end of a macro expansion" | 899 | msgid "'##' cannot appear at either end of a macro expansion" |
| 893 | msgstr "'##' no puede aparece en o al final de una expansión de macro" | 900 | msgstr "'##' no puede aparece en o al final de una expansión de macro" |
| 894 | 901 | ||
| 895 | #: macro.c:3198 | 902 | #: macro.c:3298 |
| 896 | msgid "ISO C++11 requires whitespace after the macro name" | 903 | msgid "ISO C++11 requires whitespace after the macro name" |
| 897 | msgstr "ISO C++11 requiere espacios en blanco tras del nombre de macro" | 904 | msgstr "ISO C++11 requiere espacios en blanco tras del nombre de macro" |
| 898 | 905 | ||
| 899 | #: macro.c:3201 | 906 | #: macro.c:3299 |
| 900 | msgid "ISO C99 requires whitespace after the macro name" | 907 | msgid "ISO C99 requires whitespace after the macro name" |
| 901 | msgstr "ISO C99 requiere espacios en blanco después del nombre de macro" | 908 | msgstr "ISO C99 requiere espacios en blanco después del nombre de macro" |
| 902 | 909 | ||
| 903 | #: macro.c:3226 | 910 | #: macro.c:3323 |
| 904 | msgid "missing whitespace after the macro name" | 911 | msgid "missing whitespace after the macro name" |
| 905 | msgstr "faltan espacios en blanco después del nombre de macro" | 912 | msgstr "faltan espacios en blanco después del nombre de macro" |
| 906 | 913 | ||
| 907 | #: macro.c:3263 | 914 | #: macro.c:3373 |
| 908 | msgid "'#' is not followed by a macro parameter" | 915 | msgid "'#' is not followed by a macro parameter" |
| 909 | msgstr "'#' no es seguido por un parámetro de macro" | 916 | msgstr "'#' no es seguido por un parámetro de macro" |
| 910 | 917 | ||
| 911 | #: macro.c:3430 | 918 | #: macro.c:3524 |
| 912 | #, c-format | 919 | #, c-format |
| 913 | msgid "\"%s\" redefined" | 920 | msgid "\"%s\" redefined" |
| 914 | msgstr "«%s» redefinido" | 921 | msgstr "«%s» redefinido" |
| 915 | 922 | ||
| 916 | #: macro.c:3435 | 923 | #: macro.c:3529 |
| 917 | msgid "this is the location of the previous definition" | 924 | msgid "this is the location of the previous definition" |
| 918 | msgstr "esta es la ubicación de la definición previa" | 925 | msgstr "esta es la ubicación de la definición previa" |
| 919 | 926 | ||
| 920 | #: macro.c:3496 | 927 | #: macro.c:3633 |
| 921 | #, c-format | 928 | #, c-format |
| 922 | msgid "macro argument \"%s\" would be stringified in traditional C" | 929 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 923 | msgstr "el argumento de macro «%s» debería ser convertido a cadena en C tradicional" | 930 | msgstr "el argumento de macro «%s» debería ser convertido a cadena en C tradicional" |
| 924 | 931 | ||
| 925 | #: macro.c:3532 | 932 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 926 | #, c-format | ||
| 927 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 928 | msgstr "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 | ||
| 931 | msgid "while writing precompiled header" | 933 | msgid "while writing precompiled header" |
| 932 | msgstr "al escribir el encabezado precompilado" | 934 | msgstr "al escribir el encabezado precompilado" |
| 933 | 935 | ||
| 934 | #: pch.c:621 | 936 | #: pch.c:616 |
| 935 | #, c-format | 937 | #, c-format |
| 936 | msgid "%s: not used because `%.*s' is poisoned" | 938 | msgid "%s: not used because `%.*s' is poisoned" |
| 937 | msgstr "%s: no se usa porque `%.*s' está envenenado" | 939 | msgstr "%s: no se usa porque `%.*s' está envenenado" |
| 938 | 940 | ||
| 939 | #: pch.c:643 | 941 | #: pch.c:638 |
| 940 | #, c-format | 942 | #, c-format |
| 941 | msgid "%s: not used because `%.*s' not defined" | 943 | msgid "%s: not used because `%.*s' not defined" |
| 942 | msgstr "%s: no se usa porque `%.*s' no está definido" | 944 | msgstr "%s: no se usa porque `%.*s' no está definido" |
| 943 | 945 | ||
| 944 | #: pch.c:655 | 946 | #: pch.c:650 |
| 945 | #, c-format | 947 | #, c-format |
| 946 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 948 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 947 | msgstr "%s: no se usa porque `%.*s' está definido como `%s' no como `%.*s'" | 949 | msgstr "%s: no se usa porque `%.*s' está definido como `%s' no como `%.*s'" |
| 948 | 950 | ||
| 949 | #: pch.c:696 | 951 | #: pch.c:691 |
| 950 | #, c-format | 952 | #, c-format |
| 951 | msgid "%s: not used because `%s' is defined" | 953 | msgid "%s: not used because `%s' is defined" |
| 952 | msgstr "%s: no se usa porque `%s' está definido" | 954 | msgstr "%s: no se usa porque `%s' está definido" |
| 953 | 955 | ||
| 954 | #: pch.c:716 | 956 | #: pch.c:711 |
| 955 | #, c-format | 957 | #, c-format |
| 956 | msgid "%s: not used because `__COUNTER__' is invalid" | 958 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 957 | msgstr "%s: no se usa porque `__COUNTER__' es inválido" | 959 | msgstr "%s: no se usa porque `__COUNTER__' es inválido" |
| 958 | 960 | ||
| 959 | #: pch.c:725 pch.c:903 | 961 | #: pch.c:720 pch.c:878 |
| 960 | msgid "while reading precompiled header" | 962 | msgid "while reading precompiled header" |
| 961 | msgstr "al leer el encabezado precompilado" | 963 | msgstr "al leer el encabezado precompilado" |
| 962 | 964 | ||
| 963 | #: traditional.c:889 | 965 | #: traditional.c:896 |
| 964 | #, c-format | 966 | #, c-format |
| 965 | msgid "detected recursion whilst expanding macro \"%s\"" | 967 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 966 | msgstr "se detectó recursión al expandir la macro «%s»" | 968 | msgstr "se detectó recursión al expandir la macro «%s»" |
| 967 | 969 | ||
| 968 | #: traditional.c:1108 | 970 | #: traditional.c:1119 |
| 969 | msgid "syntax error in macro parameter list" | 971 | msgid "syntax error in macro parameter list" |
| 970 | msgstr "error de sintaxis en la lista de parámetros de macro" | 972 | msgstr "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 | ||
Binary file not shown.
| @@ -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 | # |
| 7 | msgid "" | 7 | msgid "" |
| 8 | msgstr "" | 8 | msgstr "" |
| 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:674 | 23 | #: charset.c:674 |
| 24 | #, c-format | 24 | #, c-format |
| @@ -90,7 +90,7 @@ msgstr "universaali merkki %.*s ei ole kelvollinen tunniste" · 65 unmodified lines | |||
| 90 | msgid "universal character %.*s is not valid at the start of an identifier" | 90 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 91 | msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa" | 91 | msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa" |
| 92 | 92 | ||
| 93 | #: charset.c:1181 charset.c:2000 | 93 | #: charset.c:1181 charset.c:2002 |
| 94 | msgid "converting UCN to source character set" | 94 | msgid "converting UCN to source character set" |
| 95 | msgstr "muunnetaan UCN lähdemerkistöön" | 95 | msgstr "muunnetaan UCN lähdemerkistöön" |
| 96 | 96 | ||
| @@ -141,295 +141,295 @@ msgstr "muunnetaan ohjaussarja suoritusmerkistöön" · 44 unmodified lines | |||
| 141 | msgid "missing open quote" | 141 | msgid "missing open quote" |
| 142 | msgstr "avautuva sulje puuttuu" | 142 | msgstr "avautuva sulje puuttuu" |
| 143 | 143 | ||
| 144 | #: charset.c:1827 charset.c:1891 | 144 | #: charset.c:1829 charset.c:1893 |
| 145 | msgid "character constant too long for its type" | 145 | msgid "character constant too long for its type" |
| 146 | msgstr "merkkivakio on liian pitkä tyypilleen" | 146 | msgstr "merkkivakio on liian pitkä tyypilleen" |
| 147 | 147 | ||
| 148 | #: charset.c:1830 | 148 | #: charset.c:1832 |
| 149 | msgid "multi-character character constant" | 149 | msgid "multi-character character constant" |
| 150 | msgstr "monimerkkinen merkkivakio" | 150 | msgstr "monimerkkinen merkkivakio" |
| 151 | 151 | ||
| 152 | #: charset.c:1931 | 152 | #: charset.c:1933 |
| 153 | msgid "empty character constant" | 153 | msgid "empty character constant" |
| 154 | msgstr "tyhjä merkkivakio" | 154 | msgstr "tyhjä merkkivakio" |
| 155 | 155 | ||
| 156 | #: charset.c:2047 | 156 | #: charset.c:2049 |
| 157 | #, c-format | 157 | #, c-format |
| 158 | msgid "failure to convert %s to %s" | 158 | msgid "failure to convert %s to %s" |
| 159 | msgstr "muunnos %s -> %s epäonnistui" | 159 | msgstr "muunnos %s -> %s epäonnistui" |
| 160 | 160 | ||
| 161 | #: directives.c:235 directives.c:278 | 161 | #: directives.c:229 directives.c:272 |
| 162 | #, c-format | 162 | #, c-format |
| 163 | msgid "extra tokens at end of #%s directive" | 163 | msgid "extra tokens at end of #%s directive" |
| 164 | msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa" | 164 | msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa" |
| 165 | 165 | ||
| 166 | #: directives.c:385 | 166 | #: directives.c:379 |
| 167 | #, c-format | 167 | #, c-format |
| 168 | msgid "#%s is a GCC extension" | 168 | msgid "#%s is a GCC extension" |
| 169 | msgstr "#%s on GCC-laajennos" | 169 | msgstr "#%s on GCC-laajennos" |
| 170 | 170 | ||
| 171 | #: directives.c:390 | 171 | #: directives.c:384 |
| 172 | #, c-format | 172 | #, c-format |
| 173 | msgid "#%s is a deprecated GCC extension" | 173 | msgid "#%s is a deprecated GCC extension" |
| 174 | msgstr "#%s on vanhentunut GCC-laajennos" | 174 | msgstr "#%s on vanhentunut GCC-laajennos" |
| 175 | 175 | ||
| 176 | #: directives.c:403 | 176 | #: directives.c:397 |
| 177 | msgid "suggest not using #elif in traditional C" | 177 | msgid "suggest not using #elif in traditional C" |
| 178 | msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä" | 178 | msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä" |
| 179 | 179 | ||
| 180 | #: directives.c:406 | 180 | #: directives.c:400 |
| 181 | #, c-format | 181 | #, c-format |
| 182 | msgid "traditional C ignores #%s with the # indented" | 182 | msgid "traditional C ignores #%s with the # indented" |
| 183 | msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty" | 183 | msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty" |
| 184 | 184 | ||
| 185 | #: directives.c:410 | 185 | #: directives.c:404 |
| 186 | #, c-format | 186 | #, c-format |
| 187 | msgid "suggest hiding #%s from traditional C with an indented #" | 187 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 188 | msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #" | 188 | msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #" |
| 189 | 189 | ||
| 190 | #: directives.c:436 | 190 | #: directives.c:430 |
| 191 | msgid "embedding a directive within macro arguments is not portable" | 191 | msgid "embedding a directive within macro arguments is not portable" |
| 192 | msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää" | 192 | msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää" |
| 193 | 193 | ||
| 194 | #: directives.c:456 | 194 | #: directives.c:450 |
| 195 | msgid "style of line directive is a GCC extension" | 195 | msgid "style of line directive is a GCC extension" |
| 196 | msgstr "rividirektiivin tyyli on GCC-laajennos" | 196 | msgstr "rividirektiivin tyyli on GCC-laajennos" |
| 197 | 197 | ||
| 198 | #: directives.c:537 | 198 | #: directives.c:531 |
| 199 | #, c-format | 199 | #, c-format |
| 200 | msgid "invalid preprocessing directive #%s" | 200 | msgid "invalid preprocessing directive #%s" |
| 201 | msgstr "virheellinen esikääntäjän direktiivi #%s" | 201 | msgstr "virheellinen esikääntäjän direktiivi #%s" |
| 202 | 202 | ||
| 203 | #: directives.c:606 | 203 | #: directives.c:600 |
| 204 | msgid "\"defined\" cannot be used as a macro name" | 204 | msgid "\"defined\" cannot be used as a macro name" |
| 205 | msgstr "”defined” ei ole kelvollinen makron nimi" | 205 | msgstr "”defined” ei ole kelvollinen makron nimi" |
| 206 | 206 | ||
| 207 | #: directives.c:611 | 207 | #: directives.c:605 |
| 208 | msgid "\"__has_include__\" cannot be used as a macro name" | 208 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 209 | msgstr "”__has_include__” ei ole kelvollinen makron nimi" | 209 | msgstr "”__has_include__” ei ole kelvollinen makron nimi" |
| 210 | 210 | ||
| 211 | #: directives.c:617 | 211 | #: directives.c:611 |
| 212 | #, c-format | 212 | #, c-format |
| 213 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 213 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 214 | msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori" | 214 | msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori" |
| 215 | 215 | ||
| 216 | #: directives.c:620 | 216 | #: directives.c:614 |
| 217 | #, c-format | 217 | #, c-format |
| 218 | msgid "no macro name given in #%s directive" | 218 | msgid "no macro name given in #%s directive" |
| 219 | msgstr "makron nimeä ei ole annettu #%s-direktiivissä" | 219 | msgstr "makron nimeä ei ole annettu #%s-direktiivissä" |
| 220 | 220 | ||
| 221 | #: directives.c:623 | 221 | #: directives.c:617 |
| 222 | msgid "macro names must be identifiers" | 222 | msgid "macro names must be identifiers" |
| 223 | msgstr "makrojen nimien on oltava tunnisteita" | 223 | msgstr "makrojen nimien on oltava tunnisteita" |
| 224 | 224 | ||
| 225 | #: directives.c:672 directives.c:677 | 225 | #: directives.c:666 directives.c:671 |
| 226 | #, c-format | 226 | #, c-format |
| 227 | msgid "undefining \"%s\"" | 227 | msgid "undefining \"%s\"" |
| 228 | msgstr "kumotaan määrittely ”%s”" | 228 | msgstr "kumotaan määrittely ”%s”" |
| 229 | 229 | ||
| 230 | #: directives.c:732 | 230 | #: directives.c:727 |
| 231 | msgid "missing terminating > character" | 231 | msgid "missing terminating > character" |
| 232 | msgstr "päättävä >-merkki puuttuu" | 232 | msgstr "päättävä >-merkki puuttuu" |
| 233 | 233 | ||
| 234 | #: directives.c:791 | 234 | #: directives.c:786 |
| 235 | #, c-format | 235 | #, c-format |
| 236 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 236 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 237 | msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>" | 237 | msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>" |
| 238 | 238 | ||
| 239 | #: directives.c:837 | 239 | #: directives.c:828 |
| 240 | #, c-format | 240 | #, c-format |
| 241 | msgid "empty filename in #%s" | 241 | msgid "empty filename in #%s" |
| 242 | msgstr "tyhjä tiedostonimi direktiivissä #%s" | 242 | msgstr "tyhjä tiedostonimi direktiivissä #%s" |
| 243 | 243 | ||
| 244 | #: directives.c:847 | 244 | #: directives.c:835 |
| 245 | msgid "#include nested too deeply" | 245 | msgid "#include nested too deeply" |
| 246 | msgstr "liikaa sisäkkäisiä #include:ja" | 246 | msgstr "liikaa sisäkkäisiä #include:ja" |
| 247 | 247 | ||
| 248 | #: directives.c:888 | 248 | #: directives.c:877 |
| 249 | msgid "#include_next in primary source file" | 249 | msgid "#include_next in primary source file" |
| 250 | msgstr "#include_next ensisijaisessa lähdetiedostossa" | 250 | msgstr "#include_next ensisijaisessa lähdetiedostossa" |
| 251 | 251 | ||
| 252 | #: directives.c:914 | 252 | #: directives.c:903 |
| 253 | #, c-format | 253 | #, c-format |
| 254 | msgid "invalid flag \"%s\" in line directive" | 254 | msgid "invalid flag \"%s\" in line directive" |
| 255 | msgstr "virheellinen lippu ”%s” rividirektiivissä" | 255 | msgstr "virheellinen lippu ”%s” rividirektiivissä" |
| 256 | 256 | ||
| 257 | #: directives.c:974 | 257 | #: directives.c:963 |
| 258 | msgid "unexpected end of file after #line" | 258 | msgid "unexpected end of file after #line" |
| 259 | msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen" | 259 | msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen" |
| 260 | 260 | ||
| 261 | #: directives.c:977 | 261 | #: directives.c:966 |
| 262 | #, c-format | 262 | #, c-format |
| 263 | msgid "\"%s\" after #line is not a positive integer" | 263 | msgid "\"%s\" after #line is not a positive integer" |
| 264 | msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku" | 264 | msgstr "#line:n jälkeinen ”%s” ei ole positiivinen kokonaisluku" |
| 265 | 265 | ||
| 266 | #: directives.c:983 directives.c:985 | 266 | #: directives.c:972 directives.c:974 |
| 267 | msgid "line number out of range" | 267 | msgid "line number out of range" |
| 268 | msgstr "rivinumero sallitun välin ulkopuolella" | 268 | msgstr "rivinumero sallitun välin ulkopuolella" |
| 269 | 269 | ||
| 270 | #: directives.c:998 directives.c:1079 | 270 | #: directives.c:987 directives.c:1068 |
| 271 | #, c-format | 271 | #, c-format |
| 272 | msgid "\"%s\" is not a valid filename" | 272 | msgid "\"%s\" is not a valid filename" |
| 273 | msgstr "”%s” ei ole kelvollinen tiedostonimi" | 273 | msgstr "”%s” ei ole kelvollinen tiedostonimi" |
| 274 | 274 | ||
| 275 | #: directives.c:1039 | 275 | #: directives.c:1028 |
| 276 | #, c-format | 276 | #, c-format |
| 277 | msgid "\"%s\" after # is not a positive integer" | 277 | msgid "\"%s\" after # is not a positive integer" |
| 278 | msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku" | 278 | msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku" |
| 279 | 279 | ||
| 280 | #: directives.c:1098 | 280 | #: directives.c:1087 |
| 281 | #, c-format | 281 | #, c-format |
| 282 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 282 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 283 | msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi" | 283 | msgstr "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:1747 | 285 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 286 | #, c-format | 286 | #, c-format |
| 287 | msgid "%s" | 287 | msgid "%s" |
| 288 | msgstr "%s" | 288 | msgstr "%s" |
| 289 | 289 | ||
| 290 | #: directives.c:1185 | 290 | #: directives.c:1175 |
| 291 | #, c-format | 291 | #, c-format |
| 292 | msgid "invalid #%s directive" | 292 | msgid "invalid #%s directive" |
| 293 | msgstr "virheellinen #%s-direktiivi" | 293 | msgstr "virheellinen #%s-direktiivi" |
| 294 | 294 | ||
| 295 | #: directives.c:1248 | 295 | #: directives.c:1238 |
| 296 | #, c-format | 296 | #, c-format |
| 297 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 297 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 298 | msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella" | 298 | msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella" |
| 299 | 299 | ||
| 300 | #: directives.c:1257 | 300 | #: directives.c:1247 |
| 301 | #, c-format | 301 | #, c-format |
| 302 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 302 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 303 | msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta" | 303 | msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta" |
| 304 | 304 | ||
| 305 | #: directives.c:1275 | 305 | #: directives.c:1265 |
| 306 | #, c-format | 306 | #, c-format |
| 307 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 307 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 308 | msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena" | 308 | msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena" |
| 309 | 309 | ||
| 310 | #: directives.c:1278 | 310 | #: directives.c:1268 |
| 311 | #, c-format | 311 | #, c-format |
| 312 | msgid "#pragma %s %s is already registered" | 312 | msgid "#pragma %s %s is already registered" |
| 313 | msgstr "#pragma %s %s on jo rekisteröity" | 313 | msgstr "#pragma %s %s on jo rekisteröity" |
| 314 | 314 | ||
| 315 | #: directives.c:1281 | 315 | #: directives.c:1271 |
| 316 | #, c-format | 316 | #, c-format |
| 317 | msgid "#pragma %s is already registered" | 317 | msgid "#pragma %s is already registered" |
| 318 | msgstr "#pragma %s on jo rekisteröity" | 318 | msgstr "#pragma %s on jo rekisteröity" |
| 319 | 319 | ||
| 320 | #: directives.c:1311 | 320 | #: directives.c:1301 |
| 321 | msgid "registering pragma with NULL handler" | 321 | msgid "registering pragma with NULL handler" |
| 322 | msgstr "rekisteröidään pragma NULL-käsittelijällä" | 322 | msgstr "rekisteröidään pragma NULL-käsittelijällä" |
| 323 | 323 | ||
| 324 | #: directives.c:1528 | 324 | #: directives.c:1518 |
| 325 | msgid "#pragma once in main file" | 325 | msgid "#pragma once in main file" |
| 326 | msgstr "#pragma once päätiedostossa" | 326 | msgstr "#pragma once päätiedostossa" |
| 327 | 327 | ||
| 328 | #: directives.c:1551 | 328 | #: directives.c:1541 |
| 329 | msgid "invalid #pragma push_macro directive" | 329 | msgid "invalid #pragma push_macro directive" |
| 330 | msgstr "virheellinen #pragma push_macro -direktiivi" | 330 | msgstr "virheellinen #pragma push_macro -direktiivi" |
| 331 | 331 | ||
| 332 | #: directives.c:1606 | 332 | #: directives.c:1596 |
| 333 | msgid "invalid #pragma pop_macro directive" | 333 | msgid "invalid #pragma pop_macro directive" |
| 334 | msgstr "virheellinen #pragma pop_macro -direktiivi" | 334 | msgstr "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:1661 | 337 | #: directives.c:1651 |
| 338 | msgid "invalid #pragma GCC poison directive" | 338 | msgid "invalid #pragma GCC poison directive" |
| 339 | msgstr "virheellinen #pragma GCC poison -direktiivi" | 339 | msgstr "virheellinen #pragma GCC poison -direktiivi" |
| 340 | 340 | ||
| 341 | #: directives.c:1670 | 341 | #: directives.c:1660 |
| 342 | #, c-format | 342 | #, c-format |
| 343 | msgid "poisoning existing macro \"%s\"" | 343 | msgid "poisoning existing macro \"%s\"" |
| 344 | msgstr "myrkytetään olemassa oleva makro ”%s”" | 344 | msgstr "myrkytetään olemassa oleva makro ”%s”" |
| 345 | 345 | ||
| 346 | #: directives.c:1689 | 346 | #: directives.c:1679 |
| 347 | msgid "#pragma system_header ignored outside include file" | 347 | msgid "#pragma system_header ignored outside include file" |
| 348 | msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella" | 348 | msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella" |
| 349 | 349 | ||
| 350 | #: directives.c:1714 | 350 | #: directives.c:1704 |
| 351 | #, c-format | 351 | #, c-format |
| 352 | msgid "cannot find source file %s" | 352 | msgid "cannot find source file %s" |
| 353 | msgstr "lähdetiedostoa %s ei löydy" | 353 | msgstr "lähdetiedostoa %s ei löydy" |
| 354 | 354 | ||
| 355 | #: directives.c:1718 | 355 | #: directives.c:1708 |
| 356 | #, c-format | 356 | #, c-format |
| 357 | msgid "current file is older than %s" | 357 | msgid "current file is older than %s" |
| 358 | msgstr "nykyinen tiedosto on vanhempi kuin %s" | 358 | msgstr "nykyinen tiedosto on vanhempi kuin %s" |
| 359 | 359 | ||
| 360 | #: directives.c:1742 | 360 | #: directives.c:1732 |
| 361 | #, c-format | 361 | #, c-format |
| 362 | msgid "invalid \"#pragma GCC %s\" directive" | 362 | msgid "invalid \"#pragma GCC %s\" directive" |
| 363 | msgstr "virheellinen ”#pragma GCC %s” -direktiivi" | 363 | msgstr "virheellinen ”#pragma GCC %s” -direktiivi" |
| 364 | 364 | ||
| 365 | #: directives.c:1943 | 365 | #: directives.c:1933 |
| 366 | msgid "_Pragma takes a parenthesized string literal" | 366 | msgid "_Pragma takes a parenthesized string literal" |
| 367 | msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin" | 367 | msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin" |
| 368 | 368 | ||
| 369 | #: directives.c:2064 | 369 | #: directives.c:2021 |
| 370 | msgid "#else without #if" | 370 | msgid "#else without #if" |
| 371 | msgstr "#else ilman #if:iä" | 371 | msgstr "#else ilman #if:iä" |
| 372 | 372 | ||
| 373 | #: directives.c:2069 | 373 | #: directives.c:2026 |
| 374 | msgid "#else after #else" | 374 | msgid "#else after #else" |
| 375 | msgstr "#else #else:n jälkeen" | 375 | msgstr "#else #else:n jälkeen" |
| 376 | 376 | ||
| 377 | #: directives.c:2071 directives.c:2104 | 377 | #: directives.c:2028 directives.c:2061 |
| 378 | msgid "the conditional began here" | 378 | msgid "the conditional began here" |
| 379 | msgstr "ehtolause alkoi tästä" | 379 | msgstr "ehtolause alkoi tästä" |
| 380 | 380 | ||
| 381 | #: directives.c:2097 | 381 | #: directives.c:2054 |
| 382 | msgid "#elif without #if" | 382 | msgid "#elif without #if" |
| 383 | msgstr "#elif ilman #if:iä" | 383 | msgstr "#elif ilman #if:iä" |
| 384 | 384 | ||
| 385 | #: directives.c:2102 | 385 | #: directives.c:2059 |
| 386 | msgid "#elif after #else" | 386 | msgid "#elif after #else" |
| 387 | msgstr "#elif #else:n jälkeen" | 387 | msgstr "#elif #else:n jälkeen" |
| 388 | 388 | ||
| 389 | #: directives.c:2133 | 389 | #: directives.c:2090 |
| 390 | msgid "#endif without #if" | 390 | msgid "#endif without #if" |
| 391 | msgstr "#endif ilman #if:iä" | 391 | msgstr "#endif ilman #if:iä" |
| 392 | 392 | ||
| 393 | #: directives.c:2213 | 393 | #: directives.c:2166 |
| 394 | msgid "missing '(' after predicate" | 394 | msgid "missing '(' after predicate" |
| 395 | msgstr "’(’ puuttuu predikaatin jäljestä" | 395 | msgstr "’(’ puuttuu predikaatin jäljestä" |
| 396 | 396 | ||
| 397 | #: directives.c:2228 | 397 | #: directives.c:2184 |
| 398 | msgid "missing ')' to complete answer" | 398 | msgid "missing ')' to complete answer" |
| 399 | msgstr "’)’ puuttuu vastauksen täydentämisestä" | 399 | msgstr "’)’ puuttuu vastauksen täydentämisestä" |
| 400 | 400 | ||
| 401 | #: directives.c:2248 | 401 | #: directives.c:2196 |
| 402 | msgid "predicate's answer is empty" | 402 | msgid "predicate's answer is empty" |
| 403 | msgstr "predikaatin vastaus on tyhjä" | 403 | msgstr "predikaatin vastaus on tyhjä" |
| 404 | 404 | ||
| 405 | #: directives.c:2275 | 405 | #: directives.c:2226 |
| 406 | msgid "assertion without predicate" | 406 | msgid "assertion without predicate" |
| 407 | msgstr "väite ilman predikaattia" | 407 | msgstr "väite ilman predikaattia" |
| 408 | 408 | ||
| 409 | #: directives.c:2278 | 409 | #: directives.c:2229 |
| 410 | msgid "predicate must be an identifier" | 410 | msgid "predicate must be an identifier" |
| 411 | msgstr "predikaatin on oltava tunniste" | 411 | msgstr "predikaatin on oltava tunniste" |
| 412 | 412 | ||
| 413 | #: directives.c:2364 | 413 | #: directives.c:2311 |
| 414 | #, c-format | 414 | #, c-format |
| 415 | msgid "\"%s\" re-asserted" | 415 | msgid "\"%s\" re-asserted" |
| 416 | msgstr "”%s” väitetty uudelleen" | 416 | msgstr "”%s” väitetty uudelleen" |
| 417 | 417 | ||
| 418 | #: directives.c:2656 | 418 | #: directives.c:2587 |
| 419 | #, c-format | 419 | #, c-format |
| 420 | msgid "unterminated #%s" | 420 | msgid "unterminated #%s" |
| 421 | msgstr "päättämätön #%s" | 421 | msgstr "päättämätön #%s" |
| 422 | 422 | ||
| 423 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 423 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 424 | msgid "unterminated comment" | 424 | msgid "unterminated comment" |
| 425 | msgstr "päättämätön kommentti" | 425 | msgstr "päättämätön kommentti" |
| 426 | 426 | ||
| 427 | #: errors.c:284 | 427 | #: errors.c:291 |
| 428 | #, c-format | 428 | #, c-format |
| 429 | msgid "%s: %s" | 429 | msgid "%s: %s" |
| 430 | msgstr "%s: %s" | 430 | msgstr "%s: %s" |
| 431 | 431 | ||
| 432 | #: errors.c:296 | 432 | #: errors.c:304 |
| 433 | msgid "stdout" | 433 | msgid "stdout" |
| 434 | msgstr "vakiotuloste" | 434 | msgstr "vakiotuloste" |
| 435 | 435 | ||
| @@ -522,85 +522,85 @@ msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)" · 86 unmodified lines | |||
| 522 | msgid "this use of \"defined\" may not be portable" | 522 | msgid "this use of \"defined\" may not be portable" |
| 523 | msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää" | 523 | msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää" |
| 524 | 524 | ||
| 525 | #: expr.c:1125 | 525 | #: expr.c:1109 |
| 526 | msgid "user-defined literal in preprocessor expression" | 526 | msgid "user-defined literal in preprocessor expression" |
| 527 | msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa" | 527 | msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa" |
| 528 | 528 | ||
| 529 | #: expr.c:1130 | 529 | #: expr.c:1114 |
| 530 | msgid "floating constant in preprocessor expression" | 530 | msgid "floating constant in preprocessor expression" |
| 531 | msgstr "liukulukuvakio esikääntäjän lausekkeessa" | 531 | msgstr "liukulukuvakio esikääntäjän lausekkeessa" |
| 532 | 532 | ||
| 533 | #: expr.c:1136 | 533 | #: expr.c:1120 |
| 534 | msgid "imaginary number in preprocessor expression" | 534 | msgid "imaginary number in preprocessor expression" |
| 535 | msgstr "imaginääriluku esikääntäjän lausekkeessa" | 535 | msgstr "imaginääriluku esikääntäjän lausekkeessa" |
| 536 | 536 | ||
| 537 | #: expr.c:1189 | 537 | #: expr.c:1173 |
| 538 | #, c-format | 538 | #, c-format |
| 539 | msgid "\"%s\" is not defined, evaluates to 0" | 539 | msgid "\"%s\" is not defined, evaluates to 0" |
| 540 | msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi" | 540 | msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi" |
| 541 | 541 | ||
| 542 | #: expr.c:1202 | 542 | #: expr.c:1186 |
| 543 | msgid "assertions are a GCC extension" | 543 | msgid "assertions are a GCC extension" |
| 544 | msgstr "väitteet ovat GCC-laajennos" | 544 | msgstr "väitteet ovat GCC-laajennos" |
| 545 | 545 | ||
| 546 | #: expr.c:1205 | 546 | #: expr.c:1189 |
| 547 | msgid "assertions are a deprecated extension" | 547 | msgid "assertions are a deprecated extension" |
| 548 | msgstr "väitteet ovat vanhentunut laajennos" | 548 | msgstr "väitteet ovat vanhentunut laajennos" |
| 549 | 549 | ||
| 550 | # %s on #if tai #elif | 550 | # %s on #if tai #elif |
| 551 | #: expr.c:1451 | 551 | #: expr.c:1435 |
| 552 | #, c-format | 552 | #, c-format |
| 553 | msgid "unbalanced stack in %s" | 553 | msgid "unbalanced stack in %s" |
| 554 | msgstr "tasapainoton pino %s:ssä" | 554 | msgstr "tasapainoton pino %s:ssä" |
| 555 | 555 | ||
| 556 | #: expr.c:1471 | 556 | #: expr.c:1455 |
| 557 | #, c-format | 557 | #, c-format |
| 558 | msgid "impossible operator '%u'" | 558 | msgid "impossible operator '%u'" |
| 559 | msgstr "mahdoton operaattori ’%u’" | 559 | msgstr "mahdoton operaattori ’%u’" |
| 560 | 560 | ||
| 561 | #: expr.c:1572 | 561 | #: expr.c:1556 |
| 562 | msgid "missing ')' in expression" | 562 | msgid "missing ')' in expression" |
| 563 | msgstr "’)’ puuttuu lausekkeesta" | 563 | msgstr "’)’ puuttuu lausekkeesta" |
| 564 | 564 | ||
| 565 | #: expr.c:1601 | 565 | #: expr.c:1585 |
| 566 | msgid "'?' without following ':'" | 566 | msgid "'?' without following ':'" |
| 567 | msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä" | 567 | msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä" |
| 568 | 568 | ||
| 569 | #: expr.c:1611 | 569 | #: expr.c:1595 |
| 570 | msgid "integer overflow in preprocessor expression" | 570 | msgid "integer overflow in preprocessor expression" |
| 571 | msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa" | 571 | msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa" |
| 572 | 572 | ||
| 573 | #: expr.c:1616 | 573 | #: expr.c:1600 |
| 574 | msgid "missing '(' in expression" | 574 | msgid "missing '(' in expression" |
| 575 | msgstr "’(’ puuttuu lausekkeesta" | 575 | msgstr "’(’ puuttuu lausekkeesta" |
| 576 | 576 | ||
| 577 | #: expr.c:1648 | 577 | #: expr.c:1632 |
| 578 | #, c-format | 578 | #, c-format |
| 579 | msgid "the left operand of \"%s\" changes sign when promoted" | 579 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 580 | msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään" | 580 | msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään" |
| 581 | 581 | ||
| 582 | #: expr.c:1653 | 582 | #: expr.c:1637 |
| 583 | #, c-format | 583 | #, c-format |
| 584 | msgid "the right operand of \"%s\" changes sign when promoted" | 584 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 585 | msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään" | 585 | msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään" |
| 586 | 586 | ||
| 587 | #: expr.c:1912 | 587 | #: expr.c:1896 |
| 588 | msgid "traditional C rejects the unary plus operator" | 588 | msgid "traditional C rejects the unary plus operator" |
| 589 | msgstr "perinteinen C ei salli unaarista plus-operaattoria" | 589 | msgstr "perinteinen C ei salli unaarista plus-operaattoria" |
| 590 | 590 | ||
| 591 | #: expr.c:2010 | 591 | #: expr.c:1994 |
| 592 | msgid "comma operator in operand of #if" | 592 | msgid "comma operator in operand of #if" |
| 593 | msgstr "pilkkuoperaattori #if:in operandissa" | 593 | msgstr "pilkkuoperaattori #if:in operandissa" |
| 594 | 594 | ||
| 595 | #: expr.c:2146 | 595 | #: expr.c:2130 |
| 596 | msgid "division by zero in #if" | 596 | msgid "division by zero in #if" |
| 597 | msgstr "jako nollalla #if-ehdossa" | 597 | msgstr "jako nollalla #if-ehdossa" |
| 598 | 598 | ||
| 599 | #: expr.c:2243 | 599 | #: expr.c:2227 |
| 600 | msgid "operator \"__has_include__\" requires a header string" | 600 | msgid "operator \"__has_include__\" requires a header string" |
| 601 | msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon" | 601 | msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon" |
| 602 | 602 | ||
| 603 | #: expr.c:2259 | 603 | #: expr.c:2243 |
| 604 | msgid "missing ')' after \"__has_include__\"" | 604 | msgid "missing ')' after \"__has_include__\"" |
| 605 | msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä" | 605 | msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä" |
| 606 | 606 | ||
| @@ -617,40 +617,40 @@ msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi" · 10 unmodified lines | |||
| 617 | msgid "no include path in which to search for %s" | 617 | msgid "no include path in which to search for %s" |
| 618 | msgstr "ei include-polkua, josta etsiä tiedostoa %s" | 618 | msgstr "ei include-polkua, josta etsiä tiedostoa %s" |
| 619 | 619 | ||
| 620 | #: files.c:1441 | 620 | #: files.c:1455 |
| 621 | msgid "Multiple include guards may be useful for:\n" | 621 | msgid "Multiple include guards may be useful for:\n" |
| 622 | msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n" | 622 | msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n" |
| 623 | 623 | ||
| 624 | #: init.c:565 | 624 | #: init.c:569 |
| 625 | msgid "cppchar_t must be an unsigned type" | 625 | msgid "cppchar_t must be an unsigned type" |
| 626 | msgstr "cppchar_t:n on oltava etumerkitön tyyppi" | 626 | msgstr "cppchar_t:n on oltava etumerkitön tyyppi" |
| 627 | 627 | ||
| 628 | #: init.c:569 | 628 | #: init.c:573 |
| 629 | #, c-format | 629 | #, c-format |
| 630 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 630 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 631 | msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä" | 631 | msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä" |
| 632 | 632 | ||
| 633 | #: init.c:576 | 633 | #: init.c:580 |
| 634 | msgid "CPP arithmetic must be at least as precise as a target int" | 634 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 635 | msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin" | 635 | msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin" |
| 636 | 636 | ||
| 637 | #: init.c:579 | 637 | #: init.c:583 |
| 638 | msgid "target char is less than 8 bits wide" | 638 | msgid "target char is less than 8 bits wide" |
| 639 | msgstr "kohteen char-tyyppi on alle 8 bittiä leveä" | 639 | msgstr "kohteen char-tyyppi on alle 8 bittiä leveä" |
| 640 | 640 | ||
| 641 | #: init.c:583 | 641 | #: init.c:587 |
| 642 | msgid "target wchar_t is narrower than target char" | 642 | msgid "target wchar_t is narrower than target char" |
| 643 | msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi" | 643 | msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi" |
| 644 | 644 | ||
| 645 | #: init.c:587 | 645 | #: init.c:591 |
| 646 | msgid "target int is narrower than target char" | 646 | msgid "target int is narrower than target char" |
| 647 | msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi" | 647 | msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi" |
| 648 | 648 | ||
| 649 | #: init.c:592 | 649 | #: init.c:596 |
| 650 | msgid "CPP half-integer narrower than CPP character" | 650 | msgid "CPP half-integer narrower than CPP character" |
| 651 | msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki" | 651 | msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki" |
| 652 | 652 | ||
| 653 | #: init.c:596 | 653 | #: init.c:600 |
| 654 | #, c-format | 654 | #, c-format |
| 655 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 655 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 656 | msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä" | 656 | msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä" |
| @@ -729,260 +729,275 @@ msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa" · 72 unmodified lines | |||
| 729 | msgid "identifier \"%s\" is a special operator name in C++" | 729 | msgid "identifier \"%s\" is a special operator name in C++" |
| 730 | msgstr "tunniste ”%s” on operaattorin nimi C++:ssa" | 730 | msgstr "tunniste ”%s” on operaattorin nimi C++:ssa" |
| 731 | 731 | ||
| 732 | #: lex.c:1811 | 732 | #: lex.c:1826 |
| 733 | msgid "raw string delimiter longer than 16 characters" | 733 | msgid "raw string delimiter longer than 16 characters" |
| 734 | msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä" | 734 | msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä" |
| 735 | 735 | ||
| 736 | #: lex.c:1815 | 736 | #: lex.c:1830 |
| 737 | msgid "invalid new-line in raw string delimiter" | 737 | msgid "invalid new-line in raw string delimiter" |
| 738 | msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa" | 738 | msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa" |
| 739 | 739 | ||
| 740 | #: lex.c:1819 | 740 | #: lex.c:1834 |
| 741 | #, c-format | 741 | #, c-format |
| 742 | msgid "invalid character '%c' in raw string delimiter" | 742 | msgid "invalid character '%c' in raw string delimiter" |
| 743 | msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa" | 743 | msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa" |
| 744 | 744 | ||
| 745 | #: lex.c:1868 lex.c:1890 | 745 | #: lex.c:1883 lex.c:1905 |
| 746 | msgid "unterminated raw string" | 746 | msgid "unterminated raw string" |
| 747 | msgstr "päättämätön raaka merkkijono" | 747 | msgstr "päättämätön raaka merkkijono" |
| 748 | 748 | ||
| 749 | #: lex.c:1912 lex.c:2043 | 749 | #: lex.c:1925 lex.c:2054 |
| 750 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 750 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 751 | msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin" | 751 | msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin" |
| 752 | 752 | ||
| 753 | #: lex.c:2024 | 753 | #: lex.c:2037 |
| 754 | msgid "null character(s) preserved in literal" | 754 | msgid "null character(s) preserved in literal" |
| 755 | msgstr "null-merkit säilytetään literaalissa" | 755 | msgstr "null-merkit säilytetään literaalissa" |
| 756 | 756 | ||
| 757 | #: lex.c:2027 | 757 | #: lex.c:2040 |
| 758 | #, c-format | 758 | #, c-format |
| 759 | msgid "missing terminating %c character" | 759 | msgid "missing terminating %c character" |
| 760 | msgstr "päättävä merkki %c puuttuu" | 760 | msgstr "päättävä merkki %c puuttuu" |
| 761 | 761 | ||
| 762 | #: lex.c:2061 | 762 | #: lex.c:2072 |
| 763 | msgid "C++11 requires a space between string literal and macro" | 763 | msgid "C++11 requires a space between string literal and macro" |
| 764 | msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin" | 764 | msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin" |
| 765 | 765 | ||
| 766 | #: lex.c:2865 lex.c:2899 | 766 | #: lex.c:2876 lex.c:2910 |
| 767 | msgid "C++ style comments are not allowed in ISO C90" | 767 | msgid "C++ style comments are not allowed in ISO C90" |
| 768 | msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä" | 768 | msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä" |
| 769 | 769 | ||
| 770 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 770 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 771 | msgid "(this will be reported only once per input file)" | 771 | msgid "(this will be reported only once per input file)" |
| 772 | msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)" | 772 | msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)" |
| 773 | 773 | ||
| 774 | #: lex.c:2876 | 774 | #: lex.c:2887 |
| 775 | msgid "C++ style comments are incompatible with C90" | 775 | msgid "C++ style comments are incompatible with C90" |
| 776 | msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa" | 776 | msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa" |
| 777 | 777 | ||
| 778 | #: lex.c:2907 | 778 | #: lex.c:2919 |
| 779 | msgid "multi-line comment" | 779 | msgid "multi-line comment" |
| 780 | msgstr "monirivinen kommentti" | 780 | msgstr "monirivinen kommentti" |
| 781 | 781 | ||
| 782 | #: lex.c:3287 | 782 | #: lex.c:3299 |
| 783 | #, c-format | 783 | #, c-format |
| 784 | msgid "unspellable token %s" | 784 | msgid "unspellable token %s" |
| 785 | msgstr "kirjoitusasuton symboli %s" | 785 | msgstr "kirjoitusasuton symboli %s" |
| 786 | 786 | ||
| 787 | #: macro.c:93 | 787 | #: macro.c:94 |
| 788 | msgid "'##' cannot appear at either end of __VA_OPT__" | 788 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 789 | msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä" | 789 | msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä" |
| 790 | 790 | ||
| 791 | #: macro.c:352 | 791 | #: macro.c:354 |
| 792 | #, c-format | 792 | #, c-format |
| 793 | msgid "macro \"%s\" is not used" | 793 | msgid "macro \"%s\" is not used" |
| 794 | msgstr "makroa ”%s” ei käytetä" | 794 | msgstr "makroa ”%s” ei käytetä" |
| 795 | 795 | ||
| 796 | #: macro.c:391 macro.c:639 | 796 | #: macro.c:393 macro.c:641 |
| 797 | #, c-format | 797 | #, c-format |
| 798 | msgid "invalid built-in macro \"%s\"" | 798 | msgid "invalid built-in macro \"%s\"" |
| 799 | msgstr "virheellinen sisäinen makro ”%s”" | 799 | msgstr "virheellinen sisäinen makro ”%s”" |
| 800 | 800 | ||
| 801 | #: macro.c:398 macro.c:500 | 801 | #: macro.c:400 macro.c:502 |
| 802 | #, c-format | 802 | #, c-format |
| 803 | msgid "macro \"%s\" might prevent reproducible builds" | 803 | msgid "macro \"%s\" might prevent reproducible builds" |
| 804 | msgstr "makro ”%s” saattaa estää toistettavat käännökset" | 804 | msgstr "makro ”%s” saattaa estää toistettavat käännökset" |
| 805 | 805 | ||
| 806 | #: macro.c:429 | 806 | #: macro.c:431 |
| 807 | msgid "could not determine file timestamp" | 807 | msgid "could not determine file timestamp" |
| 808 | msgstr "ei voitu selvittää tiedoston aikaleimaa" | 808 | msgstr "ei voitu selvittää tiedoston aikaleimaa" |
| 809 | 809 | ||
| 810 | #: macro.c:546 | 810 | #: macro.c:548 |
| 811 | msgid "could not determine date and time" | 811 | msgid "could not determine date and time" |
| 812 | msgstr "ei voitu selvittää päivämäärää ja aikaa" | 812 | msgstr "ei voitu selvittää päivämäärää ja aikaa" |
| 813 | 813 | ||
| 814 | #: macro.c:562 | 814 | #: macro.c:564 |
| 815 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 815 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 816 | msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only" | 816 | msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only" |
| 817 | 817 | ||
| 818 | #: macro.c:758 | 818 | #: macro.c:760 |
| 819 | msgid "invalid string literal, ignoring final '\\'" | 819 | msgid "invalid string literal, ignoring final '\\'" |
| 820 | msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’" | 820 | msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’" |
| 821 | 821 | ||
| 822 | #: macro.c:820 | 822 | #: macro.c:822 |
| 823 | #, c-format | 823 | #, c-format |
| 824 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 824 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 825 | msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia" | 825 | msgstr "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:946 | 828 | #: macro.c:948 |
| 829 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 829 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 830 | msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle" | 830 | msgstr "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:950 | 833 | #: macro.c:952 |
| 834 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 834 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 835 | msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle" | 835 | msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle" |
| 836 | 836 | ||
| 837 | #: macro.c:957 | 837 | #: macro.c:959 |
| 838 | #, c-format | 838 | #, c-format |
| 839 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 839 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 840 | msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu" | 840 | msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu" |
| 841 | 841 | ||
| 842 | #: macro.c:962 | 842 | #: macro.c:964 |
| 843 | #, c-format | 843 | #, c-format |
| 844 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 844 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 845 | msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u" | 845 | msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u" |
| 846 | 846 | ||
| 847 | #: macro.c:1156 traditional.c:819 | 847 | #: macro.c:1162 traditional.c:827 |
| 848 | #, c-format | 848 | #, c-format |
| 849 | msgid "unterminated argument list invoking macro \"%s\"" | 849 | msgid "unterminated argument list invoking macro \"%s\"" |
| 850 | msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa" | 850 | msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa" |
| 851 | 851 | ||
| 852 | #: macro.c:1307 | 852 | #: macro.c:1304 |
| 853 | #, c-format | 853 | #, c-format |
| 854 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 854 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 855 | msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä" | 855 | msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä" |
| 856 | 856 | ||
| 857 | #: macro.c:2003 | 857 | #: macro.c:2083 |
| 858 | #, c-format | 858 | #, c-format |
| 859 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 859 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 860 | msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa" | 860 | msgstr "%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:2020 | 862 | #: macro.c:2091 macro.c:2100 |
| 863 | #, c-format | 863 | #, c-format |
| 864 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 864 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 865 | msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä" | 865 | msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä" |
| 866 | 866 | ||
| 867 | #: macro.c:2984 | 867 | #: macro.c:3059 |
| 868 | #, c-format | 868 | #, c-format |
| 869 | msgid "duplicate macro parameter \"%s\"" | 869 | msgid "duplicate macro parameter \"%s\"" |
| 870 | msgstr "kahdenkertainen makroparametri ”%s”" | 870 | msgstr "kahdenkertainen makroparametri ”%s”" |
| 871 | 871 | ||
| 872 | #: macro.c:3033 | 872 | #: macro.c:3141 |
| 873 | #, c-format | ||
| 874 | msgid "expected parameter name, found \"%s\"" | ||
| 875 | msgstr "odotettiin parametrin nimeä, löytyi ”%s”" | ||
| 876 | |||
| 877 | #: macro.c:3142 | ||
| 873 | #, c-format | 878 | #, c-format |
| 874 | msgid "\"%s\" may not appear in macro parameter list" | 879 | msgid "expected ',' or ')', found \"%s\"" |
| 875 | msgstr "”%s” ei saa esiintyä makron parametriluettelossa" | 880 | msgstr "odotettiin ”,” tai ”)”, löytyi ”%s”" |
| 876 | 881 | ||
| 877 | #: macro.c:3041 | 882 | #: macro.c:3143 |
| 878 | msgid "macro parameters must be comma-separated" | 883 | msgid "expected parameter name before end of line" |
| 879 | msgstr "makron parametrien on oltava pilkuin eroteltuja" | 884 | msgstr "odotettiin parametrin nimeä ennen rivin loppua" |
| 880 | 885 | ||
| 881 | #: macro.c:3060 | 886 | #: macro.c:3144 |
| 882 | msgid "parameter name missing" | 887 | msgid "expected ')' before end of line" |
| 883 | msgstr "parametrin nimi puuttuu" | 888 | msgstr "odotettiin tulevan ”)” ennen rivin loppua" |
| 884 | 889 | ||
| 885 | #: macro.c:3081 | 890 | #: macro.c:3145 |
| 891 | msgid "expected ')' after \"...\"" | ||
| 892 | msgstr "odotettiin ”...”:n jälkeen tulevan ”)”" | ||
| 893 | |||
| 894 | #: macro.c:3202 | ||
| 886 | msgid "anonymous variadic macros were introduced in C++11" | 895 | msgid "anonymous variadic macros were introduced in C++11" |
| 887 | msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä" | 896 | msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä" |
| 888 | 897 | ||
| 889 | #: macro.c:3085 macro.c:3090 | 898 | #: macro.c:3203 macro.c:3207 |
| 890 | msgid "anonymous variadic macros were introduced in C99" | 899 | msgid "anonymous variadic macros were introduced in C99" |
| 891 | msgstr "anonyymit variadiset makrot esiteltiin C99:ssä" | 900 | msgstr "anonyymit variadiset makrot esiteltiin C99:ssä" |
| 892 | 901 | ||
| 893 | #: macro.c:3097 | 902 | #: macro.c:3213 |
| 894 | msgid "ISO C++ does not permit named variadic macros" | 903 | msgid "ISO C++ does not permit named variadic macros" |
| 895 | msgstr "ISO C++ ei salli nimettyjä variadisia makroja" | 904 | msgstr "ISO C++ ei salli nimettyjä variadisia makroja" |
| 896 | 905 | ||
| 897 | #: macro.c:3100 | 906 | #: macro.c:3214 |
| 898 | msgid "ISO C does not permit named variadic macros" | 907 | msgid "ISO C does not permit named variadic macros" |
| 899 | msgstr "ISO C ei salli nimettyjä variadisia makroja" | 908 | msgstr "ISO C ei salli nimettyjä variadisia makroja" |
| 900 | 909 | ||
| 901 | #: macro.c:3110 | 910 | #: macro.c:3260 |
| 902 | msgid "missing ')' in macro parameter list" | ||
| 903 | msgstr "’)’ puuttuu makron parametriluettelosta" | ||
| 904 | |||
| 905 | #: macro.c:3161 | ||
| 906 | msgid "'##' cannot appear at either end of a macro expansion" | 911 | msgid "'##' cannot appear at either end of a macro expansion" |
| 907 | msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä" | 912 | msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä" |
| 908 | 913 | ||
| 909 | #: macro.c:3198 | 914 | #: macro.c:3298 |
| 910 | msgid "ISO C++11 requires whitespace after the macro name" | 915 | msgid "ISO C++11 requires whitespace after the macro name" |
| 911 | msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen" | 916 | msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen" |
| 912 | 917 | ||
| 913 | #: macro.c:3201 | 918 | #: macro.c:3299 |
| 914 | msgid "ISO C99 requires whitespace after the macro name" | 919 | msgid "ISO C99 requires whitespace after the macro name" |
| 915 | msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen" | 920 | msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen" |
| 916 | 921 | ||
| 917 | #: macro.c:3226 | 922 | #: macro.c:3323 |
| 918 | msgid "missing whitespace after the macro name" | 923 | msgid "missing whitespace after the macro name" |
| 919 | msgstr "tyhjemerkki puuttuu makron nimen jäljestä" | 924 | msgstr "tyhjemerkki puuttuu makron nimen jäljestä" |
| 920 | 925 | ||
| 921 | #: macro.c:3263 | 926 | #: macro.c:3373 |
| 922 | msgid "'#' is not followed by a macro parameter" | 927 | msgid "'#' is not followed by a macro parameter" |
| 923 | msgstr "”#” ilman sitä seuraavaa makroparametria" | 928 | msgstr "”#” ilman sitä seuraavaa makroparametria" |
| 924 | 929 | ||
| 925 | #: macro.c:3430 | 930 | #: macro.c:3524 |
| 926 | #, c-format | 931 | #, c-format |
| 927 | msgid "\"%s\" redefined" | 932 | msgid "\"%s\" redefined" |
| 928 | msgstr "”%s” määritelty uudelleen" | 933 | msgstr "”%s” määritelty uudelleen" |
| 929 | 934 | ||
| 930 | #: macro.c:3435 | 935 | #: macro.c:3529 |
| 931 | msgid "this is the location of the previous definition" | 936 | msgid "this is the location of the previous definition" |
| 932 | msgstr "tämä on edellisen määrittelyn sijainti" | 937 | msgstr "tämä on edellisen määrittelyn sijainti" |
| 933 | 938 | ||
| 934 | #: macro.c:3496 | 939 | #: macro.c:3633 |
| 935 | #, c-format | 940 | #, c-format |
| 936 | msgid "macro argument \"%s\" would be stringified in traditional C" | 941 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 937 | msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä" | 942 | msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä" |
| 938 | 943 | ||
| 939 | #: macro.c:3532 | 944 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 940 | #, c-format | ||
| 941 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 942 | msgstr "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 | ||
| 945 | msgid "while writing precompiled header" | 945 | msgid "while writing precompiled header" |
| 946 | msgstr "kirjoitettaessa esikäännettyä otsaketta" | 946 | msgstr "kirjoitettaessa esikäännettyä otsaketta" |
| 947 | 947 | ||
| 948 | #: pch.c:621 | 948 | #: pch.c:616 |
| 949 | #, c-format | 949 | #, c-format |
| 950 | msgid "%s: not used because `%.*s' is poisoned" | 950 | msgid "%s: not used because `%.*s' is poisoned" |
| 951 | msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty" | 951 | msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty" |
| 952 | 952 | ||
| 953 | #: pch.c:643 | 953 | #: pch.c:638 |
| 954 | #, c-format | 954 | #, c-format |
| 955 | msgid "%s: not used because `%.*s' not defined" | 955 | msgid "%s: not used because `%.*s' not defined" |
| 956 | msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä" | 956 | msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä" |
| 957 | 957 | ||
| 958 | #: pch.c:655 | 958 | #: pch.c:650 |
| 959 | #, c-format | 959 | #, c-format |
| 960 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 960 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 961 | msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”" | 961 | msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”" |
| 962 | 962 | ||
| 963 | #: pch.c:696 | 963 | #: pch.c:691 |
| 964 | #, c-format | 964 | #, c-format |
| 965 | msgid "%s: not used because `%s' is defined" | 965 | msgid "%s: not used because `%s' is defined" |
| 966 | msgstr "%s: ei käytetä, koska ”%s” on määritelty" | 966 | msgstr "%s: ei käytetä, koska ”%s” on määritelty" |
| 967 | 967 | ||
| 968 | #: pch.c:716 | 968 | #: pch.c:711 |
| 969 | #, c-format | 969 | #, c-format |
| 970 | msgid "%s: not used because `__COUNTER__' is invalid" | 970 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 971 | msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen" | 971 | msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen" |
| 972 | 972 | ||
| 973 | #: pch.c:725 pch.c:903 | 973 | #: pch.c:720 pch.c:878 |
| 974 | msgid "while reading precompiled header" | 974 | msgid "while reading precompiled header" |
| 975 | msgstr "luettaessa esikäännettyä otsaketta" | 975 | msgstr "luettaessa esikäännettyä otsaketta" |
| 976 | 976 | ||
| 977 | #: traditional.c:889 | 977 | #: traditional.c:896 |
| 978 | #, c-format | 978 | #, c-format |
| 979 | msgid "detected recursion whilst expanding macro \"%s\"" | 979 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 980 | msgstr "havaittiin rekursio lavennettaessa makroa ”%s”" | 980 | msgstr "havaittiin rekursio lavennettaessa makroa ”%s”" |
| 981 | 981 | ||
| 982 | #: traditional.c:1108 | 982 | #: traditional.c:1119 |
| 983 | msgid "syntax error in macro parameter list" | 983 | msgid "syntax error in macro parameter list" |
| 984 | msgstr "syntaksivirhe makron parameteriluettelossa" | 984 | msgstr "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 | ||
Binary file not shown.
| @@ -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 gauche | 10 | # lvalue = membre gauche |
| @@ -120,10 +120,10 @@ · 109 unmodified lines | |||
| 120 | # | 120 | # |
| 121 | msgid "" | 121 | msgid "" |
| 122 | msgstr "" | 122 | msgstr "" |
| 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 | |||
| 203 | msgid "universal character %.*s is not valid at the start of an identifier" | 203 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 204 | msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur" | 204 | msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur" |
| 205 | 205 | ||
| 206 | #: charset.c:1181 charset.c:2000 | 206 | #: charset.c:1181 charset.c:2002 |
| 207 | msgid "converting UCN to source character set" | 207 | msgid "converting UCN to source character set" |
| 208 | msgstr "conversion d'un UCN vers le jeu de caractères source" | 208 | msgstr "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 | |||
| 254 | msgid "missing open quote" | 254 | msgid "missing open quote" |
| 255 | msgstr "guillemet ouvrant de chaîne de caractères manquant" | 255 | msgstr "guillemet ouvrant de chaîne de caractères manquant" |
| 256 | 256 | ||
| 257 | #: charset.c:1827 charset.c:1891 | 257 | #: charset.c:1829 charset.c:1893 |
| 258 | msgid "character constant too long for its type" | 258 | msgid "character constant too long for its type" |
| 259 | msgstr "constante caractère trop longue pour son type" | 259 | msgstr "constante caractère trop longue pour son type" |
| 260 | 260 | ||
| 261 | #: charset.c:1830 | 261 | #: charset.c:1832 |
| 262 | msgid "multi-character character constant" | 262 | msgid "multi-character character constant" |
| 263 | msgstr "constante caractère multi-caractères" | 263 | msgstr "constante caractère multi-caractères" |
| 264 | 264 | ||
| 265 | #: charset.c:1931 | 265 | #: charset.c:1933 |
| 266 | msgid "empty character constant" | 266 | msgid "empty character constant" |
| 267 | msgstr "constante caractère vide" | 267 | msgstr "constante caractère vide" |
| 268 | 268 | ||
| 269 | #: charset.c:2047 | 269 | #: charset.c:2049 |
| 270 | #, c-format | 270 | #, c-format |
| 271 | msgid "failure to convert %s to %s" | 271 | msgid "failure to convert %s to %s" |
| 272 | msgstr "échec de conversion de %s vers %s" | 272 | msgstr "échec de conversion de %s vers %s" |
| 273 | 273 | ||
| 274 | #: directives.c:235 directives.c:278 | 274 | #: directives.c:229 directives.c:272 |
| 275 | #, c-format | 275 | #, c-format |
| 276 | msgid "extra tokens at end of #%s directive" | 276 | msgid "extra tokens at end of #%s directive" |
| 277 | msgstr "éléments lexicaux superflus à la fin de la directive #%s" | 277 | msgstr "éléments lexicaux superflus à la fin de la directive #%s" |
| 278 | 278 | ||
| 279 | #: directives.c:385 | 279 | #: directives.c:379 |
| 280 | #, c-format | 280 | #, c-format |
| 281 | msgid "#%s is a GCC extension" | 281 | msgid "#%s is a GCC extension" |
| 282 | msgstr "#%s est une extension GCC" | 282 | msgstr "#%s est une extension GCC" |
| 283 | 283 | ||
| 284 | #: directives.c:390 | 284 | #: directives.c:384 |
| 285 | #, c-format | 285 | #, c-format |
| 286 | msgid "#%s is a deprecated GCC extension" | 286 | msgid "#%s is a deprecated GCC extension" |
| 287 | msgstr "#%s est une extension obsolète de GCC" | 287 | msgstr "#%s est une extension obsolète de GCC" |
| 288 | 288 | ||
| 289 | #: directives.c:403 | 289 | #: directives.c:397 |
| 290 | msgid "suggest not using #elif in traditional C" | 290 | msgid "suggest not using #elif in traditional C" |
| 291 | msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel" | 291 | msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel" |
| 292 | 292 | ||
| 293 | #: directives.c:406 | 293 | #: directives.c:400 |
| 294 | #, c-format | 294 | #, c-format |
| 295 | msgid "traditional C ignores #%s with the # indented" | 295 | msgid "traditional C ignores #%s with the # indented" |
| 296 | msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté" | 296 | msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté" |
| 297 | 297 | ||
| 298 | #: directives.c:410 | 298 | #: directives.c:404 |
| 299 | #, c-format | 299 | #, c-format |
| 300 | msgid "suggest hiding #%s from traditional C with an indented #" | 300 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 301 | msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »" | 301 | msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »" |
| 302 | 302 | ||
| 303 | #: directives.c:436 | 303 | #: directives.c:430 |
| 304 | msgid "embedding a directive within macro arguments is not portable" | 304 | msgid "embedding a directive within macro arguments is not portable" |
| 305 | msgstr "placer une directive dans les arguments d’une macro n’est pas portable" | 305 | msgstr "placer une directive dans les arguments d’une macro n’est pas portable" |
| 306 | 306 | ||
| 307 | #: directives.c:456 | 307 | #: directives.c:450 |
| 308 | msgid "style of line directive is a GCC extension" | 308 | msgid "style of line directive is a GCC extension" |
| 309 | msgstr "la directive de style de ligne est une extension GCC" | 309 | msgstr "la directive de style de ligne est une extension GCC" |
| 310 | 310 | ||
| 311 | #: directives.c:537 | 311 | #: directives.c:531 |
| 312 | #, c-format | 312 | #, c-format |
| 313 | msgid "invalid preprocessing directive #%s" | 313 | msgid "invalid preprocessing directive #%s" |
| 314 | msgstr "la directive de pré-traitement #%s invalide" | 314 | msgstr "la directive de pré-traitement #%s invalide" |
| 315 | 315 | ||
| 316 | #: directives.c:606 | 316 | #: directives.c:600 |
| 317 | msgid "\"defined\" cannot be used as a macro name" | 317 | msgid "\"defined\" cannot be used as a macro name" |
| 318 | msgstr "« defined » ne peut être utilisé comme nom de macro" | 318 | msgstr "« defined » ne peut être utilisé comme nom de macro" |
| 319 | 319 | ||
| 320 | #: directives.c:611 | 320 | #: directives.c:605 |
| 321 | msgid "\"__has_include__\" cannot be used as a macro name" | 321 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 322 | msgstr "« __has_include__ » ne peut être utilisé comme nom de macro" | 322 | msgstr "« __has_include__ » ne peut être utilisé comme nom de macro" |
| 323 | 323 | ||
| 324 | #: directives.c:617 | 324 | #: directives.c:611 |
| 325 | #, c-format | 325 | #, c-format |
| 326 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 326 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 327 | msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++" | 327 | msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++" |
| 328 | 328 | ||
| 329 | #: directives.c:620 | 329 | #: directives.c:614 |
| 330 | #, c-format | 330 | #, c-format |
| 331 | msgid "no macro name given in #%s directive" | 331 | msgid "no macro name given in #%s directive" |
| 332 | msgstr "aucun nom de macro donné dans la directive #%s" | 332 | msgstr "aucun nom de macro donné dans la directive #%s" |
| 333 | 333 | ||
| 334 | #: directives.c:623 | 334 | #: directives.c:617 |
| 335 | msgid "macro names must be identifiers" | 335 | msgid "macro names must be identifiers" |
| 336 | msgstr "les noms de macro doivent être des identificateurs" | 336 | msgstr "les noms de macro doivent être des identificateurs" |
| 337 | 337 | ||
| 338 | #: directives.c:672 directives.c:677 | 338 | #: directives.c:666 directives.c:671 |
| 339 | #, c-format | 339 | #, c-format |
| 340 | msgid "undefining \"%s\"" | 340 | msgid "undefining \"%s\"" |
| 341 | msgstr "suppression de la définition de « %s »" | 341 | msgstr "suppression de la définition de « %s »" |
| 342 | 342 | ||
| 343 | #: directives.c:732 | 343 | #: directives.c:727 |
| 344 | msgid "missing terminating > character" | 344 | msgid "missing terminating > character" |
| 345 | msgstr "caractère > de terminaison manquant" | 345 | msgstr "caractère > de terminaison manquant" |
| 346 | 346 | ||
| 347 | #: directives.c:791 | 347 | #: directives.c:786 |
| 348 | #, c-format | 348 | #, c-format |
| 349 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 349 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 350 | msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>" | 350 | msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>" |
| 351 | 351 | ||
| 352 | #: directives.c:837 | 352 | #: directives.c:828 |
| 353 | #, c-format | 353 | #, c-format |
| 354 | msgid "empty filename in #%s" | 354 | msgid "empty filename in #%s" |
| 355 | msgstr "nom de fichier vide dans #%s" | 355 | msgstr "nom de fichier vide dans #%s" |
| 356 | 356 | ||
| 357 | #: directives.c:847 | 357 | #: directives.c:835 |
| 358 | msgid "#include nested too deeply" | 358 | msgid "#include nested too deeply" |
| 359 | msgstr "#include imbriqué trop profondément" | 359 | msgstr "#include imbriqué trop profondément" |
| 360 | 360 | ||
| 361 | #: directives.c:888 | 361 | #: directives.c:877 |
| 362 | msgid "#include_next in primary source file" | 362 | msgid "#include_next in primary source file" |
| 363 | msgstr "#include_next dans un fichier source primaire" | 363 | msgstr "#include_next dans un fichier source primaire" |
| 364 | 364 | ||
| 365 | #: directives.c:914 | 365 | #: directives.c:903 |
| 366 | #, c-format | 366 | #, c-format |
| 367 | msgid "invalid flag \"%s\" in line directive" | 367 | msgid "invalid flag \"%s\" in line directive" |
| 368 | msgstr "drapeau « %s » invalide dans la ligne de directive" | 368 | msgstr "drapeau « %s » invalide dans la ligne de directive" |
| 369 | 369 | ||
| 370 | #: directives.c:974 | 370 | #: directives.c:963 |
| 371 | msgid "unexpected end of file after #line" | 371 | msgid "unexpected end of file after #line" |
| 372 | msgstr "fin de fichier inattendue après #line" | 372 | msgstr "fin de fichier inattendue après #line" |
| 373 | 373 | ||
| 374 | #: directives.c:977 | 374 | #: directives.c:966 |
| 375 | #, c-format | 375 | #, c-format |
| 376 | msgid "\"%s\" after #line is not a positive integer" | 376 | msgid "\"%s\" after #line is not a positive integer" |
| 377 | msgstr "« %s » après #line n’est pas un nombre entier positif" | 377 | msgstr "« %s » après #line n’est pas un nombre entier positif" |
| 378 | 378 | ||
| 379 | #: directives.c:983 directives.c:985 | 379 | #: directives.c:972 directives.c:974 |
| 380 | msgid "line number out of range" | 380 | msgid "line number out of range" |
| 381 | msgstr "numéro de ligne hors intervalle" | 381 | msgstr "numéro de ligne hors intervalle" |
| 382 | 382 | ||
| 383 | #: directives.c:998 directives.c:1079 | 383 | #: directives.c:987 directives.c:1068 |
| 384 | #, c-format | 384 | #, c-format |
| 385 | msgid "\"%s\" is not a valid filename" | 385 | msgid "\"%s\" is not a valid filename" |
| 386 | msgstr "« %s » n’est pas un nom de fichier valide" | 386 | msgstr "« %s » n’est pas un nom de fichier valide" |
| 387 | 387 | ||
| 388 | #: directives.c:1039 | 388 | #: directives.c:1028 |
| 389 | #, c-format | 389 | #, c-format |
| 390 | msgid "\"%s\" after # is not a positive integer" | 390 | msgid "\"%s\" after # is not a positive integer" |
| 391 | msgstr "« %s » après # n’est pas un nombre entier positif" | 391 | msgstr "« %s » après # n’est pas un nombre entier positif" |
| 392 | 392 | ||
| 393 | #: directives.c:1098 | 393 | #: directives.c:1087 |
| 394 | #, c-format | 394 | #, c-format |
| 395 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 395 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 396 | msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte" | 396 | msgstr "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:1747 | 398 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 399 | #, c-format | 399 | #, c-format |
| 400 | msgid "%s" | 400 | msgid "%s" |
| 401 | msgstr "%s" | 401 | msgstr "%s" |
| 402 | 402 | ||
| 403 | #: directives.c:1185 | 403 | #: directives.c:1175 |
| 404 | #, c-format | 404 | #, c-format |
| 405 | msgid "invalid #%s directive" | 405 | msgid "invalid #%s directive" |
| 406 | msgstr "directive #%s invalide" | 406 | msgstr "directive #%s invalide" |
| 407 | 407 | ||
| 408 | #: directives.c:1248 | 408 | #: directives.c:1238 |
| 409 | #, c-format | 409 | #, c-format |
| 410 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 410 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 411 | msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas" | 411 | msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas" |
| 412 | 412 | ||
| 413 | #: directives.c:1257 | 413 | #: directives.c:1247 |
| 414 | #, c-format | 414 | #, c-format |
| 415 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 415 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 416 | msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom" | 416 | msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom" |
| 417 | 417 | ||
| 418 | #: directives.c:1275 | 418 | #: directives.c:1265 |
| 419 | #, c-format | 419 | #, c-format |
| 420 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 420 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 421 | msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma" | 421 | msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma" |
| 422 | 422 | ||
| 423 | #: directives.c:1278 | 423 | #: directives.c:1268 |
| 424 | #, c-format | 424 | #, c-format |
| 425 | msgid "#pragma %s %s is already registered" | 425 | msgid "#pragma %s %s is already registered" |
| 426 | msgstr "le #pragma %s %s est déjà enregistré" | 426 | msgstr "le #pragma %s %s est déjà enregistré" |
| 427 | 427 | ||
| 428 | #: directives.c:1281 | 428 | #: directives.c:1271 |
| 429 | #, c-format | 429 | #, c-format |
| 430 | msgid "#pragma %s is already registered" | 430 | msgid "#pragma %s is already registered" |
| 431 | msgstr "le #pragma %s est déjà enregistré" | 431 | msgstr "le #pragma %s est déjà enregistré" |
| 432 | 432 | ||
| 433 | #: directives.c:1311 | 433 | #: directives.c:1301 |
| 434 | msgid "registering pragma with NULL handler" | 434 | msgid "registering pragma with NULL handler" |
| 435 | msgstr "enregistrement d’un pragma avec un handler NULL" | 435 | msgstr "enregistrement d’un pragma avec un handler NULL" |
| 436 | 436 | ||
| 437 | #: directives.c:1528 | 437 | #: directives.c:1518 |
| 438 | msgid "#pragma once in main file" | 438 | msgid "#pragma once in main file" |
| 439 | msgstr "#pragma once utilisé une seule fois dans le fichier principal" | 439 | msgstr "#pragma once utilisé une seule fois dans le fichier principal" |
| 440 | 440 | ||
| 441 | #: directives.c:1551 | 441 | #: directives.c:1541 |
| 442 | msgid "invalid #pragma push_macro directive" | 442 | msgid "invalid #pragma push_macro directive" |
| 443 | msgstr "directive #pragma push_macro invalide" | 443 | msgstr "directive #pragma push_macro invalide" |
| 444 | 444 | ||
| 445 | #: directives.c:1606 | 445 | #: directives.c:1596 |
| 446 | msgid "invalid #pragma pop_macro directive" | 446 | msgid "invalid #pragma pop_macro directive" |
| 447 | msgstr "directive #pragma pop_macro invalide" | 447 | msgstr "directive #pragma pop_macro invalide" |
| 448 | 448 | ||
| 449 | #: directives.c:1661 | 449 | #: directives.c:1651 |
| 450 | msgid "invalid #pragma GCC poison directive" | 450 | msgid "invalid #pragma GCC poison directive" |
| 451 | msgstr "directive #pragma GCC poison invalide" | 451 | msgstr "directive #pragma GCC poison invalide" |
| 452 | 452 | ||
| 453 | #: directives.c:1670 | 453 | #: directives.c:1660 |
| 454 | #, c-format | 454 | #, c-format |
| 455 | msgid "poisoning existing macro \"%s\"" | 455 | msgid "poisoning existing macro \"%s\"" |
| 456 | msgstr "empoisonnement de la macro existante « %s »" | 456 | msgstr "empoisonnement de la macro existante « %s »" |
| 457 | 457 | ||
| 458 | #: directives.c:1689 | 458 | #: directives.c:1679 |
| 459 | msgid "#pragma system_header ignored outside include file" | 459 | msgid "#pragma system_header ignored outside include file" |
| 460 | msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion" | 460 | msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion" |
| 461 | 461 | ||
| 462 | #: directives.c:1714 | 462 | #: directives.c:1704 |
| 463 | #, c-format | 463 | #, c-format |
| 464 | msgid "cannot find source file %s" | 464 | msgid "cannot find source file %s" |
| 465 | msgstr "impossible de trouver le fichier source %s" | 465 | msgstr "impossible de trouver le fichier source %s" |
| 466 | 466 | ||
| 467 | #: directives.c:1718 | 467 | #: directives.c:1708 |
| 468 | #, c-format | 468 | #, c-format |
| 469 | msgid "current file is older than %s" | 469 | msgid "current file is older than %s" |
| 470 | msgstr "le fichier courant est plus vieux que %s" | 470 | msgstr "le fichier courant est plus vieux que %s" |
| 471 | 471 | ||
| 472 | #: directives.c:1742 | 472 | #: directives.c:1732 |
| 473 | #, c-format | 473 | #, c-format |
| 474 | msgid "invalid \"#pragma GCC %s\" directive" | 474 | msgid "invalid \"#pragma GCC %s\" directive" |
| 475 | msgstr "directive « #pragma GCC %s » invalide" | 475 | msgstr "directive « #pragma GCC %s » invalide" |
| 476 | 476 | ||
| 477 | #: directives.c:1943 | 477 | #: directives.c:1933 |
| 478 | msgid "_Pragma takes a parenthesized string literal" | 478 | msgid "_Pragma takes a parenthesized string literal" |
| 479 | msgstr "_Pragma attend une chaîne entourée de parenthèses" | 479 | msgstr "_Pragma attend une chaîne entourée de parenthèses" |
| 480 | 480 | ||
| 481 | #: directives.c:2064 | 481 | #: directives.c:2021 |
| 482 | msgid "#else without #if" | 482 | msgid "#else without #if" |
| 483 | msgstr "#else sans #if" | 483 | msgstr "#else sans #if" |
| 484 | 484 | ||
| 485 | #: directives.c:2069 | 485 | #: directives.c:2026 |
| 486 | msgid "#else after #else" | 486 | msgid "#else after #else" |
| 487 | msgstr "#else après #else" | 487 | msgstr "#else après #else" |
| 488 | 488 | ||
| 489 | #: directives.c:2071 directives.c:2104 | 489 | #: directives.c:2028 directives.c:2061 |
| 490 | msgid "the conditional began here" | 490 | msgid "the conditional began here" |
| 491 | msgstr "la condition débute ici" | 491 | msgstr "la condition débute ici" |
| 492 | 492 | ||
| 493 | #: directives.c:2097 | 493 | #: directives.c:2054 |
| 494 | msgid "#elif without #if" | 494 | msgid "#elif without #if" |
| 495 | msgstr "#elif sans #if" | 495 | msgstr "#elif sans #if" |
| 496 | 496 | ||
| 497 | #: directives.c:2102 | 497 | #: directives.c:2059 |
| 498 | msgid "#elif after #else" | 498 | msgid "#elif after #else" |
| 499 | msgstr "#elif après #else" | 499 | msgstr "#elif après #else" |
| 500 | 500 | ||
| 501 | #: directives.c:2133 | 501 | #: directives.c:2090 |
| 502 | msgid "#endif without #if" | 502 | msgid "#endif without #if" |
| 503 | msgstr "#endif sans #if" | 503 | msgstr "#endif sans #if" |
| 504 | 504 | ||
| 505 | #: directives.c:2213 | 505 | #: directives.c:2166 |
| 506 | msgid "missing '(' after predicate" | 506 | msgid "missing '(' after predicate" |
| 507 | msgstr "« ( » manquante après le prédicat" | 507 | msgstr "« ( » manquante après le prédicat" |
| 508 | 508 | ||
| 509 | #: directives.c:2228 | 509 | #: directives.c:2184 |
| 510 | msgid "missing ')' to complete answer" | 510 | msgid "missing ')' to complete answer" |
| 511 | msgstr "« ) » manquante pour compléter la réponse" | 511 | msgstr "« ) » manquante pour compléter la réponse" |
| 512 | 512 | ||
| 513 | #: directives.c:2248 | 513 | #: directives.c:2196 |
| 514 | msgid "predicate's answer is empty" | 514 | msgid "predicate's answer is empty" |
| 515 | msgstr "la réponse du prédicat est vide" | 515 | msgstr "la réponse du prédicat est vide" |
| 516 | 516 | ||
| 517 | #: directives.c:2275 | 517 | #: directives.c:2226 |
| 518 | msgid "assertion without predicate" | 518 | msgid "assertion without predicate" |
| 519 | msgstr "assertion sans prédicat" | 519 | msgstr "assertion sans prédicat" |
| 520 | 520 | ||
| 521 | #: directives.c:2278 | 521 | #: directives.c:2229 |
| 522 | msgid "predicate must be an identifier" | 522 | msgid "predicate must be an identifier" |
| 523 | msgstr "le prédicat doit être un identificateur" | 523 | msgstr "le prédicat doit être un identificateur" |
| 524 | 524 | ||
| 525 | #: directives.c:2364 | 525 | #: directives.c:2311 |
| 526 | #, c-format | 526 | #, c-format |
| 527 | msgid "\"%s\" re-asserted" | 527 | msgid "\"%s\" re-asserted" |
| 528 | msgstr "assertion « %s » redondante" | 528 | msgstr "assertion « %s » redondante" |
| 529 | 529 | ||
| 530 | #: directives.c:2656 | 530 | #: directives.c:2587 |
| 531 | #, c-format | 531 | #, c-format |
| 532 | msgid "unterminated #%s" | 532 | msgid "unterminated #%s" |
| 533 | msgstr "#%s non terminé" | 533 | msgstr "#%s non terminé" |
| 534 | 534 | ||
| 535 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 535 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 536 | msgid "unterminated comment" | 536 | msgid "unterminated comment" |
| 537 | msgstr "commentaire non terminé" | 537 | msgstr "commentaire non terminé" |
| 538 | 538 | ||
| 539 | #: errors.c:284 | 539 | #: errors.c:291 |
| 540 | #, c-format | 540 | #, c-format |
| 541 | msgid "%s: %s" | 541 | msgid "%s: %s" |
| 542 | msgstr "%s : %s" | 542 | msgstr "%s : %s" |
| 543 | 543 | ||
| 544 | #: errors.c:296 | 544 | #: errors.c:304 |
| 545 | msgid "stdout" | 545 | msgid "stdout" |
| 546 | msgstr "sortie standard" | 546 | msgstr "sortie standard" |
| 547 | 547 | ||
| @@ -634,84 +634,84 @@ msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)" · 86 unmodified lines | |||
| 634 | msgid "this use of \"defined\" may not be portable" | 634 | msgid "this use of \"defined\" may not be portable" |
| 635 | msgstr "cette utilisation de « defined » peut ne pas être portable" | 635 | msgstr "cette utilisation de « defined » peut ne pas être portable" |
| 636 | 636 | ||
| 637 | #: expr.c:1125 | 637 | #: expr.c:1109 |
| 638 | msgid "user-defined literal in preprocessor expression" | 638 | msgid "user-defined literal in preprocessor expression" |
| 639 | msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur" | 639 | msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur" |
| 640 | 640 | ||
| 641 | #: expr.c:1130 | 641 | #: expr.c:1114 |
| 642 | msgid "floating constant in preprocessor expression" | 642 | msgid "floating constant in preprocessor expression" |
| 643 | msgstr "constante flottante dans une expression pour le préprocesseur" | 643 | msgstr "constante flottante dans une expression pour le préprocesseur" |
| 644 | 644 | ||
| 645 | #: expr.c:1136 | 645 | #: expr.c:1120 |
| 646 | msgid "imaginary number in preprocessor expression" | 646 | msgid "imaginary number in preprocessor expression" |
| 647 | msgstr "constante complexe dans une expression pour le préprocesseur" | 647 | msgstr "constante complexe dans une expression pour le préprocesseur" |
| 648 | 648 | ||
| 649 | #: expr.c:1189 | 649 | #: expr.c:1173 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "\"%s\" is not defined, evaluates to 0" | 651 | msgid "\"%s\" is not defined, evaluates to 0" |
| 652 | msgstr "« %s » n’est pas défini, évalué à 0" | 652 | msgstr "« %s » n’est pas défini, évalué à 0" |
| 653 | 653 | ||
| 654 | #: expr.c:1202 | 654 | #: expr.c:1186 |
| 655 | msgid "assertions are a GCC extension" | 655 | msgid "assertions are a GCC extension" |
| 656 | msgstr "les assertions sont une extension GCC" | 656 | msgstr "les assertions sont une extension GCC" |
| 657 | 657 | ||
| 658 | #: expr.c:1205 | 658 | #: expr.c:1189 |
| 659 | msgid "assertions are a deprecated extension" | 659 | msgid "assertions are a deprecated extension" |
| 660 | msgstr "les assertions sont une extension obsolète" | 660 | msgstr "les assertions sont une extension obsolète" |
| 661 | 661 | ||
| 662 | #: expr.c:1451 | 662 | #: expr.c:1435 |
| 663 | #, c-format | 663 | #, c-format |
| 664 | msgid "unbalanced stack in %s" | 664 | msgid "unbalanced stack in %s" |
| 665 | msgstr "pile non balancée dans %s" | 665 | msgstr "pile non balancée dans %s" |
| 666 | 666 | ||
| 667 | #: expr.c:1471 | 667 | #: expr.c:1455 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "impossible operator '%u'" | 669 | msgid "impossible operator '%u'" |
| 670 | msgstr "opérateur « %u » impossible" | 670 | msgstr "opérateur « %u » impossible" |
| 671 | 671 | ||
| 672 | #: expr.c:1572 | 672 | #: expr.c:1556 |
| 673 | msgid "missing ')' in expression" | 673 | msgid "missing ')' in expression" |
| 674 | msgstr "« ) » manquante dans l'expression" | 674 | msgstr "« ) » manquante dans l'expression" |
| 675 | 675 | ||
| 676 | #: expr.c:1601 | 676 | #: expr.c:1585 |
| 677 | msgid "'?' without following ':'" | 677 | msgid "'?' without following ':'" |
| 678 | msgstr "« ? » n’est pas suivi de « : »" | 678 | msgstr "« ? » n’est pas suivi de « : »" |
| 679 | 679 | ||
| 680 | #: expr.c:1611 | 680 | #: expr.c:1595 |
| 681 | msgid "integer overflow in preprocessor expression" | 681 | msgid "integer overflow in preprocessor expression" |
| 682 | msgstr "débordement d’entier dans l'expression pour le préprocesseur" | 682 | msgstr "débordement d’entier dans l'expression pour le préprocesseur" |
| 683 | 683 | ||
| 684 | #: expr.c:1616 | 684 | #: expr.c:1600 |
| 685 | msgid "missing '(' in expression" | 685 | msgid "missing '(' in expression" |
| 686 | msgstr "« ( » manquante dans l'expression" | 686 | msgstr "« ( » manquante dans l'expression" |
| 687 | 687 | ||
| 688 | #: expr.c:1648 | 688 | #: expr.c:1632 |
| 689 | #, c-format | 689 | #, c-format |
| 690 | msgid "the left operand of \"%s\" changes sign when promoted" | 690 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 691 | msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion" | 691 | msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion" |
| 692 | 692 | ||
| 693 | #: expr.c:1653 | 693 | #: expr.c:1637 |
| 694 | #, c-format | 694 | #, c-format |
| 695 | msgid "the right operand of \"%s\" changes sign when promoted" | 695 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 696 | msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion" | 696 | msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion" |
| 697 | 697 | ||
| 698 | #: expr.c:1912 | 698 | #: expr.c:1896 |
| 699 | msgid "traditional C rejects the unary plus operator" | 699 | msgid "traditional C rejects the unary plus operator" |
| 700 | msgstr "le C traditionnel rejette l'opérateur d'addition unaire" | 700 | msgstr "le C traditionnel rejette l'opérateur d'addition unaire" |
| 701 | 701 | ||
| 702 | #: expr.c:2010 | 702 | #: expr.c:1994 |
| 703 | msgid "comma operator in operand of #if" | 703 | msgid "comma operator in operand of #if" |
| 704 | msgstr "opérateur virgule dans l'opérande de #if" | 704 | msgstr "opérateur virgule dans l'opérande de #if" |
| 705 | 705 | ||
| 706 | #: expr.c:2146 | 706 | #: expr.c:2130 |
| 707 | msgid "division by zero in #if" | 707 | msgid "division by zero in #if" |
| 708 | msgstr "division par zéro dans #if" | 708 | msgstr "division par zéro dans #if" |
| 709 | 709 | ||
| 710 | #: expr.c:2243 | 710 | #: expr.c:2227 |
| 711 | msgid "operator \"__has_include__\" requires a header string" | 711 | msgid "operator \"__has_include__\" requires a header string" |
| 712 | msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête" | 712 | msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête" |
| 713 | 713 | ||
| 714 | #: expr.c:2259 | 714 | #: expr.c:2243 |
| 715 | msgid "missing ')' after \"__has_include__\"" | 715 | msgid "missing ')' after \"__has_include__\"" |
| 716 | msgstr "« ) » manquante après « __has_include__ »" | 716 | msgstr "« ) » manquante après « __has_include__ »" |
| 717 | 717 | ||
| @@ -728,40 +728,40 @@ msgstr "utilisez -Winvalid-pch pour plus d’informations" · 10 unmodified lines | |||
| 728 | msgid "no include path in which to search for %s" | 728 | msgid "no include path in which to search for %s" |
| 729 | msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s" | 729 | msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s" |
| 730 | 730 | ||
| 731 | #: files.c:1441 | 731 | #: files.c:1455 |
| 732 | msgid "Multiple include guards may be useful for:\n" | 732 | msgid "Multiple include guards may be useful for:\n" |
| 733 | msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n" | 733 | msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n" |
| 734 | 734 | ||
| 735 | #: init.c:565 | 735 | #: init.c:569 |
| 736 | msgid "cppchar_t must be an unsigned type" | 736 | msgid "cppchar_t must be an unsigned type" |
| 737 | msgstr "cppchar_t doit être d’un type non signé" | 737 | msgstr "cppchar_t doit être d’un type non signé" |
| 738 | 738 | ||
| 739 | #: init.c:569 | 739 | #: init.c:573 |
| 740 | #, c-format | 740 | #, c-format |
| 741 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" | 741 | msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits" |
| 742 | msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits" | 742 | msgstr "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:576 | 744 | #: init.c:580 |
| 745 | msgid "CPP arithmetic must be at least as precise as a target int" | 745 | msgid "CPP arithmetic must be at least as precise as a target int" |
| 746 | msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible" | 746 | msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible" |
| 747 | 747 | ||
| 748 | #: init.c:579 | 748 | #: init.c:583 |
| 749 | msgid "target char is less than 8 bits wide" | 749 | msgid "target char is less than 8 bits wide" |
| 750 | msgstr "sur la cible, char fait moins de 8 bits" | 750 | msgstr "sur la cible, char fait moins de 8 bits" |
| 751 | 751 | ||
| 752 | #: init.c:583 | 752 | #: init.c:587 |
| 753 | msgid "target wchar_t is narrower than target char" | 753 | msgid "target wchar_t is narrower than target char" |
| 754 | msgstr "sur la cible, wchar_t est plus petit que char" | 754 | msgstr "sur la cible, wchar_t est plus petit que char" |
| 755 | 755 | ||
| 756 | #: init.c:587 | 756 | #: init.c:591 |
| 757 | msgid "target int is narrower than target char" | 757 | msgid "target int is narrower than target char" |
| 758 | msgstr "sur la cible, int est plus petit que char" | 758 | msgstr "sur la cible, int est plus petit que char" |
| 759 | 759 | ||
| 760 | #: init.c:592 | 760 | #: init.c:596 |
| 761 | msgid "CPP half-integer narrower than CPP character" | 761 | msgid "CPP half-integer narrower than CPP character" |
| 762 | msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP" | 762 | msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP" |
| 763 | 763 | ||
| 764 | #: init.c:596 | 764 | #: init.c:600 |
| 765 | #, c-format | 765 | #, c-format |
| 766 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" | 766 | msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits" |
| 767 | msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits" | 767 | msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits" |
| @@ -834,254 +834,269 @@ msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion des macr · 66 unmodified lines | |||
| 834 | msgid "identifier \"%s\" is a special operator name in C++" | 834 | msgid "identifier \"%s\" is a special operator name in C++" |
| 835 | msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++" | 835 | msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++" |
| 836 | 836 | ||
| 837 | #: lex.c:1811 | 837 | #: lex.c:1826 |
| 838 | msgid "raw string delimiter longer than 16 characters" | 838 | msgid "raw string delimiter longer than 16 characters" |
| 839 | msgstr "délimiteur de chaîne brute plus long que 16 caractères" | 839 | msgstr "délimiteur de chaîne brute plus long que 16 caractères" |
| 840 | 840 | ||
| 841 | #: lex.c:1815 | 841 | #: lex.c:1830 |
| 842 | msgid "invalid new-line in raw string delimiter" | 842 | msgid "invalid new-line in raw string delimiter" |
| 843 | msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute" | 843 | msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute" |
| 844 | 844 | ||
| 845 | #: lex.c:1819 | 845 | #: lex.c:1834 |
| 846 | #, c-format | 846 | #, c-format |
| 847 | msgid "invalid character '%c' in raw string delimiter" | 847 | msgid "invalid character '%c' in raw string delimiter" |
| 848 | msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute" | 848 | msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute" |
| 849 | 849 | ||
| 850 | #: lex.c:1868 lex.c:1890 | 850 | #: lex.c:1883 lex.c:1905 |
| 851 | msgid "unterminated raw string" | 851 | msgid "unterminated raw string" |
| 852 | msgstr "chaîne brute non terminée" | 852 | msgstr "chaîne brute non terminée" |
| 853 | 853 | ||
| 854 | #: lex.c:1912 lex.c:2043 | 854 | #: lex.c:1925 lex.c:2054 |
| 855 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" | 855 | msgid "invalid suffix on literal; C++11 requires a space between literal and string macro" |
| 856 | msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne" | 856 | msgstr "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:2024 | 858 | #: lex.c:2037 |
| 859 | msgid "null character(s) preserved in literal" | 859 | msgid "null character(s) preserved in literal" |
| 860 | msgstr "caractère(s) nul préservé(s) dans la chaîne" | 860 | msgstr "caractère(s) nul préservé(s) dans la chaîne" |
| 861 | 861 | ||
| 862 | #: lex.c:2027 | 862 | #: lex.c:2040 |
| 863 | #, c-format | 863 | #, c-format |
| 864 | msgid "missing terminating %c character" | 864 | msgid "missing terminating %c character" |
| 865 | msgstr "caractère %c de terminaison manquant" | 865 | msgstr "caractère %c de terminaison manquant" |
| 866 | 866 | ||
| 867 | #: lex.c:2061 | 867 | #: lex.c:2072 |
| 868 | msgid "C++11 requires a space between string literal and macro" | 868 | msgid "C++11 requires a space between string literal and macro" |
| 869 | msgstr "C++11 requière un espace entre une chaîne et une macro" | 869 | msgstr "C++11 requière un espace entre une chaîne et une macro" |
| 870 | 870 | ||
| 871 | #: lex.c:2865 lex.c:2899 | 871 | #: lex.c:2876 lex.c:2910 |
| 872 | msgid "C++ style comments are not allowed in ISO C90" | 872 | msgid "C++ style comments are not allowed in ISO C90" |
| 873 | msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO" | 873 | msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO" |
| 874 | 874 | ||
| 875 | #: lex.c:2867 lex.c:2878 lex.c:2901 | 875 | #: lex.c:2878 lex.c:2889 lex.c:2913 |
| 876 | msgid "(this will be reported only once per input file)" | 876 | msgid "(this will be reported only once per input file)" |
| 877 | msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)" | 877 | msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)" |
| 878 | 878 | ||
| 879 | #: lex.c:2876 | 879 | #: lex.c:2887 |
| 880 | msgid "C++ style comments are incompatible with C90" | 880 | msgid "C++ style comments are incompatible with C90" |
| 881 | msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90" | 881 | msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90" |
| 882 | 882 | ||
| 883 | #: lex.c:2907 | 883 | #: lex.c:2919 |
| 884 | msgid "multi-line comment" | 884 | msgid "multi-line comment" |
| 885 | msgstr "commentaire multi-lignes" | 885 | msgstr "commentaire multi-lignes" |
| 886 | 886 | ||
| 887 | #: lex.c:3287 | 887 | #: lex.c:3299 |
| 888 | #, c-format | 888 | #, c-format |
| 889 | msgid "unspellable token %s" | 889 | msgid "unspellable token %s" |
| 890 | msgstr "l'élément lexical %s ne peut être épelé" | 890 | msgstr "l'élément lexical %s ne peut être épelé" |
| 891 | 891 | ||
| 892 | #: macro.c:93 | 892 | #: macro.c:94 |
| 893 | msgid "'##' cannot appear at either end of __VA_OPT__" | 893 | msgid "'##' cannot appear at either end of __VA_OPT__" |
| 894 | msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__" | 894 | msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__" |
| 895 | 895 | ||
| 896 | #: macro.c:352 | 896 | #: macro.c:354 |
| 897 | #, c-format | 897 | #, c-format |
| 898 | msgid "macro \"%s\" is not used" | 898 | msgid "macro \"%s\" is not used" |
| 899 | msgstr "la macro « %s » n’est pas utilisée" | 899 | msgstr "la macro « %s » n’est pas utilisée" |
| 900 | 900 | ||
| 901 | #: macro.c:391 macro.c:639 | 901 | #: macro.c:393 macro.c:641 |
| 902 | #, c-format | 902 | #, c-format |
| 903 | msgid "invalid built-in macro \"%s\"" | 903 | msgid "invalid built-in macro \"%s\"" |
| 904 | msgstr "macro interne « %s » invalide" | 904 | msgstr "macro interne « %s » invalide" |
| 905 | 905 | ||
| 906 | #: macro.c:398 macro.c:500 | 906 | #: macro.c:400 macro.c:502 |
| 907 | #, c-format | 907 | #, c-format |
| 908 | msgid "macro \"%s\" might prevent reproducible builds" | 908 | msgid "macro \"%s\" might prevent reproducible builds" |
| 909 | msgstr "la macro « %s » pourrait empêcher les compilations reproductibles" | 909 | msgstr "la macro « %s » pourrait empêcher les compilations reproductibles" |
| 910 | 910 | ||
| 911 | #: macro.c:429 | 911 | #: macro.c:431 |
| 912 | msgid "could not determine file timestamp" | 912 | msgid "could not determine file timestamp" |
| 913 | msgstr "date de modification du fichier indéterminable" | 913 | msgstr "date de modification du fichier indéterminable" |
| 914 | 914 | ||
| 915 | #: macro.c:546 | 915 | #: macro.c:548 |
| 916 | msgid "could not determine date and time" | 916 | msgid "could not determine date and time" |
| 917 | msgstr "date et heure indéterminable" | 917 | msgstr "date et heure indéterminable" |
| 918 | 918 | ||
| 919 | #: macro.c:562 | 919 | #: macro.c:564 |
| 920 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" | 920 | msgid "__COUNTER__ expanded inside directive with -fdirectives-only" |
| 921 | msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only" | 921 | msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only" |
| 922 | 922 | ||
| 923 | #: macro.c:758 | 923 | #: macro.c:760 |
| 924 | msgid "invalid string literal, ignoring final '\\'" | 924 | msgid "invalid string literal, ignoring final '\\'" |
| 925 | msgstr "chaîne invalide, le « \\ » final est ignoré" | 925 | msgstr "chaîne invalide, le « \\ » final est ignoré" |
| 926 | 926 | ||
| 927 | #: macro.c:820 | 927 | #: macro.c:822 |
| 928 | #, c-format | 928 | #, c-format |
| 929 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" | 929 | msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token" |
| 930 | msgstr "le collage de « %s » et de « %s » ne donne pas un élément lexical de pré-traitement valide" | 930 | msgstr "le collage de « %s » et de « %s » ne donne pas un élément lexical de pré-traitement valide" |
| 931 | 931 | ||
| 932 | #: macro.c:946 | 932 | #: macro.c:948 |
| 933 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" | 933 | msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro" |
| 934 | msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments" | 934 | msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments" |
| 935 | 935 | ||
| 936 | #: macro.c:950 | 936 | #: macro.c:952 |
| 937 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" | 937 | msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro" |
| 938 | msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments" | 938 | msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments" |
| 939 | 939 | ||
| 940 | #: macro.c:957 | 940 | #: macro.c:959 |
| 941 | #, c-format | 941 | #, c-format |
| 942 | msgid "macro \"%s\" requires %u arguments, but only %u given" | 942 | msgid "macro \"%s\" requires %u arguments, but only %u given" |
| 943 | msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés" | 943 | msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés" |
| 944 | 944 | ||
| 945 | #: macro.c:962 | 945 | #: macro.c:964 |
| 946 | #, c-format | 946 | #, c-format |
| 947 | msgid "macro \"%s\" passed %u arguments, but takes just %u" | 947 | msgid "macro \"%s\" passed %u arguments, but takes just %u" |
| 948 | msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u" | 948 | msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u" |
| 949 | 949 | ||
| 950 | #: macro.c:1156 traditional.c:819 | 950 | #: macro.c:1162 traditional.c:827 |
| 951 | #, c-format | 951 | #, c-format |
| 952 | msgid "unterminated argument list invoking macro \"%s\"" | 952 | msgid "unterminated argument list invoking macro \"%s\"" |
| 953 | msgstr "liste d'arguments non terminée en invoquant la macro « %s »" | 953 | msgstr "liste d'arguments non terminée en invoquant la macro « %s »" |
| 954 | 954 | ||
| 955 | #: macro.c:1307 | 955 | #: macro.c:1304 |
| 956 | #, c-format | 956 | #, c-format |
| 957 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" | 957 | msgid "function-like macro \"%s\" must be used with arguments in traditional C" |
| 958 | msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel" | 958 | msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel" |
| 959 | 959 | ||
| 960 | #: macro.c:2003 | 960 | #: macro.c:2083 |
| 961 | #, c-format | 961 | #, c-format |
| 962 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" | 962 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98" |
| 963 | msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++98" | 963 | msgstr "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:2020 | 965 | #: macro.c:2091 macro.c:2100 |
| 966 | #, c-format | 966 | #, c-format |
| 967 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" | 967 | msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90" |
| 968 | msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++90" | 968 | msgstr "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:2984 | 970 | #: macro.c:3059 |
| 971 | #, c-format | 971 | #, c-format |
| 972 | msgid "duplicate macro parameter \"%s\"" | 972 | msgid "duplicate macro parameter \"%s\"" |
| 973 | msgstr "paramètre de macro « %s » dupliqués" | 973 | msgstr "paramètre de macro « %s » dupliqués" |
| 974 | 974 | ||
| 975 | #: macro.c:3033 | 975 | #: macro.c:3141 |
| 976 | #, c-format | ||
| 977 | msgid "expected parameter name, found \"%s\"" | ||
| 978 | msgstr "nom de paramètre attendu, « %s » rencontré" | ||
| 979 | |||
| 980 | #: macro.c:3142 | ||
| 976 | #, c-format | 981 | #, c-format |
| 977 | msgid "\"%s\" may not appear in macro parameter list" | 982 | msgid "expected ',' or ')', found \"%s\"" |
| 978 | msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro" | 983 | msgstr "« , » ou « ) » attendue, « %s » rencontré" |
| 979 | 984 | ||
| 980 | #: macro.c:3041 | 985 | #: macro.c:3143 |
| 981 | msgid "macro parameters must be comma-separated" | 986 | msgid "expected parameter name before end of line" |
| 982 | msgstr "les paramètres de macro doivent être séparés par des virgules" | 987 | msgstr "nom de paramètre attendu avant la fin de la ligne" |
| 983 | 988 | ||
| 984 | #: macro.c:3060 | 989 | #: macro.c:3144 |
| 985 | msgid "parameter name missing" | 990 | msgid "expected ')' before end of line" |
| 986 | msgstr "nom de paramètre manquant" | 991 | msgstr "« ) » attendue avant la fin de la ligne" |
| 987 | 992 | ||
| 988 | #: macro.c:3081 | 993 | #: macro.c:3145 |
| 994 | msgid "expected ')' after \"...\"" | ||
| 995 | msgstr "« ) » attendue après « ... »" | ||
| 996 | |||
| 997 | #: macro.c:3202 | ||
| 989 | msgid "anonymous variadic macros were introduced in C++11" | 998 | msgid "anonymous variadic macros were introduced in C++11" |
| 990 | msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11" | 999 | msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11" |
| 991 | 1000 | ||
| 992 | #: macro.c:3085 macro.c:3090 | 1001 | #: macro.c:3203 macro.c:3207 |
| 993 | msgid "anonymous variadic macros were introduced in C99" | 1002 | msgid "anonymous variadic macros were introduced in C99" |
| 994 | msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99" | 1003 | msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99" |
| 995 | 1004 | ||
| 996 | #: macro.c:3097 | 1005 | #: macro.c:3213 |
| 997 | msgid "ISO C++ does not permit named variadic macros" | 1006 | msgid "ISO C++ does not permit named variadic macros" |
| 998 | msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments" | 1007 | msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments" |
| 999 | 1008 | ||
| 1000 | #: macro.c:3100 | 1009 | #: macro.c:3214 |
| 1001 | msgid "ISO C does not permit named variadic macros" | 1010 | msgid "ISO C does not permit named variadic macros" |
| 1002 | msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments" | 1011 | msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments" |
| 1003 | 1012 | ||
| 1004 | #: macro.c:3110 | 1013 | #: macro.c:3260 |
| 1005 | msgid "missing ')' in macro parameter list" | ||
| 1006 | msgstr "« ) » manquante dans la liste des paramètres de macro" | ||
| 1007 | |||
| 1008 | #: macro.c:3161 | ||
| 1009 | msgid "'##' cannot appear at either end of a macro expansion" | 1014 | msgid "'##' cannot appear at either end of a macro expansion" |
| 1010 | msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro" | 1015 | msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro" |
| 1011 | 1016 | ||
| 1012 | #: macro.c:3198 | 1017 | #: macro.c:3298 |
| 1013 | msgid "ISO C++11 requires whitespace after the macro name" | 1018 | msgid "ISO C++11 requires whitespace after the macro name" |
| 1014 | msgstr "ISO C++11 requiert un blanc après le nom de la macro" | 1019 | msgstr "ISO C++11 requiert un blanc après le nom de la macro" |
| 1015 | 1020 | ||
| 1016 | #: macro.c:3201 | 1021 | #: macro.c:3299 |
| 1017 | msgid "ISO C99 requires whitespace after the macro name" | 1022 | msgid "ISO C99 requires whitespace after the macro name" |
| 1018 | msgstr "ISO C99 requiert un blanc après le nom de la macro" | 1023 | msgstr "ISO C99 requiert un blanc après le nom de la macro" |
| 1019 | 1024 | ||
| 1020 | #: macro.c:3226 | 1025 | #: macro.c:3323 |
| 1021 | msgid "missing whitespace after the macro name" | 1026 | msgid "missing whitespace after the macro name" |
| 1022 | msgstr "espacement manquant après le nom de la macro" | 1027 | msgstr "espacement manquant après le nom de la macro" |
| 1023 | 1028 | ||
| 1024 | #: macro.c:3263 | 1029 | #: macro.c:3373 |
| 1025 | msgid "'#' is not followed by a macro parameter" | 1030 | msgid "'#' is not followed by a macro parameter" |
| 1026 | msgstr "« # » n'est pas suivi d’un paramètre de macro" | 1031 | msgstr "« # » n'est pas suivi d’un paramètre de macro" |
| 1027 | 1032 | ||
| 1028 | #: macro.c:3430 | 1033 | #: macro.c:3524 |
| 1029 | #, c-format | 1034 | #, c-format |
| 1030 | msgid "\"%s\" redefined" | 1035 | msgid "\"%s\" redefined" |
| 1031 | msgstr "« %s » redéfini" | 1036 | msgstr "« %s » redéfini" |
| 1032 | 1037 | ||
| 1033 | #: macro.c:3435 | 1038 | #: macro.c:3529 |
| 1034 | msgid "this is the location of the previous definition" | 1039 | msgid "this is the location of the previous definition" |
| 1035 | msgstr "ceci est l'emplacement d’une précédente définition" | 1040 | msgstr "ceci est l'emplacement d’une précédente définition" |
| 1036 | 1041 | ||
| 1037 | #: macro.c:3496 | 1042 | #: macro.c:3633 |
| 1038 | #, c-format | 1043 | #, c-format |
| 1039 | msgid "macro argument \"%s\" would be stringified in traditional C" | 1044 | msgid "macro argument \"%s\" would be stringified in traditional C" |
| 1040 | msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel" | 1045 | msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel" |
| 1041 | 1046 | ||
| 1042 | #: macro.c:3532 | 1047 | #: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396 |
| 1043 | #, c-format | ||
| 1044 | msgid "invalid hash type %d in cpp_macro_definition" | ||
| 1045 | msgstr "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 | ||
| 1048 | msgid "while writing precompiled header" | 1048 | msgid "while writing precompiled header" |
| 1049 | msgstr "lors de l'écriture de l'en-tête pré-compilée" | 1049 | msgstr "lors de l'écriture de l'en-tête pré-compilée" |
| 1050 | 1050 | ||
| 1051 | #: pch.c:621 | 1051 | #: pch.c:616 |
| 1052 | #, c-format | 1052 | #, c-format |
| 1053 | msgid "%s: not used because `%.*s' is poisoned" | 1053 | msgid "%s: not used because `%.*s' is poisoned" |
| 1054 | msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné" | 1054 | msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné" |
| 1055 | 1055 | ||
| 1056 | #: pch.c:643 | 1056 | #: pch.c:638 |
| 1057 | #, c-format | 1057 | #, c-format |
| 1058 | msgid "%s: not used because `%.*s' not defined" | 1058 | msgid "%s: not used because `%.*s' not defined" |
| 1059 | msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini" | 1059 | msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini" |
| 1060 | 1060 | ||
| 1061 | #: pch.c:655 | 1061 | #: pch.c:650 |
| 1062 | #, c-format | 1062 | #, c-format |
| 1063 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" | 1063 | msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'" |
| 1064 | msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »" | 1064 | msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »" |
| 1065 | 1065 | ||
| 1066 | #: pch.c:696 | 1066 | #: pch.c:691 |
| 1067 | #, c-format | 1067 | #, c-format |
| 1068 | msgid "%s: not used because `%s' is defined" | 1068 | msgid "%s: not used because `%s' is defined" |
| 1069 | msgstr "%s: n'est pas utilisé parce que « %s » est défini" | 1069 | msgstr "%s: n'est pas utilisé parce que « %s » est défini" |
| 1070 | 1070 | ||
| 1071 | #: pch.c:716 | 1071 | #: pch.c:711 |
| 1072 | #, c-format | 1072 | #, c-format |
| 1073 | msgid "%s: not used because `__COUNTER__' is invalid" | 1073 | msgid "%s: not used because `__COUNTER__' is invalid" |
| 1074 | msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide" | 1074 | msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide" |
| 1075 | 1075 | ||
| 1076 | #: pch.c:725 pch.c:903 | 1076 | #: pch.c:720 pch.c:878 |
| 1077 | msgid "while reading precompiled header" | 1077 | msgid "while reading precompiled header" |
| 1078 | msgstr "lors de la lecture d’un entête pré-compilée" | 1078 | msgstr "lors de la lecture d’un entête pré-compilée" |
| 1079 | 1079 | ||
| 1080 | #: traditional.c:889 | 1080 | #: traditional.c:896 |
| 1081 | #, c-format | 1081 | #, c-format |
| 1082 | msgid "detected recursion whilst expanding macro \"%s\"" | 1082 | msgid "detected recursion whilst expanding macro \"%s\"" |
| 1083 | msgstr "récursion détectée lors de l'expansion de la macro « %s »" | 1083 | msgstr "récursion détectée lors de l'expansion de la macro « %s »" |
| 1084 | 1084 | ||
| 1085 | #: traditional.c:1108 | 1085 | #: traditional.c:1119 |
| 1086 | msgid "syntax error in macro parameter list" | 1086 | msgid "syntax error in macro parameter list" |
| 1087 | msgstr "erreur de syntaxe dans la liste des paramètres de macro" | 1087 | msgstr "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" | ||
Binary file not shown.
| @@ -7,7 +7,7 @@ msgid "" · 6 unmodified lines | |||
| 7 | msgstr "" | 7 | msgstr "" |
| 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 | |||
| 88 | msgid "universal character %.*s is not valid at the start of an identifier" | 88 | msgid "universal character %.*s is not valid at the start of an identifier" |
| 89 | msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi" | 89 | msgstr "karakter universal %.*s tidak valid di awal dari sebuah pengidentifikasi" |
| 90 | 90 | ||
| 91 | #: charset.c:1181 charset.c:2000 | 91 | #: charset.c:1181 charset.c:2002 |
| 92 | msgid "converting UCN to source character set" | 92 | msgid "converting UCN to source character set" |
| 93 | msgstr "mengubah UCN ke set karakter asal" | 93 | msgstr "mengubah UCN ke set karakter asal" |
| 94 | 94 | ||
| @@ -139,297 +139,297 @@ msgstr "mengubah escape sequence ke set karakter eksekusi" · 44 unmodified lines | |||
| 139 | msgid "missing open quote" | 139 | msgid "missing open quote" |
| 140 | msgstr "" | 140 | msgstr "" |
| 141 | 141 | ||
| 142 | #: charset.c:1827 charset.c:1891 | 142 | #: charset.c:1829 charset.c:1893 |
| 143 | msgid "character constant too long for its type" | 143 | msgid "character constant too long for its type" |
| 144 | msgstr "konstanta karakter terlalu panjang untuk tipenya" | 144 | msgstr "konstanta karakter terlalu panjang untuk tipenya" |
| 145 | 145 | ||
| 146 | #: charset.c:1830 | 146 | #: charset.c:1832 |
| 147 | msgid "multi-character character constant" | 147 | msgid "multi-character character constant" |
| 148 | msgstr "konstanta karakter multi-karakter" | 148 | msgstr "konstanta karakter multi-karakter" |
| 149 | 149 | ||
| 150 | #: charset.c:1931 | 150 | #: charset.c:1933 |
| 151 | msgid "empty character constant" | 151 | msgid "empty character constant" |
| 152 | msgstr "konstanta karakter kosong" | 152 | msgstr "konstanta karakter kosong" |
| 153 | 153 | ||
| 154 | #: charset.c:2047 | 154 | #: charset.c:2049 |
| 155 | #, c-format | 155 | #, c-format |
| 156 | msgid "failure to convert %s to %s" | 156 | msgid "failure to convert %s to %s" |
| 157 | msgstr "gagal untuk mengubah %s ke %s" | 157 | msgstr "gagal untuk mengubah %s ke %s" |
| 158 | 158 | ||
| 159 | #: directives.c:235 directives.c:278 | 159 | #: directives.c:229 directives.c:272 |
| 160 | #, c-format | 160 | #, c-format |
| 161 | msgid "extra tokens at end of #%s directive" | 161 | msgid "extra tokens at end of #%s directive" |
| 162 | msgstr "ekstra token di akhir dari #%s direktif" | 162 | msgstr "ekstra token di akhir dari #%s direktif" |
| 163 | 163 | ||
| 164 | #: directives.c:385 | 164 | #: directives.c:379 |
| 165 | #, c-format | 165 | #, c-format |
| 166 | msgid "#%s is a GCC extension" | 166 | msgid "#%s is a GCC extension" |
| 167 | msgstr "#%s adalah sebuah ekstensi GCC" | 167 | msgstr "#%s adalah sebuah ekstensi GCC" |
| 168 | 168 | ||
| 169 | #: directives.c:390 | 169 | #: directives.c:384 |
| 170 | #, c-format | 170 | #, c-format |
| 171 | msgid "#%s is a deprecated GCC extension" | 171 | msgid "#%s is a deprecated GCC extension" |
| 172 | msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan" | 172 | msgstr "#%s adalah sebuah ekstensi GCC yang sudah ditinggalkan" |
| 173 | 173 | ||
| 174 | #: directives.c:403 | 174 | #: directives.c:397 |
| 175 | msgid "suggest not using #elif in traditional C" | 175 | msgid "suggest not using #elif in traditional C" |
| 176 | msgstr "disarankan tidak menggunakan #elif dalam tradisional C" | 176 | msgstr "disarankan tidak menggunakan #elif dalam tradisional C" |
| 177 | 177 | ||
| 178 | #: directives.c:406 | 178 | #: directives.c:400 |
| 179 | #, c-format | 179 | #, c-format |
| 180 | msgid "traditional C ignores #%s with the # indented" | 180 | msgid "traditional C ignores #%s with the # indented" |
| 181 | msgstr "tradisional C mengabaikan #%s dengan # terindentasi" | 181 | msgstr "tradisional C mengabaikan #%s dengan # terindentasi" |
| 182 | 182 | ||
| 183 | #: directives.c:410 | 183 | #: directives.c:404 |
| 184 | #, c-format | 184 | #, c-format |
| 185 | msgid "suggest hiding #%s from traditional C with an indented #" | 185 | msgid "suggest hiding #%s from traditional C with an indented #" |
| 186 | msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #" | 186 | msgstr "disarankan menyembunyikan #%s dari tradisional C dengan sebuah indentasi #" |
| 187 | 187 | ||
| 188 | #: directives.c:436 | 188 | #: directives.c:430 |
| 189 | msgid "embedding a directive within macro arguments is not portable" | 189 | msgid "embedding a directive within macro arguments is not portable" |
| 190 | msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel" | 190 | msgstr "embedding sebuah direktif didalam argumen makro yang bukan portabel" |
| 191 | 191 | ||
| 192 | #: directives.c:456 | 192 | #: directives.c:450 |
| 193 | msgid "style of line directive is a GCC extension" | 193 | msgid "style of line directive is a GCC extension" |
| 194 | msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC" | 194 | msgstr "gaya dari baris direktif bukan sebuah ekstensi GCC" |
| 195 | 195 | ||
| 196 | #: directives.c:537 | 196 | #: directives.c:531 |
| 197 | #, c-format | 197 | #, c-format |
| 198 | msgid "invalid preprocessing directive #%s" | 198 | msgid "invalid preprocessing directive #%s" |
| 199 | msgstr "preprosesing direktif #%s tidak valid" | 199 | msgstr "preprosesing direktif #%s tidak valid" |
| 200 | 200 | ||
| 201 | #: directives.c:606 | 201 | #: directives.c:600 |
| 202 | msgid "\"defined\" cannot be used as a macro name" | 202 | msgid "\"defined\" cannot be used as a macro name" |
| 203 | msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro" | 203 | msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro" |
| 204 | 204 | ||
| 205 | #: directives.c:611 | 205 | #: directives.c:605 |
| 206 | #, fuzzy | 206 | #, fuzzy |
| 207 | #| msgid "\"defined\" cannot be used as a macro name" | 207 | #| msgid "\"defined\" cannot be used as a macro name" |
| 208 | msgid "\"__has_include__\" cannot be used as a macro name" | 208 | msgid "\"__has_include__\" cannot be used as a macro name" |
| 209 | msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro" | 209 | msgstr "\"defined\" tidak dapat digunakan sebagai sebuah nama makro" |
| 210 | 210 | ||
| 211 | #: directives.c:617 | 211 | #: directives.c:611 |
| 212 | #, c-format | 212 | #, c-format |
| 213 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" | 213 | msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" |
| 214 | msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++" | 214 | msgstr "\"%s\" tidak dapat digunakan sebagai sebuah nama makro karena ini adalah sebuah operator dalam C++" |
| 215 | 215 | ||
| 216 | #: directives.c:620 | 216 | #: directives.c:614 |
| 217 | #, c-format | 217 | #, c-format |
| 218 | msgid "no macro name given in #%s directive" | 218 | msgid "no macro name given in #%s directive" |
| 219 | msgstr "tidak ada nama makro yang diberikan dalam direktif #%s" | 219 | msgstr "tidak ada nama makro yang diberikan dalam direktif #%s" |
| 220 | 220 | ||
| 221 | #: directives.c:623 | 221 | #: directives.c:617 |
| 222 | msgid "macro names must be identifiers" | 222 | msgid "macro names must be identifiers" |
| 223 | msgstr "nama makro harus berupa pengidentifikasi" | 223 | msgstr "nama makro harus berupa pengidentifikasi" |
| 224 | 224 | ||
| 225 | #: directives.c:672 directives.c:677 | 225 | #: directives.c:666 directives.c:671 |
| 226 | #, c-format | 226 | #, c-format |
| 227 | msgid "undefining \"%s\"" | 227 | msgid "undefining \"%s\"" |
| 228 | msgstr "tidak terdefinisi \"%s\"" | 228 | msgstr "tidak terdefinisi \"%s\"" |
| 229 | 229 | ||
| 230 | #: directives.c:732 | 230 | #: directives.c:727 |
| 231 | msgid "missing terminating > character" | 231 | msgid "missing terminating > character" |
| 232 | msgstr "hilang karakter pengakhir >" | 232 | msgstr "hilang karakter pengakhir >" |
| 233 | 233 | ||
| 234 | #: directives.c:791 | 234 | #: directives.c:786 |
| 235 | #, c-format | 235 | #, c-format |
| 236 | msgid "#%s expects \"FILENAME\" or <FILENAME>" | 236 | msgid "#%s expects \"FILENAME\" or <FILENAME>" |
| 237 | msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>" | 237 | msgstr "#%s diduga \"NAMA BERKAS\" atau <NAMA BERKAS>" |
| 238 | 238 | ||
| 239 | #: directives.c:837 | 239 | #: directives.c:828 |
| 240 | #, c-format | 240 | #, c-format |
| 241 | msgid "empty filename in #%s" | 241 | msgid "empty filename in #%s" |
| 242 | msgstr "nama berkas kosong dalam #%s" | 242 | msgstr "nama berkas kosong dalam #%s" |
| 243 | 243 | ||
| 244 | #: directives.c:847 | 244 | #: directives.c:835 |
| 245 | msgid "#include nested too deeply" | 245 | msgid "#include nested too deeply" |
| 246 | msgstr "#include nested terlalu dalam" | 246 | msgstr "#include nested terlalu dalam" |
| 247 | 247 | ||
| 248 | #: directives.c:888 | 248 | #: directives.c:877 |
| 249 | msgid "#include_next in primary source file" | 249 | msgid "#include_next in primary source file" |
| 250 | msgstr "#include_next dalam berkas kode program utama" | 250 | msgstr "#include_next dalam berkas kode program utama" |
| 251 | 251 | ||
| 252 | #: directives.c:914 | 252 | #: directives.c:903 |
| 253 | #, c-format | 253 | #, c-format |
| 254 | msgid "invalid flag \"%s\" in line directive" | 254 | msgid "invalid flag \"%s\" in line directive" |
| 255 | msgstr "tanda \"%s\" tidak valid dalam baris direktif" | 255 | msgstr "tanda \"%s\" tidak valid dalam baris direktif" |
| 256 | 256 | ||
| 257 | #: directives.c:974 | 257 | #: directives.c:963 |
| 258 | msgid "unexpected end of file after #line" | 258 | msgid "unexpected end of file after #line" |
| 259 | msgstr "tidak terduga akhir dari berkas setelah #line" | 259 | msgstr "tidak terduga akhir dari berkas setelah #line" |
| 260 | 260 | ||
| 261 | #: directives.c:977 | 261 | #: directives.c:966 |
| 262 | #, c-format | 262 | #, c-format |
| 263 | msgid "\"%s\" after #line is not a positive integer" | 263 | msgid "\"%s\" after #line is not a positive integer" |
| 264 | msgstr "\"%s\" setelah #line bukan sebuah integer positif" | 264 | msgstr "\"%s\" setelah #line bukan sebuah integer positif" |
| 265 | 265 | ||
| 266 | #: directives.c:983 directives.c:985 | 266 | #: directives.c:972 directives.c:974 |
| 267 | msgid "line number out of range" | 267 | msgid "line number out of range" |
| 268 | msgstr "nomor baris diluar dari jangkauan" | 268 | msgstr "nomor baris diluar dari jangkauan" |
| 269 | 269 | ||
| 270 | #: directives.c:998 directives.c:1079 | 270 | #: directives.c:987 directives.c:1068 |
| 271 | #, c-format | 271 | #, c-format |
| 272 | msgid "\"%s\" is not a valid filename" | 272 | msgid "\"%s\" is not a valid filename" |
| 273 | msgstr "\"%s\" bukan sebuah nama berkas yang valid" | 273 | msgstr "\"%s\" bukan sebuah nama berkas yang valid" |
| 274 | 274 | ||
| 275 | #: directives.c:1039 | 275 | #: directives.c:1028 |
| 276 | #, c-format | 276 | #, c-format |
| 277 | msgid "\"%s\" after # is not a positive integer" | 277 | msgid "\"%s\" after # is not a positive integer" |
| 278 | msgstr "\"%s\" setelah # bukan sebuah integer positif" | 278 | msgstr "\"%s\" setelah # bukan sebuah integer positif" |
| 279 | 279 | ||
| 280 | #: directives.c:1098 | 280 | #: directives.c:1087 |
| 281 | #, c-format | 281 | #, c-format |
| 282 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" | 282 | msgid "file \"%s\" linemarker ignored due to incorrect nesting" |
| 283 | msgstr "" | 283 | msgstr "" |
| 284 | 284 | ||
| 285 | #: directives.c:1157 directives.c:1159 directives.c:1161 directives.c:1747 | 285 | #: directives.c:1147 directives.c:1149 directives.c:1151 directives.c:1737 |
| 286 | #, c-format | 286 | #, c-format |
| 287 | msgid "%s" | 287 | msgid "%s" |
| 288 | msgstr "%s" | 288 | msgstr "%s" |
| 289 | 289 | ||
| 290 | #: directives.c:1185 | 290 | #: directives.c:1175 |
| 291 | #, c-format | 291 | #, c-format |
| 292 | msgid "invalid #%s directive" | 292 | msgid "invalid #%s directive" |
| 293 | msgstr "direktif #%s tidak valid" | 293 | msgstr "direktif #%s tidak valid" |
| 294 | 294 | ||
| 295 | #: directives.c:1248 | 295 | #: directives.c:1238 |
| 296 | #, c-format | 296 | #, c-format |
| 297 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" | 297 | msgid "registering pragmas in namespace \"%s\" with mismatched name expansion" |
| 298 | msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok" | 298 | msgstr "mendaftarkan pragma dalam ruang-nama \"%s\" dengan ekspansi nama yang tidak cocok" |
| 299 | 299 | ||
| 300 | #: directives.c:1257 | 300 | #: directives.c:1247 |
| 301 | #, c-format | 301 | #, c-format |
| 302 | msgid "registering pragma \"%s\" with name expansion and no namespace" | 302 | msgid "registering pragma \"%s\" with name expansion and no namespace" |
| 303 | msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama" | 303 | msgstr "mendaftarkan pragma \"%s\" dengan ekspansi nama dan tidak ada ruang-nama" |
| 304 | 304 | ||
| 305 | #: directives.c:1275 | 305 | #: directives.c:1265 |
| 306 | #, c-format | 306 | #, c-format |
| 307 | msgid "registering \"%s\" as both a pragma and a pragma namespace" | 307 | msgid "registering \"%s\" as both a pragma and a pragma namespace" |
| 308 | msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama" | 308 | msgstr "mendaftarkan \"%s\" sebagai baik sebuah pragma dan sebuah ruang-nama" |
| 309 | 309 | ||
| 310 | #: directives.c:1278 | 310 | #: directives.c:1268 |
| 311 | #, c-format | 311 | #, c-format |
| 312 | msgid "#pragma %s %s is already registered" | 312 | msgid "#pragma %s %s is already registered" |
| 313 | msgstr "#pragma %s %s telah terdaftar" | 313 | msgstr "#pragma %s %s telah terdaftar" |
| 314 | 314 | ||
| 315 | #: directives.c:1281 | 315 | #: directives.c:1271 |
| 316 | #, c-format | 316 | #, c-format |
| 317 | msgid "#pragma %s is already registered" | 317 | msgid "#pragma %s is already registered" |
| 318 | msgstr "#pragma %s telah terdaftar" | 318 | msgstr "#pragma %s telah terdaftar" |
| 319 | 319 | ||
| 320 | #: directives.c:1311 | 320 | #: directives.c:1301 |
| 321 | msgid "registering pragma with NULL handler" | 321 | msgid "registering pragma with NULL handler" |
| 322 | msgstr "mendaftarkan pragma dengan penanganan KOSONG" | 322 | msgstr "mendaftarkan pragma dengan penanganan KOSONG" |
| 323 | 323 | ||
| 324 | #: directives.c:1528 | 324 | #: directives.c:1518 |
| 325 | msgid "#pragma once in main file" | 325 | msgid "#pragma once in main file" |
| 326 | msgstr "#pragma sekali dalam berkas utama" | 326 | msgstr "#pragma sekali dalam berkas utama" |
| 327 | 327 | ||
| 328 | #: directives.c:1551 | 328 | #: directives.c:1541 |
| 329 | msgid "invalid #pragma push_macro directive" | 329 | msgid "invalid #pragma push_macro directive" |
| 330 | msgstr "#pragma push_macro direktif tidak valid" | 330 | msgstr "#pragma push_macro direktif tidak valid" |
| 331 | 331 | ||
| 332 | #: directives.c:1606 | 332 | #: directives.c:1596 |
| 333 | msgid "invalid #pragma pop_macro directive" | 333 | msgid "invalid #pragma pop_macro directive" |
| 334 | msgstr "#pragma pop_macro direktif tidak valid" | 334 | msgstr "#pragma pop_macro direktif tidak valid" |
| 335 | 335 | ||
| 336 | #: directives.c:1661 | 336 | #: directives.c:1651 |
| 337 | msgid "invalid #pragma GCC poison directive" | 337 | msgid "invalid #pragma GCC poison directive" |
| 338 | msgstr "#pragma GCC tidak valid merusak direktif" | 338 | msgstr "#pragma GCC tidak valid merusak direktif" |
| 339 | 339 | ||
| 340 | #: directives.c:1670 | 340 | #: directives.c:1660 |
| 341 | #, c-format | 341 | #, c-format |
| 342 | msgid "poisoning existing macro \"%s\"" | 342 | msgid "poisoning existing macro \"%s\"" |
| 343 | msgstr "merusak makro \"%s\" yang sudah ada" | 343 | msgstr "merusak makro \"%s\" yang sudah ada" |
| 344 | 344 | ||
| 345 | #: directives.c:1689 | 345 | #: directives.c:1679 |
| 346 | msgid "#pragma system_header ignored outside include file" | 346 | msgid "#pragma system_header ignored outside include file" |
| 347 | msgstr "#pragma system_header diabaikan diluar berkas include" | 347 | msgstr "#pragma system_header diabaikan diluar berkas include" |
| 348 | 348 | ||
| 349 | #: directives.c:1714 | 349 | #: directives.c:1704 |
| 350 | #, c-format | 350 | #, c-format |
| 351 | msgid "cannot find source file %s" | 351 | msgid "cannot find source file %s" |
| 352 | msgstr "tidak dapat menemukan berkas sumber %s" | 352 | msgstr "tidak dapat menemukan berkas sumber %s" |
| 353 | 353 | ||
| 354 | #: directives.c:1718 | 354 | #: directives.c:1708 |
| 355 | #, c-format | 355 | #, c-format |
| 356 | msgid "current file is older than %s" | 356 | msgid "current file is older than %s" |
| 357 | msgstr "berkas ini lebih lama daripada %s" | 357 | msgstr "berkas ini lebih lama daripada %s" |
| 358 | 358 | ||
| 359 | #: directives.c:1742 | 359 | #: directives.c:1732 |
| 360 | #, fuzzy, c-format | 360 | #, fuzzy, c-format |
| 361 | #| msgid "invalid #pragma GCC poison directive" | 361 | #| msgid "invalid #pragma GCC poison directive" |
| 362 | msgid "invalid \"#pragma GCC %s\" directive" | 362 | msgid "invalid \"#pragma GCC %s\" directive" |
| 363 | msgstr "#pragma GCC tidak valid merusak direktif" | 363 | msgstr "#pragma GCC tidak valid merusak direktif" |
| 364 | 364 | ||
| 365 | #: directives.c:1943 | 365 | #: directives.c:1933 |
| 366 | msgid "_Pragma takes a parenthesized string literal" | 366 | msgid "_Pragma takes a parenthesized string literal" |
| 367 | msgstr "_Pragma mengambil sebuah string literal tanda kurung" | 367 | msgstr "_Pragma mengambil sebuah string literal tanda kurung" |
| 368 | 368 | ||
| 369 | #: directives.c:2064 | 369 | #: directives.c:2021 |
| 370 | msgid "#else without #if" | 370 | msgid "#else without #if" |
| 371 | msgstr "#else tanpa #if" | 371 | msgstr "#else tanpa #if" |
| 372 | 372 | ||
| 373 | #: directives.c:2069 | 373 | #: directives.c:2026 |
| 374 | msgid "#else after #else" | 374 | msgid "#else after #else" |
| 375 | msgstr "#else setelah #else" | 375 | msgstr "#else setelah #else" |
| 376 | 376 | ||
| 377 | #: directives.c:2071 directives.c:2104 | 377 | #: directives.c:2028 directives.c:2061 |
| 378 | msgid "the conditional began here" | 378 | msgid "the conditional began here" |
| 379 | msgstr "kondisional berawal disini" | 379 | msgstr "kondisional berawal disini" |
| 380 | 380 | ||
| 381 | #: directives.c:2097 | 381 | #: directives.c:2054 |
| 382 | msgid "#elif without #if" | 382 | msgid "#elif without #if" |
| 383 | msgstr "#elif tanpa #if" | 383 | msgstr "#elif tanpa #if" |
| 384 | 384 | ||
| 385 | #: directives.c:2102 | 385 | #: directives.c:2059 |
| 386 | msgid "#elif after #else" | 386 | msgid "#elif after #else" |
| 387 | msgstr "#elif setelah #else" | 387 | msgstr "#elif setelah #else" |
| 388 | 388 | ||
| 389 | #: directives.c:2133 | 389 | #: directives.c:2090 |
| 390 | msgid "#endif without #if" | 390 | msgid "#endif without #if" |
| 391 | msgstr "#endif tanpa #if" | 391 | msgstr "#endif tanpa #if" |
| 392 | 392 | ||
| 393 | #: directives.c:2213 | 393 | #: directives.c:2166 |
| 394 | msgid "missing '(' after predicate" | 394 | msgid "missing '(' after predicate" |
| 395 | msgstr "hilang '(' setelah predikat" | 395 | msgstr "hilang '(' setelah predikat" |
| 396 | 396 | ||
| 397 | #: directives.c:2228 | 397 | #: directives.c:2184 |
| 398 | msgid "missing ')' to complete answer" | 398 | msgid "missing ')' to complete answer" |
| 399 | msgstr "hilang ')' untuk melengkapi jawaban" | 399 | msgstr "hilang ')' untuk melengkapi jawaban" |
| 400 | 400 | ||
| 401 | #: directives.c:2248 | 401 | #: directives.c:2196 |
| 402 | msgid "predicate's answer is empty" | 402 | msgid "predicate's answer is empty" |
| 403 | msgstr "jawaban predikat kosong" | 403 | msgstr "jawaban predikat kosong" |
| 404 | 404 | ||
| 405 | #: directives.c:2275 | 405 | #: directives.c:2226 |
| 406 | msgid "assertion without predicate" | 406 | msgid "assertion without predicate" |
| 407 | msgstr "assertion tanpa predikat" | 407 | msgstr "assertion tanpa predikat" |
| 408 | 408 | ||
| 409 | #: directives.c:2278 | 409 | #: directives.c:2229 |
| 410 | msgid "predicate must be an identifier" | 410 | msgid "predicate must be an identifier" |
| 411 | msgstr "predikat harus berupa sebuah pengidentifikasi" | 411 | msgstr "predikat harus berupa sebuah pengidentifikasi" |
| 412 | 412 | ||
| 413 | #: directives.c:2364 | 413 | #: directives.c:2311 |
| 414 | #, c-format | 414 | #, c-format |
| 415 | msgid "\"%s\" re-asserted" | 415 | msgid "\"%s\" re-asserted" |
| 416 | msgstr "\"%s\" re-asserted" | 416 | msgstr "\"%s\" re-asserted" |
| 417 | 417 | ||
| 418 | #: directives.c:2656 | 418 | #: directives.c:2587 |
| 419 | #, c-format | 419 | #, c-format |
| 420 | msgid "unterminated #%s" | 420 | msgid "unterminated #%s" |
| 421 | msgstr "tidak terakhiri #%s" | 421 | msgstr "tidak terakhiri #%s" |
| 422 | 422 | ||
| 423 | #: directives-only.c:221 lex.c:2851 traditional.c:167 | 423 | #: directives-only.c:221 lex.c:2862 traditional.c:175 |
| 424 | msgid "unterminated comment" | 424 | msgid "unterminated comment" |
| 425 | msgstr "komentar tidak terakhiri" | 425 | msgstr "komentar tidak terakhiri" |
| 426 | 426 | ||
| 427 | #: errors.c:284 | 427 | #: errors.c:291 |
| 428 | #, c-format | 428 | #, c-format |
| 429 | msgid "%s: %s" | 429 | msgid "%s: %s" |
| 430 | msgstr "%s: %s" | 430 | msgstr "%s: %s" |
| 431 | 431 | ||
| 432 | #: errors.c:296 | 432 | #: errors.c:304 |
| 433 | msgid "stdout" | 433 | msgid "stdout" |
| 434 | msgstr "stdout" | 434 | msgstr "stdout" |
| 435 | 435 | ||
| @@ -530,89 +530,89 @@ msgstr "(\"%s\" adalah sebuah tanda alternatif untuk \"%s\" dalam C++)" · 94 unmodified lines | |||
| 530 | msgid "this use of \"defined\" may not be portable" | 530 | msgid "this use of \"defined\" may not be portable" |
| 531 | msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel" | 531 | msgstr "penggunaan ini dari \"defined\" mungkin tidak portabel" |
| 532 | 532 | ||
| 533 | #: expr.c:1125 | 533 | #: expr.c:1109 |
| 534 | #, fuzzy | 534 | #, fuzzy |
| 535 | #| msgid "integer overflow in preprocessor expression" | 535 | #| msgid "integer overflow in preprocessor expression" |
| 536 | msgid "user-defined literal in preprocessor expression" | 536 | msgid "user-defined literal in preprocessor expression" |
| 537 | msgstr "integer overflow dalam ekspresi preprosesor" | 537 | msgstr "integer overflow dalam ekspresi preprosesor" |
| 538 | 538 | ||
| 539 | #: expr.c:1130 | 539 | #: expr.c:1114 |
| 540 | msgid "floating constant in preprocessor expression" | 540 | msgid "floating constant in preprocessor expression" |
| 541 | msgstr "konstanta pecahan dalam ekspresi preprosesor" | 541 | msgstr "konstanta pecahan dalam ekspresi preprosesor" |
| 542 | 542 | ||
| 543 | #: expr.c:1136 | 543 | #: expr.c:1120 |
| 544 | msgid "imaginary number in preprocessor expression" | 544 | msgid "imaginary number in preprocessor expression" |
| 545 | msgstr "angka imaginari dalam ekspresi preprosesor" | 545 | msgstr "angka imaginari dalam ekspresi preprosesor" |
| 546 | 546 | ||
| 547 | #: expr.c:1189 | 547 | #: expr.c:1173 |
| 548 | #, fuzzy, c-format | 548 | #, fuzzy, c-format |
| 549 | #| msgid "\"%s\" is not defined" | 549 | #| msgid "\"%s\" is not defined" |
| 550 | msgid "\"%s\" is not defined, evaluates to 0" | 550 | msgid "\"%s\" is not defined, evaluates to 0" |
| 551 | msgstr "\"%s\" tidak didefinisikan" | 551 | msgstr "\"%s\" tidak didefinisikan" |
| 552 | 552 | ||
| 553 | #: expr.c:1202 | 553 | #: expr.c:1186 |
| 554 | msgid "assertions are a GCC extension" | 554 | msgid "assertions are a GCC extension" |
| 555 | msgstr "assertions adalah sebuah ekstensi GCC" | 555 | msgstr "assertions adalah sebuah ekstensi GCC" |
| 556 | 556 | ||
| 557 | #: expr.c:1205 | 557 | #: expr.c:1189 |
| 558 | msgid "assertions are a deprecated extension" | 558 | msgid "assertions are a deprecated extension" |
| 559 | msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan" | 559 | msgstr "assertions adalah sebuah ekstensi yang sudah ditinggalkan" |
| 560 | 560 | ||
| 561 | #: expr.c:1451 | 561 | #: expr.c:1435 |
| 562 | #, c-format | 562 | #, c-format |
| 563 | msgid "unbalanced stack in %s" | 563 | msgid "unbalanced stack in %s" |
| 564 | msgstr "stack dalam %s tidak seimbang" | 564 | msgstr "stack dalam %s tidak seimbang" |
| 565 | 565 | ||
| 566 | #: expr.c:1471 | 566 | #: expr.c:1455 |
| 567 | #, c-format | 567 | #, c-format |
| 568 | msgid "impossible operator '%u'" | 568 | msgid "impossible operator '%u'" |
| 569 | msgstr "operator '%u' tidak mungkin" | 569 | msgstr "operator '%u' tidak mungkin" |
| 570 | 570 | ||
| 571 | #: expr.c:1572 | 571 | #: expr.c:1556 |
| 572 | msgid "missing ')' in expression" | 572 | msgid "missing ')' in expression" |
| 573 | msgstr "hilang ')' dalam ekspresi" | 573 | msgstr "hilang ')' dalam ekspresi" |
| 574 | 574 | ||
| 575 | #: expr.c:1601 | 575 | #: expr.c:1585 |
| 576 | msgid "'?' without following ':'" | 576 | msgid "'?' without following ':'" |
| 577 | msgstr "'?' tanpa diikuti ':'" | 577 | msgstr "'?' tanpa diikuti ':'" |
| 578 | 578 | ||
| 579 | #: expr.c:1611 | 579 | #: expr.c:1595 |
| 580 | msgid "integer overflow in preprocessor expression" | 580 | msgid "integer overflow in preprocessor expression" |
| 581 | msgstr "integer overflow dalam ekspresi preprosesor" | 581 | msgstr "integer overflow dalam ekspresi preprosesor" |
| 582 | 582 | ||
| 583 | #: expr.c:1616 | 583 | #: expr.c:1600 |
| 584 | msgid "missing '(' in expression" | 584 | msgid "missing '(' in expression" |
| 585 | msgstr "hilang '(' dalam ekspresi" | 585 | msgstr "hilang '(' dalam ekspresi" |
| 586 | 586 | ||
| 587 | #: expr.c:1648 | 587 | #: expr.c:1632 |
| 588 | #, c-format | 588 | #, c-format |
| 589 | msgid "the left operand of \"%s\" changes sign when promoted" | 589 | msgid "the left operand of \"%s\" changes sign when promoted" |
| 590 | msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan" | 590 | msgstr "operan kiri dari \"%s\" berubah tanda ketika dipromosikan" |
| 591 | 591 | ||
| 592 | #: expr.c:1653 | 592 | #: expr.c:1637 |
| 593 | #, c-format | 593 | #, c-format |
| 594 | msgid "the right operand of \"%s\" changes sign when promoted" | 594 | msgid "the right operand of \"%s\" changes sign when promoted" |
| 595 | msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan" | 595 | msgstr "operan kanan dari \"%s\" berubah tanda ketika dipromosikan" |
| 596 | 596 | ||
| 597 | #: expr.c:1912 | 597 | #: expr.c:1896 |
| 598 | msgid "traditional C rejects the unary plus operator" | 598 | msgid "traditional C rejects the unary plus operator" |
| 599 | msgstr "tradisional C menolak operator unary plus" | 599 | msgstr "tradisional C menolak operator unary plus" |
| 600 | 600 | ||
| 601 | #: expr.c:2010 | 601 | #: expr.c:1994 |
| 602 | msgid "comma operator in operand of #if" | 602 | msgid "comma operator in operand of #if" |
| 603 | msgstr "operator koma dalam operator dari #if" | 603 | msgstr "operator koma dalam operator dari #if" |
| 604 | 604 | ||
| 605 | #: expr.c:2146 | 605 | #: expr.c:2130 |
| 606 | msgid "division by zero in #if" | 606 | msgid "division by zero in #if" |
| 607 | msgstr "pembagian oleh nol dalam #if" | 607 | msgstr "pembagian oleh nol dalam #if" |
| 608 | 608 | ||
| 609 | #: expr.c:2243 | 609 | #: expr.c:2227 |
| 610 | #, fuzzy | 610 | #, fuzzy |
| 611 | #| msgid "operator \"defined\" requires an identifier" | 611 | #| msgid "operator \"defined\" requires an identifier" |
| 612 | msgid "operator \"__has_include__\" requires a header string" | 612 | msgid "operator \"__has_include__\" requires a header string" |
| 613 | msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi" | 613 | msgstr "operator \"defined\" membutuhkan sebuah pengidentifikasi" |
| 614 | 614 | ||
| 615 | #: expr.c:2259 | 615 | #: expr.c:2243 |
| 616 | #, fuzzy | 616 | #, fuzzy |
| 617 | #| msgid "missing ')' after \"defined\"" | 617 | #| msgid "missing ')' after \"defined\"" |
| 618 | msgid "missing ')' after \"__has_include__\"" | 618 | msgid "missing ')' after \"__has_include__\"" |
| @@ -631,40 +631,40 @@ msgstr "gunakan -Winvalid-pch untuk informasi lebih lanjut" · 12 unmodified lines | |||
| 631 | msgid "no include path in which to search for %s" | 631 | msgid "no include path in which to search for %s" |
| 632 | msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s" | 632 | msgstr "tidak ada jalur include yang biasa digunakan untuk pencarian untuk %s" |
413 more lines aren’t shown here.
Binary file not shown.
This diff is large: its 903 lines aren’t shown here.
Binary file not shown.
This diff is large: its 901 lines aren’t shown here.
This diff is large: its 888 lines aren’t shown here.
Binary file not shown.
This diff is large: its 885 lines aren’t shown here.
This diff is large: its 880 lines aren’t shown here.
Binary file not shown.
This diff is large: its 871 lines aren’t shown here.
Binary file not shown.
This diff is large: its 907 lines aren’t shown here.
Binary file not shown.
This diff is large: its 894 lines aren’t shown here.
Binary file not shown.
This diff is large: its 887 lines aren’t shown here.
Binary file not shown.
This diff is large: its 906 lines aren’t shown here.
Binary file not shown.
This diff is large: its 886 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 254 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.