trans.c (check_inlining_for_nested_subprog): Quote reserved names.

gcc/ada/ChangeLog:

        * gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote
        reserved names.

gcc/brig/ChangeLog:

        * brigfrontend/brig-control-handler.cc
        (brig_directive_control_handler::operator): Remove trailing newline
        from a diagnostic.
        * brigfrontend/brig-module-handler.cc
        (brig_directive_module_handler::operator): Remove a duplicated space
        from a diagnostic.

gcc/c/ChangeLog:

        * c-decl.c (start_decl): Quote keywords, operators, and
        types in diagnostics.
        (finish_decl): Same.
        * c-parser.c (c_parser_asm_statement): Same.
        (c_parser_conditional_expression): Same.
        (c_parser_transaction_cancel): Same.
        * c-typeck.c (c_common_type): Same.
        (build_conditional_expr): Same.
        (digest_init): Same.
        (process_init_element): Same.
        (build_binary_op): Same.

gcc/c-family/ChangeLog:

        * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
        keywords, operators, and types in diagnostics.
        (handle_scalar_storage_order_attribute): Same.
        (handle_mode_attribute): Same.
        (handle_visibility_attribute): Same.
        (handle_assume_aligned_attribute): Same.
        (handle_no_split_stack_attribute): Same.
        * c-common.c (shorten_compare): Same.
        (c_common_truthvalue_conversion): Same.
        (cb_get_source_date_epoch): Same.
        * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
        in diagnostics.
        (interpret_float): Same.
        * c-omp.c (c_finish_omp_for): Same.
        * c-opts.c (c_common_post_options): Same.
        * c-pch.c (c_common_pch_pragma): Same.
        * c-pragma.c (pop_alignment): Same.
        (handle_pragma_pack): Same.
        (apply_pragma_weak): Same.
        (handle_pragma_weak): Same.
        (handle_pragma_scalar_storage_order): Same.
        (handle_pragma_redefine_extname): Same.
        (add_to_renaming_pragma_list): Same.
        (maybe_apply_renaming_pragma): Same.
        (push_visibility): Same.
        (handle_pragma_visibility): Same.
        (handle_pragma_optimize): Same.
        (handle_pragma_message): Same.
        * c-warn.c (warn_for_omitted_condop): Same.
        (lvalue_error): Same.

gcc/cp/ChangeLog:

        * call.c (print_z_candidate): Wrap diagnostic text in a gettext
        macro.  Adjust.
        (print_z_candidates): Same.
        (build_conditional_expr_1): Quote keywords, operators, and types
        in diagnostics.
        (build_op_delete_call): Same.
        (maybe_print_user_conv_context): Wrap diagnostic text in a gettext
        macro.
        (convert_like_real): Same.
        (convert_arg_to_ellipsis): Quote keywords, operators, and types
        in diagnostics.
        (build_over_call): Same.
        (joust): Break up an overlong line.  Wrap diagnostic text in a gettext
        macro.
        * constexpr.c (cxx_eval_check_shift_p): Spell out >= in English.
        (cxx_eval_constant_expression): Quote keywords, operators, and types
        in diagnostics.
        (potential_constant_expression_1): Same.
        * cp-gimplify.c (cp_genericize_r): Same.
        * cvt.c (maybe_warn_nodiscard): Quote keywords, operators, and types
        in diagnostics.
        (type_promotes_to): Same.
        * decl.c (check_previous_goto_1): Same.
        (check_goto): Same.
        (start_decl): Same.
        (cp_finish_decl): Avoid parenthesizing a sentence for consistency.
        (grok_op_properties): Quote keywords, operators, and types
        in diagnostics.
        * decl2.c (grokfield): Same.
        (coerce_delete_type): Same.
        * except.c (is_admissible_throw_operand_or_catch_parameter): Same.
        * friend.c (do_friend): Quote C++ tokens.
        * init.c (build_new_1): Quote keywords, operators, and types
        in diagnostics.
        (build_vec_delete_1): Same.
        (build_delete): Same.
        * lex.c (parse_strconst_pragma): Same.
        (handle_pragma_implementation): Same.
        (unqualified_fn_lookup_error): Same.
        * mangle.c (write_type): Same.
        * method.c (defaulted_late_check): Avoid two consecutive punctuators.
        * name-lookup.c (cp_binding_level_debug): Remove a trailing newline.
        (pop_everything): Same.
        * parser.c (cp_lexer_start_debugging): Quote a macro name.
        in a diagnostic
        (cp_lexer_stop_debugging): Same.
        (cp_parser_userdef_numeric_literal): Quote a C++ header name
        in a diagnostic.
        (cp_parser_nested_name_specifier_opt): Quote keywords, operators,
        and types in diagnostics.
        (cp_parser_question_colon_clause): Same.
        (cp_parser_asm_definition): Same.
        (cp_parser_init_declarator): Same.
        (cp_parser_template_declaration_after_parameters): Avoid capitalizing
        a sentence in a diagnostic.
        (cp_parser_omp_declare_reduction): Quote keywords, operators, and types
        in diagnostics.
        (cp_parser_transaction): Same.
        * pt.c (maybe_process_partial_specialization): Replace second call
        to permerror with inform for consistency with other uses.
        (expand_integer_pack): Quote keywords, operators, and types
        in diagnostics.
        * rtti.c (get_typeid): Quote keywords, operators, and types
        in diagnostics.
        (build_dynamic_cast_1): Same.
        * semantics.c (finish_asm_stmt): Same.
        (finish_label_decl): Same.
        (finish_bases): Same.
        (finish_offsetof): Same.
        (cp_check_omp_declare_reduction): Same.
        (finish_decltype_type): Same.
        * tree.c (handle_init_priority_attribute): Same.  Add detail
        to diagnostics.
        (maybe_warn_zero_as_null_pointer_constant): Same.
        * typeck.c (cp_build_binary_op): Quote keywords, operators, and types
        in diagnostics.
        (cp_build_unary_op): Same.
        (check_for_casting_away_constness): Same.
        (build_static_cast): Same.
        (build_const_cast_1): Same.
        (maybe_warn_about_returning_address_of_local): Same.
        (check_return_expr): Same.
        * typeck2.c (abstract_virtuals_error_sfinae): Same.
        (digest_init_r): Replace a tab with spaces in a diagnostic.
        (build_functional_cast): Quote keywords, operators, and types
        in diagnostics.

gcc/d/ChangeLog:

        * d-builtins.cc (d_init_builtins): Quote keywords, operators,
        and types in diagnostics.
        * d-codegen.cc (get_array_length): Same.  Replace can't with cannot.
        * d-convert.cc (convert_expr): Same.
        * d-frontend.cc (getTypeInfoType): Quote an option name in
        a diagnostic.
        * d-lang.cc (d_handle_option): Same.
        (d_parse_file): Same.
        * decl.cc: Remove a trailing period from a diagnostic.
        * expr.cc: Use a directive for an apostrophe.
        * toir.cc: Quote keywords, operators, and types in diagnostics.
        * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.

gcc/fortran/ChangeLog:

	* gfortranspec.c (append_arg): Spell out the word "argument."

gcc/ChangeLog:

        * config/i386/i386-expand.c (get_element_number): Quote keywords
        and other internal names in diagnostics.  Adjust other diagnostic
        formatting issues noted by -Wformat-diag.
        * config/i386/i386-features.c
        (ix86_mangle_function_version_assembler_name): Same.
        * config/i386/i386-options.c (ix86_handle_abi_attribute): Same.
        * config/i386/i386.c (ix86_function_type_abi): Same.
        (ix86_function_ms_hook_prologue): Same.
        (classify_argument): Same.
        (ix86_expand_prologue): Same.
        (ix86_md_asm_adjust): Same.
        (ix86_memmodel_check): Same.

gcc/ChangeLog:

        * builtins.c (expand_builtin_atomic_always_lock_free): Quote
        identifiers, keywords, operators, and types in diagnostics.  Correct
        quoting, spelling, and sentence capitalization issues.
        (expand_builtin_atomic_is_lock_free): Same.
        (fold_builtin_next_arg): Same.
        * cfgexpand.c (expand_one_var): Same.
        (tree_conflicts_with_clobbers_p): Same.
        (expand_asm_stmt): Same.
        (verify_loop_structure): Same.
        * cgraphunit.c (process_function_and_variable_attributes): Same.
        * collect-utils.c (collect_execute): Same.
        * collect2.c (maybe_run_lto_and_relink): Same.
        (is_lto_object_file): Same.
        (scan_prog_file): Same.
        * convert.c (convert_to_real_1): Same.
        * dwarf2out.c (dwarf2out_begin_prologue): Same.
        * except.c (verify_eh_tree): Same.
        * gcc.c (execute): Same.
        (eval_spec_function): Same.
        (run_attempt): Same.
        (driver::set_up_specs): Same.
        (compare_debug_auxbase_opt_spec_function): Same.
        * gcov-tool.c (unlink_gcda_file): Same.
        (do_merge): Same.
        (do_rewrite): Same.
        * gcse.c (gcse_or_cprop_is_too_expensive): Same.
        * gimplify.c (gimplify_asm_expr): Same.
        (gimplify_adjust_omp_clauses): Same.
        * hsa-gen.c (gen_hsa_addr_insns): Same.
        (gen_hsa_insns_for_load): Same.
        (gen_hsa_cmp_insn_from_gimple): Same.
        (gen_hsa_insns_for_operation_assignment): Same.
        (gen_get_level): Same.
        (gen_hsa_alloca): Same.
        (omp_simple_builtin::generate): Same.
        (gen_hsa_atomic_for_builtin): Same.
        (gen_hsa_insns_for_call): Same.
        * input.c (dump_location_info): Same.
        * ipa-devirt.c (compare_virtual_tables): Same.
        * ira.c (ira_setup_eliminable_regset): Same.
        * lra-assigns.c (lra_assign): Same.
        * lra-constraints.c (lra_constraints): Same.
        * lto-streamer-in.c (lto_input_mode_table): Same.
        * lto-wrapper.c (get_options_from_collect_gcc_options): Same.
        (merge_and_complain): Same.
        (compile_offload_image): Same.
        (compile_images_for_offload_targets): Same.
        (debug_objcopy): Same.
        (run_gcc): Same.
        (main): Same.
        * opts.c (print_specific_help): Same.
        (parse_no_sanitize_attribute): Same.
        (print_help): Same.
        (handle_param): Same.
        * plugin.c (add_new_plugin): Same.
        (parse_plugin_arg_opt): Same.
        (try_init_one_plugin): Same.
        * print-rtl.c (debug_bb_n_slim): Quote identifiers, keywords,
        operators, and types in diagnostics.  Correct quoting and spelling
        issues.
        * read-rtl-function.c (parse_edge_flag_token): Same.
        (function_reader::parse_enum_value): Same.
        * reg-stack.c (check_asm_stack_operands): Same.
        * regcprop.c (validate_value_data): Same.
        * sched-rgn.c (make_pass_sched_fusion): Same.
        * stmt.c (check_unique_operand_names): Same.
        * targhooks.c (default_target_option_pragma_parse): Same.
        * tlink.c (recompile_files): Same.
        * toplev.c (process_options): Same.
        (do_compile): Same.
        * trans-mem.c (diagnose_tm_1): Same.
        (ipa_tm_scan_irr_block): Same.
        (ipa_tm_diagnose_transaction): Same.
        * tree-cfg.c (verify_address): Same.  Use get_tree_code_name to
        format a tree code name in a diagnostic.
        (verify_types_in_gimple_min_lval): Same.
        (verify_types_in_gimple_reference): Same.
        (verify_gimple_call): Same.
        (verify_gimple_assign_unary): Same.
        (verify_gimple_assign_binary): Same.
        (verify_gimple_assign_ternary): Same.
        (verify_gimple_assign_single): Same.
        (verify_gimple_switch): Same.
        (verify_gimple_label): Same.
        (verify_gimple_phi): Same.
        (verify_gimple_in_seq): Same.
        (verify_eh_throw_stmt_node): Same.
        (collect_subblocks): Same.
        (gimple_verify_flow_info): Same.
        (do_warn_unused_result): Same.
        * tree-inline.c (expand_call_inline): Same.
        * tree-into-ssa.c (update_ssa): Same.
        * tree.c (tree_int_cst_elt_check_failed): Same.
        (tree_vec_elt_check_failed): Same.
        (omp_clause_operand_check_failed): Same.
        (verify_type_variant): Same.
        (verify_type): Same.
        * value-prof.c (verify_histograms): Same.
        * varasm.c (assemble_start_function): Same.

gcc/lto/ChangeLog:

        * lto-dump.c (lto_main): Same.
        * lto.c (stream_out): Same.

gcc/objc/ChangeLog:

        * objc-act.c (objc_begin_catch_clause): Quote keywords and options
        in diagnostics.
        (objc_build_throw_stmt): Same.
        (objc_finish_message_expr): Same.
        (get_super_receiver): Same.
        * objc-next-runtime-abi-01.c (objc_next_runtime_abi_01_init): Spell
        out "less than" in English./
        * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Spell
        out "greater" in English.

gcc/testsuite/ChangeLog:

        * c-c++-common/Wbool-operation-1.c: Adjust text of expected diagnostics.
        * c-c++-common/Wvarargs-2.c: Same.
        * c-c++-common/Wvarargs.c: Same.
        * c-c++-common/pr51768.c: Same.
        * c-c++-common/tm/inline-asm.c: Same.
        * c-c++-common/tm/safe-1.c: Same.
        * g++.dg/asm-qual-1.C: Same.
        * g++.dg/asm-qual-3.C: Same.
        * g++.dg/conversion/dynamic1.C: Same.
        * g++.dg/cpp0x/constexpr-89599.C: Same.
        * g++.dg/cpp0x/constexpr-cast.C: Same.
        * g++.dg/cpp0x/constexpr-shift1.C: Same.
        * g++.dg/cpp0x/lambda/lambda-conv11.C: Same.
        * g++.dg/cpp0x/nullptr04.C: Same.
        * g++.dg/cpp0x/static_assert12.C: Same.
        * g++.dg/cpp0x/static_assert8.C: Same.
        * g++.dg/cpp1y/lambda-conv1.C: Same.
        * g++.dg/cpp1y/pr79393-3.C: Same.
        * g++.dg/cpp1y/static_assert1.C: Same.
        * g++.dg/cpp1z/constexpr-if4.C: Same.
        * g++.dg/cpp1z/constexpr-if5.C: Same.
        * g++.dg/cpp1z/constexpr-if9.C: Same.
        * g++.dg/eh/goto2.C: Same.
        * g++.dg/eh/goto3.C: Same.
        * g++.dg/expr/static_cast8.C: Same.
        * g++.dg/ext/flexary5.C: Same.
        * g++.dg/ext/utf-array-short-wchar.C: Same.
        * g++.dg/ext/utf-array.C: Same.
        * g++.dg/ext/utf8-2.C: Same.
        * g++.dg/gomp/loop-4.C: Same.
        * g++.dg/gomp/macro-4.C: Same.
        * g++.dg/gomp/udr-1.C: Same.
        * g++.dg/init/initializer-string-too-long.C: Same.
        * g++.dg/other/offsetof9.C: Same.
        * g++.dg/ubsan/pr63956.C: Same.
        * g++.dg/warn/Wbool-operation-1.C: Same.
        * g++.dg/warn/Wtype-limits-Wextra.C: Same.
        * g++.dg/warn/Wtype-limits.C: Same.
        * g++.dg/wrappers/pr88680.C: Same.
        * g++.old-deja/g++.mike/eh55.C: Same.
        * gcc.dg/Wsign-compare-1.c: Same.
        * gcc.dg/Wtype-limits-Wextra.c: Same.
        * gcc.dg/Wtype-limits.c: Same.
        * gcc.dg/Wunknownprag.c: Same.
        * gcc.dg/Wunsuffixed-float-constants-1.c: Same.
        * gcc.dg/asm-6.c: Same.
        * gcc.dg/asm-qual-1.c: Same.
        * gcc.dg/cast-1.c: Same.
        * gcc.dg/cast-2.c: Same.
        * gcc.dg/cast-3.c: Same.
        * gcc.dg/cpp/source_date_epoch-2.c: Same.
        * gcc.dg/debug/pr85252.c: Same.
        * gcc.dg/dfp/cast-bad.c: Same.
        * gcc.dg/format/gcc_diag-1.c: Same.
        * gcc.dg/format/gcc_diag-11.c: Same.New test.
        * gcc.dg/gcc_diag-11.c: Same.New test.
        * gcc.dg/gnu-cond-expr-2.c: Same.
        * gcc.dg/gnu-cond-expr-3.c: Same.
        * gcc.dg/gomp/macro-4.c: Same.
        * gcc.dg/init-bad-1.c: Same.
        * gcc.dg/init-bad-2.c: Same.
        * gcc.dg/init-bad-3.c: Same.
        * gcc.dg/pr27528.c: Same.
        * gcc.dg/pr48552-1.c: Same.
        * gcc.dg/pr48552-2.c: Same.
        * gcc.dg/pr59846.c: Same.
        * gcc.dg/pr61096-1.c: Same.
        * gcc.dg/pr8788-1.c: Same.
        * gcc.dg/pr90082.c: Same.
        * gcc.dg/simd-2.c: Same.
        * gcc.dg/spellcheck-params-2.c: Same.
        * gcc.dg/spellcheck-params.c: Same.
        * gcc.dg/strlenopt-49.c: Same.
        * gcc.dg/tm/pr52141.c: Same.
        * gcc.dg/torture/pr51106-1.c: Same.
        * gcc.dg/torture/pr51106-2.c: Same.
        * gcc.dg/utf-array-short-wchar.c: Same.
        * gcc.dg/utf-array.c: Same.
        * gcc.dg/utf8-2.c: Same.
        * gcc.dg/warn-sprintf-no-nul.c: Same.
        * gcc.target/i386/asm-flag-0.c: Same.
        * gcc.target/i386/inline_error.c: Same.
        * gcc.target/i386/pr30848.c: Same.
        * gcc.target/i386/pr39082-1.c: Same.
        * gcc.target/i386/pr39678.c: Same.
        * gcc.target/i386/pr57756.c: Same.
        * gcc.target/i386/pr68843-1.c: Same.
        * gcc.target/i386/pr79804.c: Same.
        * gcc.target/i386/pr82673.c: Same.
        * obj-c++.dg/class-protocol-1.mm: Same.
        * obj-c++.dg/exceptions-3.mm: Same.
        * obj-c++.dg/exceptions-4.mm: Same.
        * obj-c++.dg/exceptions-5.mm: Same.
        * obj-c++.dg/exceptions-6.mm: Same.
        * obj-c++.dg/method-12.mm: Same.
        * obj-c++.dg/method-13.mm: Same.
        * obj-c++.dg/method-6.mm: Same.
        * obj-c++.dg/method-7.mm: Same.
        * obj-c++.dg/method-9.mm: Same.
        * obj-c++.dg/method-lookup-1.mm: Same.
        * obj-c++.dg/proto-lossage-4.mm: Same.
        * obj-c++.dg/protocol-qualifier-2.mm: Same.
        * objc.dg/call-super-2.m: Same.
        * objc.dg/class-protocol-1.m: Same.
        * objc.dg/desig-init-1.m: Same.
        * objc.dg/exceptions-3.m: Same.
        * objc.dg/exceptions-4.m: Same.
        * objc.dg/exceptions-5.m: Same.
        * objc.dg/exceptions-6.m: Same.
        * objc.dg/method-19.m: Same.
        * objc.dg/method-2.m: Same.
        * objc.dg/method-5.m: Same.
        * objc.dg/method-6.m: Same.
        * objc.dg/method-7.m: Same.
        * objc.dg/method-lookup-1.m: Same.
        * objc.dg/proto-hier-1.m: Same.
        * objc.dg/proto-lossage-4.m: Same.

From-SVN: r271338
This commit is contained in:
Martin Sebor 2019-05-17 17:55:43 +00:00 committed by Martin Sebor
parent 6df6f67a28
commit a9c697b883
239 changed files with 1767 additions and 1053 deletions

View file

@ -1,3 +1,120 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* builtins.c (expand_builtin_atomic_always_lock_free): Quote
identifiers, keywords, operators, and types in diagnostics. Correct
quoting, spelling, and sentence capitalization issues.
(expand_builtin_atomic_is_lock_free): Same.
(fold_builtin_next_arg): Same.
* cfgexpand.c (expand_one_var): Same.
(tree_conflicts_with_clobbers_p): Same.
(expand_asm_stmt): Same.
(verify_loop_structure): Same.
* cgraphunit.c (process_function_and_variable_attributes): Same.
* collect-utils.c (collect_execute): Same.
* collect2.c (maybe_run_lto_and_relink): Same.
(is_lto_object_file): Same.
(scan_prog_file): Same.
* convert.c (convert_to_real_1): Same.
* dwarf2out.c (dwarf2out_begin_prologue): Same.
* except.c (verify_eh_tree): Same.
* gcc.c (execute): Same.
(eval_spec_function): Same.
(run_attempt): Same.
(driver::set_up_specs): Same.
(compare_debug_auxbase_opt_spec_function): Same.
* gcov-tool.c (unlink_gcda_file): Same.
(do_merge): Same.
(do_rewrite): Same.
* gcse.c (gcse_or_cprop_is_too_expensive): Same.
* gimplify.c (gimplify_asm_expr): Same.
(gimplify_adjust_omp_clauses): Same.
* hsa-gen.c (gen_hsa_addr_insns): Same.
(gen_hsa_insns_for_load): Same.
(gen_hsa_cmp_insn_from_gimple): Same.
(gen_hsa_insns_for_operation_assignment): Same.
(gen_get_level): Same.
(gen_hsa_alloca): Same.
(omp_simple_builtin::generate): Same.
(gen_hsa_atomic_for_builtin): Same.
(gen_hsa_insns_for_call): Same.
* input.c (dump_location_info): Same.
* ipa-devirt.c (compare_virtual_tables): Same.
* ira.c (ira_setup_eliminable_regset): Same.
* lra-assigns.c (lra_assign): Same.
* lra-constraints.c (lra_constraints): Same.
* lto-streamer-in.c (lto_input_mode_table): Same.
* lto-wrapper.c (get_options_from_collect_gcc_options): Same.
(merge_and_complain): Same.
(compile_offload_image): Same.
(compile_images_for_offload_targets): Same.
(debug_objcopy): Same.
(run_gcc): Same.
(main): Same.
* opts.c (print_specific_help): Same.
(parse_no_sanitize_attribute): Same.
(print_help): Same.
(handle_param): Same.
* plugin.c (add_new_plugin): Same.
(parse_plugin_arg_opt): Same.
(try_init_one_plugin): Same.
* print-rtl.c (debug_bb_n_slim): Quote identifiers, keywords,
operators, and types in diagnostics. Correct quoting and spelling
issues.
* read-rtl-function.c (parse_edge_flag_token): Same.
(function_reader::parse_enum_value): Same.
* reg-stack.c (check_asm_stack_operands): Same.
* regcprop.c (validate_value_data): Same.
* sched-rgn.c (make_pass_sched_fusion): Same.
* stmt.c (check_unique_operand_names): Same.
* targhooks.c (default_target_option_pragma_parse): Same.
* tlink.c (recompile_files): Same.
* toplev.c (process_options): Same.
(do_compile): Same.
* trans-mem.c (diagnose_tm_1): Same.
(ipa_tm_scan_irr_block): Same.
(ipa_tm_diagnose_transaction): Same.
* tree-cfg.c (verify_address): Same. Use get_tree_code_name to
format a tree code name in a diagnostic.
(verify_types_in_gimple_min_lval): Same.
(verify_types_in_gimple_reference): Same.
(verify_gimple_call): Same.
(verify_gimple_assign_unary): Same.
(verify_gimple_assign_binary): Same.
(verify_gimple_assign_ternary): Same.
(verify_gimple_assign_single): Same.
(verify_gimple_switch): Same.
(verify_gimple_label): Same.
(verify_gimple_phi): Same.
(verify_gimple_in_seq): Same.
(verify_eh_throw_stmt_node): Same.
(collect_subblocks): Same.
(gimple_verify_flow_info): Same.
(do_warn_unused_result): Same.
* tree-inline.c (expand_call_inline): Same.
* tree-into-ssa.c (update_ssa): Same.
* tree.c (tree_int_cst_elt_check_failed): Same.
(tree_vec_elt_check_failed): Same.
(omp_clause_operand_check_failed): Same.
(verify_type_variant): Same.
(verify_type): Same.
* value-prof.c (verify_histograms): Same.
* varasm.c (assemble_start_function): Same.
2019-05-16 Martin Sebor <msebor@redhat.com>
* config/i386/i386-expand.c (get_element_number): Quote keywords
and other internal names in diagnostics. Adjust other diagnostic
formatting issues noted by -Wformat-diag.
* config/i386/i386-features.c
(ix86_mangle_function_version_assembler_name): Same.
* config/i386/i386-options.c (ix86_handle_abi_attribute): Same.
* config/i386/i386.c (ix86_function_type_abi): Same.
(ix86_function_ms_hook_prologue): Same.
(classify_argument): Same.
(ix86_expand_prologue): Same.
(ix86_md_asm_adjust): Same.
(ix86_memmodel_check): Same.
2019-05-17 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
* config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace

View file

@ -1,3 +1,8 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* gcc-interface/trans.c (check_inlining_for_nested_subprog): Quote
reserved names.
2019-05-08 Arnaud Charlet <charlet@adacore.com>
* standard.ads.h: New file.

View file

@ -2024,12 +2024,13 @@ check_inlining_for_nested_subprog (tree fndecl)
if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (parent_decl)))
{
error_at (loc1, "subprogram %q+F not marked Inline_Always", fndecl);
error_at (loc1, "subprogram %q+F not marked %<Inline_Always%>",
fndecl);
error_at (loc2, "parent subprogram cannot be inlined");
}
else
{
warning_at (loc1, OPT_Winline, "subprogram %q+F not marked Inline",
warning_at (loc1, OPT_Winline, "subprogram %q+F not marked %<Inline%>",
fndecl);
warning_at (loc2, OPT_Winline, "parent subprogram cannot be inlined");
}

View file

@ -1,3 +1,12 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* brigfrontend/brig-control-handler.cc
(brig_directive_control_handler::operator): Remove trailing newline
from a diagnostic.
* brigfrontend/brig-module-handler.cc
(brig_directive_module_handler::operator): Remove a duplicated space
from a diagnostic.
2019-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.

View file

@ -102,7 +102,7 @@ brig_directive_control_handler::operator () (const BrigBase *base)
/* Unimplemented. */
break;
default:
sorry ("Unsupported control directive %x.\n", inst->control);
sorry ("Unsupported control directive %x.", inst->control);
}
return base->byteCount;
}

View file

@ -28,10 +28,10 @@ brig_directive_module_handler::operator () (const BrigBase *base)
const BrigDirectiveModule* mod = (const BrigDirectiveModule*)base;
m_parent.m_module_name = m_parent.get_string (mod->name).substr (1);
if (mod->hsailMajor != 1 || mod->hsailMinor != 0)
fatal_error (UNKNOWN_LOCATION, PHSA_ERROR_PREFIX_INCOMPATIBLE_MODULE " "
fatal_error (UNKNOWN_LOCATION, PHSA_ERROR_PREFIX_INCOMPATIBLE_MODULE
"HSAIL version not supported. HSAIL 1.0 required.");
if (mod->machineModel != BRIG_MACHINE_LARGE)
fatal_error (UNKNOWN_LOCATION, PHSA_ERROR_PREFIX_INCOMPATIBLE_MODULE " "
fatal_error (UNKNOWN_LOCATION, PHSA_ERROR_PREFIX_INCOMPATIBLE_MODULE
"Only HSA 'large' machine model supported.");
/* Do not check for the profile as the runtime conformance suite tests
with 'full' profile BRIGs even though they don't use any full profile

View file

@ -6784,7 +6784,7 @@ expand_builtin_atomic_always_lock_free (tree exp)
if (TREE_CODE (arg0) != INTEGER_CST)
{
error ("non-constant argument 1 to __atomic_always_lock_free");
error ("non-constant argument 1 to %qs", "__atomic_always_lock_free");
return const0_rtx;
}
@ -6826,7 +6826,7 @@ expand_builtin_atomic_is_lock_free (tree exp)
if (!INTEGRAL_TYPE_P (TREE_TYPE (arg0)))
{
error ("non-integer argument 1 to __atomic_is_lock_free");
error ("non-integer argument 1 to %qs", "__atomic_is_lock_free");
return NULL_RTX;
}
@ -10224,7 +10224,7 @@ fold_builtin_next_arg (tree exp, bool va_start_p)
if (!stdarg_p (fntype))
{
error ("%<va_start%> used in function with fixed args");
error ("%<va_start%> used in function with fixed arguments");
return true;
}

View file

@ -1,3 +1,36 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
keywords, operators, and types in diagnostics.
(handle_scalar_storage_order_attribute): Same.
(handle_mode_attribute): Same.
(handle_visibility_attribute): Same.
(handle_assume_aligned_attribute): Same.
(handle_no_split_stack_attribute): Same.
* c-common.c (shorten_compare): Same.
(c_common_truthvalue_conversion): Same.
(cb_get_source_date_epoch): Same.
* c-lex.c (cb_def_pragma): Quote keywords, operators, and types
in diagnostics.
(interpret_float): Same.
* c-omp.c (c_finish_omp_for): Same.
* c-opts.c (c_common_post_options): Same.
* c-pch.c (c_common_pch_pragma): Same.
* c-pragma.c (pop_alignment): Same.
(handle_pragma_pack): Same.
(apply_pragma_weak): Same.
(handle_pragma_weak): Same.
(handle_pragma_scalar_storage_order): Same.
(handle_pragma_redefine_extname): Same.
(add_to_renaming_pragma_list): Same.
(maybe_apply_renaming_pragma): Same.
(push_visibility): Same.
(handle_pragma_visibility): Same.
(handle_pragma_optimize): Same.
(handle_pragma_message): Same.
* c-warn.c (warn_for_omitted_condop): Same.
(lvalue_error): Same.
2019-05-15 Richard Biener <rguenther@suse.de>
PR c/90474

View file

@ -891,7 +891,7 @@ handle_no_sanitize_attribute (tree *node, tree name, tree args, int,
tree id = TREE_VALUE (args);
if (TREE_CODE (id) != STRING_CST)
{
error ("no_sanitize argument not a string");
error ("%qE argument not a string", name);
return NULL_TREE;
}
@ -1418,8 +1418,8 @@ handle_scalar_storage_order_attribute (tree *node, tree name, tree args,
if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN)
{
error ("scalar_storage_order is not supported because endianness "
"is not uniform");
error ("%qE attribute is not supported because endianness is not uniform",
name);
return NULL_TREE;
}
@ -1435,8 +1435,8 @@ handle_scalar_storage_order_attribute (tree *node, tree name, tree args,
reverse = BYTES_BIG_ENDIAN;
else
{
error ("scalar_storage_order argument must be one of \"big-endian\""
" or \"little-endian\"");
error ("attribute %qE argument must be one of %qs or %qs",
name, "big-endian", "little-endian");
return NULL_TREE;
}
@ -1759,9 +1759,9 @@ handle_mode_attribute (tree *node, tree name, tree args,
case MODE_VECTOR_ACCUM:
case MODE_VECTOR_UACCUM:
warning (OPT_Wattributes, "specifying vector types with "
"__attribute__ ((mode)) is deprecated");
warning (OPT_Wattributes,
"use __attribute__ ((vector_size)) instead");
"%<__attribute__ ((mode))%> is deprecated");
inform (input_location,
"use %<__attribute__ ((vector_size))%> instead");
valid_mode = vector_mode_valid_p (mode);
break;
@ -2671,7 +2671,8 @@ handle_visibility_attribute (tree *node, tree name, tree args,
vis = VISIBILITY_PROTECTED;
else
{
error ("visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\"");
error ("attribute %qE argument must be one of %qs, %qs, %qs, or %qs",
name, "default", "hidden", "protected", "internal");
vis = VISIBILITY_DEFAULT;
}
@ -2935,8 +2936,8 @@ handle_assume_aligned_attribute (tree *node, tree name, tree args, int,
/* The misalignment specified by the second argument
must be non-negative and less than the alignment. */
warning (OPT_Wattributes,
"%qE attribute argument %E is not in the range [0, %E)",
name, val, align);
"%qE attribute argument %E is not in the range [0, %wu]",
name, val, tree_to_uhwi (align) - 1);
*no_add_attrs = true;
return NULL_TREE;
}
@ -3083,7 +3084,7 @@ handle_no_limit_stack_attribute (tree *node, tree name,
else if (DECL_INITIAL (decl))
{
error_at (DECL_SOURCE_LOCATION (decl),
"can%'t set %qE attribute after definition", name);
"cannot set %qE attribute after definition", name);
*no_add_attrs = true;
}
else
@ -3974,7 +3975,7 @@ handle_no_split_stack_attribute (tree *node, tree name,
else if (DECL_INITIAL (decl))
{
error_at (DECL_SOURCE_LOCATION (decl),
"can%'t set %qE attribute after definition", name);
"cannot set %qE attribute after definition", name);
*no_add_attrs = true;
}
@ -3985,13 +3986,13 @@ handle_no_split_stack_attribute (tree *node, tree name,
struct attribute_spec.handler. */
static tree
handle_returns_nonnull_attribute (tree *node, tree, tree, int,
handle_returns_nonnull_attribute (tree *node, tree name, tree, int,
bool *no_add_attrs)
{
// Even without a prototype we still have a return type we can check.
if (TREE_CODE (TREE_TYPE (*node)) != POINTER_TYPE)
{
error ("returns_nonnull attribute on a function not returning a pointer");
error ("%qE attribute on a function not returning a pointer", name);
*no_add_attrs = true;
}
return NULL_TREE;

View file

@ -3063,14 +3063,16 @@ shorten_compare (location_t loc, tree *op0_ptr, tree *op1_ptr,
case GE_EXPR:
if (warn)
warning_at (loc, OPT_Wtype_limits,
"comparison of unsigned expression >= 0 is always true");
"comparison of unsigned expression in %<>= 0%> "
"is always true");
value = truthvalue_true_node;
break;
case LT_EXPR:
if (warn)
warning_at (loc, OPT_Wtype_limits,
"comparison of unsigned expression < 0 is always false");
"comparison of unsigned expression in %<< 0%> "
"is always false");
value = truthvalue_false_node;
break;
@ -3379,7 +3381,7 @@ c_common_truthvalue_conversion (location_t location, tree expr)
if (TREE_CODE (TREE_TYPE (expr)) == INTEGER_TYPE
&& !TYPE_UNSIGNED (TREE_TYPE (expr)))
warning_at (EXPR_LOCATION (expr), OPT_Wint_in_bool_context,
"%<<<%> in boolean context, did you mean %<<%> ?");
"%<<<%> in boolean context, did you mean %<<%>?");
break;
case COND_EXPR:
@ -3395,7 +3397,7 @@ c_common_truthvalue_conversion (location_t location, tree expr)
&& (!integer_onep (val1)
|| !integer_onep (val2)))
warning_at (EXPR_LOCATION (expr), OPT_Wint_in_bool_context,
"?: using integer constants in boolean context, "
"%<?:%> using integer constants in boolean context, "
"the expression will always evaluate to %<true%>");
else if ((TREE_CODE (val1) == INTEGER_CST
&& !integer_zerop (val1)
@ -3404,7 +3406,7 @@ c_common_truthvalue_conversion (location_t location, tree expr)
&& !integer_zerop (val2)
&& !integer_onep (val2)))
warning_at (EXPR_LOCATION (expr), OPT_Wint_in_bool_context,
"?: using integer constants in boolean context");
"%<?:%> using integer constants in boolean context");
}
/* Distribute the conversion into the arms of a COND_EXPR. */
if (c_dialect_cxx ())
@ -8259,9 +8261,9 @@ cb_get_source_date_epoch (cpp_reader *pfile ATTRIBUTE_UNUSED)
if (errno != 0 || endptr == source_date_epoch || *endptr != '\0'
|| epoch < 0 || epoch > MAX_SOURCE_DATE_EPOCH)
{
error_at (input_location, "environment variable SOURCE_DATE_EPOCH must "
error_at (input_location, "environment variable %qs must "
"expand to a non-negative integer less than or equal to %wd",
MAX_SOURCE_DATE_EPOCH);
"SOURCE_DATE_EPOCH", MAX_SOURCE_DATE_EPOCH);
return (time_t) -1;
}

View file

@ -258,7 +258,7 @@ cb_def_pragma (cpp_reader *pfile, location_t loc)
name = cpp_token_as_text (pfile, s);
}
warning_at (fe_loc, OPT_Wunknown_pragmas, "ignoring #pragma %s %s",
warning_at (fe_loc, OPT_Wunknown_pragmas, "ignoring %<#pragma %s %s%>",
space, name);
}
}
@ -818,7 +818,7 @@ interpret_float (const cpp_token *token, unsigned int flags,
if (((flags & CPP_N_HEX) == 0) && ((flags & CPP_N_IMAGINARY) == 0))
{
warning (OPT_Wunsuffixed_float_constants,
"unsuffixed float constant");
"unsuffixed floating constant");
if (float_const_decimal64_p ())
flags |= CPP_N_DFLOAT;
}

View file

@ -974,7 +974,7 @@ c_finish_omp_for (location_t locus, enum tree_code code, tree declv,
{
error_at (elocus,
"increment is not constant 1 or "
"-1 for != condition");
"-1 for %<!=%> condition");
fail = true;
}
}
@ -992,7 +992,7 @@ c_finish_omp_for (location_t locus, enum tree_code code, tree declv,
{
error_at (elocus,
"increment is not constant 1 or -1 for"
" != condition");
" %<!=%> condition");
fail = true;
}
}

View file

@ -1022,8 +1022,8 @@ c_common_post_options (const char **pfilename)
warn_return_type = 1;
if (num_in_fnames > 1)
error ("too many filenames given. Type %s --help for usage",
progname);
error ("too many filenames given; type %<%s %s%> for usage",
progname, "--help");
if (flag_preprocess_only)
{
@ -1057,7 +1057,7 @@ c_common_post_options (const char **pfilename)
debug formats we warn here and refuse to load any PCH files. */
if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
warning (OPT_Wdeprecated,
"the \"%s\" debug format cannot be used with "
"the %qs debug format cannot be used with "
"pre-compiled headers", debug_type_names[write_symbols]);
}
else if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)

View file

@ -103,7 +103,7 @@ pch_init (void)
f = fopen (pch_file, "w+b");
if (f == NULL)
fatal_error (input_location, "can%'t create precompiled header %s: %m",
fatal_error (input_location, "cannot create precompiled header %s: %m",
pch_file);
pch_outfile = f;
@ -124,7 +124,7 @@ pch_init (void)
|| fwrite (executable_checksum, 16, 1, f) != 1
|| fwrite (&v, sizeof (v), 1, f) != 1
|| fwrite (target_validity, v.target_data_length, 1, f) != 1)
fatal_error (input_location, "can%'t write to %s: %m", pch_file);
fatal_error (input_location, "cannot write to %s: %m", pch_file);
/* Let the debugging format deal with the PCHness. */
(*debug_hooks->handle_pch) (0);
@ -182,7 +182,7 @@ c_common_write_pch (void)
if (fseek (pch_outfile, 0, SEEK_SET) != 0
|| fwrite (get_ident (), IDENT_LENGTH, 1, pch_outfile) != 1)
fatal_error (input_location, "can%'t write %s: %m", pch_file);
fatal_error (input_location, "cannot write %s: %m", pch_file);
fclose (pch_outfile);
@ -208,7 +208,7 @@ c_common_valid_pch (cpp_reader *pfile, const char *name, int fd)
sizeread = read (fd, ident, IDENT_LENGTH + 16);
if (sizeread == -1)
fatal_error (input_location, "can%'t read %s: %m", name);
fatal_error (input_location, "cannot read %s: %m", name);
else if (sizeread != IDENT_LENGTH + 16)
{
if (cpp_get_options (pfile)->warn_invalid_pch)
@ -249,7 +249,7 @@ c_common_valid_pch (cpp_reader *pfile, const char *name, int fd)
executable, so it ought to be long enough that we can read a
c_pch_validity structure. */
if (read (fd, &v, sizeof (v)) != sizeof (v))
fatal_error (input_location, "can%'t read %s: %m", name);
fatal_error (input_location, "cannot read %s: %m", name);
/* The allowable debug info combinations are that either the PCH file
was built with the same as is being used now, or the PCH file was
@ -300,7 +300,7 @@ c_common_valid_pch (cpp_reader *pfile, const char *name, int fd)
if ((size_t) read (fd, this_file_data, v.target_data_length)
!= v.target_data_length)
fatal_error (input_location, "can%'t read %s: %m", name);
fatal_error (input_location, "cannot read %s: %m", name);
msg = targetm.pch_valid_p (this_file_data, v.target_data_length);
free (this_file_data);
if (msg != NULL)
@ -406,9 +406,9 @@ c_common_pch_pragma (cpp_reader *pfile, const char *name)
if (!cpp_get_options (pfile)->preprocessed)
{
error ("pch_preprocess pragma should only be used "
error ("%<pch_preprocess%> pragma should only be used "
"with %<-fpreprocessed%>");
inform (input_location, "use #include instead");
inform (input_location, "use %<#include%> instead");
return;
}

View file

@ -91,7 +91,8 @@ pop_alignment (tree id)
align_stack * entry;
if (alignment_stack == NULL)
GCC_BAD ("#pragma pack (pop) encountered without matching #pragma pack (push)");
GCC_BAD ("%<#pragma pack (pop)%> encountered without matching "
"%<#pragma pack (push)%>");
/* If we got an identifier, strip away everything above the target
entry so that the next step will restore the state just below it. */
@ -104,8 +105,9 @@ pop_alignment (tree id)
break;
}
if (entry == NULL)
warning (OPT_Wpragmas, "\
#pragma pack(pop, %E) encountered without matching #pragma pack(push, %E)"
warning (OPT_Wpragmas,
"%<#pragma pack(pop, %E)%> encountered without matching "
"%<#pragma pack(push, %E)%>"
, id, id);
}
@ -197,7 +199,7 @@ handle_pragma_pack (cpp_reader * ARG_UNUSED (dummy))
warning (OPT_Wpragmas, "junk at end of %<#pragma pack%>");
if (flag_pack_struct)
GCC_BAD ("#pragma pack has no effect with %<-fpack-struct%> - ignored");
GCC_BAD ("%<#pragma pack%> has no effect with %<-fpack-struct%> - ignored");
if (action != pop)
switch (align)
@ -257,7 +259,7 @@ apply_pragma_weak (tree decl, tree value)
&& !DECL_WEAK (decl) /* Don't complain about a redundant #pragma. */
&& DECL_ASSEMBLER_NAME_SET_P (decl)
&& TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
warning (OPT_Wpragmas, "applying #pragma weak %q+D after first use "
warning (OPT_Wpragmas, "applying %<#pragma weak %+D%> after first use "
"results in unspecified behavior", decl);
declare_weak (decl);
@ -354,12 +356,12 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy))
value = 0;
if (pragma_lex (&name) != CPP_NAME)
GCC_BAD ("malformed #pragma weak, ignored");
GCC_BAD ("malformed %<#pragma weak%>, ignored");
t = pragma_lex (&x);
if (t == CPP_EQ)
{
if (pragma_lex (&value) != CPP_NAME)
GCC_BAD ("malformed #pragma weak, ignored");
GCC_BAD ("%<malformed #pragma weak%>, ignored");
t = pragma_lex (&x);
}
if (t != CPP_EOF)
@ -417,7 +419,7 @@ handle_pragma_scalar_storage_order (cpp_reader *ARG_UNUSED(dummy))
if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN)
{
error ("scalar_storage_order is not supported because endianness "
error ("%<scalar_storage_order%> is not supported because endianness "
"is not uniform");
return;
}
@ -495,9 +497,9 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
bool found;
if (pragma_lex (&oldname) != CPP_NAME)
GCC_BAD ("malformed #pragma redefine_extname, ignored");
GCC_BAD ("malformed %<#pragma redefine_extname%>, ignored");
if (pragma_lex (&newname) != CPP_NAME)
GCC_BAD ("malformed #pragma redefine_extname, ignored");
GCC_BAD ("malformed %<#pragma redefine_extname%>, ignored");
t = pragma_lex (&x);
if (t != CPP_EOF)
warning (OPT_Wpragmas, "junk at end of %<#pragma redefine_extname%>");
@ -528,8 +530,8 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
name = targetm.strip_name_encoding (name);
if (!id_equal (newname, name))
warning (OPT_Wpragmas, "#pragma redefine_extname ignored due to "
"conflict with previous rename");
warning (OPT_Wpragmas, "%<#pragma redefine_extname%> "
"ignored due to conflict with previous rename");
}
else
symtab->change_decl_assembler_name (decl, newname);
@ -556,8 +558,8 @@ add_to_renaming_pragma_list (tree oldname, tree newname)
if (oldname == p->oldname)
{
if (p->newname != newname)
warning (OPT_Wpragmas, "#pragma redefine_extname ignored due to "
"conflict with previous #pragma redefine_extname");
warning (OPT_Wpragmas, "%<#pragma redefine_extname%> ignored due to "
"conflict with previous %<#pragma redefine_extname%>");
return;
}
@ -592,7 +594,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname)
oldname = targetm.strip_name_encoding (oldname);
if (asmname && strcmp (TREE_STRING_POINTER (asmname), oldname))
warning (OPT_Wpragmas, "asm declaration ignored due to "
warning (OPT_Wpragmas, "%<asm%> declaration ignored due to "
"conflict with previous rename");
/* Take any pending redefine_extname off the list. */
@ -601,8 +603,8 @@ maybe_apply_renaming_pragma (tree decl, tree asmname)
{
/* Only warn if there is a conflict. */
if (!id_equal (p->newname, oldname))
warning (OPT_Wpragmas, "#pragma redefine_extname ignored due to "
"conflict with previous rename");
warning (OPT_Wpragmas, "%<#pragma redefine_extname%> ignored "
"due to conflict with previous rename");
pending_redefine_extname->unordered_remove (ix);
break;
@ -623,8 +625,8 @@ maybe_apply_renaming_pragma (tree decl, tree asmname)
{
if (strcmp (TREE_STRING_POINTER (asmname),
IDENTIFIER_POINTER (newname)) != 0)
warning (OPT_Wpragmas, "#pragma redefine_extname ignored due to "
"conflict with __asm__ declaration");
warning (OPT_Wpragmas, "%<#pragma redefine_extname%> ignored "
"due to conflict with %<asm%> declaration");
return asmname;
}
@ -684,7 +686,8 @@ push_visibility (const char *str, int kind)
else if (!strcmp (str, "protected"))
default_visibility = VISIBILITY_PROTECTED;
else
GCC_BAD ("#pragma GCC visibility push() must specify default, internal, hidden or protected");
GCC_BAD ("%<#pragma GCC visibility push()%> must specify %<default%>, "
"%<internal%>, %<hidden%> or %<protected%>");
visibility_options.inpragma = 1;
}
@ -726,7 +729,8 @@ handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED)
action = pop;
}
if (bad == action)
GCC_BAD ("#pragma GCC visibility must be followed by push or pop");
GCC_BAD ("%<#pragma GCC visibility%> must be followed by %<push%> "
"or %<pop%>");
else
{
if (pop == action)
@ -740,7 +744,7 @@ handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED)
GCC_BAD ("missing %<(%> after %<#pragma GCC visibility push%> - ignored");
token = pragma_lex (&x);
if (token != CPP_NAME)
GCC_BAD ("malformed #pragma GCC visibility push");
GCC_BAD ("malformed %<#pragma GCC visibility push%>");
else
push_visibility (IDENTIFIER_POINTER (x), 0);
if (pragma_lex (&x) != CPP_CLOSE_PAREN)
@ -860,7 +864,7 @@ handle_pragma_target(cpp_reader *ARG_UNUSED(dummy))
if (cfun)
{
error ("#pragma GCC option is not allowed inside functions");
error ("%<#pragma GCC option%> is not allowed inside functions");
return;
}
@ -906,7 +910,7 @@ handle_pragma_target(cpp_reader *ARG_UNUSED(dummy))
if (token != CPP_EOF)
{
error ("#pragma GCC target string... is badly formed");
error ("%<#pragma GCC target%> string is badly formed");
return;
}
@ -929,7 +933,7 @@ handle_pragma_optimize (cpp_reader *ARG_UNUSED(dummy))
if (cfun)
{
error ("#pragma GCC optimize is not allowed inside functions");
error ("%<#pragma GCC optimize%> is not allowed inside functions");
return;
}
@ -974,7 +978,7 @@ handle_pragma_optimize (cpp_reader *ARG_UNUSED(dummy))
if (token != CPP_EOF)
{
error ("#pragma GCC optimize string... is badly formed");
error ("%<#pragma GCC optimize%> string is badly formed");
return;
}
@ -1147,7 +1151,8 @@ handle_pragma_message (cpp_reader *ARG_UNUSED(dummy))
warning (OPT_Wpragmas, "junk at end of %<#pragma message%>");
if (TREE_STRING_LENGTH (message) > 1)
inform (input_location, "#pragma message: %s", TREE_STRING_POINTER (message));
inform (input_location, "%<#pragma message: %s%>",
TREE_STRING_POINTER (message));
}
/* Mark whether the current location is valid for a STDC pragma. */

View file

@ -1663,7 +1663,7 @@ warn_for_omitted_condop (location_t location, tree cond)
|| (TREE_TYPE (cond) != NULL_TREE
&& TREE_CODE (TREE_TYPE (cond)) == BOOLEAN_TYPE))
warning_at (location, OPT_Wparentheses,
"the omitted middle operand in ?: will always be %<true%>, "
"the omitted middle operand in %<?:%> will always be %<true%>, "
"suggest explicit middle operand");
}
@ -1762,7 +1762,7 @@ lvalue_error (location_t loc, enum lvalue_use use)
error_at (loc, "lvalue required as unary %<&%> operand");
break;
case lv_asm:
error_at (loc, "lvalue required in asm statement");
error_at (loc, "lvalue required in %<asm%> statement");
break;
default:
gcc_unreachable ();

View file

@ -562,6 +562,10 @@ Wformat-contains-nul
C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
Warn about format strings that contain NUL bytes.
Wformat-diag
C ObjC C++ ObjC++ Var(warn_format_diag) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
Warn about GCC format strings with strings unsuitable for diagnostics..
Wformat-extra-args
C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
Warn if passing too many arguments to a function for its format string.

View file

@ -1,3 +1,17 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* c-decl.c (start_decl): Quote keywords, operators, and
types in diagnostics.
(finish_decl): Same.
* c-parser.c (c_parser_asm_statement): Same.
(c_parser_conditional_expression): Same.
(c_parser_transaction_cancel): Same.
* c-typeck.c (c_common_type): Same.
(build_conditional_expr): Same.
(digest_init): Same.
(process_init_element): Same.
(build_binary_op): Same.
2019-05-17 Richard Biener <rguenther@suse.de>
* gimple-parser.c (c_parser_gimple_statement): Handle __VEC_PERM.

View file

@ -1780,15 +1780,16 @@ diagnose_arglist_conflict (tree newdecl, tree olddecl,
if (TREE_CHAIN (t) == NULL_TREE
&& TYPE_MAIN_VARIANT (type) != void_type_node)
{
inform (input_location, "a parameter list with an ellipsis can%'t match "
"an empty parameter name list declaration");
inform (input_location, "a parameter list with an ellipsis "
"cannot match an empty parameter name list declaration");
break;
}
if (c_type_promotes_to (type) != type)
{
inform (input_location, "an argument type that has a default promotion can%'t match "
"an empty parameter name list declaration");
inform (input_location, "an argument type that has a default "
"promotion cannot match an empty parameter name list "
"declaration");
break;
}
}
@ -4887,7 +4888,7 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs,
switch (TREE_CODE (decl))
{
case TYPE_DECL:
error ("typedef %qD is initialized (use __typeof__ instead)", decl);
error ("typedef %qD is initialized (use %<__typeof__%> instead)", decl);
initialized = false;
break;
@ -5282,7 +5283,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
&& VAR_P (decl)
&& !C_DECL_REGISTER (decl)
&& !TREE_STATIC (decl))
warning (0, "ignoring asm-specifier for non-static local "
warning (0, "ignoring %<asm%> specifier for non-static local "
"variable %q+D", decl);
else
set_user_assembler_name (decl, asmspec);
@ -5725,10 +5726,10 @@ warn_variable_length_array (tree name, tree size)
if (name)
pedwarn_c90 (input_location, OPT_Wvla,
"ISO C90 forbids array %qE whose size "
"can%'t be evaluated", name);
"cannot be evaluated", name);
else
pedwarn_c90 (input_location, OPT_Wvla, "ISO C90 forbids array "
"whose size can%'t be evaluated");
"whose size cannot be evaluated");
}
else
{

View file

@ -6401,7 +6401,7 @@ c_parser_asm_statement (c_parser *parser)
case RID_VOLATILE:
if (volatile_loc)
{
error_at (loc, "duplicate asm qualifier %qE", token->value);
error_at (loc, "duplicate %<asm%> qualifier %qE", token->value);
inform (volatile_loc, "first seen here");
}
else
@ -6412,7 +6412,7 @@ c_parser_asm_statement (c_parser *parser)
case RID_INLINE:
if (inline_loc)
{
error_at (loc, "duplicate asm qualifier %qE", token->value);
error_at (loc, "duplicate %<asm%> qualifier %qE", token->value);
inform (inline_loc, "first seen here");
}
else
@ -6423,7 +6423,7 @@ c_parser_asm_statement (c_parser *parser)
case RID_GOTO:
if (goto_loc)
{
error_at (loc, "duplicate asm qualifier %qE", token->value);
error_at (loc, "duplicate %<asm%> qualifier %qE", token->value);
inform (goto_loc, "first seen here");
}
else
@ -6433,7 +6433,7 @@ c_parser_asm_statement (c_parser *parser)
case RID_CONST:
case RID_RESTRICT:
error_at (loc, "%qE is not an asm qualifier", token->value);
error_at (loc, "%qE is not a valid %<asm%> qualifier", token->value);
c_parser_consume_token (parser);
continue;
@ -6791,7 +6791,7 @@ c_parser_conditional_expression (c_parser *parser, struct c_expr *after,
location_t middle_loc = c_parser_peek_token (parser)->location;
pedwarn (middle_loc, OPT_Wpedantic,
"ISO C forbids omitting the middle term of a ?: expression");
"ISO C forbids omitting the middle term of a %<?:%> expression");
if (TREE_CODE (cond.value) == EXCESS_PRECISION_EXPR)
{
eptype = TREE_TYPE (cond.value);
@ -19825,8 +19825,8 @@ c_parser_transaction_cancel (c_parser *parser)
&& !is_tm_may_cancel_outer (current_function_decl))
{
error_at (loc, "outer %<__transaction_cancel%> not "
"within outer %<__transaction_atomic%>");
error_at (loc, " or a %<transaction_may_cancel_outer%> function");
"within outer %<__transaction_atomic%> or "
"a %<transaction_may_cancel_outer%> function");
goto ret_error;
}
}

View file

@ -743,17 +743,18 @@ c_common_type (tree t1, tree t2)
{
if (code1 == VECTOR_TYPE || code2 == VECTOR_TYPE)
{
error ("can%'t mix operands of decimal float and vector types");
error ("cannot mix operands of decimal floating and vector types");
return error_mark_node;
}
if (code1 == COMPLEX_TYPE || code2 == COMPLEX_TYPE)
{
error ("can%'t mix operands of decimal float and complex types");
error ("cannot mix operands of decimal floating and complex types");
return error_mark_node;
}
if (code1 == REAL_TYPE && code2 == REAL_TYPE)
{
error ("can%'t mix operands of decimal float and other float types");
error ("cannot mix operands of decimal floating "
"and other floating types");
return error_mark_node;
}
}
@ -5253,13 +5254,13 @@ build_conditional_expr (location_t colon_loc, tree ifexp, bool ifexp_bcp,
/* OK */;
else if (unsigned_op2)
warning_at (op1_loc, OPT_Wsign_compare,
"operand of ?: changes signedness from "
"operand of %<?:%> changes signedness from "
"%qT to %qT due to unsignedness of other "
"operand", TREE_TYPE (orig_op1),
TREE_TYPE (orig_op2));
else
warning_at (op2_loc, OPT_Wsign_compare,
"operand of ?: changes signedness from "
"operand of %<?:%> changes signedness from "
"%qT to %qT due to unsignedness of other "
"operand", TREE_TYPE (orig_op2),
TREE_TYPE (orig_op1));
@ -7764,13 +7765,13 @@ digest_init (location_t init_loc, tree type, tree init, tree origtype,
that is counted in the length of the constant. */
if (compare_tree_int (TYPE_SIZE_UNIT (type), len - unit) < 0)
pedwarn_init (init_loc, 0,
("initializer-string for array of chars "
"is too long"));
("initializer-string for array of %qT "
"is too long"), typ1);
else if (warn_cxx_compat
&& compare_tree_int (TYPE_SIZE_UNIT (type), len) < 0)
warning_at (init_loc, OPT_Wc___compat,
("initializer-string for array chars "
"is too long for C++"));
("initializer-string for array of %qT "
"is too long for C++"), typ1);
if (compare_tree_int (TYPE_SIZE_UNIT (type), len) < 0)
{
unsigned HOST_WIDE_INT size
@ -9888,7 +9889,7 @@ process_init_element (location_t loc, struct c_expr value, bool implicit,
&& integer_zerop (constructor_unfilled_index))
{
if (constructor_stack->replacement_value.value)
error_init (loc, "excess elements in char array initializer");
error_init (loc, "excess elements in %<char%> array initializer");
constructor_stack->replacement_value = value;
return;
}
@ -11937,7 +11938,7 @@ build_binary_op (location_t location, enum tree_code code,
if (FLOAT_TYPE_P (type0) || FLOAT_TYPE_P (type1))
warning_at (location,
OPT_Wfloat_equal,
"comparing floating point with == or != is unsafe");
"comparing floating point with %<==%> or %<!=%> is unsafe");
/* Result of comparison is always int,
but don't convert the args to int! */
build_type = integer_type_node;

View file

@ -1702,7 +1702,7 @@ expand_one_var (tree var, bool toplevel, bool really_expand)
{
if (lookup_attribute ("naked",
DECL_ATTRIBUTES (current_function_decl)))
error ("cannot allocate stack for variable %q+D, naked function.",
error ("cannot allocate stack for variable %q+D, naked function",
var);
expand_one_stack_var (origvar);
@ -2840,7 +2840,8 @@ tree_conflicts_with_clobbers_p (tree t, HARD_REG_SET *clobbered_regs)
if (overlap)
{
error ("asm-specifier for variable %qE conflicts with asm clobber list",
error ("%<asm%> specifier for variable %qE conflicts with "
"%<asm%> clobber list",
DECL_NAME (overlap));
/* Reset registerness to stop multiple errors emitted for a single
@ -3262,7 +3263,8 @@ expand_asm_stmt (gasm *stmt)
if (allows_reg && TYPE_MODE (type) != BLKmode)
op = force_reg (TYPE_MODE (type), op);
else if (!allows_mem)
warning (0, "asm operand %d probably doesn%'t match constraints",
warning (0, "%<asm%> operand %d probably does not match "
"constraints",
i + noutputs);
else if (MEM_P (op))
{
@ -3445,11 +3447,13 @@ expand_asm_stmt (gasm *stmt)
tripping over the under-construction body. */
for (unsigned k = 0; k < noutputs; ++k)
if (reg_overlap_mentioned_p (clobbered_reg, output_rvec[k]))
internal_error ("asm clobber conflict with output operand");
internal_error ("%<asm%> clobber conflict with "
"output operand");
for (unsigned k = 0; k < ninputs - ninout; ++k)
if (reg_overlap_mentioned_p (clobbered_reg, input_rvec[k]))
internal_error ("asm clobber conflict with input operand");
internal_error ("%<asm%> clobber conflict with "
"input operand");
}
XVECEXP (body, 0, i++) = gen_rtx_CLOBBER (VOIDmode, clobbered_reg);

View file

@ -796,8 +796,8 @@ process_function_and_variable_attributes (cgraph_node *first,
/* redefining extern inline function makes it DECL_UNINLINABLE. */
&& !DECL_UNINLINABLE (decl))
warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wattributes,
"always_inline function might not be inlinable");
"%<always_inline%> function might not be inlinable");
process_common_attributes (node, decl);
}
for (vnode = symtab->first_variable (); vnode != first_var;

View file

@ -65,7 +65,7 @@ collect_wait (const char *prog, struct pex_obj *pex)
int status;
if (!pex_get_status (pex, 1, &status))
fatal_error (input_location, "can%'t get program status: %m");
fatal_error (input_location, "cannot get program status: %m");
pex_free (pex);
if (response_file && !save_temps)
@ -180,7 +180,7 @@ collect_execute (const char *prog, char **argv, const char *outname,
pex = pex_init (0, "collect2", NULL);
if (pex == NULL)
fatal_error (input_location, "pex_init failed: %m");
fatal_error (input_location, "%<pex_init%> failed: %m");
errmsg = pex_run (pex, flags, argv[0], argv, outname,
errname, &err);

View file

@ -701,7 +701,8 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
size_t num_files;
if (!lto_wrapper)
fatal_error (input_location, "COLLECT_LTO_WRAPPER must be set");
fatal_error (input_location, "environment variable "
"%<COLLECT_LTO_WRAPPER%> must be set");
num_lto_c_args++;
@ -1396,7 +1397,7 @@ main (int argc, char **argv)
stream = fopen (list_filename, "r");
if (stream == NULL)
fatal_error (input_location, "can%'t open %s: %m",
fatal_error (input_location, "cannot open %s: %m",
list_filename);
while (fgets (buf, sizeof buf, stream) != NULL)
@ -2382,7 +2383,7 @@ is_lto_object_file (const char *prog_name)
return true;
if (errmsg)
fatal_error (0, "%s: %s\n", errmsg, xstrerror (err));
fatal_error (0, "%s: %s", errmsg, xstrerror (err));
return false;
}
@ -2448,7 +2449,7 @@ scan_prog_file (const char *prog_name, scanpass which_pass,
pex = pex_init (PEX_USE_PIPES, "collect2", NULL);
if (pex == NULL)
fatal_error (input_location, "pex_init failed: %m");
fatal_error (input_location, "%<pex_init%> failed: %m");
errmsg = pex_run (pex, 0, nm_file_name, real_nm_argv, NULL, HOST_BIT_BUCKET,
&err);
@ -2470,7 +2471,7 @@ scan_prog_file (const char *prog_name, scanpass which_pass,
inf = pex_read_output (pex, 0);
if (inf == NULL)
fatal_error (input_location, "can%'t open nm output: %m");
fatal_error (input_location, "cannot open nm output: %m");
if (debug)
fprintf (stderr, "\nnm output with constructors/destructors.\n");
@ -2639,7 +2640,7 @@ scan_libraries (const char *prog_name)
inf = pex_read_output (pex, 0);
if (inf == NULL)
fatal_error (input_location, "can%'t open ldd output: %m");
fatal_error (input_location, "cannot open ldd output: %m");
if (debug)
notice ("\nldd output with constructors/destructors.\n");

View file

@ -11828,9 +11828,9 @@ aarch64_validate_mbranch_protection (const char *const_str)
enum aarch64_parse_opt_result res =
aarch64_parse_branch_protection (const_str, &str);
if (res == AARCH64_PARSE_INVALID_ARG)
error ("invalid arg %<%s%> for %<-mbranch-protection=%>", str);
error ("invalid argument %<%s%> for %<-mbranch-protection=%>", str);
else if (res == AARCH64_PARSE_MISSING_ARG)
error ("missing arg for %<-mbranch-protection=%>");
error ("missing argument for %<-mbranch-protection=%>");
free (str);
return res == AARCH64_PARSE_OK;
}

View file

@ -7969,7 +7969,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
if (fndecl
&& (lookup_attribute ("interrupt",
TYPE_ATTRIBUTES (TREE_TYPE (fndecl)))))
error ("interrupt service routine can%'t be called directly");
error ("interrupt service routine cannot be called directly");
}
else
fndecl = NULL_TREE;
@ -10761,7 +10761,8 @@ get_element_number (tree vec_type, tree arg)
if (!tree_fits_uhwi_p (arg)
|| (elt = tree_to_uhwi (arg), elt > max))
{
error ("selector must be an integer constant in the range 0..%wi", max);
error ("selector must be an integer constant in the range "
"[0, %wi]", max);
return 0;
}

View file

@ -2447,7 +2447,7 @@ ix86_mangle_function_version_assembler_name (tree decl, tree id)
&& lookup_attribute ("gnu_inline",
DECL_ATTRIBUTES (decl)))
error_at (DECL_SOURCE_LOCATION (decl),
"function versions cannot be marked as gnu_inline,"
"function versions cannot be marked as %<gnu_inline%>,"
" bodies have to be generated");
if (DECL_VIRTUAL_P (decl)

View file

@ -3462,7 +3462,8 @@ ix86_handle_abi_attribute (tree *node, tree name, tree, int,
{
if (lookup_attribute ("sysv_abi", TYPE_ATTRIBUTES (*node)))
{
error ("ms_abi and sysv_abi attributes are not compatible");
error ("%qs and %qs attributes are not compatible",
"ms_abi", "sysv_abi");
}
return NULL_TREE;
@ -3471,7 +3472,8 @@ ix86_handle_abi_attribute (tree *node, tree name, tree, int,
{
if (lookup_attribute ("ms_abi", TYPE_ATTRIBUTES (*node)))
{
error ("ms_abi and sysv_abi attributes are not compatible");
error ("%qs and %qs attributes are not compatible",
"ms_abi", "sysv_abi");
}
return NULL_TREE;
@ -3582,7 +3584,7 @@ ix86_handle_interrupt_attribute (tree *node, tree, tree, int, bool *)
error ("interrupt service routine can only have a pointer argument "
"and an optional integer argument");
if (! VOID_TYPE_P (return_type))
error ("interrupt service routine can%'t have non-void return value");
error ("interrupt service routine must return %<void%>");
return NULL_TREE;
}

View file

@ -1525,7 +1525,7 @@ ix86_function_type_abi (const_tree fntype)
static int warned;
if (TARGET_X32 && !warned)
{
error ("X32 does not support ms_abi attribute");
error ("X32 does not support %<ms_abi%> attribute");
warned = 1;
}
@ -1559,7 +1559,8 @@ ix86_function_ms_hook_prologue (const_tree fn)
{
if (decl_function_context (fn) != NULL_TREE)
error_at (DECL_SOURCE_LOCATION (fn),
"ms_hook_prologue is not compatible with nested function");
"%<ms_hook_prologue%> attribute is not compatible "
"with nested function");
else
return true;
}
@ -2266,7 +2267,7 @@ classify_argument (machine_mode mode, const_tree type,
{
warned = true;
inform (input_location,
"the ABI of passing union with long double"
"the ABI of passing union with %<long double%>"
" has changed in GCC 4.4");
}
return 0;
@ -2384,7 +2385,7 @@ classify_argument (machine_mode mode, const_tree type,
{
warned = true;
inform (input_location,
"the ABI of passing structure with complex float"
"the ABI of passing structure with %<complex float%>"
" member has changed in GCC 4.4");
}
classes[1] = X86_64_SSESF_CLASS;
@ -7787,7 +7788,7 @@ ix86_expand_prologue (void)
/* Check if profiling is active and we shall use profiling before
prologue variant. If so sorry. */
if (crtl->profile && flag_fentry != 0)
sorry ("ms_hook_prologue attribute isn%'t compatible "
sorry ("%<ms_hook_prologue%> attribute is not compatible "
"with %<-mfentry%> for 32-bit");
/* In ix86_asm_output_function_label we emitted:
@ -20655,7 +20656,7 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/*inputs*/,
con += 4;
if (strchr (con, ',') != NULL)
{
error ("alternatives not allowed in asm flag output");
error ("alternatives not allowed in %<asm%> flag output");
continue;
}
@ -20719,7 +20720,7 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/*inputs*/,
}
if (code == UNKNOWN)
{
error ("unknown asm flag output %qs", constraints[i]);
error ("unknown %<asm%> flag output %qs", constraints[i]);
continue;
}
if (invert)
@ -20748,7 +20749,7 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/*inputs*/,
machine_mode dest_mode = GET_MODE (dest);
if (!SCALAR_INT_MODE_P (dest_mode))
{
error ("invalid type for asm flag output");
error ("invalid type for %<asm%> flag output");
continue;
}
@ -21682,13 +21683,15 @@ ix86_memmodel_check (unsigned HOST_WIDE_INT val)
if (val & IX86_HLE_ACQUIRE && !(is_mm_acquire (model) || strong))
{
warning (OPT_Winvalid_memory_model,
"HLE_ACQUIRE not used with ACQUIRE or stronger memory model");
"%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger "
"memory model");
return MEMMODEL_SEQ_CST | IX86_HLE_ACQUIRE;
}
if (val & IX86_HLE_RELEASE && !(is_mm_release (model) || strong))
{
warning (OPT_Winvalid_memory_model,
"HLE_RELEASE not used with RELEASE or stronger memory model");
"%<HLE_RELEASE%> not used with %<RELEASE%> or stronger "
"memory model");
return MEMMODEL_SEQ_CST | IX86_HLE_RELEASE;
}
return val;

View file

@ -415,11 +415,11 @@ convert_to_real_1 (tree type, tree expr, bool fold_p)
case POINTER_TYPE:
case REFERENCE_TYPE:
error ("pointer value used where a floating point value was expected");
error ("pointer value used where a floating point was expected");
return convert_to_real_1 (type, integer_zero_node, fold_p);
default:
error ("aggregate value used where a float was expected");
error ("aggregate value used where a floating point was expected");
return convert_to_real_1 (type, integer_zero_node, fold_p);
}
}
@ -1029,7 +1029,7 @@ convert_to_integer_1 (tree type, tree expr, bool dofold)
case VECTOR_TYPE:
if (!tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (expr))))
{
error ("can%'t convert a vector of type %qT"
error ("cannot convert a vector of type %qT"
" to type %qT which has different size",
TREE_TYPE (expr), type);
return error_mark_node;
@ -1166,7 +1166,7 @@ convert_to_vector (tree type, tree expr)
case VECTOR_TYPE:
if (!tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (expr))))
{
error ("can%'t convert a value of type %qT"
error ("cannot convert a value of type %qT"
" to vector type %qT which has different size",
TREE_TYPE (expr), type);
return error_mark_node;
@ -1174,7 +1174,7 @@ convert_to_vector (tree type, tree expr)
return build1 (VIEW_CONVERT_EXPR, type, expr);
default:
error ("can%'t convert value to a vector");
error ("cannot convert value to a vector");
return error_mark_node;
}
}

View file

@ -1,3 +1,92 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* call.c (print_z_candidate): Wrap diagnostic text in a gettext
macro. Adjust.
(print_z_candidates): Same.
(build_conditional_expr_1): Quote keywords, operators, and types
in diagnostics.
(build_op_delete_call): Same.
(maybe_print_user_conv_context): Wrap diagnostic text in a gettext
macro.
(convert_like_real): Same.
(convert_arg_to_ellipsis): Quote keywords, operators, and types
in diagnostics.
(build_over_call): Same.
(joust): Break up an overlong line. Wrap diagnostic text in a gettext
macro.
* constexpr.c (cxx_eval_check_shift_p): Spell out >= in English.
(cxx_eval_constant_expression): Quote keywords, operators, and types
in diagnostics.
(potential_constant_expression_1): Same.
* cp-gimplify.c (cp_genericize_r): Same.
* cvt.c (maybe_warn_nodiscard): Quote keywords, operators, and types
in diagnostics.
(type_promotes_to): Same.
* decl.c (check_previous_goto_1): Same.
(check_goto): Same.
(start_decl): Same.
(cp_finish_decl): Avoid parenthesizing a sentence for consistency.
(grok_op_properties): Quote keywords, operators, and types
in diagnostics.
* decl2.c (grokfield): Same.
(coerce_delete_type): Same.
* except.c (is_admissible_throw_operand_or_catch_parameter): Same.
* friend.c (do_friend): Quote C++ tokens.
* init.c (build_new_1): Quote keywords, operators, and types
in diagnostics.
(build_vec_delete_1): Same.
(build_delete): Same.
* lex.c (parse_strconst_pragma): Same.
(handle_pragma_implementation): Same.
(unqualified_fn_lookup_error): Same.
* mangle.c (write_type): Same.
* method.c (defaulted_late_check): Avoid two consecutive punctuators.
* name-lookup.c (cp_binding_level_debug): Remove a trailing newline.
(pop_everything): Same.
* parser.c (cp_lexer_start_debugging): Quote a macro name.
in a diagnostic
(cp_lexer_stop_debugging): Same.
(cp_parser_userdef_numeric_literal): Quote a C++ header name
in a diagnostic.
(cp_parser_nested_name_specifier_opt): Quote keywords, operators,
and types in diagnostics.
(cp_parser_question_colon_clause): Same.
(cp_parser_asm_definition): Same.
(cp_parser_init_declarator): Same.
(cp_parser_template_declaration_after_parameters): Avoid capitalizing
a sentence in a diagnostic.
(cp_parser_omp_declare_reduction): Quote keywords, operators, and types
in diagnostics.
(cp_parser_transaction): Same.
* pt.c (maybe_process_partial_specialization): Replace second call
to permerror with inform for consistency with other uses.
(expand_integer_pack): Quote keywords, operators, and types
in diagnostics.
* rtti.c (get_typeid): Quote keywords, operators, and types
in diagnostics.
(build_dynamic_cast_1): Same.
* semantics.c (finish_asm_stmt): Same.
(finish_label_decl): Same.
(finish_bases): Same.
(finish_offsetof): Same.
(cp_check_omp_declare_reduction): Same.
(finish_decltype_type): Same.
* tree.c (handle_init_priority_attribute): Same. Add detail
to diagnostics.
(maybe_warn_zero_as_null_pointer_constant): Same.
* typeck.c (cp_build_binary_op): Quote keywords, operators, and types
in diagnostics.
(cp_build_unary_op): Same.
(check_for_casting_away_constness): Same.
(build_static_cast): Same.
(build_const_cast_1): Same.
(maybe_warn_about_returning_address_of_local): Same.
(check_return_expr): Same.
* typeck2.c (abstract_virtuals_error_sfinae): Same.
(digest_init_r): Replace a tab with spaces in a diagnostic.
(build_functional_cast): Quote keywords, operators, and types
in diagnostics.
2019-05-15 Jakub Jelinek <jakub@redhat.com>
PR debug/90197

View file

@ -3603,7 +3603,7 @@ print_z_candidate (location_t loc, const char *msgstr,
{
const char *msg = (msgstr == NULL
? ""
: ACONCAT ((msgstr, " ", NULL)));
: ACONCAT ((_(msgstr), " ", NULL)));
tree fn = candidate->fn;
if (flag_new_inheriting_ctors)
fn = strip_inheriting_ctors (fn);
@ -3613,24 +3613,24 @@ print_z_candidate (location_t loc, const char *msgstr,
{
cloc = loc;
if (candidate->num_convs == 3)
inform (cloc, "%s%<%D(%T, %T, %T)%> <built-in>", msg, fn,
inform (cloc, "%s%<%D(%T, %T, %T)%> (built-in)", msg, fn,
candidate->convs[0]->type,
candidate->convs[1]->type,
candidate->convs[2]->type);
else if (candidate->num_convs == 2)
inform (cloc, "%s%<%D(%T, %T)%> <built-in>", msg, fn,
inform (cloc, "%s%<%D(%T, %T)%> (built-in)", msg, fn,
candidate->convs[0]->type,
candidate->convs[1]->type);
else
inform (cloc, "%s%<%D(%T)%> <built-in>", msg, fn,
inform (cloc, "%s%<%D(%T)%> (built-in)", msg, fn,
candidate->convs[0]->type);
}
else if (TYPE_P (fn))
inform (cloc, "%s%qT <conversion>", msg, fn);
inform (cloc, "%s%qT (conversion)", msg, fn);
else if (candidate->viable == -1)
inform (cloc, "%s%#qD <near match>", msg, fn);
inform (cloc, "%s%#qD (near match)", msg, fn);
else if (DECL_DELETED_FN (fn))
inform (cloc, "%s%#qD <deleted>", msg, fn);
inform (cloc, "%s%#qD (deleted)", msg, fn);
else
inform (cloc, "%s%#qD", msg, fn);
if (fn != candidate->fn)
@ -3763,7 +3763,7 @@ print_z_candidates (location_t loc, struct z_candidate *candidates)
}
for (; candidates; candidates = candidates->next)
print_z_candidate (loc, "candidate:", candidates);
print_z_candidate (loc, N_("candidate:"), candidates);
}
/* USER_SEQ is a user-defined conversion sequence, beginning with a
@ -5003,7 +5003,8 @@ build_conditional_expr_1 (const op_location_t &loc,
{
if (complain & tf_error)
pedwarn (loc, OPT_Wpedantic,
"ISO C++ forbids omitting the middle term of a ?: expression");
"ISO C++ forbids omitting the middle term of "
"a %<?:%> expression");
if ((complain & tf_warning) && !truth_value_p (TREE_CODE (arg1)))
warn_for_omitted_condop (loc, arg1);
@ -5276,7 +5277,8 @@ build_conditional_expr_1 (const op_location_t &loc,
{
if (complain & tf_error)
{
error_at (loc, "operands to ?: have different types %qT and %qT",
error_at (loc, "operands to %<?:%> have different types "
"%qT and %qT",
arg2_type, arg3_type);
if (conv2 && !conv2->bad_p && conv3 && !conv3->bad_p)
inform (loc, " and each type can be converted to the other");
@ -5392,7 +5394,7 @@ build_conditional_expr_1 (const op_location_t &loc,
if (!any_viable_p)
{
if (complain & tf_error)
error_at (loc, "operands to ?: have different types %qT and %qT",
error_at (loc, "operands to %<?:%> have different types %qT and %qT",
arg2_type, arg3_type);
return error_mark_node;
}
@ -5539,7 +5541,7 @@ build_conditional_expr_1 (const op_location_t &loc,
if (!result_type)
{
if (complain & tf_error)
error_at (loc, "operands to ?: have different types %qT and %qT",
error_at (loc, "operands to %<?:%> have different types %qT and %qT",
arg2_type, arg3_type);
return error_mark_node;
}
@ -6489,10 +6491,10 @@ build_op_delete_call (enum tree_code code, tree addr, tree size,
{
const char *const msg1
= G_("exception cleanup for this placement new selects "
"non-placement operator delete");
"non-placement %<operator delete%>");
const char *const msg2
= G_("%qD is a usual (non-placement) deallocation "
"function in C++14 (or with -fsized-deallocation)");
"function in C++14 (or with %<-fsized-deallocation%>)");
/* But if the class has an operator delete (void *), then that is
the usual deallocation function, so we shouldn't complain
@ -6889,7 +6891,7 @@ maybe_print_user_conv_context (conversion *convs)
for (conversion *t = convs; t; t = next_conversion (t))
if (t->kind == ck_user)
{
print_z_candidate (0, " after user-defined conversion:",
print_z_candidate (0, N_(" after user-defined conversion:"),
t->cand);
break;
}
@ -7002,7 +7004,7 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
"from %qH to %qI", TREE_TYPE (expr),
totype);
if (complained)
print_z_candidate (loc, "candidate is:", t->cand);
print_z_candidate (loc, N_("candidate is:"), t->cand);
expr = convert_like_real (t, expr, fn, argnum,
/*issue_conversion_warnings=*/false,
/*c_cast_p=*/false,
@ -7514,8 +7516,9 @@ convert_arg_to_ellipsis (tree arg, tsubst_flags_t complain)
if (abi_version_crosses (6)
&& TYPE_MODE (TREE_TYPE (prom)) != TYPE_MODE (arg_type)
&& (complain & tf_warning))
warning_at (loc, OPT_Wabi, "scoped enum %qT passed through ... as "
"%qT before %<-fabi-version=6%>, %qT after", arg_type,
warning_at (loc, OPT_Wabi, "scoped enum %qT passed through %<...%>"
"as %qT before %<-fabi-version=6%>, %qT after",
arg_type,
TREE_TYPE (prom), ENUM_UNDERLYING_TYPE (arg_type));
if (!abi_version_at_least (6))
arg = prom;
@ -8593,8 +8596,8 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
if (is_std_init_list (type)
&& conv_binds_ref_to_prvalue (convs[1]))
warning_at (loc, OPT_Winit_list_lifetime,
"assignment from temporary initializer_list does not "
"extend the lifetime of the underlying array");
"assignment from temporary %<initializer_list%> does "
"not extend the lifetime of the underlying array");
arg = cp_build_fold_indirect_ref (arg);
val = build2 (MODIFY_EXPR, TREE_TYPE (to), to, arg);
}
@ -10740,7 +10743,8 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn,
&& warning (OPT_Wconversion, " for conversion from %qH to %qI",
source, w->second_conv->type))
{
inform (input_location, " because conversion sequence for the argument is better");
inform (input_location, " because conversion sequence "
"for the argument is better");
}
}
else
@ -11026,8 +11030,8 @@ tweak:
"though the worst conversion for the first is "
"better than the worst conversion for the second:"))
{
print_z_candidate (input_location, _("candidate 1:"), w);
print_z_candidate (input_location, _("candidate 2:"), l);
print_z_candidate (input_location, N_("candidate 1:"), w);
print_z_candidate (input_location, N_("candidate 2:"), l);
}
}
else

View file

@ -2020,9 +2020,9 @@ cxx_eval_check_shift_p (location_t loc, const constexpr_ctx *ctx,
if (compare_tree_int (rhs, uprec) >= 0)
{
if (!ctx->quiet)
permerror (loc, "right operand of shift expression %q+E is >= than "
"the precision of the left operand",
build2_loc (loc, code, type, lhs, rhs));
permerror (loc, "right operand of shift expression %q+E is greater "
"than or equal to the precision %wu of the left operand",
build2_loc (loc, code, type, lhs, rhs), uprec);
return (!flag_permissive || ctx->quiet);
}
@ -4420,7 +4420,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
if (!ctx->quiet)
error_at (cp_expr_loc_or_loc (t, input_location),
"%<constexpr%> evaluation operation count exceeds limit of "
"%wd (use -fconstexpr-ops-limit= to increase the limit)",
"%wd (use %<-fconstexpr-ops-limit=%> to increase the limit)",
constexpr_ops_limit);
*ctx->constexpr_ops_count = INTTYPE_MINIMUM (HOST_WIDE_INT);
*non_constant_p = true;
@ -4957,7 +4957,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
{
if (!ctx->quiet)
error_at (cp_expr_loc_or_loc (t, input_location),
"a reinterpret_cast is not a constant expression");
"%<reinterpret_cast%> is not a constant expression");
*non_constant_p = true;
return t;
}
@ -6116,7 +6116,7 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
if (REINTERPRET_CAST_P (t))
{
if (flags & tf_error)
error_at (loc, "a reinterpret_cast is not a constant expression");
error_at (loc, "%<reinterpret_cast%> is not a constant expression");
return false;
}
/* FALLTHRU */
@ -6135,7 +6135,8 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
&& !integer_zerop (from))
{
if (flags & tf_error)
error_at (loc, "reinterpret_cast from integer to pointer");
error_at (loc,
"%<reinterpret_cast%> from integer to pointer");
return false;
}
}
@ -6389,7 +6390,8 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
/* In C++2a virtual calls can be constexpr, don't give up yet. */
return true;
else if (flags & tf_error)
error_at (loc, "virtual functions cannot be constexpr before C++2a");
error_at (loc,
"virtual functions cannot be %<constexpr%> before C++2a");
return false;
case TYPEID_EXPR:
@ -6401,7 +6403,7 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
&& TYPE_POLYMORPHIC_P (TREE_TYPE (e)))
{
if (flags & tf_error)
error_at (loc, "typeid-expression is not a constant expression "
error_at (loc, "%<typeid%> is not a constant expression "
"because %qE is of polymorphic type", e);
return false;
}

View file

@ -1489,10 +1489,10 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
{
auto_diagnostic_group d;
if (warning_at (loc, OPT_Wterminate,
"throw will always call terminate()")
"%<throw%> will always call %<terminate%>")
&& cxx_dialect >= cxx11
&& DECL_DESTRUCTOR_P (current_function_decl))
inform (loc, "in C++11 destructors default to noexcept");
inform (loc, "in C++11 destructors default to %<noexcept%>");
}
}
else
@ -1504,8 +1504,8 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
&& (get_defaulted_eh_spec (current_function_decl)
== empty_except_spec))
warning_at (loc, OPT_Wc__11_compat,
"in C++11 this throw will terminate because "
"destructors default to noexcept");
"in C++11 this %<throw%> will call %<terminate%> "
"because destructors default to %<noexcept%>");
}
}
break;

View file

@ -88,7 +88,7 @@ cp_convert_to_pointer (tree type, tree expr, bool dofold,
if (!COMPLETE_TYPE_P (intype))
{
if (complain & tf_error)
error_at (loc, "can%'t convert from incomplete type %qH to %qI",
error_at (loc, "cannot convert from incomplete type %qH to %qI",
intype, type);
return error_mark_node;
}
@ -1060,14 +1060,14 @@ maybe_warn_nodiscard (tree expr, impl_conv_void implicit)
auto_diagnostic_group d;
if (warning_at (loc, OPT_Wunused_result,
"ignoring return value of %qD, "
"declared with attribute warn_unused_result",
"declared with attribute %<warn_unused_result%>",
fn))
inform (DECL_SOURCE_LOCATION (fn), "declared here");
}
else
warning_at (loc, OPT_Wunused_result,
"ignoring return value of function "
"declared with attribute warn_unused_result");
"declared with attribute %<warn_unused_result%>");
}
}
@ -1820,7 +1820,7 @@ build_expr_type_conversion (int desires, tree expr, bool complain)
if (TREE_CODE (cand) == TEMPLATE_DECL)
{
if (complain)
error ("default type conversion can%'t deduce template"
error ("default type conversion cannot deduce template"
" argument for %qD", cand);
return error_mark_node;
}
@ -1920,7 +1920,7 @@ type_promotes_to (tree type)
{
if (abi_version_crosses (6)
&& TYPE_MODE (prom) != TYPE_MODE (type))
warning (OPT_Wabi, "scoped enum %qT passed through ... as "
warning (OPT_Wabi, "scoped enum %qT passed through %<...%> as "
"%qT before %<-fabi-version=6%>, %qT after",
type, prom, ENUM_UNDERLYING_TYPE (type));
if (!abi_version_at_least (6))

View file

@ -3228,32 +3228,32 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names,
{
case sk_try:
if (!saw_eh)
inf = N_("enters try block");
inf = G_(" enters %<try%> block");
saw_eh = true;
break;
case sk_catch:
if (!saw_eh)
inf = N_("enters catch block");
inf = G_(" enters %<catch%> block");
saw_eh = true;
break;
case sk_omp:
if (!saw_omp)
inf = N_("enters OpenMP structured block");
inf = G_(" enters OpenMP structured block");
saw_omp = true;
break;
case sk_transaction:
if (!saw_tm)
inf = N_("enters synchronized or atomic statement");
inf = G_(" enters synchronized or atomic statement");
saw_tm = true;
break;
case sk_block:
if (!saw_cxif && level_for_constexpr_if (b->level_chain))
{
inf = N_("enters constexpr if statement");
inf = G_(" enters %<constexpr if%> statement");
loc = EXPR_LOCATION (b->level_chain->this_entity);
saw_cxif = true;
}
@ -3269,7 +3269,7 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names,
complained = identify_goto (decl, input_location, locus, DK_ERROR);
identified = 2;
if (complained)
inform (loc, " %s", inf);
inform (loc, inf);
}
}
@ -3364,7 +3364,7 @@ check_goto (tree decl)
identified = 2;
}
if (complained)
inform (DECL_SOURCE_LOCATION (bad), " enters catch block");
inform (DECL_SOURCE_LOCATION (bad), " enters %<catch%> block");
saw_catch = true;
}
else if (complained)
@ -3382,13 +3382,13 @@ check_goto (tree decl)
if (complained)
{
if (ent->in_try_scope)
inform (input_location, " enters try block");
inform (input_location, " enters %<try%> block");
else if (ent->in_catch_scope && !saw_catch)
inform (input_location, " enters catch block");
inform (input_location, " enters %<catch%> block");
else if (ent->in_transaction_scope)
inform (input_location, " enters synchronized or atomic statement");
else if (ent->in_constexpr_if)
inform (input_location, " enters %<constexpr%> if statement");
inform (input_location, " enters %<constexpr if%> statement");
}
if (ent->in_omp_scope)
@ -5078,7 +5078,8 @@ start_decl (const cp_declarator *declarator,
&& TREE_CODE (decl) == TYPE_DECL)
{
error_at (DECL_SOURCE_LOCATION (decl),
"typedef %qD is initialized (use decltype instead)", decl);
"typedef %qD is initialized (use %qs instead)",
decl, "decltype");
return error_mark_node;
}
@ -7020,8 +7021,8 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
return;
if (TREE_CODE (type) == FUNCTION_TYPE)
{
error ("initializer for %<decltype(auto) %D%> has function type "
"(did you forget the %<()%> ?)", decl);
error ("initializer for %<decltype(auto) %D%> has function type; "
"did you forget the %<()%>?", decl);
TREE_TYPE (decl) = error_mark_node;
return;
}
@ -11569,7 +11570,7 @@ grokdeclarator (const cp_declarator *declarator,
error ("friend declaration not in class definition");
if (current_function_decl && funcdef_flag)
{
error ("can%'t define friend function %qs in a local "
error ("cannot define friend function %qs in a local "
"class definition", name);
friendp = 0;
}
@ -13612,7 +13613,7 @@ grok_op_properties (tree decl, bool complain)
if (operator_code == COND_EXPR)
{
/* 13.4.0.3 */
error_at (loc, "ISO C++ prohibits overloading operator ?:");
error_at (loc, "ISO C++ prohibits overloading %<operator ?:%>");
return false;
}

View file

@ -830,7 +830,8 @@ grokfield (const cp_declarator *declarator,
if (TREE_CODE (value) == TYPE_DECL && init)
{
error_at (cp_expr_loc_or_loc (init, DECL_SOURCE_LOCATION (value)),
"typedef %qD is initialized (use decltype instead)", value);
"typedef %qD is initialized (use %qs instead)",
value, "decltype");
init = NULL_TREE;
}
@ -1772,12 +1773,13 @@ coerce_delete_type (tree decl, location_t loc)
else
/* A destroying operator delete shall be a class member function named
operator delete. */
error_at (loc, "destroying operator delete must be a member function");
error_at (loc,
"destroying %<operator delete%> must be a member function");
const ovl_op_info_t *op = IDENTIFIER_OVL_OP_INFO (DECL_NAME (decl));
if (op->flags & OVL_OP_FLAG_VEC)
error_at (loc, "operator delete[] cannot be a destroying delete");
error_at (loc, "%<operator delete[]%> cannot be a destroying delete");
if (!usual_deallocation_fn_p (decl))
error_at (loc, "destroying operator delete must be a usual "
error_at (loc, "destroying %<operator delete%> must be a usual "
"deallocation function");
}

View file

@ -936,7 +936,7 @@ is_admissible_throw_operand_or_catch_parameter (tree t, bool is_throw)
&& TYPE_REF_P (type)
&& TYPE_REF_IS_RVALUE (type))
{
error ("cannot declare catch parameter to be of rvalue "
error ("cannot declare %<catch%> parameter to be of rvalue "
"reference type %qT", type);
return false;
}

View file

@ -638,9 +638,10 @@ do_friend (tree ctype, tree declarator, tree decl,
"%q#D declares a non-template function", decl);
if (! explained && warned)
{
inform (input_location, "(if this is not what you intended, make sure "
"the function template has already been declared "
"and add <> after the function name here) ");
inform (input_location, "(if this is not what you intended, "
"make sure the function template has already been "
"declared and add %<<>%> after the function name "
"here)");
explained = 1;
}
}

View file

@ -3005,7 +3005,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
pedwarn (cp_expr_loc_or_loc (outer_nelts, input_location), OPT_Wvla,
typedef_variant_p (orig_type)
? G_("non-constant array new length must be specified "
"directly, not by typedef")
"directly, not by %<typedef%>")
: G_("non-constant array new length must be specified "
"without parentheses around the type-id"));
}
@ -3016,13 +3016,13 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
if (VOID_TYPE_P (elt_type))
{
if (complain & tf_error)
error ("invalid type %<void%> for new");
error ("invalid type %<void%> for %<new%>");
return error_mark_node;
}
if (is_std_init_list (elt_type))
warning (OPT_Winit_list_lifetime,
"%<new%> of initializer_list does not "
"%<new%> of %<initializer_list%> does not "
"extend the lifetime of the underlying array");
if (abstract_virtuals_error_sfinae (ACU_NEW, elt_type, complain))
@ -3867,11 +3867,11 @@ build_vec_delete_1 (tree base, tree maxindex, tree type,
auto_diagnostic_group d;
if (warning (OPT_Wdelete_incomplete,
"possible problem detected in invocation of "
"delete [] operator:"))
"operator %<delete []%>"))
{
cxx_incomplete_type_diagnostic (base, type, DK_WARNING);
inform (input_location, "neither the destructor nor the "
"class-specific operator delete [] will be called, "
"class-specific operator %<delete []%> will be called, "
"even if they are declared when the class is defined");
}
}
@ -4753,14 +4753,14 @@ build_delete (tree otype, tree addr, special_function_kind auto_delete,
{
auto_diagnostic_group d;
if (warning (OPT_Wdelete_incomplete,
"possible problem detected in invocation of "
"delete operator:"))
"possible problem detected in invocation of "
"%<operator delete%>"))
{
cxx_incomplete_type_diagnostic (addr, type, DK_WARNING);
inform (input_location,
"neither the destructor nor the class-specific "
"operator delete will be called, even if they "
"are declared when the class is defined");
"neither the destructor nor the class-specific "
"%<operator delete%> will be called, even if "
"they are declared when the class is defined");
}
}
}

View file

@ -385,14 +385,14 @@ parse_strconst_pragma (const char* name, int opt)
if (t == CPP_STRING)
{
if (pragma_lex (&x) != CPP_EOF)
warning (0, "junk at end of #pragma %s", name);
warning (0, "junk at end of %<#pragma %s%>", name);
return result;
}
if (t == CPP_EOF && opt)
return NULL_TREE;
error ("invalid #pragma %s", name);
error ("invalid %<#pragma %s%>", name);
return error_mark_node;
}
@ -400,7 +400,7 @@ static void
handle_pragma_vtable (cpp_reader* /*dfile*/)
{
parse_strconst_pragma ("vtable", 0);
sorry ("#pragma vtable no longer supported");
sorry ("%<#pragma vtable%> no longer supported");
}
static void
@ -472,7 +472,7 @@ handle_pragma_implementation (cpp_reader* /*dfile*/)
{
filename = TREE_STRING_POINTER (fname);
if (cpp_included_before (parse_in, filename, input_location))
warning (0, "#pragma implementation for %qs appears after "
warning (0, "%<#pragma implementation%> for %qs appears after "
"file is included", filename);
}
@ -568,8 +568,8 @@ unqualified_fn_lookup_error (cp_expr name_expr)
if (!hint)
{
inform (loc, "(if you use %<-fpermissive%>, G++ will accept your "
"code, but allowing the use of an undeclared name is "
"deprecated)");
"code, but allowing the use of an undeclared name is "
"deprecated)");
hint = true;
}
}

View file

@ -2305,11 +2305,11 @@ write_type (tree type)
break;
case TYPEOF_TYPE:
sorry ("mangling typeof, use decltype instead");
sorry ("mangling %<typeof%>, use %<decltype%> instead");
break;
case UNDERLYING_TYPE:
sorry ("mangling __underlying_type");
sorry ("mangling %<__underlying_type%>");
break;
case LANG_TYPE:

View file

@ -826,13 +826,13 @@ do_build_copy_assign (tree fndecl)
if (CP_TYPE_CONST_P (expr_type))
{
error ("non-static const member %q#D, can%'t use default "
error ("non-static const member %q#D, cannot use default "
"assignment operator", field);
continue;
}
else if (TYPE_REF_P (expr_type))
{
error ("non-static reference member %q#D, can%'t use "
error ("non-static reference member %q#D, cannot use "
"default assignment operator", field);
continue;
}
@ -1336,13 +1336,13 @@ walk_field_subobs (tree fields, special_function_kind sfk, tree fnname,
if (CP_TYPE_CONST_P (mem_type) && !CLASS_TYPE_P (mem_type))
{
if (diag)
error ("non-static const member %q#D, can%'t use default "
error ("non-static const member %q#D, cannot use default "
"assignment operator", field);
}
else if (TYPE_REF_P (mem_type))
{
if (diag)
error ("non-static reference member %q#D, can%'t use "
error ("non-static reference member %q#D, cannot use "
"default assignment operator", field);
}
else
@ -2248,8 +2248,8 @@ defaulted_late_check (tree fn)
if (!CLASSTYPE_TEMPLATE_INSTANTIATION (ctx))
{
error ("explicitly defaulted function %q+D cannot be declared "
"as %<constexpr%> because the implicit declaration is not "
"%<constexpr%>:", fn);
"%qs because the implicit declaration is not %qs:",
fn, "constexpr", "constexpr");
explain_implicit_non_constexpr (fn);
}
DECL_DECLARED_CONSTEXPR_P (fn) = false;

View file

@ -3270,10 +3270,10 @@ cp_binding_level_debug (cp_binding_level *scope, int line, const char *action)
{
const char *desc = cp_binding_level_descriptor (scope);
if (scope->this_entity)
verbatim ("%s %<%s(%E)%> %p %d\n", action, desc,
verbatim ("%s %<%s(%E)%> %p %d", action, desc,
scope->this_entity, (void *) scope, line);
else
verbatim ("%s %s %p %d\n", action, desc, (void *) scope, line);
verbatim ("%s %s %p %d", action, desc, (void *) scope, line);
}
/* A chain of binding_level structures awaiting reuse. */
@ -7499,7 +7499,7 @@ void
pop_everything (void)
{
if (ENABLE_SCOPE_CHECKING)
verbatim ("XXX entering pop_everything ()\n");
verbatim ("XXX entering %<pop_everything ()%>");
while (!namespace_bindings_p ())
{
if (current_binding_level->kind == sk_class)
@ -7508,7 +7508,7 @@ pop_everything (void)
poplevel (0, 0, 0);
}
if (ENABLE_SCOPE_CHECKING)
verbatim ("XXX leaving pop_everything ()\n");
verbatim ("XXX leaving %<pop_everything ()%>");
}
/* Emit debugging information for using declarations and directives.

View file

@ -1308,7 +1308,7 @@ cp_lexer_start_debugging (cp_lexer* lexer)
{
if (!LEXER_DEBUGGING_ENABLED_P)
fatal_error (input_location,
"LEXER_DEBUGGING_ENABLED_P is not set to true");
"%<LEXER_DEBUGGING_ENABLED_P%> is not set to true");
lexer->debugging_p = true;
cp_lexer_debug_stream = stderr;
@ -1321,7 +1321,7 @@ cp_lexer_stop_debugging (cp_lexer* lexer)
{
if (!LEXER_DEBUGGING_ENABLED_P)
fatal_error (input_location,
"LEXER_DEBUGGING_ENABLED_P is not set to true");
"%<LEXER_DEBUGGING_ENABLED_P%> is not set to true");
lexer->debugging_p = false;
cp_lexer_debug_stream = NULL;
@ -4537,7 +4537,7 @@ cp_parser_userdef_numeric_literal (cp_parser *parser)
else if (i14)
{
inform (token->location, "add %<using namespace std::complex_literals%> "
"(from <complex>) to enable the C++14 user-defined literal "
"(from %<<complex>%>) to enable the C++14 user-defined literal "
"suffixes");
if (ext)
inform (token->location, "or use %<j%> instead of %<i%> for the "
@ -6400,7 +6400,7 @@ cp_parser_nested_name_specifier_opt (cp_parser *parser,
== CPP_SCOPE))
{
token = cp_lexer_consume_token (parser->lexer);
error_at (token->location, "decltype evaluates to %qT, "
error_at (token->location, "%<decltype%> evaluates to %qT, "
"which is not a class or enumeration type",
token->u.tree_check_value->value);
parser->scope = error_mark_node;
@ -9671,7 +9671,7 @@ cp_parser_question_colon_clause (cp_parser* parser, cp_expr logical_or_expr)
&& token->type == CPP_COLON)
{
pedwarn (token->location, OPT_Wpedantic,
"ISO C++ does not allow ?: with omitted middle operand");
"ISO C++ does not allow %<?:%> with omitted middle operand");
/* Implicit true clause. */
expr = NULL_TREE;
c_inhibit_evaluation_warnings +=
@ -14442,7 +14442,7 @@ cp_parser_static_assert(cp_parser *parser, bool member_p)
{
if (cxx_dialect < cxx17)
pedwarn (input_location, OPT_Wpedantic,
"static_assert without a message "
"%<static_assert%> without a message "
"only available with %<-std=c++17%> or %<-std=gnu++17%>");
/* Eat the ')' */
cp_lexer_consume_token (parser->lexer);
@ -19818,14 +19818,15 @@ cp_parser_asm_definition (cp_parser* parser)
case RID_VOLATILE:
if (volatile_loc)
{
error_at (loc, "duplicate asm qualifier %qT", token->u.value);
error_at (loc, "duplicate %<asm%> qualifier %qT",
token->u.value);
inform (volatile_loc, "first seen here");
}
else
{
if (!parser->in_function_body)
warning_at (loc, 0, "asm qualifier %qT ignored outside of "
"function body", token->u.value);
warning_at (loc, 0, "%<asm%> qualifier %qT ignored "
"outside of function body", token->u.value);
volatile_loc = loc;
}
cp_lexer_consume_token (parser->lexer);
@ -19834,7 +19835,8 @@ cp_parser_asm_definition (cp_parser* parser)
case RID_INLINE:
if (inline_loc)
{
error_at (loc, "duplicate asm qualifier %qT", token->u.value);
error_at (loc, "duplicate %<asm%> qualifier %qT",
token->u.value);
inform (inline_loc, "first seen here");
}
else
@ -19847,7 +19849,8 @@ cp_parser_asm_definition (cp_parser* parser)
case RID_GOTO:
if (goto_loc)
{
error_at (loc, "duplicate asm qualifier %qT", token->u.value);
error_at (loc, "duplicate %<asm%> qualifier %qT",
token->u.value);
inform (goto_loc, "first seen here");
}
else
@ -19859,7 +19862,7 @@ cp_parser_asm_definition (cp_parser* parser)
case RID_CONST:
case RID_RESTRICT:
error_at (loc, "%qT is not an asm qualifier", token->u.value);
error_at (loc, "%qT is not an %<asm%> qualifier", token->u.value);
cp_lexer_consume_token (parser->lexer);
continue;
@ -19875,7 +19878,7 @@ cp_parser_asm_definition (cp_parser* parser)
if (!parser->in_function_body && (inline_p || goto_p))
{
error_at (first_loc, "asm qualifier outside of function body");
error_at (first_loc, "%<asm%> qualifier outside of function body");
inline_p = goto_p = false;
}
@ -20257,7 +20260,7 @@ cp_parser_init_declarator (cp_parser* parser,
on a function-definition. */
if (asm_specification)
error_at (asm_spec_start_token->location,
"an asm-specification is not allowed "
"an %<asm%> specification is not allowed "
"on a function-definition");
if (attributes)
error_at (attributes_start_token->location,
@ -27913,12 +27916,12 @@ cp_parser_template_declaration_after_parameters (cp_parser* parser,
{
if (cxx_dialect > cxx17)
error ("literal operator template %qD has invalid parameter list;"
" Expected non-type template parameter pack <char...> "
" expected non-type template parameter pack %<<char...>%> "
"or single non-type parameter of class type",
decl);
else
error ("literal operator template %qD has invalid parameter list."
" Expected non-type template parameter pack <char...>",
error ("literal operator template %qD has invalid parameter list;"
" expected non-type template parameter pack %<<char...>%>",
decl);
}
}
@ -39634,8 +39637,8 @@ cp_parser_omp_declare_reduction (cp_parser *parser, cp_token *pragma_tok,
error_at (loc, "reference type %qT in "
"%<#pragma omp declare reduction%>", type);
else if (TYPE_QUALS_NO_ADDR_SPACE (type))
error_at (loc, "const, volatile or __restrict qualified type %qT in "
"%<#pragma omp declare reduction%>", type);
error_at (loc, "%<const%>, %<volatile%> or %<__restrict%>-qualified "
"type %qT in %<#pragma omp declare reduction%>", type);
else
types.safe_push (type);
@ -40486,7 +40489,7 @@ cp_parser_transaction (cp_parser *parser, cp_token *token)
else if (keyword == RID_ATOMIC_CANCEL)
{
/* cancel-and-throw is unimplemented. */
sorry ("atomic_cancel");
sorry ("%<atomic_cancel%>");
noex = NULL_TREE;
}
else

View file

@ -1058,10 +1058,11 @@ maybe_process_partial_specialization (tree type)
if (current_namespace
!= decl_namespace_context (tmpl))
{
permerror (input_location,
"specializing %q#T in different namespace", type);
permerror (DECL_SOURCE_LOCATION (tmpl),
" from definition of %q#D", tmpl);
if (permerror (input_location,
"specialization of %qD in different namespace",
type))
inform (DECL_SOURCE_LOCATION (tmpl),
"from definition of %q#D", tmpl);
}
/* Check for invalid specialization after instantiation:
@ -3606,7 +3607,8 @@ expand_integer_pack (tree call, tree args, tsubst_flags_t complain,
{
if ((complain & tf_error)
&& hi != error_mark_node)
error ("argument to __integer_pack must be between 0 and %d", max);
error ("argument to %<__integer_pack%> must be between 0 and %d",
max);
return error_mark_node;
}
@ -4081,7 +4083,7 @@ check_for_bare_parameter_packs (tree t, location_t loc /* = UNKNOWN_LOCATION */)
if (name)
inform (loc, " %qD", name);
else
inform (loc, " <anonymous>");
inform (loc, " %s", "<anonymous>");
parameter_packs = TREE_CHAIN (parameter_packs);
}
@ -6565,7 +6567,7 @@ unify_template_deduction_failure (bool explain_p, tree parm, tree arg)
{
if (explain_p)
inform (input_location,
" can%'t deduce a template for %qT from non-template type %qT",
" cannot deduce a template for %qT from non-template type %qT",
parm, arg);
return unify_invalid (explain_p);
}

View file

@ -218,7 +218,7 @@ reopen_repo_file_for_write (void)
if (repo_file == 0)
{
error ("can%'t create repository information file %qs", repo_name);
error ("cannot create repository information file %qs", repo_name);
flag_use_repository = 0;
}

View file

@ -512,7 +512,7 @@ get_typeid (tree type, tsubst_flags_t complain)
|| type_memfn_rqual (type) != REF_QUAL_NONE))
{
if (complain & tf_error)
error ("typeid of qualified function type %qT", type);
error ("%<typeid%> of qualified function type %qT", type);
return error_mark_node;
}
@ -693,8 +693,8 @@ build_dynamic_cast_1 (tree type, tree expr, tsubst_flags_t complain)
{
tree expr = throw_bad_cast ();
if (complain & tf_warning)
warning (0, "dynamic_cast of %q#D to %q#T can never succeed",
old_expr, type);
warning (0, "%<dynamic_cast<%#T>(%#D)%> can never succeed",
type, old_expr);
/* Bash it to the expected type. */
TREE_TYPE (expr) = type;
return expr;
@ -708,8 +708,8 @@ build_dynamic_cast_1 (tree type, tree expr, tsubst_flags_t complain)
&& TREE_CODE (TREE_TYPE (op)) == RECORD_TYPE)
{
if (complain & tf_warning)
warning (0, "dynamic_cast of %q#D to %q#T can never succeed",
op, type);
warning (0, "%<dynamic_cast<%#T>(%#D)%> can never succeed",
type, op);
retval = build_int_cst (type, 0);
return retval;
}
@ -798,7 +798,7 @@ build_dynamic_cast_1 (tree type, tree expr, tsubst_flags_t complain)
fail:
if (complain & tf_error)
error ("cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)",
error ("cannot %<dynamic_cast%> %qE (of type %q#T) to type %q#T (%s)",
old_expr, TREE_TYPE (old_expr), type, errstr);
return error_mark_node;
}

View file

@ -1585,7 +1585,7 @@ finish_asm_stmt (int volatile_p, tree string, tree output_operands,
resolve the overloading. */
if (TREE_TYPE (operand) == unknown_type_node)
{
error ("type of asm operand %qE could not be determined",
error ("type of %<asm%> operand %qE could not be determined",
TREE_VALUE (t));
operand = error_mark_node;
}
@ -1667,7 +1667,7 @@ finish_label_decl (tree name)
{
if (!at_function_scope_p ())
{
error ("__label__ declarations are only allowed in function scopes");
error ("%<__label__%> declarations are only allowed in function scopes");
return;
}
@ -4099,7 +4099,7 @@ finish_bases (tree type, bool direct)
if (!processing_template_decl)
{
/* Parameter packs can only be used in templates */
error ("Parameter pack __bases only valid in template declaration");
error ("parameter pack %<__bases%> only valid in template declaration");
return error_mark_node;
}
@ -4164,7 +4164,7 @@ finish_offsetof (tree object_ptr, tree expr, location_t loc)
&& CLASS_TYPE_P (TREE_TYPE (TREE_TYPE (object_ptr)))
&& CLASSTYPE_NON_STD_LAYOUT (TREE_TYPE (TREE_TYPE (object_ptr)))
&& cp_unevaluated_operand == 0)
warning_at (loc, OPT_Winvalid_offsetof, "offsetof within "
warning_at (loc, OPT_Winvalid_offsetof, "%<offsetof%> within "
"non-standard-layout type %qT is conditionally-supported",
TREE_TYPE (TREE_TYPE (object_ptr)));
return fold_offsetof (expr);
@ -5546,8 +5546,8 @@ cp_check_omp_declare_reduction (tree udr)
}
else if (TYPE_QUALS_NO_ADDR_SPACE (type))
{
error_at (loc, "const, volatile or __restrict qualified type %qT in "
"%<#pragma omp declare reduction%>", type);
error_at (loc, "%<const%>, %<volatile%> or %<__restrict%>-qualified "
"type %qT in %<#pragma omp declare reduction%>", type);
return;
}
@ -9334,7 +9334,7 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p,
&& TYPE_P (TREE_OPERAND (expr, 0))))
{
if (complain & tf_error)
error ("argument to decltype must be an expression");
error ("argument to %<decltype%> must be an expression");
return error_mark_node;
}
@ -9362,7 +9362,7 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p,
if (type_unknown_p (expr))
{
if (complain & tf_error)
error ("decltype cannot resolve address of overloaded function");
error ("%<decltype%> cannot resolve address of overloaded function");
return error_mark_node;
}

View file

@ -4472,7 +4472,7 @@ handle_init_priority_attribute (tree* node,
if (!initp_expr || TREE_CODE (initp_expr) != INTEGER_CST)
{
error ("requested init_priority is not an integer constant");
error ("requested %<init_priority%> is not an integer constant");
cxx_constant_value (initp_expr);
*no_add_attrs = true;
return NULL_TREE;
@ -4502,7 +4502,8 @@ handle_init_priority_attribute (tree* node,
if (pri > MAX_INIT_PRIORITY || pri <= 0)
{
error ("requested init_priority is out of range");
error ("requested %<init_priority%> %i is out of range [0, %i]",
pri, MAX_INIT_PRIORITY);
*no_add_attrs = true;
return NULL_TREE;
}
@ -4512,7 +4513,8 @@ handle_init_priority_attribute (tree* node,
if (pri <= MAX_RESERVED_INIT_PRIORITY)
{
warning
(0, "requested init_priority is reserved for internal use");
(0, "requested %<init_priority%> %i is reserved for internal use",
pri);
}
if (SUPPORTS_INIT_PRIORITY)
@ -5477,7 +5479,7 @@ maybe_warn_zero_as_null_pointer_constant (tree expr, location_t loc)
void
lang_check_failed (const char* file, int line, const char* function)
{
internal_error ("lang_* check: failed in %s, at %s:%d",
internal_error ("%<lang_*%> check: failed in %s, at %s:%d",
function, trim_filename (file), line);
}
#endif /* ENABLE_TREE_CHECKING */

View file

@ -4887,7 +4887,7 @@ cp_build_binary_op (const op_location_t &location,
&& c_inhibit_evaluation_warnings == 0
&& (FLOAT_TYPE_P (type0) || FLOAT_TYPE_P (type1)))
warning (OPT_Wfloat_equal,
"comparing floating point with == or != is unsafe");
"comparing floating point with %<==%> or %<!=%> is unsafe");
if (complain & tf_warning)
{
tree stripped_orig_op0 = tree_strip_any_location_wrapper (orig_op0);
@ -6274,7 +6274,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, bool noconvert,
if (TREE_CODE (TREE_TYPE (arg)) == BOOLEAN_TYPE
&& (complain & tf_warning)
&& warning_at (location, OPT_Wbool_operation,
"%<~%> on an expression of type bool"))
"%<~%> on an expression of type %<bool%>"))
inform (location, "did you mean to use logical not (%<!%>)?");
arg = cp_perform_integral_promotions (arg, complain);
}
@ -6942,13 +6942,15 @@ check_for_casting_away_constness (tree src_type, tree dest_type,
case STATIC_CAST_EXPR:
if (complain & tf_error)
error ("static_cast from type %qT to type %qT casts away qualifiers",
error ("%<static_cast%> from type %qT to type %qT casts away "
"qualifiers",
src_type, dest_type);
return true;
case REINTERPRET_CAST_EXPR:
if (complain & tf_error)
error ("reinterpret_cast from type %qT to type %qT casts away qualifiers",
error ("%<reinterpret_cast%> from type %qT to type %qT casts away "
"qualifiers",
src_type, dest_type);
return true;
@ -7401,7 +7403,7 @@ build_static_cast (tree type, tree oexpr, tsubst_flags_t complain)
if (complain & tf_error)
{
error ("invalid static_cast from type %qT to type %qT",
error ("invalid %<static_cast%> from type %qT to type %qT",
TREE_TYPE (expr), type);
if ((TYPE_PTR_P (type) || TYPE_REF_P (type))
&& CLASS_TYPE_P (TREE_TYPE (type))
@ -7738,7 +7740,7 @@ build_const_cast_1 (tree dst_type, tree expr, tsubst_flags_t complain,
if (!INDIRECT_TYPE_P (dst_type) && !TYPE_PTRDATAMEM_P (dst_type))
{
if (complain & tf_error)
error ("invalid use of const_cast with type %qT, "
error ("invalid use of %<const_cast%> with type %qT, "
"which is not a pointer, "
"reference, nor a pointer-to-data-member type", dst_type);
return error_mark_node;
@ -7747,8 +7749,9 @@ build_const_cast_1 (tree dst_type, tree expr, tsubst_flags_t complain,
if (TREE_CODE (TREE_TYPE (dst_type)) == FUNCTION_TYPE)
{
if (complain & tf_error)
error ("invalid use of const_cast with type %qT, which is a pointer "
"or reference to a function type", dst_type);
error ("invalid use of %<const_cast%> with type %qT, "
"which is a pointer or reference to a function type",
dst_type);
return error_mark_node;
}
@ -7788,7 +7791,8 @@ build_const_cast_1 (tree dst_type, tree expr, tsubst_flags_t complain,
else
{
if (complain & tf_error)
error ("invalid const_cast of an rvalue of type %qT to type %qT",
error ("invalid %<const_cast%> of an rvalue of type %qT "
"to type %qT",
src_type, dst_type);
return error_mark_node;
}
@ -7857,7 +7861,7 @@ build_const_cast_1 (tree dst_type, tree expr, tsubst_flags_t complain,
}
if (complain & tf_error)
error ("invalid const_cast from type %qT to type %qT",
error ("invalid %<const_cast%> from type %qT to type %qT",
src_type, dst_type);
return error_mark_node;
}
@ -9260,7 +9264,7 @@ maybe_warn_about_returning_address_of_local (tree retval)
"returning reference to temporary");
else if (is_std_init_list (valtype))
warning_at (loc, OPT_Winit_list_lifetime,
"returning temporary initializer_list does not extend "
"returning temporary %<initializer_list%> does not extend "
"the lifetime of the underlying array");
return true;
}
@ -9298,7 +9302,7 @@ maybe_warn_about_returning_address_of_local (tree retval)
whats_returned);
else if (is_std_init_list (valtype))
w = warning_at (loc, OPT_Winit_list_lifetime,
"returning local initializer_list variable %qD "
"returning local %<initializer_list%> variable %qD "
"does not extend the lifetime of the underlying array",
whats_returned);
else if (TREE_CODE (whats_returned) == LABEL_DECL)
@ -9654,7 +9658,7 @@ check_return_expr (tree retval, bool *no_warning)
&& ! flag_check_new
&& retval && null_ptr_cst_p (retval))
warning (0, "%<operator new%> must not return NULL unless it is "
"declared %<throw()%> (or -fcheck-new is in effect)");
"declared %<throw()%> (or %<-fcheck-new%> is in effect)");
/* Effective C++ rule 15. See also start_function. */
if (warn_ecpp

View file

@ -360,7 +360,7 @@ abstract_virtuals_error_sfinae (tree decl, tree type, abstract_class_use use,
"be used in throw-expression", type);
break;
case ACU_CATCH:
error ("cannot declare catch parameter to be of abstract "
error ("cannot declare %<catch%> parameter to be of abstract "
"class type %qT", type);
break;
default:
@ -380,7 +380,7 @@ abstract_virtuals_error_sfinae (tree decl, tree type, abstract_class_use use,
FOR_EACH_VEC_ELT (*pure, ix, fn)
if (! DECL_CLONED_FUNCTION_P (fn)
|| DECL_COMPLETE_DESTRUCTOR_P (fn))
inform (DECL_SOURCE_LOCATION (fn), "\t%#qD", fn);
inform (DECL_SOURCE_LOCATION (fn), " %#qD", fn);
/* Now truncate the vector. This leaves it non-null, so we know
there are pure virtuals, but empty so we don't list them out
@ -1164,8 +1164,8 @@ digest_init_r (tree type, tree init, int nested, int flags,
be invalid. */
if (size < TREE_STRING_LENGTH (stripped_init))
{
permerror (loc, "initializer-string for array "
"of chars is too long");
permerror (loc, "initializer-string for %qT is too long",
type);
init = build_string (size,
TREE_STRING_POINTER (stripped_init));
@ -2215,7 +2215,7 @@ build_functional_cast (tree exp, tree parms, tsubst_flags_t complain)
if (type == error_mark_node)
{
if (complain & tf_error)
error ("cannot deduce template arguments for %qT from ()",
error ("cannot deduce template arguments for %qT from %<()%>",
anode);
return error_mark_node;
}

View file

@ -1,3 +1,18 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* d-builtins.cc (d_init_builtins): Quote keywords, operators,
and types in diagnostics.
* d-codegen.cc (get_array_length): Same. Replace can't with cannot.
* d-convert.cc (convert_expr): Same.
* d-frontend.cc (getTypeInfoType): Quote an option name in
a diagnostic.
* d-lang.cc (d_handle_option): Same.
(d_parse_file): Same.
* decl.cc: Remove a trailing period from a diagnostic.
* expr.cc: Use a directive for an apostrophe.
* toir.cc: Quote keywords, operators, and types in diagnostics.
* typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.
2019-04-25 Johannes Pfau <johannespfau@gmail.com>
* config-lang.in: Do not add target_libs if phobos is disabled.

View file

@ -1117,7 +1117,7 @@ d_init_builtins (void)
Type::tvalist = build_frontend_type (va_list_type_node);
if (!Type::tvalist)
{
error ("cannot represent built-in va_list type in D");
error ("cannot represent built-in %<va_list%> type in D");
gcc_unreachable ();
}

View file

@ -316,7 +316,7 @@ get_array_length (tree exp, Type *type)
return d_array_length (exp);
default:
error ("can't determine the length of a %qs", type->toChars ());
error ("cannot determine the length of a %qs", type->toChars ());
return error_mark_node;
}
}

View file

@ -376,7 +376,7 @@ convert_expr (tree exp, Type *etype, Type *totype)
}
else
{
error ("can't convert a delegate expression to %qs",
error ("cannot convert a delegate expression to %qs",
totype->toChars ());
return error_mark_node;
}
@ -392,7 +392,7 @@ convert_expr (tree exp, Type *etype, Type *totype)
}
else
{
error ("can't convert struct %qs to %qs",
error ("cannot convert struct %qs to %qs",
etype->toChars (), totype->toChars ());
return error_mark_node;
}
@ -475,7 +475,7 @@ convert_expr (tree exp, Type *etype, Type *totype)
if ((dim * esize) % tsize != 0)
{
error ("cannot cast %qs to %qs since sizes don't line up",
error ("cannot cast %qs to %qs since sizes do not line up",
etype->toChars (), totype->toChars ());
return error_mark_node;
}

View file

@ -625,7 +625,7 @@ getTypeInfoType (Loc loc, Type *type, Scope *sc)
if (!warned)
{
error_at (make_location_t (loc),
"%<object.TypeInfo%> cannot be used with -fno-rtti");
"%<object.TypeInfo%> cannot be used with %<-fno-rtti%>");
warned = 1;
}
}

View file

@ -449,7 +449,7 @@ d_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
break;
}
error ("bad argument for -fdebug %qs", arg);
error ("bad argument for %<-fdebug%>: %qs", arg);
break;
case OPT_fdoc:
@ -497,7 +497,7 @@ d_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
case OPT_fmodule_file_:
global.params.modFileAliasStrings->push (arg);
if (!strchr (arg, '='))
error ("bad argument for -fmodule-file %qs", arg);
error ("bad argument for %<-fmodule-file%>: %qs", arg);
break;
case OPT_fmoduleinfo:
@ -588,7 +588,7 @@ d_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
break;
}
error ("bad argument for -fversion %qs", arg);
error ("bad argument for %<-fversion%>: %qs", arg);
break;
case OPT_H:
@ -1011,7 +1011,7 @@ d_parse_file (void)
/* In this mode, the first file name is supposed to be a duplicate
of one of the input files. */
if (d_option.fonly && strcmp (d_option.fonly, main_input_filename) != 0)
error ("-fonly= argument is different from first input file name");
error ("%<-fonly=%> argument is different from first input file name");
for (size_t i = 0; i < num_in_fnames; i++)
{

View file

@ -463,7 +463,7 @@ public:
fd2->toPrettyChars ());
inform (make_location_t (d->loc),
"use %<alias %s = %s.%s;%> to introduce base class "
"overload set.", fd->toChars (),
"overload set", fd->toChars (),
fd->parent->toChars (), fd->toChars ());
}
else

View file

@ -1522,7 +1522,7 @@ public:
}
else
{
error ("don't know how to delete %qs", e->e1->toChars ());
error ("don%'t know how to delete %qs", e->e1->toChars ());
this->result_ = error_mark_node;
}
}

View file

@ -367,9 +367,11 @@ public:
}
if (ent->in_try_scope)
error_at (make_location_t (from->loc), "cannot goto into try block");
error_at (make_location_t (from->loc),
"cannot %<goto%> into %<try%> block");
else if (ent->in_catch_scope)
error_at (make_location_t (from->loc), "cannot goto into catch block");
error_at (make_location_t (from->loc),
"cannot %<goto%> into %<catch%> block");
}
/* Check that a previously seen jump to a newly defined label is valid.
@ -391,21 +393,21 @@ public:
{
location = make_location_t (fwdref->statement->loc);
if (b->kind == level_try)
error_at (location, "cannot goto into try block");
error_at (location, "cannot %<goto%> into %<try%> block");
else
error_at (location, "cannot goto into catch block");
error_at (location, "cannot %<goto%> into %<catch%> block");
}
else if (s->isCaseStatement ())
{
location = make_location_t (s->loc);
error_at (location, "case cannot be in different "
"try block level from switch");
"%<try%> block level from %<switch%>");
}
else if (s->isDefaultStatement ())
{
location = make_location_t (s->loc);
error_at (location, "default cannot be in different "
"try block level from switch");
"%<try%> block level from %<switch%>");
}
else
gcc_unreachable ();
@ -1125,8 +1127,8 @@ public:
static int warned = 0;
if (!warned)
{
error_at (make_location_t (s->loc), "exception handling disabled, "
"use -fexceptions to enable");
error_at (make_location_t (s->loc), "exception handling disabled; "
"use %<-fexceptions%> to enable");
warned = 1;
}
}

View file

@ -1350,7 +1350,7 @@ build_typeinfo (const Loc &loc, Type *type)
if (!warned)
{
error_at (make_location_t (loc),
"%<object.TypeInfo%> cannot be used with -fno-rtti");
"%<object.TypeInfo%> cannot be used with %<-fno-rtti%>");
warned = 1;
}
}

View file

@ -1115,7 +1115,7 @@ dwarf2out_begin_prologue (unsigned int line ATTRIBUTE_UNUSED,
function anymore. */
if (personality && current_unit_personality != personality)
sorry ("multiple EH personalities are supported only with assemblers "
"supporting .cfi_personality directive");
"supporting %<.cfi_personality%> directive");
}
}

View file

@ -3412,7 +3412,7 @@ verify_eh_tree (struct function *fun)
count_r++;
else
{
error ("region_array is corrupted for region %i", r->index);
error ("%<region_array%> is corrupted for region %i", r->index);
err = true;
}
}
@ -3425,7 +3425,7 @@ verify_eh_tree (struct function *fun)
count_lp++;
else
{
error ("lp_array is corrupted for lp %i", lp->index);
error ("%<lp_array%> is corrupted for lp %i", lp->index);
err = true;
}
}
@ -3437,7 +3437,7 @@ verify_eh_tree (struct function *fun)
{
if ((*fun->eh->region_array)[r->index] != r)
{
error ("region_array is corrupted for region %i", r->index);
error ("%<region_array%> is corrupted for region %i", r->index);
err = true;
}
if (r->outer != outer)
@ -3456,7 +3456,7 @@ verify_eh_tree (struct function *fun)
{
if ((*fun->eh->lp_array)[lp->index] != lp)
{
error ("lp_array is corrupted for lp %i", lp->index);
error ("%<lp_array%> is corrupted for lp %i", lp->index);
err = true;
}
if (lp->region != r)
@ -3493,19 +3493,19 @@ verify_eh_tree (struct function *fun)
}
if (count_r != nvisited_r)
{
error ("region_array does not match region_tree");
error ("%<region_array%> does not match %<region_tree%>");
err = true;
}
if (count_lp != nvisited_lp)
{
error ("lp_array does not match region_tree");
error ("%<lp_array%> does not match %<region_tree%>");
err = true;
}
if (err)
{
dump_eh_tree (stderr, fun);
internal_error ("verify_eh_tree failed");
internal_error ("%qs failed", __func__);
}
}

View file

@ -1,3 +1,7 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* gfortranspec.c (append_arg): Spell out the word "argument."
2019-05-16 Jakub Jelinek <jakub@redhat.com>
PR fortran/90329

View file

@ -143,7 +143,7 @@ append_arg (const struct cl_decoded_option *arg)
}
if (g77_newargc == newargsize)
fatal_error (input_location, "overflowed output arg list for %qs",
fatal_error (input_location, "overflowed output argument list for %qs",
arg->orig_option_with_args_text);
g77_new_decoded_options[g77_newargc++] = *arg;

View file

@ -3198,7 +3198,7 @@ execute (void)
? PEX_RECORD_TIMES : 0),
progname, temp_filename);
if (pex == NULL)
fatal_error (input_location, "pex_init failed: %m");
fatal_error (input_location, "%<pex_init%> failed: %m");
for (i = 0; i < n_commands; i++)
{
@ -6138,7 +6138,8 @@ eval_spec_function (const char *func, const char *args,
alloc_args ();
if (do_spec_2 (args, soft_matched_part) < 0)
fatal_error (input_location, "error in args to spec function %qs", func);
fatal_error (input_location, "error in arguments to spec function %qs",
func);
/* argbuf_index is an index for the next argument to be inserted, and
so contains the count of the args already inserted. */
@ -6923,7 +6924,7 @@ run_attempt (const char **new_argv, const char *out_temp,
pex = pex_init (PEX_USE_PIPES, new_argv[0], NULL);
if (!pex)
fatal_error (input_location, "pex_init failed: %m");
fatal_error (input_location, "%<pex_init%> failed: %m");
errmsg = pex_run (pex, pex_flags, new_argv[0],
CONST_CAST2 (char *const *, const char **, &new_argv[1]),
@ -7614,7 +7615,8 @@ driver::set_up_specs () const
&& do_spec_2 (sysroot_suffix_spec, NULL) == 0)
{
if (argbuf.length () > 1)
error ("spec failure: more than one arg to SYSROOT_SUFFIX_SPEC");
error ("spec failure: more than one argument to "
"%<SYSROOT_SUFFIX_SPEC%>");
else if (argbuf.length () == 1)
target_sysroot_suffix = xstrdup (argbuf.last ());
}
@ -7638,7 +7640,8 @@ driver::set_up_specs () const
&& do_spec_2 (sysroot_hdrs_suffix_spec, NULL) == 0)
{
if (argbuf.length () > 1)
error ("spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC");
error ("spec failure: more than one argument "
"to %<SYSROOT_HEADERS_SUFFIX_SPEC%>");
else if (argbuf.length () == 1)
target_sysroot_hdrs_suffix = xstrdup (argbuf.last ());
}
@ -9797,7 +9800,7 @@ compare_debug_auxbase_opt_spec_function (int arg,
len = strlen (argv[0]);
if (len < 3 || strcmp (argv[0] + len - 3, ".gk") != 0)
fatal_error (input_location, "argument to %%:compare-debug-auxbase-opt "
"does not end in .gk");
"does not end in %<.gk%>");
if (debug_auxbase_opt)
return debug_auxbase_opt;

View file

@ -70,7 +70,7 @@ unlink_gcda_file (const char *name,
ret = remove (name);
if (ret)
fatal_error (input_location, "error in removing %s\n", name);
fatal_error (input_location, "error in removing %s", name);
return ret;
}
@ -220,7 +220,7 @@ do_merge (int argc, char **argv)
case 'w':
sscanf (optarg, "%d,%d", &w1, &w2);
if (w1 < 0 || w2 < 0)
fatal_error (input_location, "weights need to be non-negative\n");
fatal_error (input_location, "weights need to be non-negative");
break;
default:
merge_usage ();
@ -355,7 +355,7 @@ do_rewrite (int argc, char **argv)
}
if (scale < 0.0)
fatal_error (input_location, "scale needs to be non-negative\n");
fatal_error (input_location, "scale needs to be non-negative");
if (normalize_val != 0)
{

View file

@ -4004,7 +4004,8 @@ gcse_or_cprop_is_too_expensive (const char *pass)
if (memory_request > MAX_GCSE_MEMORY)
{
warning (OPT_Wdisabled_optimization,
"%s: %d basic blocks and %d registers; increase --param max-gcse-memory above %d",
"%s: %d basic blocks and %d registers; "
"increase %<--param max-gcse-memory%> above %d",
pass, n_basic_blocks_for_fn (cfun), max_reg_num (),
memory_request);

View file

@ -382,7 +382,7 @@ write_pch_globals (const struct ggc_root_tab * const *tab,
{
if (fwrite (&ptr, sizeof (void *), 1, state->f)
!= 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
}
else
{
@ -390,7 +390,7 @@ write_pch_globals (const struct ggc_root_tab * const *tab,
saving_htab->find_with_hash (ptr, POINTER_HASH (ptr));
if (fwrite (&new_ptr->new_addr, sizeof (void *), 1, state->f)
!= 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
}
}
}
@ -459,7 +459,7 @@ gt_pch_save (FILE *f)
for (rt = gt_pch_scalar_rtab; *rt; rt++)
for (rti = *rt; rti->base != NULL; rti++)
if (fwrite (rti->base, rti->stride, 1, f) != 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
/* Write out all the global pointers, after translation. */
write_pch_globals (gt_ggc_rtab, &state);
@ -470,17 +470,17 @@ gt_pch_save (FILE *f)
long o;
o = ftell (state.f) + sizeof (mmi);
if (o == -1)
fatal_error (input_location, "can%'t get position in PCH file: %m");
fatal_error (input_location, "cannot get position in PCH file: %m");
mmi.offset = mmap_offset_alignment - o % mmap_offset_alignment;
if (mmi.offset == mmap_offset_alignment)
mmi.offset = 0;
mmi.offset += o;
}
if (fwrite (&mmi, sizeof (mmi), 1, state.f) != 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
if (mmi.offset != 0
&& fseek (state.f, mmi.offset, SEEK_SET) != 0)
fatal_error (input_location, "can%'t write padding to PCH file: %m");
fatal_error (input_location, "cannot write padding to PCH file: %m");
ggc_pch_prepare_write (state.d, state.f);
@ -602,7 +602,7 @@ gt_pch_restore (FILE *f)
for (rt = gt_pch_scalar_rtab; *rt; rt++)
for (rti = *rt; rti->base != NULL; rti++)
if (fread (rti->base, rti->stride, 1, f) != 1)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
/* Read in all the global pointers, in 6 easy loops. */
for (rt = gt_ggc_rtab; *rt; rt++)
@ -610,10 +610,10 @@ gt_pch_restore (FILE *f)
for (i = 0; i < rti->nelt; i++)
if (fread ((char *)rti->base + rti->stride * i,
sizeof (void *), 1, f) != 1)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
if (fread (&mmi, sizeof (mmi), 1, f) != 1)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
result = host_hooks.gt_pch_use_address (mmi.preferred_base, mmi.size,
fileno (f), mmi.offset);
@ -623,10 +623,10 @@ gt_pch_restore (FILE *f)
{
if (fseek (f, mmi.offset, SEEK_SET) != 0
|| fread (mmi.preferred_base, mmi.size, 1, f) != 1)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
}
else if (fseek (f, mmi.offset + mmi.size, SEEK_SET) != 0)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
ggc_pch_read (f, mmi.preferred_base);

View file

@ -2455,7 +2455,7 @@ ggc_pch_write_object (struct ggc_pch_data *d,
}
if (fwrite (x, size, 1, f) != 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
/* If SIZE is not the same as OBJECT_SIZE(order), then we need to pad the
object out to OBJECT_SIZE(order). This happens for strings. */
@ -2471,13 +2471,13 @@ ggc_pch_write_object (struct ggc_pch_data *d,
if (padding <= sizeof (emptyBytes))
{
if (fwrite (emptyBytes, 1, padding, f) != padding)
fatal_error (input_location, "can%'t write PCH file");
fatal_error (input_location, "cannot write PCH file");
}
else
{
/* Larger than our buffer? Just default to fseek. */
if (fseek (f, padding, SEEK_CUR) != 0)
fatal_error (input_location, "can%'t write PCH file");
fatal_error (input_location, "cannot write PCH file");
}
}
@ -2486,14 +2486,14 @@ ggc_pch_write_object (struct ggc_pch_data *d,
&& fseek (f, ROUND_UP_VALUE (d->d.totals[order] * OBJECT_SIZE (order),
G.pagesize),
SEEK_CUR) != 0)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
}
void
ggc_pch_finish (struct ggc_pch_data *d, FILE *f)
{
if (fwrite (&d->d, sizeof (d->d), 1, f) != 1)
fatal_error (input_location, "can%'t write PCH file: %m");
fatal_error (input_location, "cannot write PCH file: %m");
free (d);
}
@ -2585,7 +2585,7 @@ ggc_pch_read (FILE *f, void *addr)
/* Allocate the appropriate page-table entries for the pages read from
the PCH file. */
if (fread (&d, sizeof (d), 1, f) != 1)
fatal_error (input_location, "can%'t read PCH file: %m");
fatal_error (input_location, "cannot read PCH file: %m");
for (i = 0; i < NUM_ORDERS; i++)
{

View file

@ -6177,7 +6177,7 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
fb_lvalue | fb_mayfail);
if (tret == GS_ERROR)
{
error ("invalid lvalue in asm output %d", i);
error ("invalid lvalue in %<asm%> output %d", i);
ret = tret;
}
@ -9835,7 +9835,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
{
warning_at (OMP_CLAUSE_LOCATION (c), 0,
"incompatible data clause with reduction "
"on %qE; promoting to present_or_copy",
"on %qE; promoting to %<present_or_copy%>",
DECL_NAME (t));
OMP_CLAUSE_SET_MAP_KIND (c, GOMP_MAP_TOFROM);
}

View file

@ -2264,7 +2264,7 @@ gen_hsa_addr_insns (tree val, hsa_op_reg *dest, hsa_bb *hbb)
{
HSA_SORRY_ATV (EXPR_LOCATION (val), "support for HSA does "
"not implement taking addresses of complex "
"CONST_DECLs such as %E", val);
"%<CONST_DECL%> such as %E", val);
return;
}
@ -2449,7 +2449,7 @@ gen_hsa_insns_for_load (hsa_op_reg *dest, tree rhs, tree type, hsa_bb *hbb)
{
HSA_SORRY_ATV (EXPR_LOCATION (rhs),
"support for HSA does not implement conversion "
"of %E to the requested non-pointer type.", rhs);
"of %E to the requested non-pointer type", rhs);
return;
}
@ -3012,7 +3012,7 @@ gen_hsa_cmp_insn_from_gimple (enum tree_code code, tree lhs, tree rhs,
default:
HSA_SORRY_ATV (EXPR_LOCATION (lhs),
"support for HSA does not implement comparison tree "
"code %s\n", get_tree_code_name (code));
"code %s", get_tree_code_name (code));
return;
}
@ -3162,8 +3162,8 @@ gen_hsa_insns_for_operation_assignment (gimple *assign, hsa_bb *hbb)
case FLOOR_DIV_EXPR:
case ROUND_DIV_EXPR:
HSA_SORRY_AT (gimple_location (assign),
"support for HSA does not implement CEIL_DIV_EXPR, "
"FLOOR_DIV_EXPR or ROUND_DIV_EXPR");
"support for HSA does not implement %<CEIL_DIV_EXPR%>, "
"%<FLOOR_DIV_EXPR%> or %<ROUND_DIV_EXPR%>");
return;
case TRUNC_MOD_EXPR:
opcode = BRIG_OPCODE_REM;
@ -3172,8 +3172,8 @@ gen_hsa_insns_for_operation_assignment (gimple *assign, hsa_bb *hbb)
case FLOOR_MOD_EXPR:
case ROUND_MOD_EXPR:
HSA_SORRY_AT (gimple_location (assign),
"support for HSA does not implement CEIL_MOD_EXPR, "
"FLOOR_MOD_EXPR or ROUND_MOD_EXPR");
"support for HSA does not implement %<CEIL_MOD_EXPR%>, "
"%<FLOOR_MOD_EXPR%> or %<ROUND_MOD_EXPR%>");
return;
case NEGATE_EXPR:
opcode = BRIG_OPCODE_NEG;
@ -4188,8 +4188,8 @@ gen_get_level (gimple *stmt, hsa_bb *hbb)
if (shadow_reg_ptr == NULL)
{
HSA_SORRY_AT (gimple_location (stmt),
"support for HSA does not implement omp_get_level called "
"from a function not being inlined within a kernel");
"support for HSA does not implement %<omp_get_level%> "
"called from a function not being inlined within a kernel");
return;
}
@ -4230,7 +4230,8 @@ gen_hsa_alloca (gcall *call, hsa_bb *hbb)
if (lhs == NULL_TREE)
return;
built_in_function fn = DECL_FUNCTION_CODE (gimple_call_fndecl (call));
tree fndecl = gimple_call_fndecl (call);
built_in_function fn = DECL_FUNCTION_CODE (fndecl);
gcc_checking_assert (ALLOCA_FUNCTION_CODE_P (fn));
@ -4243,8 +4244,8 @@ gen_hsa_alloca (gcall *call, hsa_bb *hbb)
{
HSA_SORRY_ATV (gimple_location (call),
"support for HSA does not implement "
"__builtin_alloca_with_align with a non-constant "
"alignment: %E", alignment_tree);
"%qD with a non-constant alignment %E",
fndecl, alignment_tree);
}
bit_alignment = tree_to_uhwi (alignment_tree);
@ -4548,7 +4549,7 @@ omp_simple_builtin::generate (gimple *stmt, hsa_bb *hbb)
HSA_SORRY_AT (gimple_location (stmt), m_warning_message);
else
HSA_SORRY_ATV (gimple_location (stmt),
"Support for HSA does not implement calls to %s\n",
"support for HSA does not implement calls to %qs",
m_name);
}
else if (m_warning_message != NULL)
@ -5049,7 +5050,7 @@ gen_hsa_atomic_for_builtin (bool ret_orig, enum BrigAtomicOperation acode,
{
HSA_SORRY_ATV (gimple_location (stmt),
"support for HSA does not implement memory model for "
"ATOMIC_ST: %s", mmname);
"%<ATOMIC_ST%>: %s", mmname);
return;
}
}
@ -5314,8 +5315,8 @@ gen_hsa_insns_for_call (gimple *stmt, hsa_bb *hbb)
gen_hsa_insns_for_direct_call (stmt, hbb);
else if (!gen_hsa_insns_for_known_library_call (stmt, hbb))
HSA_SORRY_AT (gimple_location (stmt),
"HSA supports only calls of functions marked with pragma "
"omp declare target");
"HSA supports only calls of functions marked with "
"%<#pragma omp declare target%>");
return;
}
@ -5625,7 +5626,7 @@ gen_hsa_insns_for_call (gimple *stmt, hsa_bb *hbb)
case BUILT_IN_GOMP_PARALLEL:
HSA_SORRY_AT (gimple_location (stmt),
"support for HSA does not implement non-gridified "
"OpenMP parallel constructs.");
"OpenMP parallel constructs");
break;
case BUILT_IN_OMP_GET_THREAD_NUM:

View file

@ -1215,7 +1215,8 @@ dump_location_info (FILE *stream)
if (x == y)
{
if (x < MAP_START_LOCATION (map))
inform (x, "token %u has x-location == y-location == %u", i, x);
inform (x, "token %u has %<x-location == y-location == %u%>",
i, x);
else
fprintf (stream,
"x-location == y-location == %u encodes token # %u\n",
@ -1223,8 +1224,8 @@ dump_location_info (FILE *stream)
}
else
{
inform (x, "token %u has x-location == %u", i, x);
inform (x, "token %u has y-location == %u", i, y);
inform (x, "token %u has %<x-location == %u%>", i, x);
inform (x, "token %u has %<y-location == %u%>", i, y);
}
}
fprintf (stream, "\n");

View file

@ -947,7 +947,7 @@ compare_virtual_tables (varpool_node *prevailing, varpool_node *vtable)
if (warning_at (DECL_SOURCE_LOCATION
(TYPE_NAME (DECL_CONTEXT (vtable->decl))), OPT_Wodr,
"virtual table of type %qD violates "
"one definition rule ",
"one definition rule",
DECL_CONTEXT (vtable->decl)))
{
if (TREE_CODE (ref1->referred->decl) == FUNCTION_DECL)

View file

@ -2326,7 +2326,7 @@ ira_setup_eliminable_regset (void)
SET_HARD_REG_BIT (ira_no_alloc_regs, eliminables[i].from);
}
else if (cannot_elim)
error ("%s cannot be used in asm here",
error ("%s cannot be used in %<asm%> here",
reg_names[eliminables[i].from]);
else
df_set_regs_ever_live (eliminables[i].from, true);
@ -2340,7 +2340,7 @@ ira_setup_eliminable_regset (void)
SET_HARD_REG_BIT (ira_no_alloc_regs, HARD_FRAME_POINTER_REGNUM);
}
else if (frame_pointer_needed)
error ("%s cannot be used in asm here",
error ("%s cannot be used in %<asm%> here",
reg_names[HARD_FRAME_POINTER_REGNUM]);
else
df_set_regs_ever_live (HARD_FRAME_POINTER_REGNUM, true);

View file

@ -1692,7 +1692,7 @@ lra_assign (bool &fails_p)
&& (lra_assignment_iter_after_spill
> LRA_MAX_ASSIGNMENT_ITERATION_NUMBER))
internal_error
("Maximum number of LRA assignment passes is achieved (%d)\n",
("maximum number of LRA assignment passes is achieved (%d)",
LRA_MAX_ASSIGNMENT_ITERATION_NUMBER);
return no_spills_p;
}

View file

@ -4898,7 +4898,7 @@ lra_constraints (bool first_p)
}
if (new_insns_num > MAX_RELOAD_INSNS_NUMBER)
internal_error
("Max. number of generated reload insns per insn is achieved (%d)\n",
("maximum number of generated reload insns per insn achieved (%d)",
MAX_RELOAD_INSNS_NUMBER);
new_insns_num++;
if (DEBUG_INSN_P (curr_insn))

View file

@ -1700,7 +1700,7 @@ lto_input_mode_table (struct lto_file_decl_data *file_data)
}
/* FALLTHRU */
default:
fatal_error (UNKNOWN_LOCATION, "unsupported mode %s\n", mname);
fatal_error (UNKNOWN_LOCATION, "unsupported mode %qs", mname);
break;
}
}

View file

@ -155,7 +155,8 @@ get_options_from_collect_gcc_options (const char *collect_gcc,
do
{
if (argv_storage[j] == '\0')
fatal_error (input_location, "malformed COLLECT_GCC_OPTIONS");
fatal_error (input_location,
"malformed %<COLLECT_GCC_OPTIONS%>");
else if (strncmp (&argv_storage[j], "'\\''", 4) == 0)
{
argv_storage[k++] = '\'';
@ -310,7 +311,7 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
append_option (decoded_options, decoded_options_count, foption);
else if (strcmp ((*decoded_options)[j].arg, foption->arg))
fatal_error (input_location,
"Option %s with different values",
"option %s with different values",
foption->orig_option_with_args_text);
break;
@ -394,7 +395,7 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
append_option (decoded_options, decoded_options_count, foption);
else if (foption->value != (*decoded_options)[j].value)
fatal_error (input_location,
"Option %s not used consistently in all LTO input"
"option %s not used consistently in all LTO input"
" files", foption->orig_option_with_args_text);
break;
@ -822,7 +823,7 @@ compile_offload_image (const char *target, const char *compiler_path,
if (!compiler)
fatal_error (input_location,
"could not find %s in %s (consider using %<-B%>)\n",
"could not find %s in %s (consider using %<-B%>)",
suffix + 1, compiler_path);
/* Generate temporary output file name. */
@ -903,7 +904,7 @@ compile_images_for_offload_targets (unsigned in_argc, char *in_argv[],
linker_opts, linker_opt_count);
if (!offload_names[next_name_entry])
fatal_error (input_location,
"problem with building target image for %s\n", names[i]);
"problem with building target image for %s", names[i]);
next_name_entry++;
}
@ -960,7 +961,7 @@ find_crtoffloadtable (void)
}
if (i == n_paths)
fatal_error (input_location,
"installation error, can%'t find crtoffloadtable.o");
"installation error, cannot find %<crtoffloadtable.o%>");
free_array_of_ptrs ((void **) paths, n_paths);
}
@ -1072,7 +1073,7 @@ debug_objcopy (const char *infile, bool rename)
&off, &len, &errmsg, &err) != 1)
{
if (errmsg)
fatal_error (0, "%s: %s\n", errmsg, xstrerror (err));
fatal_error (0, "%s: %s", errmsg, xstrerror (err));
simple_object_release_read (inobj);
close (infd);
@ -1092,7 +1093,7 @@ debug_objcopy (const char *infile, bool rename)
if (errmsg)
{
unlink_if_ordinary (outfile);
fatal_error (0, "%s: %s\n", errmsg, xstrerror (err));
fatal_error (0, "%s: %s", errmsg, xstrerror (err));
}
simple_object_release_read (inobj);
@ -1144,11 +1145,11 @@ run_gcc (unsigned argc, char *argv[])
collect_gcc = getenv ("COLLECT_GCC");
if (!collect_gcc)
fatal_error (input_location,
"environment variable COLLECT_GCC must be set");
"environment variable %<COLLECT_GCC%> must be set");
collect_gcc_options = getenv ("COLLECT_GCC_OPTIONS");
if (!collect_gcc_options)
fatal_error (input_location,
"environment variable COLLECT_GCC_OPTIONS must be set");
"environment variable %<COLLECT_GCC_OPTIONS%> must be set");
get_options_from_collect_gcc_options (collect_gcc, collect_gcc_options,
CL_LANG_ALL,
&decoded_options,
@ -1548,7 +1549,7 @@ cont1:
int priority;
if (!stream)
fatal_error (input_location, "fopen: %s: %m", ltrans_output_file);
fatal_error (input_location, "%<fopen%>: %s: %m", ltrans_output_file);
/* Parse the list of LTRANS inputs from the WPA stage. */
obstack_init (&env_obstack);
@ -1565,7 +1566,7 @@ cont1:
{
if (!feof (stream))
fatal_error (input_location,
"Corrupted ltrans output file %s",
"corrupted ltrans output file %s",
ltrans_output_file);
break;
}
@ -1754,7 +1755,7 @@ main (int argc, char *argv[])
diagnostic_initialize (global_dc, 0);
if (atexit (lto_wrapper_cleanup) != 0)
fatal_error (input_location, "atexit failed");
fatal_error (input_location, "%<atexit%> failed");
if (signal (SIGINT, SIG_IGN) != SIG_IGN)
signal (SIGINT, fatal_signal);

View file

@ -1,3 +1,8 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* lto-dump.c (lto_main): Same.
* lto.c (stream_out): Same.
2019-05-10 Martin Liska <mliska@suse.cz>
* Make-lang.in: Use program_transform_name for lto-dump.

View file

@ -320,7 +320,8 @@ lto_main (void)
node->get_untransformed_body ();
if (!GATHER_STATISTICS)
warning_at (input_location, 0,
"Not configured with --enable-gather-detailed-mem-stats.");
"Not configured with "
"%<--enable-gather-detailed-mem-stats%>.");
else
dump_gimple_statistics ();
}
@ -329,7 +330,8 @@ lto_main (void)
/* Dump tree statistics. */
if (!GATHER_STATISTICS)
warning_at (input_location, 0,
"Not configured with --enable-gather-detailed-mem-stats.");
"Not configured with "
"%<--enable-gather-detailed-mem-stats%>.");
else
{
printf ("Tree Statistics\n");

View file

@ -159,7 +159,7 @@ stream_out (char *temp_filename, lto_symtab_encoder_t encoder, int part)
{
lto_file *file = lto_obj_file_open (temp_filename, true);
if (!file)
fatal_error (input_location, "lto_obj_file_open() failed");
fatal_error (input_location, "%<lto_obj_file_open()%> failed");
lto_set_current_out_file (file);
gcc_assert (!dump_file);

View file

@ -1,3 +1,15 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* objc-act.c (objc_begin_catch_clause): Quote keywords and options
in diagnostics.
(objc_build_throw_stmt): Same.
(objc_finish_message_expr): Same.
(get_super_receiver): Same.
* objc-next-runtime-abi-01.c (objc_next_runtime_abi_01_init): Spell
out "less than" in English./
* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Spell
out "greater" in English.
2019-05-10 Jakub Jelinek <jakub@redhat.com>
PR pch/90326

View file

@ -458,7 +458,7 @@ objc_write_global_declarations (void)
char * const dumpname = concat (dump_base_name, ".decl", NULL);
gen_declaration_file = fopen (dumpname, "w");
if (gen_declaration_file == 0)
fatal_error (input_location, "can%'t open %s: %m", dumpname);
fatal_error (input_location, "cannot open %s: %m", dumpname);
free (dumpname);
}
@ -4208,13 +4208,13 @@ objc_begin_catch_clause (tree decl)
}
else if (!objc_type_valid_for_messaging (type, false))
{
error ("@catch parameter is not a known Objective-C class type");
error ("%<@catch%> parameter is not a known Objective-C class type");
type = error_mark_node;
}
else if (TYPE_HAS_OBJC_INFO (TREE_TYPE (type))
&& TYPE_OBJC_PROTOCOL_LIST (TREE_TYPE (type)))
{
error ("@catch parameter cannot be protocol-qualified");
error ("%<@catch%> parameter cannot be protocol-qualified");
type = error_mark_node;
}
else if (POINTER_TYPE_P (type) && objc_is_object_id (TREE_TYPE (type)))
@ -4336,7 +4336,8 @@ objc_build_throw_stmt (location_t loc, tree throw_expr)
if (cur_try_context == NULL
|| cur_try_context->current_catch == NULL)
{
error_at (loc, "%<@throw%> (rethrow) used outside of a @catch block");
error_at (loc,
"%<@throw%> (rethrow) used outside of a %<@catch%> block");
return error_mark_node;
}
@ -5411,7 +5412,8 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params,
prototype. Emit a warning, then keep going (this
will use any method with a matching name, as if the
receiver was of type 'Class'). */
warning (0, "@interface of class %qE not found", class_tree);
warning (0, "%<@interface%> of class %qE not found",
class_tree);
}
}
/* Handle `self' and `super'. */
@ -5545,7 +5547,7 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params,
warning, either include an @interface for the
class, or cast the receiver to 'id'. Note that
rtype is an IDENTIFIER_NODE at this point. */
warning (0, "@interface of class %qE not found", rtype);
warning (0, "%<@interface%> of class %qE not found", rtype);
}
}
@ -5628,11 +5630,9 @@ objc_finish_message_expr (tree receiver, tree sel_name, tree method_params,
if (!warn_missing_methods)
{
warning_at (input_location,
0, "(Messages without a matching method signature");
warning_at (input_location,
0, "will be assumed to return %<id%> and accept");
warning_at (input_location,
0, "%<...%> as arguments.)");
0, "(messages without a matching method signature "
"will be assumed to return %<id%> and accept "
"%<...%> as arguments)");
warn_missing_methods = true;
}
}
@ -8848,7 +8848,7 @@ get_super_receiver (void)
}
else
{
error ("[super ...] must appear in a method context");
error ("%<[super ...]%> must appear in a method context");
return error_mark_node;
}
}

View file

@ -150,7 +150,8 @@ objc_next_runtime_abi_01_init (objc_runtime_hooks *rthooks)
{
warning_at (UNKNOWN_LOCATION, OPT_Wall,
"%<-fobjc-sjlj-exceptions%> is the only supported exceptions "
"system for %<-fnext-runtime%> with %<-fobjc-abi-version%> < 2");
"system for %<-fnext-runtime%> with %<-fobjc-abi-version%> "
"argument less than 2");
}
rthooks->initialize = next_runtime_01_initialize;

View file

@ -241,8 +241,10 @@ objc_next_runtime_abi_02_init (objc_runtime_hooks *rthooks)
if (flag_objc_exceptions && flag_objc_sjlj_exceptions)
{
inform (UNKNOWN_LOCATION, "%<-fobjc-sjlj-exceptions%> is ignored for "
"%<-fnext-runtime%> when %<-fobjc-abi-version%> >= 2");
inform (UNKNOWN_LOCATION,
"%<-fobjc-sjlj-exceptions%> is ignored for "
"%<-fnext-runtime%> when %<-fobjc-abi-version%> "
"greater than 1");
flag_objc_sjlj_exceptions = 0;
}

View file

@ -1671,7 +1671,8 @@ print_specific_help (unsigned int include_flags,
description = _("The following options take joined arguments");
else
{
internal_error ("unrecognized include_flags 0x%x passed to print_specific_help",
internal_error ("unrecognized %<include_flags 0x%x%> passed "
"to %<print_specific_help%>",
include_flags);
return;
}
@ -1982,7 +1983,7 @@ parse_no_sanitize_attribute (char *value)
if (sanitizer_opts[i].name == NULL)
warning (OPT_Wattributes,
"%<%s%> attribute directive ignored", q);
"%qs attribute directive ignored", q);
q = strtok (NULL, ",");
}
@ -2165,7 +2166,7 @@ print_help (struct gcc_options *opts, unsigned int lang_mask)
*pflags |= lang_flag;
else
warning (0,
"--help argument %q.*s is ambiguous, "
"%<--help%> argument %q.*s is ambiguous, "
"please be more specific",
len, a);
}
@ -2174,7 +2175,7 @@ print_help (struct gcc_options *opts, unsigned int lang_mask)
*pflags |= lang_flag;
else
warning (0,
"unrecognized argument to --help= option: %q.*s",
"unrecognized argument to %<--help=%> option: %q.*s",
len, a);
if (comma == NULL)
@ -2831,8 +2832,8 @@ handle_param (struct gcc_options *opts, struct gcc_options *opts_set,
arg = xstrdup (carg);
equal = strchr (arg, '=');
if (!equal)
error_at (loc, "%s: --param arguments should be of the form NAME=VALUE",
arg);
error_at (loc, "%s: %qs arguments should be of the form NAME=VALUE",
arg, "--param");
else
{
*equal = '\0';
@ -2842,10 +2843,10 @@ handle_param (struct gcc_options *opts, struct gcc_options *opts_set,
{
const char *suggestion = find_param_fuzzy (arg);
if (suggestion)
error_at (loc, "invalid --param name %qs; did you mean %qs?",
arg, suggestion);
error_at (loc, "invalid %qs name %qs; did you mean %qs?",
"--param", arg, suggestion);
else
error_at (loc, "invalid --param name %qs", arg);
error_at (loc, "invalid %qs name %qs", "--param", arg);
}
else
{
@ -2853,7 +2854,7 @@ handle_param (struct gcc_options *opts, struct gcc_options *opts_set,
value = integral_argument (equal + 1);
if (value == -1)
error_at (loc, "invalid --param value %qs", equal + 1);
error_at (loc, "invalid %qs value %qs", "--param", equal + 1);
else
set_param_value (arg, value,
opts->x_param_values, opts_set->x_param_values);

View file

@ -87,8 +87,8 @@ opt_pass::clone ()
void
opt_pass::set_pass_param (unsigned int, bool)
{
internal_error ("pass %s needs a set_pass_param implementation to handle the"
" extra argument in NEXT_PASS", name);
internal_error ("pass %s needs a %<set_pass_param%> implementation "
"to handle the extra argument in %<NEXT_PASS%>", name);
}
bool

View file

@ -231,7 +231,7 @@ add_new_plugin (const char* plugin_name)
{
plugin = (struct plugin_name_args *) *slot;
if (strcmp (plugin->full_name, plugin_name))
error ("plugin %s was specified with different paths:\n%s\n%s",
error ("plugin %qs was specified with different paths: %qs and %qs",
plugin->base_name, plugin->full_name, plugin_name);
return;
}
@ -290,7 +290,8 @@ parse_plugin_arg_opt (const char *arg)
if (!key_start)
{
error ("malformed option %<-fplugin-arg-%s%> (missing -<key>[=<value>])",
error ("malformed option %<-fplugin-arg-%s%>: "
"missing %<-<key>[=<value>]%>",
arg);
return;
}
@ -700,7 +701,7 @@ try_init_one_plugin (struct plugin_name_args *plugin)
dl_handle = dlopen (plugin->full_name, RTLD_NOW | RTLD_GLOBAL);
if (!dl_handle)
{
error ("cannot load plugin %s\n%s", plugin->full_name, dlerror ());
error ("cannot load plugin %s: %s", plugin->full_name, dlerror ());
return false;
}
@ -710,7 +711,7 @@ try_init_one_plugin (struct plugin_name_args *plugin)
/* Check the plugin license. */
if (dlsym (dl_handle, str_license) == NULL)
fatal_error (input_location,
"plugin %s is not licensed under a GPL-compatible license\n"
"plugin %s is not licensed under a GPL-compatible license"
"%s", plugin->full_name, dlerror ());
PTR_UNION_AS_VOID_PTR (plugin_init_union) =
@ -720,7 +721,7 @@ try_init_one_plugin (struct plugin_name_args *plugin)
if ((err = dlerror ()) != NULL)
{
dlclose(dl_handle);
error ("cannot find %s in plugin %s\n%s", str_plugin_init_func_name,
error ("cannot find %s in plugin %s: %s", str_plugin_init_func_name,
plugin->full_name, err);
return false;
}
@ -729,7 +730,7 @@ try_init_one_plugin (struct plugin_name_args *plugin)
if ((*plugin_init) (plugin, &gcc_version))
{
dlclose(dl_handle);
error ("fail to initialize plugin %s", plugin->full_name);
error ("failed to initialize plugin %s", plugin->full_name);
return false;
}
/* leak dl_handle on purpose to ensure the plugin is loaded for the

View file

@ -707,7 +707,7 @@ parse_edge_flag_token (const char *tok)
} while (0);
#include "cfg-flags.def"
#undef DEF_EDGE_FLAG
error ("unrecognized edge flag: '%s'", tok);
error ("unrecognized edge flag: %qs", tok);
return 0;
}
@ -978,7 +978,7 @@ function_reader::parse_enum_value (int num_values, const char *const *strings)
if (strcmp (name.string, strings[i]) == 0)
return i;
}
error ("unrecognized enum value: '%s'", name.string);
error ("unrecognized enum value: %qs", name.string);
return 0;
}

View file

@ -545,7 +545,8 @@ check_asm_stack_operands (rtx_insn *insn)
for (j = 0; j < n_clobbers; j++)
if (REGNO (recog_data.operand[i]) == REGNO (clobber_reg[j]))
{
error_for_asm (insn, "output constraint %d cannot be specified together with \"%s\" clobber",
error_for_asm (insn, "output constraint %d cannot be "
"specified together with %qs clobber",
i, reg_names [REGNO (clobber_reg[j])]);
malformed_asm = 1;
break;
@ -568,7 +569,7 @@ check_asm_stack_operands (rtx_insn *insn)
if (i != LAST_STACK_REG + 1)
{
error_for_asm (insn, "output regs must be grouped at top of stack");
error_for_asm (insn, "output registers must be grouped at top of stack");
malformed_asm = 1;
}
@ -608,7 +609,8 @@ check_asm_stack_operands (rtx_insn *insn)
if (i != LAST_STACK_REG + 1)
{
error_for_asm (insn,
"implicitly popped regs must be grouped at top of stack");
"implicitly popped registers must be grouped "
"at top of stack");
malformed_asm = 1;
}
@ -625,7 +627,8 @@ check_asm_stack_operands (rtx_insn *insn)
if (i != LAST_STACK_REG + 1)
{
error_for_asm (insn,
"explicitly used regs must be grouped at top of stack");
"explicitly used registers must be grouped "
"at top of stack");
malformed_asm = 1;
}

View file

@ -1216,8 +1216,8 @@ validate_value_data (struct value_data *vd)
if (vd->e[i].mode == VOIDmode)
{
if (vd->e[i].next_regno != INVALID_REGNUM)
internal_error ("validate_value_data: [%u] Bad next_regno for empty chain (%u)",
i, vd->e[i].next_regno);
internal_error ("%qs: [%u] bad %<next_regno%> for empty chain (%u)",
__func__, i, vd->e[i].next_regno);
continue;
}
@ -1228,11 +1228,11 @@ validate_value_data (struct value_data *vd)
j = vd->e[j].next_regno)
{
if (TEST_HARD_REG_BIT (set, j))
internal_error ("validate_value_data: Loop in regno chain (%u)",
j);
internal_error ("%qs: loop in %<next_regno%> chain (%u)",
__func__, j);
if (vd->e[j].oldest_regno != i)
internal_error ("validate_value_data: [%u] Bad oldest_regno (%u)",
j, vd->e[j].oldest_regno);
internal_error ("%qs: [%u] bad %<oldest_regno%> (%u)",
__func__, j, vd->e[j].oldest_regno);
SET_HARD_REG_BIT (set, j);
}
@ -1243,8 +1243,9 @@ validate_value_data (struct value_data *vd)
&& (vd->e[i].mode != VOIDmode
|| vd->e[i].oldest_regno != i
|| vd->e[i].next_regno != INVALID_REGNUM))
internal_error ("validate_value_data: [%u] Non-empty reg in chain (%s %u %i)",
i, GET_MODE_NAME (vd->e[i].mode), vd->e[i].oldest_regno,
internal_error ("%qs: [%u] non-empty register in chain (%s %u %i)",
__func__, i,
GET_MODE_NAME (vd->e[i].mode), vd->e[i].oldest_regno,
vd->e[i].next_regno);
}

View file

@ -717,11 +717,11 @@ fix_register (const char *name, int fixed, int call_used)
switch (call_used)
{
case 0:
error ("can%'t use %qs as a call-saved register", name);
error ("cannot use %qs as a call-saved register", name);
break;
case 1:
error ("can%'t use %qs as a call-used register", name);
error ("cannot use %qs as a call-used register", name);
break;
default:
@ -733,7 +733,7 @@ fix_register (const char *name, int fixed, int call_used)
switch (call_used)
{
case 1:
error ("can%'t use %qs as a fixed register", name);
error ("cannot use %qs as a fixed register", name);
break;
case 0:

View file

@ -2062,7 +2062,7 @@ static void
spill_failure (rtx_insn *insn, enum reg_class rclass)
{
if (asm_noperands (PATTERN (insn)) >= 0)
error_for_asm (insn, "can%'t find a register in class %qs while "
error_for_asm (insn, "cannot find a register in class %qs while "
"reloading %<asm%>",
reg_class_names[rclass]);
else

View file

@ -521,7 +521,7 @@ check_unique_operand_names (tree outputs, tree inputs, tree labels)
return true;
failure:
error ("duplicate asm operand name %qs", TREE_STRING_POINTER (i_name));
error ("duplicate %<asm%> operand name %qs", TREE_STRING_POINTER (i_name));
return false;
}

View file

@ -1600,7 +1600,7 @@ default_target_option_pragma_parse (tree ARG_UNUSED (args),
do not have the "target" pragma. */
if (args)
warning (OPT_Wpragmas,
"#pragma GCC target is not supported for this machine");
"%<#pragma GCC target%> is not supported for this machine");
return false;
}

View file

@ -1,3 +1,123 @@
2019-05-16 Martin Sebor <msebor@redhat.com>
* c-c++-common/Wbool-operation-1.c: Adjust text of expected diagnostics.
* c-c++-common/Wvarargs-2.c: Same.
* c-c++-common/Wvarargs.c: Same.
* c-c++-common/pr51768.c: Same.
* c-c++-common/tm/inline-asm.c: Same.
* c-c++-common/tm/safe-1.c: Same.
* g++.dg/asm-qual-1.C: Same.
* g++.dg/asm-qual-3.C: Same.
* g++.dg/conversion/dynamic1.C: Same.
* g++.dg/cpp0x/constexpr-89599.C: Same.
* g++.dg/cpp0x/constexpr-cast.C: Same.
* g++.dg/cpp0x/constexpr-shift1.C: Same.
* g++.dg/cpp0x/lambda/lambda-conv11.C: Same.
* g++.dg/cpp0x/nullptr04.C: Same.
* g++.dg/cpp0x/static_assert12.C: Same.
* g++.dg/cpp0x/static_assert8.C: Same.
* g++.dg/cpp1y/lambda-conv1.C: Same.
* g++.dg/cpp1y/pr79393-3.C: Same.
* g++.dg/cpp1y/static_assert1.C: Same.
* g++.dg/cpp1z/constexpr-if4.C: Same.
* g++.dg/cpp1z/constexpr-if5.C: Same.
* g++.dg/cpp1z/constexpr-if9.C: Same.
* g++.dg/eh/goto2.C: Same.
* g++.dg/eh/goto3.C: Same.
* g++.dg/expr/static_cast8.C: Same.
* g++.dg/ext/flexary5.C: Same.
* g++.dg/ext/utf-array-short-wchar.C: Same.
* g++.dg/ext/utf-array.C: Same.
* g++.dg/ext/utf8-2.C: Same.
* g++.dg/gomp/loop-4.C: Same.
* g++.dg/gomp/macro-4.C: Same.
* g++.dg/gomp/udr-1.C: Same.
* g++.dg/init/initializer-string-too-long.C: Same.
* g++.dg/other/offsetof9.C: Same.
* g++.dg/ubsan/pr63956.C: Same.
* g++.dg/warn/Wbool-operation-1.C: Same.
* g++.dg/warn/Wtype-limits-Wextra.C: Same.
* g++.dg/warn/Wtype-limits.C: Same.
* g++.dg/wrappers/pr88680.C: Same.
* g++.old-deja/g++.mike/eh55.C: Same.
* gcc.dg/Wsign-compare-1.c: Same.
* gcc.dg/Wtype-limits-Wextra.c: Same.
* gcc.dg/Wtype-limits.c: Same.
* gcc.dg/Wunknownprag.c: Same.
* gcc.dg/Wunsuffixed-float-constants-1.c: Same.
* gcc.dg/asm-6.c: Same.
* gcc.dg/asm-qual-1.c: Same.
* gcc.dg/cast-1.c: Same.
* gcc.dg/cast-2.c: Same.
* gcc.dg/cast-3.c: Same.
* gcc.dg/cpp/source_date_epoch-2.c: Same.
* gcc.dg/debug/pr85252.c: Same.
* gcc.dg/dfp/cast-bad.c: Same.
* gcc.dg/format/gcc_diag-1.c: Same.
* gcc.dg/format/gcc_diag-11.c: Same.New test.
* gcc.dg/gcc_diag-11.c: Same.New test.
* gcc.dg/gnu-cond-expr-2.c: Same.
* gcc.dg/gnu-cond-expr-3.c: Same.
* gcc.dg/gomp/macro-4.c: Same.
* gcc.dg/init-bad-1.c: Same.
* gcc.dg/init-bad-2.c: Same.
* gcc.dg/init-bad-3.c: Same.
* gcc.dg/pr27528.c: Same.
* gcc.dg/pr48552-1.c: Same.
* gcc.dg/pr48552-2.c: Same.
* gcc.dg/pr59846.c: Same.
* gcc.dg/pr61096-1.c: Same.
* gcc.dg/pr8788-1.c: Same.
* gcc.dg/pr90082.c: Same.
* gcc.dg/simd-2.c: Same.
* gcc.dg/spellcheck-params-2.c: Same.
* gcc.dg/spellcheck-params.c: Same.
* gcc.dg/strlenopt-49.c: Same.
* gcc.dg/tm/pr52141.c: Same.
* gcc.dg/torture/pr51106-1.c: Same.
* gcc.dg/torture/pr51106-2.c: Same.
* gcc.dg/utf-array-short-wchar.c: Same.
* gcc.dg/utf-array.c: Same.
* gcc.dg/utf8-2.c: Same.
* gcc.dg/warn-sprintf-no-nul.c: Same.
* gcc.target/i386/asm-flag-0.c: Same.
* gcc.target/i386/inline_error.c: Same.
* gcc.target/i386/pr30848.c: Same.
* gcc.target/i386/pr39082-1.c: Same.
* gcc.target/i386/pr39678.c: Same.
* gcc.target/i386/pr57756.c: Same.
* gcc.target/i386/pr68843-1.c: Same.
* gcc.target/i386/pr79804.c: Same.
* gcc.target/i386/pr82673.c: Same.
* obj-c++.dg/class-protocol-1.mm: Same.
* obj-c++.dg/exceptions-3.mm: Same.
* obj-c++.dg/exceptions-4.mm: Same.
* obj-c++.dg/exceptions-5.mm: Same.
* obj-c++.dg/exceptions-6.mm: Same.
* obj-c++.dg/method-12.mm: Same.
* obj-c++.dg/method-13.mm: Same.
* obj-c++.dg/method-6.mm: Same.
* obj-c++.dg/method-7.mm: Same.
* obj-c++.dg/method-9.mm: Same.
* obj-c++.dg/method-lookup-1.mm: Same.
* obj-c++.dg/proto-lossage-4.mm: Same.
* obj-c++.dg/protocol-qualifier-2.mm: Same.
* objc.dg/call-super-2.m: Same.
* objc.dg/class-protocol-1.m: Same.
* objc.dg/desig-init-1.m: Same.
* objc.dg/exceptions-3.m: Same.
* objc.dg/exceptions-4.m: Same.
* objc.dg/exceptions-5.m: Same.
* objc.dg/exceptions-6.m: Same.
* objc.dg/method-19.m: Same.
* objc.dg/method-2.m: Same.
* objc.dg/method-5.m: Same.
* objc.dg/method-6.m: Same.
* objc.dg/method-7.m: Same.
* objc.dg/method-lookup-1.m: Same.
* objc.dg/proto-hier-1.m: Same.
* objc.dg/proto-lossage-4.m: Same.
2019-05-17 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
* g++.dg/eh/o32-fp.C: New.

View file

@ -15,18 +15,18 @@ fn (bool b, bool b2, T b3, int n, v4si v)
{
int r = 0;
r += ~b; /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += n + ~b; /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(n == 1); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(n || 1); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~b == 1; /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(++n, n == 1); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(++n, n > 1); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(++n, n && 1); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += (++n, ~b); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~b3; /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~foo (); /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~(bool) !1; /* { dg-warning "on an expression of type bool|on a boolean expression" } */
r += ~b; /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += n + ~b; /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(n == 1); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(n || 1); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~b == 1; /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(++n, n == 1); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(++n, n > 1); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(++n, n && 1); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += (++n, ~b); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~b3; /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~foo (); /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
r += ~(bool) !1; /* { dg-warning "on an expression of type 'bool'|on a boolean expression" } */
v = ~v;
r += ~(int) b;

Some files were not shown because too many files have changed in this diff Show more