Skip to content
Snippets Groups Projects
  1. Aug 26, 2022
    • Jakub Jelinek's avatar
      libcpp: Implement P2362R3 - Remove non-encodable wide character literals and... · dad2d3e0
      Jakub Jelinek authored
      libcpp: Implement P2362R3 - Remove non-encodable wide character literals and multicharacter [PR106647]
      
      My understanding of the paper is that we just want to promote the CPP_WCHAR
      "character constant too long for its type" warning to error as it is already
      error for u8, u and U literals.
      
      2022-08-26  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/106647
      	* charset.cc (wide_str_to_charconst): Implement P2362R3 - Remove
      	non-encodable wide character literals and multicharacter.  For
      	C++23 use CPP_DL_ERROR instead of CPP_DL_WARNING for
      	"character constant too long for its type" diagnostics on CPP_WCHAR
      	literals.
      
      	* g++.dg/cpp23/wchar-multi1.C: New test.
      	* g++.dg/cpp23/wchar-multi2.C: New test.
      dad2d3e0
    • Jakub Jelinek's avatar
      c++: Implement C++23 P2071R2 - Named universal character escapes [PR106648] · eb4879ab
      Jakub Jelinek authored
      The following patch implements the
      C++23 P2071R2 - Named universal character escapes
      paper to support \N{LATIN SMALL LETTER E} etc.
      I've used Unicode 14.0, there are 144803 character name properties
      (including the ones generated by Unicode NR1 and NR2 rules)
      and correction/control/alternate aliases, together with zero terminators
      that would be 3884745 bytes, which is clearly unacceptable for libcpp.
      This patch instead contains a generator which from the UnicodeData.txt
      and NameAliases.txt files emits a space optimized radix tree (208765
      bytes long for 14.0), a single string literal dictionary (59418 bytes),
      maximum name length (currently 88 chars) and two small helper arrays
      for the NR1/NR2 name generation.
      The radix tree needs 2 to 9 bytes per node, the exact format is
      described in the generator program.  There could be ways to shrink
      the dictionary size somewhat at the expense of slightly slower lookups.
      
      Currently the patch implements strict matching (that is what is needed
      to actually implement it on valid code) and Unicode UAX44-LM2 algorithm
      loose matching to provide hints (that algorithm essentially ignores
      hyphens in between two alphanumeric characters, spaces and underscores
      (with one exception for hyphen) and does case insensitive matching).
      In the attachment is a WIP patch that shows how to implement also
      spellcheck.{h,cc} style discovery of misspellings, but I'll need to talk
      to David Malcolm about it, as spellcheck.{h,cc} is in gcc/ subdir
      (so the WIP incremental patch instead prints all the names to stderr).
      
      2022-08-26  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/106648
      libcpp/
      	* charset.cc: Implement C++23 P2071R2 - Named universal character
      	escapes.  Include uname2c.h.
      	(hangul_syllables, hangul_count): New variables.
      	(struct uname2c_data): New type.
      	(_cpp_uname2c, _cpp_uname2c_uax44_lm2): New functions.
      	(_cpp_valid_ucn): Use them.  Handle named universal character escapes.
      	(convert_ucn): Adjust comment.
      	(convert_escape): Call convert_ucn even for \N.
      	(_cpp_interpret_identifier): Handle named universal character escapes.
      	* lex.cc (get_bidi_ucn): Fix up function comment formatting.
      	(get_bidi_named): New function.
      	(forms_identifier_p, lex_string): Handle named universal character
      	escapes.
      	* makeuname2c.cc: New file.  Small parts copied from makeucnid.cc.
      	* uname2c.h: New generated file.
      gcc/c-family/
      	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
      	__cpp_named_character_escapes to 202207L.
      gcc/testsuite/
      	* c-c++-common/cpp/named-universal-char-escape-1.c: New test.
      	* c-c++-common/cpp/named-universal-char-escape-2.c: New test.
      	* c-c++-common/cpp/named-universal-char-escape-3.c: New test.
      	* c-c++-common/cpp/named-universal-char-escape-4.c: New test.
      	* c-c++-common/Wbidi-chars-25.c: New test.
      	* gcc.dg/cpp/named-universal-char-escape-1.c: New test.
      	* gcc.dg/cpp/named-universal-char-escape-2.c: New test.
      	* g++.dg/cpp/named-universal-char-escape-1.C: New test.
      	* g++.dg/cpp/named-universal-char-escape-2.C: New test.
      	* g++.dg/cpp23/feat-cxx2b.C: Test __cpp_named_character_escapes.
      eb4879ab
  2. Aug 20, 2022
    • Jakub Jelinek's avatar
      libcpp: Implement C++23 P2290R3 - Delimited escape sequences [PR106645] · e9dd050e
      Jakub Jelinek authored
      The following patch implements the C++23 P2290R3 paper.
      
      2022-08-20  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/106645
      libcpp/
      	* include/cpplib.h (struct cpp_options): Implement
      	P2290R3 - Delimited escape sequences.  Add delimite_escape_seqs
      	member.
      	* init.cc (struct lang_flags): Likewise.
      	(lang_defaults): Add delim column.
      	(cpp_set_lang): Copy over delimite_escape_seqs.
      	* charset.cc (extend_char_range): New function.
      	(_cpp_valid_ucn): Use it.  Handle delimited escape sequences.
      	(convert_hex): Likewise.
      	(convert_oct): Likewise.
      	(convert_ucn): Use extend_char_range.
      	(convert_escape): Call convert_oct even for \o.
      	(_cpp_interpret_identifier): Handle delimited escape sequences.
      	* lex.cc (get_bidi_ucn_1): Likewise.  Add end argument, fill it in.
      	(get_bidi_ucn): Adjust get_bidi_ucn_1 caller.  Use end argument to
      	compute num_bytes.
      gcc/testsuite/
      	* c-c++-common/cpp/delimited-escape-seq-1.c: New test.
      	* c-c++-common/cpp/delimited-escape-seq-2.c: New test.
      	* c-c++-common/cpp/delimited-escape-seq-3.c: New test.
      	* c-c++-common/Wbidi-chars-24.c: New test.
      	* gcc.dg/cpp/delimited-escape-seq-1.c: New test.
      	* gcc.dg/cpp/delimited-escape-seq-2.c: New test.
      	* g++.dg/cpp/delimited-escape-seq-1.C: New test.
      	* g++.dg/cpp/delimited-escape-seq-2.C: New test.
      e9dd050e
  3. Aug 08, 2022
    • Tom Honermann's avatar
      preprocessor/106426: Treat u8 character literals as unsigned in char8_t modes. · 053876cd
      Tom Honermann authored
      This patch corrects handling of UTF-8 character literals in preprocessing
      directives so that they are treated as unsigned types in char8_t enabled
      C++ modes (C++17 with -fchar8_t or C++20 without -fno-char8_t). Previously,
      UTF-8 character literals were always treated as having the same type as
      ordinary character literals (signed or unsigned dependent on target or use
      of the -fsigned-char or -funsigned char options).
      
      	PR preprocessor/106426
      
      gcc/c-family/ChangeLog:
      	* c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
      	subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/ext/char8_t-char-literal-1.C: Check signedness of u8 literals.
      	* g++.dg/ext/char8_t-char-literal-2.C: Check signedness of u8 literals.
      
      libcpp/ChangeLog:
      	* charset.cc (narrow_str_to_charconst): Set signedness of CPP_UTF8CHAR
      	literals based on unsigned_utf8char.
      	* include/cpplib.h (cpp_options): Add unsigned_utf8char.
      	* init.cc (cpp_create_reader): Initialize unsigned_utf8char.
      053876cd
  4. Jan 17, 2022
    • Martin Liska's avatar
      Change references of .c files to .cc files · e53b6e56
      Martin Liska authored
      ChangeLog:
      
      	* MAINTAINERS: Rename .c names to .cc.
      
      contrib/ChangeLog:
      
      	* filter-clang-warnings.py: Rename .c names to .cc.
      	* gcc_update: Likewise.
      	* paranoia.cc: Likewise.
      
      contrib/header-tools/ChangeLog:
      
      	* README: Rename .c names to .cc.
      
      gcc/ChangeLog:
      
      	* Makefile.in: Rename .c names to .cc.
      	* alias.h: Likewise.
      	* asan.cc: Likewise.
      	* auto-profile.h: Likewise.
      	* basic-block.h (struct basic_block_d): Likewise.
      	* btfout.cc: Likewise.
      	* builtins.cc (expand_builtin_longjmp): Likewise.
      	(validate_arg): Likewise.
      	(access_ref::offset_bounded): Likewise.
      	* caller-save.cc (reg_restore_code): Likewise.
      	(setup_save_areas): Likewise.
      	* calls.cc (initialize_argument_information): Likewise.
      	(expand_call): Likewise.
      	(emit_library_call_value_1): Likewise.
      	* cfg-flags.def (RTL): Likewise.
      	(SIBCALL): Likewise.
      	(CAN_FALLTHRU): Likewise.
      	* cfganal.cc (post_order_compute): Likewise.
      	* cfgcleanup.cc (try_simplify_condjump): Likewise.
      	(merge_blocks_move_predecessor_nojumps): Likewise.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(merge_blocks_move): Likewise.
      	(old_insns_match_p): Likewise.
      	(try_crossjump_bb): Likewise.
      	* cfgexpand.cc (expand_gimple_stmt): Likewise.
      	* cfghooks.cc (split_block_before_cond_jump): Likewise.
      	(profile_record_check_consistency): Likewise.
      	* cfghooks.h: Likewise.
      	* cfgrtl.cc (pass_free_cfg::execute): Likewise.
      	(rtl_can_merge_blocks): Likewise.
      	(try_redirect_by_replacing_jump): Likewise.
      	(make_pass_outof_cfg_layout_mode): Likewise.
      	(cfg_layout_can_merge_blocks_p): Likewise.
      	* cgraph.cc (release_function_body): Likewise.
      	(cgraph_node::get_fun): Likewise.
      	* cgraph.h (struct cgraph_node): Likewise.
      	(asmname_hasher::equal): Likewise.
      	(cgraph_inline_failed_type): Likewise.
      	(thunk_adjust): Likewise.
      	(dump_callgraph_transformation): Likewise.
      	(record_references_in_initializer): Likewise.
      	(ipa_discover_variable_flags): Likewise.
      	* cgraphclones.cc (GTY): Likewise.
      	* cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
      	* collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
      	* collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
      	* collect2.cc (maybe_run_lto_and_relink): Likewise.
      	* combine-stack-adj.cc: Likewise.
      	* combine.cc (setup_incoming_promotions): Likewise.
      	(combine_simplify_rtx): Likewise.
      	(count_rtxs): Likewise.
      	* common.opt: Likewise.
      	* common/config/aarch64/aarch64-common.cc: Likewise.
      	* common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
      	* common/config/avr/avr-common.cc: Likewise.
      	* common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
      	* conditions.h: Likewise.
      	* config.gcc: Likewise.
      	* config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
      	(aarch64_get_extension_string_for_isa_flags): Likewise.
      	* config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
      	* config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
      	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
      	(aarch64_option_valid_attribute_p): Likewise.
      	(aarch64_short_vector_p): Likewise.
      	(aarch64_float_const_representable_p): Likewise.
      	* config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
      	(ASM_OUTPUT_POOL_EPILOGUE): Likewise.
      	(GTY): Likewise.
      	* config/aarch64/cortex-a57-fma-steering.cc: Likewise.
      	* config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
      	* config/aarch64/t-aarch64: Likewise.
      	* config/aarch64/x-aarch64: Likewise.
      	* config/aarch64/x-darwin: Likewise.
      	* config/alpha/alpha-protos.h: Likewise.
      	* config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
      	* config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
      	(enum reg_class): Likewise.
      	* config/alpha/alpha.md: Likewise.
      	* config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
      	* config/alpha/x-alpha: Likewise.
      	* config/arc/arc-protos.h (arc_eh_uses): Likewise.
      	* config/arc/arc.cc (ARC_OPT): Likewise.
      	(arc_ccfsm_advance): Likewise.
      	(arc_arg_partial_bytes): Likewise.
      	(conditionalize_nonjump): Likewise.
      	* config/arc/arc.md: Likewise.
      	* config/arc/builtins.def: Likewise.
      	* config/arc/t-arc: Likewise.
      	* config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
      	(arm_pragma_target_parse): Likewise.
      	* config/arm/arm-protos.h (save_restore_target_globals): Likewise.
      	(arm_cpu_cpp_builtins): Likewise.
      	* config/arm/arm.cc (vfp3_const_double_index): Likewise.
      	(shift_op): Likewise.
      	(thumb2_final_prescan_insn): Likewise.
      	(arm_final_prescan_insn): Likewise.
      	(arm_asm_output_labelref): Likewise.
      	(arm_small_register_classes_for_mode_p): Likewise.
      	* config/arm/arm.h: Likewise.
      	* config/arm/arm.md: Likewise.
      	* config/arm/driver-arm.cc: Likewise.
      	* config/arm/symbian.h: Likewise.
      	* config/arm/t-arm: Likewise.
      	* config/arm/thumb1.md: Likewise.
      	* config/arm/x-arm: Likewise.
      	* config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
      	* config/avr/avr-fixed.md: Likewise.
      	* config/avr/avr-log.cc (avr_log_vadump): Likewise.
      	* config/avr/avr-mcus.def: Likewise.
      	* config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
      	* config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
      	* config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
      	* config/avr/avr.cc (avr_option_override): Likewise.
      	(avr_build_builtin_va_list): Likewise.
      	(avr_mode_dependent_address_p): Likewise.
      	(avr_function_arg_advance): Likewise.
      	(avr_asm_output_aligned_decl_common): Likewise.
      	* config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
      	(SUPPORTS_INIT_PRIORITY): Likewise.
      	* config/avr/avr.md: Likewise.
      	* config/avr/builtins.def: Likewise.
      	* config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
      	* config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
      	(main): Likewise.
      	* config/avr/t-avr: Likewise.
      	* config/bfin/bfin.cc (frame_related_constant_load): Likewise.
      	* config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
      	* config/bpf/bpf.h (enum reg_class): Likewise.
      	* config/bpf/t-bpf: Likewise.
      	* config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
      	* config/cr16/cr16-protos.h: Likewise.
      	* config/cris/cris.cc (cris_address_cost): Likewise.
      	(cris_side_effect_mode_ok): Likewise.
      	(cris_init_machine_status): Likewise.
      	(cris_emit_movem_store): Likewise.
      	* config/cris/cris.h (INDEX_REG_CLASS): Likewise.
      	(enum reg_class): Likewise.
      	(struct cum_args): Likewise.
      	* config/cris/cris.opt: Likewise.
      	* config/cris/sync.md: Likewise.
      	* config/csky/csky.cc (csky_expand_prologue): Likewise.
      	* config/darwin-c.cc: Likewise.
      	* config/darwin-f.cc: Likewise.
      	* config/darwin-sections.def (zobj_const_section): Likewise.
      	* config/darwin.cc (output_objc_section_asm_op): Likewise.
      	(fprintf): Likewise.
      	* config/darwin.h (GTY): Likewise.
      	* config/elfos.h: Likewise.
      	* config/epiphany/epiphany-sched.md: Likewise.
      	* config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
      	* config/epiphany/epiphany.h (GTY): Likewise.
      	(NO_FUNCTION_CSE): Likewise.
      	* config/epiphany/mode-switch-use.cc: Likewise.
      	* config/epiphany/predicates.md: Likewise.
      	* config/epiphany/t-epiphany: Likewise.
      	* config/fr30/fr30-protos.h: Likewise.
      	* config/frv/frv-protos.h: Likewise.
      	* config/frv/frv.cc (TLS_BIAS): Likewise.
      	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
      	* config/ft32/ft32-protos.h: Likewise.
      	* config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
      	* config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
      	* config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
      	* config/gcn/t-gcn-hsa: Likewise.
      	* config/gcn/t-omp-device: Likewise.
      	* config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
      	(same_cmp_following_p): Likewise.
      	* config/h8300/h8300.cc (F): Likewise.
      	* config/h8300/h8300.h (struct cum_arg): Likewise.
      	(BRANCH_COST): Likewise.
      	* config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
      	* config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
      	* config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
      	* config/i386/driver-i386.cc (detect_caches_intel): Likewise.
      	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
      	* config/i386/i386-c.cc (ix86_target_macros): Likewise.
      	* config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
      	* config/i386/i386-options.cc (ix86_set_func_type): Likewise.
      	* config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
      	(ix86_register_pragmas): Likewise.
      	(ix86_d_has_stdcall_convention): Likewise.
      	(i386_pe_seh_init_sections): Likewise.
      	* config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
      	(ix86_function_value_regno_p): Likewise.
      	(ix86_compute_frame_layout): Likewise.
      	(legitimize_pe_coff_symbol): Likewise.
      	(output_pic_addr_const): Likewise.
      	* config/i386/i386.h (defined): Likewise.
      	(host_detect_local_cpu): Likewise.
      	(CONSTANT_ADDRESS_P): Likewise.
      	(DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
      	(struct machine_frame_state): Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/i386/mmx.md: Likewise.
      	* config/i386/sse.md: Likewise.
      	* config/i386/t-cygming: Likewise.
      	* config/i386/t-djgpp: Likewise.
      	* config/i386/t-gnu-property: Likewise.
      	* config/i386/t-i386: Likewise.
      	* config/i386/t-intelmic: Likewise.
      	* config/i386/t-omp-device: Likewise.
      	* config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
      	(i386_pe_adjust_class_at_definition): Likewise.
      	* config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
      	(i386_pe_mangle_decl_assembler_name): Likewise.
      	(i386_pe_encode_section_info): Likewise.
      	* config/i386/x-cygwin: Likewise.
      	* config/i386/x-darwin: Likewise.
      	* config/i386/x-i386: Likewise.
      	* config/i386/x-mingw32: Likewise.
      	* config/i386/x86-tune-sched-core.cc: Likewise.
      	* config/i386/x86-tune.def: Likewise.
      	* config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
      	* config/ia64/freebsd.h: Likewise.
      	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
      	* config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
      	* config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
      	(ia64_secondary_reload_class): Likewise.
      	(bundling): Likewise.
      	* config/ia64/ia64.h: Likewise.
      	* config/ia64/ia64.md: Likewise.
      	* config/ia64/predicates.md: Likewise.
      	* config/ia64/sysv4.h: Likewise.
      	* config/ia64/t-ia64: Likewise.
      	* config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
      	* config/iq2000/iq2000.md: Likewise.
      	* config/linux.h (TARGET_HAS_BIONIC): Likewise.
      	(if): Likewise.
      	* config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
      	* config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
      	* config/m32c/t-m32c: Likewise.
      	* config/m32r/m32r-protos.h: Likewise.
      	* config/m32r/m32r.cc (m32r_print_operand): Likewise.
      	* config/m32r/m32r.h: Likewise.
      	* config/m32r/m32r.md: Likewise.
      	* config/m68k/m68k-isas.def: Likewise.
      	* config/m68k/m68k-microarchs.def: Likewise.
      	* config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
      	(m68k_epilogue_uses): Likewise.
      	* config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
      	(m68k_sched_adjust_cost): Likewise.
      	(m68k_sched_md_init): Likewise.
      	* config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
      	(enum m68k_function_kind): Likewise.
      	* config/m68k/m68k.md: Likewise.
      	* config/m68k/m68kemb.h: Likewise.
      	* config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
      	* config/mcore/mcore-protos.h: Likewise.
      	* config/mcore/mcore.cc (mcore_expand_insv): Likewise.
      	(mcore_expand_prolog): Likewise.
      	* config/mcore/mcore.h (TARGET_MCORE): Likewise.
      	* config/mcore/mcore.md: Likewise.
      	* config/microblaze/microblaze-protos.h: Likewise.
      	* config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
      	(microblaze_function_prologue): Likewise.
      	(microblaze_function_epilogue): Likewise.
      	(microblaze_select_section): Likewise.
      	(microblaze_asm_output_mi_thunk): Likewise.
      	(microblaze_eh_return): Likewise.
      	* config/microblaze/microblaze.h: Likewise.
      	* config/microblaze/microblaze.md: Likewise.
      	* config/microblaze/t-microblaze: Likewise.
      	* config/mips/driver-native.cc: Likewise.
      	* config/mips/loongson2ef.md: Likewise.
      	* config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
      	* config/mips/mips.cc (mips_rtx_costs): Likewise.
      	(mips_output_filename): Likewise.
      	(mips_output_function_prologue): Likewise.
      	(mips_output_function_epilogue): Likewise.
      	(mips_output_mi_thunk): Likewise.
      	* config/mips/mips.h: Likewise.
      	* config/mips/mips.md: Likewise.
      	* config/mips/t-mips: Likewise.
      	* config/mips/x-native: Likewise.
      	* config/mmix/mmix-protos.h: Likewise.
      	* config/mmix/mmix.cc (mmix_option_override): Likewise.
      	(mmix_dbx_register_number): Likewise.
      	(mmix_expand_prologue): Likewise.
      	* config/mmix/mmix.h: Likewise.
      	* config/mmix/mmix.md: Likewise.
      	* config/mmix/predicates.md: Likewise.
      	* config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
      	(mn10300_legitimate_pic_operand_p): Likewise.
      	* config/mn10300/mn10300.h (enum reg_class): Likewise.
      	(NO_FUNCTION_CSE): Likewise.
      	* config/moxie/moxie-protos.h: Likewise.
      	* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
      	* config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
      	* config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
      	(msp430_incoming_return_addr_rtx): Likewise.
      	* config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
      	* config/msp430/t-msp430: Likewise.
      	* config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
      	(nds32_rtx_costs_size_prefer): Likewise.
      	(nds32_init_rtx_costs): Likewise.
      	* config/nds32/nds32-doubleword.md: Likewise.
      	* config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
      	(nds32_builtin_decl): Likewise.
      	* config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
      	(enum nds32_isr_nested_type): Likewise.
      	(enum reg_class): Likewise.
      	* config/nds32/predicates.md: Likewise.
      	* config/nds32/t-nds32: Likewise.
      	* config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
      	* config/nvptx/nvptx-protos.h: Likewise.
      	* config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
      	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
      	* config/nvptx/t-nvptx: Likewise.
      	* config/nvptx/t-omp-device: Likewise.
      	* config/pa/elf.h: Likewise.
      	* config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
      	* config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
      	* config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
      	* config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
      	(pa_legitimize_reload_address): Likewise.
      	(pa_can_use_return_insn): Likewise.
      	* config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
      	(som_output_text_section_asm_op): Likewise.
      	* config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
      	* config/pa/pa.md: Likewise.
      	* config/pa/som.h: Likewise.
      	* config/pa/t-pa: Likewise.
      	* config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
      	* config/pdp11/pdp11.h: Likewise.
      	* config/pdp11/pdp11.md: Likewise.
      	* config/pdp11/t-pdp11: Likewise.
      	* config/pru/pru.md: Likewise.
      	* config/pru/t-pru: Likewise.
      	* config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
      	(riscv_gpr_save_operation_p): Likewise.
      	(riscv_d_register_target_info): Likewise.
      	(riscv_init_builtins): Likewise.
      	* config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
      	* config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
      	* config/riscv/t-riscv: Likewise.
      	* config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
      	* config/rl78/t-rl78: Likewise.
      	* config/rs6000/aix.h: Likewise.
      	* config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
      	* config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
      	* config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
      	* config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
      	* config/rs6000/driver-rs6000.cc: Likewise.
      	* config/rs6000/freebsd.h: Likewise.
      	* config/rs6000/freebsd64.h: Likewise.
      	* config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
      	* config/rs6000/rbtree.cc: Likewise.
      	* config/rs6000/rbtree.h: Likewise.
      	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
      	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
      	(rs6000_expand_builtin): Likewise.
      	(rs6000_init_builtins): Likewise.
      	* config/rs6000/rs6000-cpus.def: Likewise.
      	* config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
      	* config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
      	(quad_address_offset_p): Likewise.
      	* config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
      	(rs6000_emit_epilogue): Likewise.
      	* config/rs6000/rs6000-overload.def: Likewise.
      	* config/rs6000/rs6000-p8swap.cc: Likewise.
      	* config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
      	(rs6000_const_f32_to_i32): Likewise.
      	* config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
      	(rs6000_debug_legitimize_address): Likewise.
      	(rs6000_mode_dependent_address): Likewise.
      	(rs6000_adjust_priority): Likewise.
      	(rs6000_c_mode_for_suffix): Likewise.
      	* config/rs6000/rs6000.h (defined): Likewise.
      	(LONG_DOUBLE_TYPE_SIZE): Likewise.
      	* config/rs6000/rs6000.md: Likewise.
      	* config/rs6000/sysv4.h: Likewise.
      	* config/rs6000/t-linux: Likewise.
      	* config/rs6000/t-linux64: Likewise.
      	* config/rs6000/t-rs6000: Likewise.
      	* config/rs6000/x-darwin: Likewise.
      	* config/rs6000/x-darwin64: Likewise.
      	* config/rs6000/x-rs6000: Likewise.
      	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
      	* config/rx/rx.cc (rx_expand_builtin): Likewise.
      	* config/s390/constraints.md: Likewise.
      	* config/s390/driver-native.cc: Likewise.
      	* config/s390/htmxlintrin.h: Likewise.
      	* config/s390/s390-builtins.def (B_DEF): Likewise.
      	(OB_DEF_VAR): Likewise.
      	* config/s390/s390-builtins.h: Likewise.
      	* config/s390/s390-c.cc: Likewise.
      	* config/s390/s390-opts.h: Likewise.
      	* config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
      	(s390_register_target_pragmas): Likewise.
      	* config/s390/s390.cc (s390_init_builtins): Likewise.
      	(s390_expand_plus_operand): Likewise.
      	(s390_expand_atomic): Likewise.
      	(s390_valid_target_attribute_inner_p): Likewise.
      	* config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
      	* config/s390/s390.md: Likewise.
      	* config/s390/t-s390: Likewise.
      	* config/s390/vx-builtins.md: Likewise.
      	* config/s390/x-native: Likewise.
      	* config/sh/divtab-sh4-300.cc (main): Likewise.
      	* config/sh/divtab-sh4.cc (main): Likewise.
      	* config/sh/divtab.cc (main): Likewise.
      	* config/sh/elf.h: Likewise.
      	* config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
      	* config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
      	(sh_struct_value_rtx): Likewise.
      	(sh_remove_reg_dead_or_unused_notes): Likewise.
      	* config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
      	* config/sh/t-sh: Likewise.
      	* config/sol2-protos.h (solaris_override_options): Likewise.
      	* config/sol2.h: Likewise.
      	* config/sparc/driver-sparc.cc: Likewise.
      	* config/sparc/freebsd.h: Likewise.
      	* config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
      	* config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
      	(sparc_asan_shadow_offset): Likewise.
      	* config/sparc/sparc.h: Likewise.
      	* config/sparc/sparc.md: Likewise.
      	* config/sparc/t-sparc: Likewise.
      	* config/sparc/x-sparc: Likewise.
      	* config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
      	* config/t-darwin: Likewise.
      	* config/t-dragonfly: Likewise.
      	* config/t-freebsd: Likewise.
      	* config/t-glibc: Likewise.
      	* config/t-linux: Likewise.
      	* config/t-netbsd: Likewise.
      	* config/t-openbsd: Likewise.
      	* config/t-pnt16-warn: Likewise.
      	* config/t-sol2: Likewise.
      	* config/t-vxworks: Likewise.
      	* config/t-winnt: Likewise.
      	* config/tilegx/t-tilegx: Likewise.
      	* config/tilegx/tilegx-c.cc: Likewise.
      	* config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
      	* config/tilegx/tilegx.md: Likewise.
      	* config/tilepro/t-tilepro: Likewise.
      	* config/tilepro/tilepro-c.cc: Likewise.
      	* config/v850/t-v850: Likewise.
      	* config/v850/v850-protos.h: Likewise.
      	* config/v850/v850.cc (F): Likewise.
      	* config/v850/v850.h (enum reg_class): Likewise.
      	(SLOW_BYTE_ACCESS): Likewise.
      	* config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
      	* config/vax/vax.h (enum reg_class): Likewise.
      	* config/vax/vax.md: Likewise.
      	* config/visium/visium.cc (visium_legitimate_address_p): Likewise.
      	* config/visium/visium.h: Likewise.
      	* config/vms/t-vms: Likewise.
      	* config/vms/vms-crtlmap.map: Likewise.
      	* config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
      	* config/vx-common.h: Likewise.
      	* config/x-darwin: Likewise.
      	* config/x-hpux: Likewise.
      	* config/x-linux: Likewise.
      	* config/x-netbsd: Likewise.
      	* config/x-openbsd: Likewise.
      	* config/x-solaris: Likewise.
      	* config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
      	* config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
      	* config/xtensa/xtensa.h: Likewise.
      	* configure.ac: Likewise.
      	* context.cc: Likewise.
      	* convert.h: Likewise.
      	* coretypes.h: Likewise.
      	* coverage.cc: Likewise.
      	* coverage.h: Likewise.
      	* cppdefault.h (struct default_include): Likewise.
      	* cprop.cc (local_cprop_pass): Likewise.
      	(one_cprop_pass): Likewise.
      	* cse.cc (hash_rtx_cb): Likewise.
      	(fold_rtx): Likewise.
      	* ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
      	* data-streamer.h (bp_unpack_var_len_int): Likewise.
      	(streamer_write_widest_int): Likewise.
      	* dbgcnt.def: Likewise.
      	* dbxout.cc (dbxout_early_global_decl): Likewise.
      	(dbxout_common_check): Likewise.
      	* dbxout.h: Likewise.
      	* debug.h (struct gcc_debug_hooks): Likewise.
      	(dump_go_spec_init): Likewise.
      	* df-core.cc: Likewise.
      	* df-scan.cc (df_insn_info_delete): Likewise.
      	(df_insn_delete): Likewise.
      	* df.h (debug_df_chain): Likewise.
      	(can_move_insns_across): Likewise.
      	* dfp.cc (decimal_from_binary): Likewise.
      	* diagnostic-color.cc: Likewise.
      	* diagnostic-event-id.h: Likewise.
      	* diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
      	* diagnostic.cc (bt_callback): Likewise.
      	(num_digits): Likewise.
      	* doc/avr-mmcu.texi: Likewise.
      	* doc/cfg.texi: Likewise.
      	* doc/contrib.texi: Likewise.
      	* doc/cppinternals.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/generic.texi: Likewise.
      	* doc/gimple.texi: Likewise.
      	* doc/gty.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/loop.texi: Likewise.
      	* doc/lto.texi: Likewise.
      	* doc/match-and-simplify.texi: Likewise.
      	* doc/md.texi: Likewise.
      	* doc/optinfo.texi: Likewise.
      	* doc/options.texi: Likewise.
      	* doc/passes.texi: Likewise.
      	* doc/plugins.texi: Likewise.
      	* doc/rtl.texi: Likewise.
      	* doc/sourcebuild.texi: Likewise.
      	* doc/tm.texi: Likewise.
      	* doc/tm.texi.in: Likewise.
      	* doc/tree-ssa.texi: Likewise.
      	* dojump.cc (do_jump): Likewise.
      	* dojump.h: Likewise.
      	* dumpfile.cc (test_impl_location): Likewise.
      	(test_capture_of_dump_calls): Likewise.
      	* dumpfile.h (enum dump_kind): Likewise.
      	(class dump_location_t): Likewise.
      	(dump_enabled_p): Likewise.
      	(enable_rtl_dump_file): Likewise.
      	(dump_combine_total_stats): Likewise.
      	* dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
      	* dwarf2ctf.h (ctf_debug_finish): Likewise.
      	* dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
      	(struct loc_descr_context): Likewise.
      	(rtl_for_decl_location): Likewise.
      	(gen_subprogram_die): Likewise.
      	(gen_label_die): Likewise.
      	(is_trivial_indirect_ref): Likewise.
      	(dwarf2out_late_global_decl): Likewise.
      	(dwarf_file_hasher::hash): Likewise.
      	(dwarf2out_end_source_file): Likewise.
      	(dwarf2out_define): Likewise.
      	(dwarf2out_early_finish): Likewise.
      	* dwarf2out.h (struct dw_fde_node): Likewise.
      	(struct dw_discr_list_node): Likewise.
      	(output_loc_sequence_raw): Likewise.
      	* emit-rtl.cc (gen_raw_REG): Likewise.
      	(maybe_set_max_label_num): Likewise.
      	* emit-rtl.h (struct rtl_data): Likewise.
      	* errors.cc (internal_error): Likewise.
      	(trim_filename): Likewise.
      	* et-forest.cc: Likewise.
      	* except.cc (init_eh_for_function): Likewise.
      	* explow.cc (promote_ssa_mode): Likewise.
      	(get_dynamic_stack_size): Likewise.
      	* explow.h: Likewise.
      	* expmed.h: Likewise.
      	* expr.cc (safe_from_p): Likewise.
      	(expand_expr_real_2): Likewise.
      	(expand_expr_real_1): Likewise.
      	* file-prefix-map.cc (remap_filename): Likewise.
      	* final.cc (app_enable): Likewise.
      	(make_pass_compute_alignments): Likewise.
      	(final_scan_insn_1): Likewise.
      	(final_scan_insn): Likewise.
      	* fixed-value.h (fixed_from_string): Likewise.
      	* flag-types.h (NO_DEBUG): Likewise.
      	(DWARF2_DEBUG): Likewise.
      	(VMS_DEBUG): Likewise.
      	(BTF_DEBUG): Likewise.
      	(enum ctf_debug_info_levels): Likewise.
      	* fold-const.cc (const_binop): Likewise.
      	(fold_binary_loc): Likewise.
      	(fold_checksum_tree): Likewise.
      	* fp-test.cc: Likewise.
      	* function.cc (expand_function_end): Likewise.
      	* function.h (struct function): Likewise.
      	* fwprop.cc (should_replace_address): Likewise.
      	* gcc-main.cc: Likewise.
      	* gcc-rich-location.h (class gcc_rich_location): Likewise.
      	* gcc-symtab.h: Likewise.
      	* gcc.cc (MIN_FATAL_STATUS): Likewise.
      	(driver_handle_option): Likewise.
      	(quote_spec_arg): Likewise.
      	(driver::finalize): Likewise.
      	* gcc.h (set_input): Likewise.
      	* gcov-dump.cc: Likewise.
      	* gcov.cc (solve_flow_graph): Likewise.
      	* gcse-common.cc: Likewise.
      	* gcse.cc (make_pass_rtl_hoist): Likewise.
      	* genattr-common.cc: Likewise.
      	* genattrtab.cc (min_fn): Likewise.
      	(write_const_num_delay_slots): Likewise.
      	* genautomata.cc: Likewise.
      	* genconditions.cc (write_one_condition): Likewise.
      	* genconstants.cc: Likewise.
      	* genemit.cc (gen_exp): Likewise.
      	* generic-match-head.cc: Likewise.
      	* genextract.cc: Likewise.
      	* gengenrtl.cc (always_void_p): Likewise.
      	* gengtype-parse.cc (gtymarker_opt): Likewise.
      	* gengtype-state.cc (state_writer::state_writer): Likewise.
      	(write_state_trailer): Likewise.
      	(equals_type_number): Likewise.
      	(read_state): Likewise.
      	* gengtype.cc (open_base_files): Likewise.
      	(struct file_rule_st): Likewise.
      	(header_dot_h_frul): Likewise.
      	* gengtype.h: Likewise.
      	* genmatch.cc (main): Likewise.
      	* genmddeps.cc: Likewise.
      	* genmodes.cc (emit_mode_inner): Likewise.
      	(emit_mode_unit_size): Likewise.
      	* genpeep.cc (gen_peephole): Likewise.
      	* genpreds.cc (write_tm_preds_h): Likewise.
      	* genrecog.cc (validate_pattern): Likewise.
      	(write_header): Likewise.
      	(main): Likewise.
      	* gensupport.cc (change_subst_attribute): Likewise.
      	(traverse_c_tests): Likewise.
      	(add_predicate): Likewise.
      	(init_predicate_table): Likewise.
      	* gensupport.h (struct optab_pattern): Likewise.
      	(get_num_insn_codes): Likewise.
      	(maybe_eval_c_test): Likewise.
      	(struct pred_data): Likewise.
      	* ggc-internal.h: Likewise.
      	* gimple-fold.cc (maybe_fold_reference): Likewise.
      	(get_range_strlen_tree): Likewise.
      	* gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
      	* gimple-low.cc: Likewise.
      	* gimple-match-head.cc (directly_supported_p): Likewise.
      	* gimple-pretty-print.h: Likewise.
      	* gimple-ssa-sprintf.cc (format_percent): Likewise.
      	(adjust_range_for_overflow): Likewise.
      	* gimple-streamer.h: Likewise.
      	* gimple.h (struct GTY): Likewise.
      	(is_gimple_resx): Likewise.
      	* gimplify.cc (gimplify_expr): Likewise.
      	(gimplify_init_constructor): Likewise.
      	(omp_construct_selector_matches): Likewise.
      	(gimplify_omp_target_update): Likewise.
      	(gimplify_omp_ordered): Likewise.
      	(gimplify_va_arg_expr): Likewise.
      	* graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
      	* haifa-sched.cc (increase_insn_priority): Likewise.
      	(try_ready): Likewise.
      	(sched_create_recovery_edges): Likewise.
      	* ifcvt.cc (find_if_case_1): Likewise.
      	(find_if_case_2): Likewise.
      	* inchash.h: Likewise.
      	* incpath.cc (add_env_var_paths): Likewise.
      	* input.cc (dump_location_info): Likewise.
      	(assert_loceq): Likewise.
      	(test_lexer_string_locations_concatenation_1): Likewise.
      	(test_lexer_string_locations_concatenation_2): Likewise.
      	(test_lexer_string_locations_concatenation_3): Likewise.
      	* input.h (BUILTINS_LOCATION): Likewise.
      	(class string_concat_db): Likewise.
      	* internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
      	(expand_LOOP_VECTORIZED): Likewise.
      	* ipa-cp.cc (make_pass_ipa_cp): Likewise.
      	* ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
      	(ipa_fn_summary_t::duplicate): Likewise.
      	(make_pass_ipa_fn_summary): Likewise.
      	* ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
      	* ipa-free-lang-data.cc (fld_simplified_type): Likewise.
      	(free_lang_data_in_decl): Likewise.
      	* ipa-inline.cc (compute_inlined_call_time): Likewise.
      	(inline_always_inline_functions): Likewise.
      	* ipa-inline.h (free_growth_caches): Likewise.
      	(inline_account_function_p): Likewise.
      	* ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
      	(modref_eaf_analysis::analyze_ssa_name): Likewise.
      	* ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
      	(ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
      	* ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
      	* ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
      	(unadjusted_ptr_and_unit_offset): Likewise.
      	* ipa-reference.cc (make_pass_ipa_reference): Likewise.
      	* ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
      	* ipa-split.cc (consider_split): Likewise.
      	* ipa-sra.cc (isra_read_node_info): Likewise.
      	* ipa-utils.h (struct ipa_dfs_info): Likewise.
      	(recursive_call_p): Likewise.
      	(ipa_make_function_pure): Likewise.
      	* ira-build.cc (ira_create_allocno): Likewise.
      	(ira_flattening): Likewise.
      	* ira-color.cc (do_coloring): Likewise.
      	(update_curr_costs): Likewise.
      	* ira-conflicts.cc (process_regs_for_copy): Likewise.
      	* ira-int.h (struct ira_emit_data): Likewise.
      	(ira_prohibited_mode_move_regs): Likewise.
      	(ira_get_dup_out_num): Likewise.
      	(ira_destroy): Likewise.
      	(ira_tune_allocno_costs): Likewise.
      	(ira_implicitly_set_insn_hard_regs): Likewise.
      	(ira_build_conflicts): Likewise.
      	(ira_color): Likewise.
      	* ira-lives.cc (process_bb_node_lives): Likewise.
      	* ira.cc (class ira_spilled_reg_stack_slot): Likewise.
      	(setup_uniform_class_p): Likewise.
      	(def_dominates_uses): Likewise.
      	* ira.h (ira_nullify_asm_goto): Likewise.
      	* langhooks.cc (lhd_post_options): Likewise.
      	* langhooks.h (class substring_loc): Likewise.
      	(struct lang_hooks_for_tree_inlining): Likewise.
      	(struct lang_hooks_for_types): Likewise.
      	(struct lang_hooks): Likewise.
      	* libfuncs.h (synchronize_libfunc): Likewise.
      	* loop-doloop.cc (doloop_condition_get): Likewise.
      	* loop-init.cc (fix_loop_structure): Likewise.
      	* loop-invariant.cc: Likewise.
      	* lower-subreg.h: Likewise.
      	* lra-constraints.cc (curr_insn_transform): Likewise.
      	* lra-int.h (struct lra_insn_reg): Likewise.
      	(lra_undo_inheritance): Likewise.
      	(lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
      	(lra_split_hard_reg_for): Likewise.
      	(lra_coalesce): Likewise.
      	(lra_final_code_change): Likewise.
      	* lra-spills.cc (lra_final_code_change): Likewise.
      	* lra.cc (lra_process_new_insns): Likewise.
      	* lto-compress.h (struct lto_compression_stream): Likewise.
      	* lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
      	(write_symbol): Likewise.
      	* lto-streamer.h (enum LTO_tags): Likewise.
      	(lto_value_range_error): Likewise.
      	(lto_append_block): Likewise.
      	(lto_streamer_hooks_init): Likewise.
      	(stream_read_tree_ref): Likewise.
      	(lto_prepare_function_for_streaming): Likewise.
      	(select_what_to_stream): Likewise.
      	(omp_lto_input_declare_variant_alt): Likewise.
      	(cl_optimization_stream_in): Likewise.
      	* lto-wrapper.cc (append_compiler_options): Likewise.
      	* machmode.def: Likewise.
      	* machmode.h (struct int_n_data_t): Likewise.
      	* main.cc (main): Likewise.
      	* match.pd: Likewise.
      	* omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
      	(BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
      	* omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
      	(make_pass_expand_omp_ssa): Likewise.
      	* omp-low.cc (struct omp_context): Likewise.
      	(struct omp_taskcopy_context): Likewise.
      	(lower_omp): Likewise.
      	* omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
      	(mask_name): Likewise.
      	(omp_sese_dump_pars): Likewise.
      	(worker_single_simple): Likewise.
      	* omp-offload.cc (omp_finish_file): Likewise.
      	(execute_oacc_loop_designation): Likewise.
      	* optabs-query.cc (lshift_cheap_p): Likewise.
      	* optc-gen.awk: Likewise.
      	* optc-save-gen.awk: Likewise.
      	* optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
      	* opts-common.cc: Likewise.
      	* output.h (app_enable): Likewise.
      	(output_operand_lossage): Likewise.
      	(insn_current_reference_address): Likewise.
      	(get_insn_template): Likewise.
      	(output_quoted_string): Likewise.
      	* pass_manager.h (struct register_pass_info): Likewise.
      	* plugin.cc: Likewise.
      	* plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
      	* plugin.h (invoke_plugin_callbacks): Likewise.
      	* pointer-query.cc (handle_mem_ref): Likewise.
      	* postreload-gcse.cc (alloc_mem): Likewise.
      	* predict.h (enum prediction): Likewise.
      	(add_reg_br_prob_note): Likewise.
      	* prefix.h: Likewise.
      	* profile.h (get_working_sets): Likewise.
      	* read-md.cc: Likewise.
      	* read-md.h (struct mapping): Likewise.
      	(class md_reader): Likewise.
      	(class noop_reader): Likewise.
      	* read-rtl-function.cc (function_reader::create_function): Likewise.
      	(function_reader::extra_parsing_for_operand_code_0): Likewise.
      	* read-rtl.cc (initialize_iterators): Likewise.
      	* real.cc: Likewise.
      	* real.h (struct real_value): Likewise.
      	(format_helper::format_helper): Likewise.
      	(real_hash): Likewise.
      	(real_can_shorten_arithmetic): Likewise.
      	* recog.cc (struct target_recog): Likewise.
      	(offsettable_nonstrict_memref_p): Likewise.
      	(constrain_operands): Likewise.
      	* recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
      	(which_op_alt): Likewise.
      	(struct insn_gen_fn): Likewise.
      	* reg-notes.def (REG_NOTE): Likewise.
      	* reg-stack.cc: Likewise.
      	* regs.h (reg_is_parm_p): Likewise.
      	* regset.h: Likewise.
      	* reload.cc (push_reload): Likewise.
      	(find_reloads): Likewise.
      	(find_reloads_address_1): Likewise.
      	(find_replacement): Likewise.
      	(refers_to_regno_for_reload_p): Likewise.
      	(refers_to_mem_for_reload_p): Likewise.
      	* reload.h (push_reload): Likewise.
      	(deallocate_reload_reg): Likewise.
      	* reload1.cc (emit_input_reload_insns): Likewise.
      	* reorg.cc (relax_delay_slots): Likewise.
      	* rtl.def (UNKNOWN): Likewise.
      	(SEQUENCE): Likewise.
      	(BARRIER): Likewise.
      	(ASM_OPERANDS): Likewise.
      	(EQ_ATTR_ALT): Likewise.
      	* rtl.h (struct GTY): Likewise.
      	(LABEL_NAME): Likewise.
      	(LABEL_ALT_ENTRY_P): Likewise.
      	(SUBREG_BYTE): Likewise.
      	(get_stack_check_protect): Likewise.
      	(dump_rtx_statistics): Likewise.
      	(unwrap_const_vec_duplicate): Likewise.
      	(subreg_promoted_mode): Likewise.
      	(gen_lowpart_common): Likewise.
      	(operand_subword): Likewise.
      	(immed_wide_int_const): Likewise.
      	(decide_function_section): Likewise.
      	(active_insn_p): Likewise.
      	(delete_related_insns): Likewise.
      	(try_split): Likewise.
      	(val_signbit_known_clear_p): Likewise.
      	(simplifiable_subregs): Likewise.
      	(set_insn_deleted): Likewise.
      	(subreg_get_info): Likewise.
      	(remove_free_EXPR_LIST_node): Likewise.
      	(finish_subregs_of_mode): Likewise.
      	(get_mem_attrs): Likewise.
      	(lookup_constant_def): Likewise.
      	(rtx_to_tree_code): Likewise.
      	(hash_rtx): Likewise.
      	(condjump_in_parallel_p): Likewise.
      	(validate_subreg): Likewise.
      	(make_compound_operation): Likewise.
      	(schedule_ebbs): Likewise.
      	(print_inline_rtx): Likewise.
      	(fixup_args_size_notes): Likewise.
      	(expand_dec): Likewise.
      	(prepare_copy_insn): Likewise.
      	(mark_elimination): Likewise.
      	(valid_mode_changes_for_regno): Likewise.
      	(make_debug_expr_from_rtl): Likewise.
      	(delete_vta_debug_insns): Likewise.
      	(simplify_using_condition): Likewise.
      	(set_insn_locations): Likewise.
      	(fatal_insn_not_found): Likewise.
      	(word_register_operation_p): Likewise.
      	* rtlanal.cc (get_call_fndecl): Likewise.
      	(side_effects_p): Likewise.
      	(subreg_nregs): Likewise.
      	(rtx_cost): Likewise.
      	(canonicalize_condition): Likewise.
      	* rtlanal.h (rtx_properties::try_to_add_note): Likewise.
      	* run-rtl-passes.cc (run_rtl_passes): Likewise.
      	* sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
      	* sched-deps.cc (add_dependence_1): Likewise.
      	* sched-ebb.cc (begin_move_insn): Likewise.
      	(add_deps_for_risky_insns): Likewise.
      	(advance_target_bb): Likewise.
      	* sched-int.h (reemit_notes): Likewise.
      	(struct _haifa_insn_data): Likewise.
      	(HID): Likewise.
      	(DEP_CANCELLED): Likewise.
      	(debug_ds): Likewise.
      	(number_in_ready): Likewise.
      	(schedule_ebbs_finish): Likewise.
      	(find_modifiable_mems): Likewise.
      	* sched-rgn.cc (debug_rgn_dependencies): Likewise.
      	* sel-sched-dump.cc (dump_lv_set): Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
      	(setup_id_reg_sets): Likewise.
      	(has_dependence_p): Likewise.
      	(sel_num_cfg_preds_gt_1): Likewise.
      	(bb_ends_ebb_p): Likewise.
      	* sel-sched-ir.h (struct _list_node): Likewise.
      	(struct idata_def): Likewise.
      	(bb_next_bb): Likewise.
      	* sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
      	(choose_best_pseudo_reg): Likewise.
      	(verify_target_availability): Likewise.
      	(can_speculate_dep_p): Likewise.
      	(sel_rank_for_schedule): Likewise.
      	* selftest-run-tests.cc (selftest::run_tests): Likewise.
      	* selftest.h (class auto_fix_quotes): Likewise.
      	* shrink-wrap.cc (handle_simple_exit): Likewise.
      	* shrink-wrap.h: Likewise.
      	* simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
      	(simplify_context::simplify_gen_vec_select): Likewise.
      	* spellcheck-tree.h: Likewise.
      	* spellcheck.h: Likewise.
      	* statistics.h (struct function): Likewise.
      	* stmt.cc (conditional_probability): Likewise.
      	* stmt.h: Likewise.
      	* stor-layout.h: Likewise.
      	* streamer-hooks.h: Likewise.
      	* stringpool.h: Likewise.
      	* symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
      	* target.def (HOOK_VECTOR_END): Likewise.
      	(type.): Likewise.
      	* target.h (union cumulative_args_t): Likewise.
      	(by_pieces_ninsns): Likewise.
      	(class predefined_function_abi): Likewise.
      	* targhooks.cc (default_translate_mode_attribute): Likewise.
      	* timevar.def: Likewise.
      	* timevar.h (class timer): Likewise.
      	* toplev.h (enable_rtl_dump_file): Likewise.
      	* trans-mem.cc (collect_bb2reg): Likewise.
      	* tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
      	* tree-cfg.cc (remove_bb): Likewise.
      	(verify_gimple_debug): Likewise.
      	(remove_edge_and_dominated_blocks): Likewise.
      	(push_fndecl): Likewise.
      	* tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
      	* tree-complex.cc (expand_complex_multiplication): Likewise.
      	(expand_complex_div_straight): Likewise.
      	* tree-core.h (enum tree_index): Likewise.
      	(enum operand_equal_flag): Likewise.
      	* tree-eh.cc (honor_protect_cleanup_actions): Likewise.
      	* tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
      	* tree-inline.cc (initialize_inlined_parameters): Likewise.
      	* tree-inline.h (force_value_to_type): Likewise.
      	* tree-nested.cc (get_chain_decl): Likewise.
      	(walk_all_functions): Likewise.
      	* tree-object-size.h: Likewise.
      	* tree-outof-ssa.cc: Likewise.
      	* tree-parloops.cc (create_parallel_loop): Likewise.
      	* tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
      	(dump_generic_node): Likewise.
      	* tree-profile.cc (tree_profiling): Likewise.
      	* tree-sra.cc (maybe_add_sra_candidate): Likewise.
      	* tree-ssa-address.cc: Likewise.
      	* tree-ssa-alias.cc: Likewise.
      	* tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
      	(dump_alias_stats): Likewise.
      	* tree-ssa-ccp.cc: Likewise.
      	* tree-ssa-coalesce.h: Likewise.
      	* tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
      	* tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
      	* tree-ssa-loop-unswitch.cc: Likewise.
      	* tree-ssa-math-opts.cc: Likewise.
      	* tree-ssa-operands.cc (class operands_scanner): Likewise.
      	* tree-ssa-pre.cc: Likewise.
      	* tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
      	(debug_range_entry): Likewise.
      	* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
      	* tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
      	* tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
      	(equal_mem_array_ref_p): Likewise.
      	* tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
      	* tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
      	* tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
      	* tree-ssa-ter.h: Likewise.
      	* tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
      	* tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
      	* tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
      	(write_ts_block_tree_pointers): Likewise.
      	* tree-streamer.h (struct streamer_tree_cache_d): Likewise.
      	(streamer_read_tree_bitfields): Likewise.
      	(streamer_write_integer_cst): Likewise.
      	* tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
      	(vect_synth_mult_by_constant): Likewise.
      	* tree-vect-stmts.cc (vectorizable_operation): Likewise.
      	* tree-vectorizer.cc: Likewise.
      	* tree-vectorizer.h (class auto_purge_vect_location): Likewise.
      	(vect_update_inits_of_drs): Likewise.
      	(vect_get_mask_type_for_stmt): Likewise.
      	(vect_rgroup_iv_might_wrap_p): Likewise.
      	(cse_and_gimplify_to_preheader): Likewise.
      	(vect_free_slp_tree): Likewise.
      	(vect_pattern_recog): Likewise.
      	(vect_stmt_dominates_stmt_p): Likewise.
      	* tree.cc (initialize_tree_contains_struct): Likewise.
      	(need_assembler_name_p): Likewise.
      	(type_with_interoperable_signedness): Likewise.
      	* tree.def (SWITCH_EXPR): Likewise.
      	* tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
      	(poly_int_tree_p): Likewise.
      	(inlined_function_outer_scope_p): Likewise.
      	(tree_code_for_canonical_type_merging): Likewise.
      	* value-prof.cc: Likewise.
      	* value-prof.h (get_nth_most_common_value): Likewise.
      	(find_func_by_profile_id): Likewise.
      	* value-range.cc (vrp_operand_equal_p): Likewise.
      	* value-range.h: Likewise.
      	* var-tracking.cc: Likewise.
      	* varasm.cc (default_function_section): Likewise.
      	(function_section_1): Likewise.
      	(assemble_variable): Likewise.
      	(handle_vtv_comdat_section): Likewise.
      	* vec.h (struct vec_prefix): Likewise.
      	* vmsdbgout.cc (full_name): Likewise.
      	* vtable-verify.cc: Likewise.
      	* vtable-verify.h (struct vtv_graph_node): Likewise.
      	* xcoffout.cc: Likewise.
      	* xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
      
      gcc/ada/ChangeLog:
      
      	* Make-generated.in: Rename .c names to .cc.
      	* adaint.c: Likewise.
      	* ctrl_c.c (dummy_handler): Likewise.
      	* gcc-interface/Makefile.in: Likewise.
      	* gcc-interface/config-lang.in: Likewise.
      	* gcc-interface/decl.cc (concat_name): Likewise.
      	(init_gnat_decl): Likewise.
      	* gcc-interface/gigi.h (concat_name): Likewise.
      	(init_gnat_utils): Likewise.
      	(build_call_raise_range): Likewise.
      	(gnat_mark_addressable): Likewise.
      	(gnat_protect_expr): Likewise.
      	(gnat_rewrite_reference): Likewise.
      	* gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
      	* gcc-interface/utils.cc (GTY): Likewise.
      	(add_deferred_type_context): Likewise.
      	(init_gnat_utils): Likewise.
      	* gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
      	(gnat_protect_expr): Likewise.
      	(gnat_stabilize_reference_1): Likewise.
      	(gnat_rewrite_reference): Likewise.
      	* gsocket.h: Likewise.
      	* init.cc (__gnat_error_handler): Likewise.
      	* libgnarl/s-intman.ads: Likewise.
      	* libgnarl/s-osinte__android.ads: Likewise.
      	* libgnarl/s-osinte__darwin.ads: Likewise.
      	* libgnarl/s-osinte__hpux.ads: Likewise.
      	* libgnarl/s-osinte__linux.ads: Likewise.
      	* libgnarl/s-osinte__qnx.ads: Likewise.
      	* libgnarl/s-taskin.ads: Likewise.
      	* rtfinal.cc: Likewise.
      	* s-oscons-tmplt.c (CND): Likewise.
      	* set_targ.ads: Likewise.
      
      gcc/analyzer/ChangeLog:
      
      	* analyzer.cc (is_special_named_call_p): Rename .c names to .cc.
      	(is_named_call_p): Likewise.
      	* region-model-asm.cc (deterministic_p): Likewise.
      	* region.cc (field_region::get_relative_concrete_offset): Likewise.
      	* sm-malloc.cc (method_p): Likewise.
      	* supergraph.cc (superedge::dump_dot): Likewise.
      
      gcc/c-family/ChangeLog:
      
      	* c-ada-spec.cc: Rename .c names to .cc.
      	* c-ada-spec.h: Likewise.
      	* c-common.cc (c_build_vec_convert): Likewise.
      	(warning_candidate_p): Likewise.
      	* c-common.h (enum rid): Likewise.
      	(build_real_imag_expr): Likewise.
      	(finish_label_address_expr): Likewise.
      	(c_get_substring_location): Likewise.
      	(c_build_bind_expr): Likewise.
      	(conflict_marker_get_final_tok_kind): Likewise.
      	(c_parse_error): Likewise.
      	(check_missing_format_attribute): Likewise.
      	(invalid_array_size_error): Likewise.
      	(warn_for_multistatement_macros): Likewise.
      	(build_attr_access_from_parms): Likewise.
      	* c-cppbuiltin.cc (c_cpp_builtins): Likewise.
      	* c-format.cc: Likewise.
      	* c-gimplify.cc (c_gimplify_expr): Likewise.
      	* c-indentation.h: Likewise.
      	* c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
      	* c-omp.cc (c_omp_predetermined_mapping): Likewise.
      	* c-opts.cc (c_common_post_options): Likewise.
      	(set_std_cxx23): Likewise.
      	* c-pragma.cc (handle_pragma_redefine_extname): Likewise.
      	* c-pretty-print.h: Likewise.
      
      gcc/c/ChangeLog:
      
      	* Make-lang.in: Rename .c names to .cc.
      	* c-convert.cc: Likewise.
      	* c-decl.cc (struct lang_identifier): Likewise.
      	(pop_scope): Likewise.
      	(finish_decl): Likewise.
      	* c-objc-common.h (GCC_C_OBJC_COMMON): Likewise.
      	* c-parser.cc (c_parser_skip_to_end_of_block_or_statement): Likewise.
      	* c-parser.h (GCC_C_PARSER_H): Likewise.
      	* c-tree.h (c_keyword_starts_typename): Likewise.
      	(finish_declspecs): Likewise.
      	(c_get_alias_set): Likewise.
      	(enum c_oracle_request): Likewise.
      	(tag_exists_p): Likewise.
      	(set_c_expr_source_range): Likewise.
      	* c-typeck.cc (c_common_type): Likewise.
      	(c_finish_omp_clauses): Likewise.
      	* config-lang.in: Likewise.
      
      gcc/cp/ChangeLog:
      
      	* Make-lang.in: Rename .c names to .cc.
      	* config-lang.in: Likewise.
      	* constexpr.cc (cxx_eval_constant_expression): Likewise.
      	* coroutines.cc (morph_fn_to_coro): Likewise.
      	* cp-gimplify.cc (cp_gimplify_expr): Likewise.
      	* cp-lang.cc (struct lang_hooks): Likewise.
      	(get_template_argument_pack_elems_folded): Likewise.
      	* cp-objcp-common.cc (cp_tree_size): Likewise.
      	(cp_unit_size_without_reusable_padding): Likewise.
      	(pop_file_scope): Likewise.
      	(cp_pushdecl): Likewise.
      	* cp-objcp-common.h (GCC_CP_OBJCP_COMMON): Likewise.
      	(cxx_simulate_record_decl): Likewise.
      	* cp-tree.h (struct named_label_entry): Likewise.
      	(current_function_return_value): Likewise.
      	(more_aggr_init_expr_args_p): Likewise.
      	(get_function_version_dispatcher): Likewise.
      	(common_enclosing_class): Likewise.
      	(strip_fnptr_conv): Likewise.
      	(current_decl_namespace): Likewise.
      	(do_aggregate_paren_init): Likewise.
      	(cp_check_const_attributes): Likewise.
      	(qualified_name_lookup_error): Likewise.
      	(generic_targs_for): Likewise.
      	(mark_exp_read): Likewise.
      	(is_global_friend): Likewise.
      	(maybe_reject_flexarray_init): Likewise.
      	(module_token_lang): Likewise.
      	(handle_module_option): Likewise.
      	(literal_integer_zerop): Likewise.
      	(build_extra_args): Likewise.
      	(build_if_nonnull): Likewise.
      	(maybe_check_overriding_exception_spec): Likewise.
      	(finish_omp_target_clauses): Likewise.
      	(maybe_warn_zero_as_null_pointer_constant): Likewise.
      	(cxx_print_error_function): Likewise.
      	(decl_in_std_namespace_p): Likewise.
      	(merge_exception_specifiers): Likewise.
      	(mangle_module_global_init): Likewise.
      	(cxx_block_may_fallthru): Likewise.
      	(fold_builtin_source_location): Likewise.
      	(enum cp_oracle_request): Likewise.
      	(subsumes): Likewise.
      	(cp_finish_injected_record_type): Likewise.
      	(vtv_build_vtable_verify_fndecl): Likewise.
      	(cp_tree_c_finish_parsing): Likewise.
      	* cvt.cc (diagnose_ref_binding): Likewise.
      	(convert_to_void): Likewise.
      	(convert_force): Likewise.
      	(type_promotes_to): Likewise.
      	* decl.cc (make_unbound_class_template_raw): Likewise.
      	(cxx_init_decl_processing): Likewise.
      	(check_class_member_definition_namespace): Likewise.
      	(cxx_maybe_build_cleanup): Likewise.
      	* decl2.cc (maybe_emit_vtables): Likewise.
      	* error.cc (dump_function_name): Likewise.
      	* init.cc (is_class_type): Likewise.
      	(build_new_1): Likewise.
      	* lang-specs.h: Likewise.
      	* method.cc (make_alias_for_thunk): Likewise.
      	* module.cc (specialization_add): Likewise.
      	(module_state::read_cluster): Likewise.
      	* name-lookup.cc (check_extern_c_conflict): Likewise.
      	* name-lookup.h (struct cxx_binding): Likewise.
      	* parser.cc (cp_parser_identifier): Likewise.
      	* parser.h (struct cp_parser): Likewise.
      	* pt.cc (has_value_dependent_address): Likewise.
      	(push_tinst_level_loc): Likewise.
      	* semantics.cc (finish_omp_clauses): Likewise.
      	(finish_omp_atomic): Likewise.
      	* tree.cc (cp_save_expr): Likewise.
      	(cp_free_lang_data): Likewise.
      	* typeck.cc (cp_common_type): Likewise.
      	(strip_array_domain): Likewise.
      	(rationalize_conditional_expr): Likewise.
      	(check_return_expr): Likewise.
      	* vtable-class-hierarchy.cc: Likewise.
      
      gcc/d/ChangeLog:
      
      	* d-gimplify.cc: Rename .c names to .cc.
      	* d-incpath.cc: Likewise.
      	* lang-specs.h: Likewise.
      
      gcc/fortran/ChangeLog:
      
      	* check.cc (gfc_check_all_any): Rename .c names to .cc.
      	* class.cc (find_intrinsic_vtab): Likewise.
      	* config-lang.in: Likewise.
      	* cpp.cc (cpp_define_builtins): Likewise.
      	* data.cc (get_array_index): Likewise.
      	* decl.cc (match_clist_expr): Likewise.
      	(get_proc_name): Likewise.
      	(gfc_verify_c_interop_param): Likewise.
      	(gfc_get_pdt_instance): Likewise.
      	(gfc_match_formal_arglist): Likewise.
      	(gfc_get_type_attr_spec): Likewise.
      	* dependency.cc: Likewise.
      	* error.cc (gfc_format_decoder): Likewise.
      	* expr.cc (check_restricted): Likewise.
      	(gfc_build_default_init_expr): Likewise.
      	* f95-lang.cc: Likewise.
      	* gfc-internals.texi: Likewise.
      	* gfortran.h (enum match): Likewise.
      	(enum procedure_type): Likewise.
      	(enum oacc_routine_lop): Likewise.
      	(gfc_get_pdt_instance): Likewise.
      	(gfc_end_source_files): Likewise.
      	(gfc_mpz_set_hwi): Likewise.
      	(gfc_get_option_string): Likewise.
      	(gfc_find_sym_in_expr): Likewise.
      	(gfc_errors_to_warnings): Likewise.
      	(gfc_real_4_kind): Likewise.
      	(gfc_free_finalizer): Likewise.
      	(gfc_sym_get_dummy_args): Likewise.
      	(gfc_check_intrinsic_standard): Likewise.
      	(gfc_free_case_list): Likewise.
      	(gfc_resolve_oacc_routines): Likewise.
      	(gfc_check_vardef_context): Likewise.
      	(gfc_free_association_list): Likewise.
      	(gfc_implicit_pure_function): Likewise.
      	(gfc_ref_dimen_size): Likewise.
      	(gfc_compare_actual_formal): Likewise.
      	(gfc_resolve_wait): Likewise.
      	(gfc_dt_upper_string): Likewise.
      	(gfc_generate_module_code): Likewise.
      	(gfc_delete_bbt): Likewise.
      	(debug): Likewise.
      	(gfc_build_block_ns): Likewise.
      	(gfc_dep_difference): Likewise.
      	(gfc_invalid_null_arg): Likewise.
      	(gfc_is_finalizable): Likewise.
      	(gfc_fix_implicit_pure): Likewise.
      	(gfc_is_size_zero_array): Likewise.
      	(gfc_is_reallocatable_lhs): Likewise.
      	* gfortranspec.cc: Likewise.
      	* interface.cc (compare_actual_expr): Likewise.
      	* intrinsic.cc (add_functions): Likewise.
      	* iresolve.cc (gfc_resolve_matmul): Likewise.
      	(gfc_resolve_alarm_sub): Likewise.
      	* iso-c-binding.def: Likewise.
      	* lang-specs.h: Likewise.
      	* libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
      	* match.cc (gfc_match_label): Likewise.
      	(gfc_match_symbol): Likewise.
      	(match_derived_type_spec): Likewise.
      	(copy_ts_from_selector_to_associate): Likewise.
      	* match.h (gfc_match_call): Likewise.
      	(gfc_get_common): Likewise.
      	(gfc_match_omp_end_single): Likewise.
      	(gfc_match_volatile): Likewise.
      	(gfc_match_bind_c): Likewise.
      	(gfc_match_literal_constant): Likewise.
      	(gfc_match_init_expr): Likewise.
      	(gfc_match_array_constructor): Likewise.
      	(gfc_match_end_interface): Likewise.
      	(gfc_match_print): Likewise.
      	(gfc_match_expr): Likewise.
      	* matchexp.cc (next_operator): Likewise.
      	* mathbuiltins.def: Likewise.
      	* module.cc (free_true_name): Likewise.
      	* openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
      	(gfc_omp_save_and_clear_state): Likewise.
      	* parse.cc (parse_union): Likewise.
      	(set_syms_host_assoc): Likewise.
      	* resolve.cc (resolve_actual_arglist): Likewise.
      	(resolve_elemental_actual): Likewise.
      	(check_host_association): Likewise.
      	(resolve_typebound_function): Likewise.
      	(resolve_typebound_subroutine): Likewise.
      	(gfc_resolve_expr): Likewise.
      	(resolve_assoc_var): Likewise.
      	(resolve_typebound_procedures): Likewise.
      	(resolve_equivalence_derived): Likewise.
      	* simplify.cc (simplify_bound): Likewise.
      	* symbol.cc (gfc_set_default_type): Likewise.
      	(gfc_add_ext_attribute): Likewise.
      	* target-memory.cc (gfc_target_interpret_expr): Likewise.
      	* target-memory.h (gfc_target_interpret_expr): Likewise.
      	* trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
      	(gfc_conv_shift_descriptor_lbound): Likewise.
      	(gfc_could_be_alias): Likewise.
      	(gfc_get_dataptr_offset): Likewise.
      	* trans-const.cc: Likewise.
      	* trans-decl.cc (trans_function_start): Likewise.
      	(gfc_trans_deferred_vars): Likewise.
      	(generate_local_decl): Likewise.
      	(gfc_generate_function_code): Likewise.
      	* trans-expr.cc (gfc_vptr_size_get): Likewise.
      	(gfc_trans_class_array_init_assign): Likewise.
      	(POWI_TABLE_SIZE): Likewise.
      	(gfc_conv_procedure_call): Likewise.
      	(gfc_trans_arrayfunc_assign): Likewise.
      	* trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
      	(gfc_conv_intrinsic_loc): Likewise.
      	(conv_intrinsic_event_query): Likewise.
      	* trans-io.cc (gfc_build_st_parameter): Likewise.
      	* trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
      	(gfc_omp_unshare_expr_r): Likewise.
      	(gfc_trans_omp_array_section): Likewise.
      	(gfc_trans_omp_clauses): Likewise.
      	* trans-stmt.cc (trans_associate_var): Likewise.
      	(gfc_trans_deallocate): Likewise.
      	* trans-stmt.h (gfc_trans_class_init_assign): Likewise.
      	(gfc_trans_deallocate): Likewise.
      	(gfc_trans_oacc_declare): Likewise.
      	* trans-types.cc: Likewise.
      	* trans-types.h (enum gfc_packed): Likewise.
      	* trans.cc (N_): Likewise.
      	(trans_code): Likewise.
      	* trans.h (gfc_build_compare_string): Likewise.
      	(gfc_conv_expr_type): Likewise.
      	(gfc_trans_deferred_vars): Likewise.
      	(getdecls): Likewise.
      	(gfc_get_array_descr_info): Likewise.
      	(gfc_omp_firstprivatize_type_sizes): Likewise.
      	(GTY): Likewise.
      
      gcc/go/ChangeLog:
      
      	* config-lang.in: Rename .c names to .cc.
      	* go-backend.cc: Likewise.
      	* go-lang.cc: Likewise.
      	* gospec.cc: Likewise.
      	* lang-specs.h: Likewise.
      
      gcc/jit/ChangeLog:
      
      	* config-lang.in: Rename .c names to .cc.
      	* docs/_build/texinfo/libgccjit.texi: Likewise.
      	* docs/internals/index.rst: Likewise.
      	* jit-builtins.cc (builtins_manager::make_builtin_function): Likewise.
      	* jit-playback.cc (fold_const_var): Likewise.
      	(playback::context::~context): Likewise.
      	(new_field): Likewise.
      	(new_bitfield): Likewise.
      	(new_compound_type): Likewise.
      	(playback::compound_type::set_fields): Likewise.
      	(global_set_init_rvalue): Likewise.
      	(load_blob_in_ctor): Likewise.
      	(new_global_initialized): Likewise.
      	(double>): Likewise.
      	(new_string_literal): Likewise.
      	(as_truth_value): Likewise.
      	(build_call): Likewise.
      	(playback::context::build_cast): Likewise.
      	(new_array_access): Likewise.
      	(new_field_access): Likewise.
      	(dereference): Likewise.
      	(postprocess): Likewise.
      	(add_jump): Likewise.
      	(add_switch): Likewise.
      	(build_goto_operands): Likewise.
      	(playback::context::read_dump_file): Likewise.
      	(init_types): Likewise.
      	* jit-recording.cc (recording::context::get_int_type): Likewise.
      	* jit-recording.h: Likewise.
      	* libgccjit.cc (compatible_types): Likewise.
      	(gcc_jit_context_acquire): Likewise.
      	(gcc_jit_context_release): Likewise.
      	(gcc_jit_context_new_child_context): Likewise.
      	(gcc_jit_type_as_object): Likewise.
      	(gcc_jit_context_get_type): Likewise.
      	(gcc_jit_context_get_int_type): Likewise.
      	(gcc_jit_type_get_pointer): Likewise.
      	(gcc_jit_type_get_const): Likewise.
      	(gcc_jit_type_get_volatile): Likewise.
      	(gcc_jit_type_dyncast_array): Likewise.
      	(gcc_jit_type_is_bool): Likewise.
      	(gcc_jit_type_is_pointer): Likewise.
      	(gcc_jit_type_is_integral): Likewise.
      	(gcc_jit_type_dyncast_vector): Likewise.
      	(gcc_jit_type_is_struct): Likewise.
      	(gcc_jit_vector_type_get_num_units): Likewise.
      	(gcc_jit_vector_type_get_element_type): Likewise.
      	(gcc_jit_type_unqualified): Likewise.
      	(gcc_jit_type_dyncast_function_ptr_type): Likewise.
      	(gcc_jit_function_type_get_return_type): Likewise.
      	(gcc_jit_function_type_get_param_count): Likewise.
      	(gcc_jit_function_type_get_param_type): Likewise.
      	(gcc_jit_context_new_array_type): Likewise.
      	(gcc_jit_context_new_field): Likewise.
      	(gcc_jit_field_as_object): Likewise.
      	(gcc_jit_context_new_struct_type): Likewise.
      	(gcc_jit_struct_as_type): Likewise.
      	(gcc_jit_struct_set_fields): Likewise.
      	(gcc_jit_struct_get_field_count): Likewise.
      	(gcc_jit_context_new_union_type): Likewise.
      	(gcc_jit_context_new_function_ptr_type): Likewise.
      	(gcc_jit_param_as_rvalue): Likewise.
      	(gcc_jit_context_new_function): Likewise.
      	(gcc_jit_function_get_return_type): Likewise.
      	(gcc_jit_function_dump_to_dot): Likewise.
      	(gcc_jit_block_get_function): Likewise.
      	(gcc_jit_global_set_initializer_rvalue): Likewise.
      	(gcc_jit_rvalue_get_type): Likewise.
      	(gcc_jit_context_new_rvalue_from_int): Likewise.
      	(gcc_jit_context_one): Likewise.
      	(gcc_jit_context_new_rvalue_from_double): Likewise.
      	(gcc_jit_context_null): Likewise.
      	(gcc_jit_context_new_string_literal): Likewise.
      	(valid_binary_op_p): Likewise.
      	(gcc_jit_context_new_binary_op): Likewise.
      	(gcc_jit_context_new_comparison): Likewise.
      	(gcc_jit_context_new_call): Likewise.
      	(is_valid_cast): Likewise.
      	(gcc_jit_context_new_cast): Likewise.
      	(gcc_jit_object_get_context): Likewise.
      	(gcc_jit_object_get_debug_string): Likewise.
      	(gcc_jit_lvalue_access_field): Likewise.
      	(gcc_jit_rvalue_access_field): Likewise.
      	(gcc_jit_rvalue_dereference_field): Likewise.
      	(gcc_jit_rvalue_dereference): Likewise.
      	(gcc_jit_lvalue_get_address): Likewise.
      	(gcc_jit_lvalue_set_tls_model): Likewise.
      	(gcc_jit_lvalue_set_link_section): Likewise.
      	(gcc_jit_function_new_local): Likewise.
      	(gcc_jit_block_add_eval): Likewise.
      	(gcc_jit_block_add_assignment): Likewise.
      	(is_bool): Likewise.
      	(gcc_jit_block_end_with_conditional): Likewise.
      	(gcc_jit_block_add_comment): Likewise.
      	(gcc_jit_block_end_with_jump): Likewise.
      	(gcc_jit_block_end_with_return): Likewise.
      	(gcc_jit_block_end_with_void_return): Likewise.
      	(case_range_validator::case_range_validator): Likewise.
      	(case_range_validator::validate): Likewise.
      	(case_range_validator::get_wide_int): Likewise.
      	(gcc_jit_block_end_with_switch): Likewise.
      	(gcc_jit_context_set_str_option): Likewise.
      	(gcc_jit_context_set_int_option): Likewise.
      	(gcc_jit_context_set_bool_option): Likewise.
      	(gcc_jit_context_set_bool_allow_unreachable_blocks): Likewise.
      	(gcc_jit_context_set_bool_use_external_driver): Likewise.
      	(gcc_jit_context_add_command_line_option): Likewise.
      	(gcc_jit_context_add_driver_option): Likewise.
      	(gcc_jit_context_enable_dump): Likewise.
      	(gcc_jit_context_compile): Likewise.
      	(gcc_jit_context_compile_to_file): Likewise.
      	(gcc_jit_context_set_logfile): Likewise.
      	(gcc_jit_context_dump_reproducer_to_file): Likewise.
      	(gcc_jit_context_get_first_error): Likewise.
      	(gcc_jit_context_get_last_error): Likewise.
      	(gcc_jit_result_get_code): Likewise.
      	(gcc_jit_result_get_global): Likewise.
      	(gcc_jit_rvalue_set_bool_require_tail_call): Likewise.
      	(gcc_jit_type_get_aligned): Likewise.
      	(gcc_jit_type_get_vector): Likewise.
      	(gcc_jit_function_get_address): Likewise.
      	(gcc_jit_version_patchlevel): Likewise.
      	(gcc_jit_block_add_extended_asm): Likewise.
      	(gcc_jit_extended_asm_as_object): Likewise.
      	(gcc_jit_extended_asm_set_volatile_flag): Likewise.
      	(gcc_jit_extended_asm_set_inline_flag): Likewise.
      	(gcc_jit_extended_asm_add_output_operand): Likewise.
      	(gcc_jit_extended_asm_add_input_operand): Likewise.
      	(gcc_jit_extended_asm_add_clobber): Likewise.
      	* notes.txt: Likewise.
      
      gcc/lto/ChangeLog:
      
      	* config-lang.in: Rename .c names to .cc.
      	* lang-specs.h: Likewise.
      	* lto-common.cc (gimple_register_canonical_type_1): Likewise.
      	* lto-common.h: Likewise.
      	* lto-dump.cc (lto_main): Likewise.
      	* lto-lang.cc (handle_fnspec_attribute): Likewise.
      	(lto_getdecls): Likewise.
      	(lto_init): Likewise.
      	* lto.cc (lto_main): Likewise.
      	* lto.h: Likewise.
      
      gcc/objc/ChangeLog:
      
      	* Make-lang.in: Rename .c names to .cc.
      	* config-lang.in: Likewise.
      	* lang-specs.h: Likewise.
      	* objc-act.cc (objc_build_component_ref): Likewise.
      	(objc_copy_binfo): Likewise.
      	(lookup_method_in_hash_lists): Likewise.
      	(objc_finish_foreach_loop): Likewise.
      	* objc-act.h (objc_common_init_ts): Likewise.
      	* objc-gnu-runtime-abi-01.cc: Likewise.
      	* objc-lang.cc (struct lang_hooks): Likewise.
      	* objc-map.cc: Likewise.
      	* objc-next-runtime-abi-01.cc (generate_objc_symtab_decl): Likewise.
      	* objc-runtime-shared-support.cc: Likewise.
      	* objc-runtime-shared-support.h (build_protocol_initializer): Likewise.
      
      gcc/objcp/ChangeLog:
      
      	* Make-lang.in: Rename .c names to .cc.
      	* config-lang.in: Likewise.
      	* lang-specs.h: Likewise.
      	* objcp-decl.cc (objcp_end_compound_stmt): Likewise.
      	* objcp-lang.cc (struct lang_hooks): Likewise.
      
      gcc/po/ChangeLog:
      
      	* EXCLUDES: Rename .c names to .cc.
      
      libcpp/ChangeLog:
      
      	* Makefile.in: Rename .c names to .cc.
      	* charset.cc (convert_escape): Likewise.
      	* directives.cc (directive_diagnostics): Likewise.
      	(_cpp_handle_directive): Likewise.
      	(lex_macro_node): Likewise.
      	* include/cpplib.h (struct _cpp_file): Likewise.
      	(PURE_ZERO): Likewise.
      	(cpp_defined): Likewise.
      	(cpp_error_at): Likewise.
      	(cpp_forall_identifiers): Likewise.
      	(cpp_compare_macros): Likewise.
      	(cpp_get_converted_source): Likewise.
      	(cpp_read_state): Likewise.
      	(cpp_directive_only_process): Likewise.
      	(struct cpp_decoded_char): Likewise.
      	* include/line-map.h (enum lc_reason): Likewise.
      	(enum location_aspect): Likewise.
      	* include/mkdeps.h: Likewise.
      	* init.cc (cpp_destroy): Likewise.
      	(cpp_finish): Likewise.
      	* internal.h (struct cpp_reader): Likewise.
      	(_cpp_defined_macro_p): Likewise.
      	(_cpp_backup_tokens_direct): Likewise.
      	(_cpp_destroy_hashtable): Likewise.
      	(_cpp_has_header): Likewise.
      	(_cpp_expand_op_stack): Likewise.
      	(_cpp_commit_buff): Likewise.
      	(_cpp_restore_special_builtin): Likewise.
      	(_cpp_bracket_include): Likewise.
      	(_cpp_replacement_text_len): Likewise.
      	(ufputs): Likewise.
      	* line-map.cc (linemap_macro_loc_to_exp_point): Likewise.
      	(linemap_check_files_exited): Likewise.
      	(line_map_new_raw): Likewise.
      	* traditional.cc (enum ls): Likewise.
      e53b6e56
    • Martin Liska's avatar
      Rename .c files to .cc files. · 5c69acb3
      Martin Liska authored
      gcc/ada/ChangeLog:
      
      	* adadecode.c: Moved to...
      	* adadecode.cc: ...here.
      	* affinity.c: Moved to...
      	* affinity.cc: ...here.
      	* argv-lynxos178-raven-cert.c: Moved to...
      	* argv-lynxos178-raven-cert.cc: ...here.
      	* argv.c: Moved to...
      	* argv.cc: ...here.
      	* aux-io.c: Moved to...
      	* aux-io.cc: ...here.
      	* cio.c: Moved to...
      	* cio.cc: ...here.
      	* cstreams.c: Moved to...
      	* cstreams.cc: ...here.
      	* env.c: Moved to...
      	* env.cc: ...here.
      	* exit.c: Moved to...
      	* exit.cc: ...here.
      	* expect.c: Moved to...
      	* expect.cc: ...here.
      	* final.c: Moved to...
      	* final.cc: ...here.
      	* gcc-interface/cuintp.c: Moved to...
      	* gcc-interface/cuintp.cc: ...here.
      	* gcc-interface/decl.c: Moved to...
      	* gcc-interface/decl.cc: ...here.
      	* gcc-interface/misc.c: Moved to...
      	* gcc-interface/misc.cc: ...here.
      	* gcc-interface/targtyps.c: Moved to...
      	* gcc-interface/targtyps.cc: ...here.
      	* gcc-interface/trans.c: Moved to...
      	* gcc-interface/trans.cc: ...here.
      	* gcc-interface/utils.c: Moved to...
      	* gcc-interface/utils.cc: ...here.
      	* gcc-interface/utils2.c: Moved to...
      	* gcc-interface/utils2.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* initialize.c: Moved to...
      	* initialize.cc: ...here.
      	* libgnarl/thread.c: Moved to...
      	* libgnarl/thread.cc: ...here.
      	* link.c: Moved to...
      	* link.cc: ...here.
      	* locales.c: Moved to...
      	* locales.cc: ...here.
      	* mkdir.c: Moved to...
      	* mkdir.cc: ...here.
      	* raise.c: Moved to...
      	* raise.cc: ...here.
      	* rtfinal.c: Moved to...
      	* rtfinal.cc: ...here.
      	* rtinit.c: Moved to...
      	* rtinit.cc: ...here.
      	* seh_init.c: Moved to...
      	* seh_init.cc: ...here.
      	* sigtramp-armdroid.c: Moved to...
      	* sigtramp-armdroid.cc: ...here.
      	* sigtramp-ios.c: Moved to...
      	* sigtramp-ios.cc: ...here.
      	* sigtramp-qnx.c: Moved to...
      	* sigtramp-qnx.cc: ...here.
      	* sigtramp-vxworks.c: Moved to...
      	* sigtramp-vxworks.cc: ...here.
      	* socket.c: Moved to...
      	* socket.cc: ...here.
      	* tracebak.c: Moved to...
      	* tracebak.cc: ...here.
      	* version.c: Moved to...
      	* version.cc: ...here.
      	* vx_stack_info.c: Moved to...
      	* vx_stack_info.cc: ...here.
      
      gcc/ChangeLog:
      
      	* adjust-alignment.c: Moved to...
      	* adjust-alignment.cc: ...here.
      	* alias.c: Moved to...
      	* alias.cc: ...here.
      	* alloc-pool.c: Moved to...
      	* alloc-pool.cc: ...here.
      	* asan.c: Moved to...
      	* asan.cc: ...here.
      	* attribs.c: Moved to...
      	* attribs.cc: ...here.
      	* auto-inc-dec.c: Moved to...
      	* auto-inc-dec.cc: ...here.
      	* auto-profile.c: Moved to...
      	* auto-profile.cc: ...here.
      	* bb-reorder.c: Moved to...
      	* bb-reorder.cc: ...here.
      	* bitmap.c: Moved to...
      	* bitmap.cc: ...here.
      	* btfout.c: Moved to...
      	* btfout.cc: ...here.
      	* builtins.c: Moved to...
      	* builtins.cc: ...here.
      	* caller-save.c: Moved to...
      	* caller-save.cc: ...here.
      	* calls.c: Moved to...
      	* calls.cc: ...here.
      	* ccmp.c: Moved to...
      	* ccmp.cc: ...here.
      	* cfg.c: Moved to...
      	* cfg.cc: ...here.
      	* cfganal.c: Moved to...
      	* cfganal.cc: ...here.
      	* cfgbuild.c: Moved to...
      	* cfgbuild.cc: ...here.
      	* cfgcleanup.c: Moved to...
      	* cfgcleanup.cc: ...here.
      	* cfgexpand.c: Moved to...
      	* cfgexpand.cc: ...here.
      	* cfghooks.c: Moved to...
      	* cfghooks.cc: ...here.
      	* cfgloop.c: Moved to...
      	* cfgloop.cc: ...here.
      	* cfgloopanal.c: Moved to...
      	* cfgloopanal.cc: ...here.
      	* cfgloopmanip.c: Moved to...
      	* cfgloopmanip.cc: ...here.
      	* cfgrtl.c: Moved to...
      	* cfgrtl.cc: ...here.
      	* cgraph.c: Moved to...
      	* cgraph.cc: ...here.
      	* cgraphbuild.c: Moved to...
      	* cgraphbuild.cc: ...here.
      	* cgraphclones.c: Moved to...
      	* cgraphclones.cc: ...here.
      	* cgraphunit.c: Moved to...
      	* cgraphunit.cc: ...here.
      	* collect-utils.c: Moved to...
      	* collect-utils.cc: ...here.
      	* collect2-aix.c: Moved to...
      	* collect2-aix.cc: ...here.
      	* collect2.c: Moved to...
      	* collect2.cc: ...here.
      	* combine-stack-adj.c: Moved to...
      	* combine-stack-adj.cc: ...here.
      	* combine.c: Moved to...
      	* combine.cc: ...here.
      	* common/common-targhooks.c: Moved to...
      	* common/common-targhooks.cc: ...here.
      	* common/config/aarch64/aarch64-common.c: Moved to...
      	* common/config/aarch64/aarch64-common.cc: ...here.
      	* common/config/alpha/alpha-common.c: Moved to...
      	* common/config/alpha/alpha-common.cc: ...here.
      	* common/config/arc/arc-common.c: Moved to...
      	* common/config/arc/arc-common.cc: ...here.
      	* common/config/arm/arm-common.c: Moved to...
      	* common/config/arm/arm-common.cc: ...here.
      	* common/config/avr/avr-common.c: Moved to...
      	* common/config/avr/avr-common.cc: ...here.
      	* common/config/bfin/bfin-common.c: Moved to...
      	* common/config/bfin/bfin-common.cc: ...here.
      	* common/config/bpf/bpf-common.c: Moved to...
      	* common/config/bpf/bpf-common.cc: ...here.
      	* common/config/c6x/c6x-common.c: Moved to...
      	* common/config/c6x/c6x-common.cc: ...here.
      	* common/config/cr16/cr16-common.c: Moved to...
      	* common/config/cr16/cr16-common.cc: ...here.
      	* common/config/cris/cris-common.c: Moved to...
      	* common/config/cris/cris-common.cc: ...here.
      	* common/config/csky/csky-common.c: Moved to...
      	* common/config/csky/csky-common.cc: ...here.
      	* common/config/default-common.c: Moved to...
      	* common/config/default-common.cc: ...here.
      	* common/config/epiphany/epiphany-common.c: Moved to...
      	* common/config/epiphany/epiphany-common.cc: ...here.
      	* common/config/fr30/fr30-common.c: Moved to...
      	* common/config/fr30/fr30-common.cc: ...here.
      	* common/config/frv/frv-common.c: Moved to...
      	* common/config/frv/frv-common.cc: ...here.
      	* common/config/gcn/gcn-common.c: Moved to...
      	* common/config/gcn/gcn-common.cc: ...here.
      	* common/config/h8300/h8300-common.c: Moved to...
      	* common/config/h8300/h8300-common.cc: ...here.
      	* common/config/i386/i386-common.c: Moved to...
      	* common/config/i386/i386-common.cc: ...here.
      	* common/config/ia64/ia64-common.c: Moved to...
      	* common/config/ia64/ia64-common.cc: ...here.
      	* common/config/iq2000/iq2000-common.c: Moved to...
      	* common/config/iq2000/iq2000-common.cc: ...here.
      	* common/config/lm32/lm32-common.c: Moved to...
      	* common/config/lm32/lm32-common.cc: ...here.
      	* common/config/m32r/m32r-common.c: Moved to...
      	* common/config/m32r/m32r-common.cc: ...here.
      	* common/config/m68k/m68k-common.c: Moved to...
      	* common/config/m68k/m68k-common.cc: ...here.
      	* common/config/mcore/mcore-common.c: Moved to...
      	* common/config/mcore/mcore-common.cc: ...here.
      	* common/config/microblaze/microblaze-common.c: Moved to...
      	* common/config/microblaze/microblaze-common.cc: ...here.
      	* common/config/mips/mips-common.c: Moved to...
      	* common/config/mips/mips-common.cc: ...here.
      	* common/config/mmix/mmix-common.c: Moved to...
      	* common/config/mmix/mmix-common.cc: ...here.
      	* common/config/mn10300/mn10300-common.c: Moved to...
      	* common/config/mn10300/mn10300-common.cc: ...here.
      	* common/config/msp430/msp430-common.c: Moved to...
      	* common/config/msp430/msp430-common.cc: ...here.
      	* common/config/nds32/nds32-common.c: Moved to...
      	* common/config/nds32/nds32-common.cc: ...here.
      	* common/config/nios2/nios2-common.c: Moved to...
      	* common/config/nios2/nios2-common.cc: ...here.
      	* common/config/nvptx/nvptx-common.c: Moved to...
      	* common/config/nvptx/nvptx-common.cc: ...here.
      	* common/config/or1k/or1k-common.c: Moved to...
      	* common/config/or1k/or1k-common.cc: ...here.
      	* common/config/pa/pa-common.c: Moved to...
      	* common/config/pa/pa-common.cc: ...here.
      	* common/config/pdp11/pdp11-common.c: Moved to...
      	* common/config/pdp11/pdp11-common.cc: ...here.
      	* common/config/pru/pru-common.c: Moved to...
      	* common/config/pru/pru-common.cc: ...here.
      	* common/config/riscv/riscv-common.c: Moved to...
      	* common/config/riscv/riscv-common.cc: ...here.
      	* common/config/rs6000/rs6000-common.c: Moved to...
      	* common/config/rs6000/rs6000-common.cc: ...here.
      	* common/config/rx/rx-common.c: Moved to...
      	* common/config/rx/rx-common.cc: ...here.
      	* common/config/s390/s390-common.c: Moved to...
      	* common/config/s390/s390-common.cc: ...here.
      	* common/config/sh/sh-common.c: Moved to...
      	* common/config/sh/sh-common.cc: ...here.
      	* common/config/sparc/sparc-common.c: Moved to...
      	* common/config/sparc/sparc-common.cc: ...here.
      	* common/config/tilegx/tilegx-common.c: Moved to...
      	* common/config/tilegx/tilegx-common.cc: ...here.
      	* common/config/tilepro/tilepro-common.c: Moved to...
      	* common/config/tilepro/tilepro-common.cc: ...here.
      	* common/config/v850/v850-common.c: Moved to...
      	* common/config/v850/v850-common.cc: ...here.
      	* common/config/vax/vax-common.c: Moved to...
      	* common/config/vax/vax-common.cc: ...here.
      	* common/config/visium/visium-common.c: Moved to...
      	* common/config/visium/visium-common.cc: ...here.
      	* common/config/xstormy16/xstormy16-common.c: Moved to...
      	* common/config/xstormy16/xstormy16-common.cc: ...here.
      	* common/config/xtensa/xtensa-common.c: Moved to...
      	* common/config/xtensa/xtensa-common.cc: ...here.
      	* compare-elim.c: Moved to...
      	* compare-elim.cc: ...here.
      	* config/aarch64/aarch64-bti-insert.c: Moved to...
      	* config/aarch64/aarch64-bti-insert.cc: ...here.
      	* config/aarch64/aarch64-builtins.c: Moved to...
      	* config/aarch64/aarch64-builtins.cc: ...here.
      	* config/aarch64/aarch64-c.c: Moved to...
      	* config/aarch64/aarch64-c.cc: ...here.
      	* config/aarch64/aarch64-d.c: Moved to...
      	* config/aarch64/aarch64-d.cc: ...here.
      	* config/aarch64/aarch64.c: Moved to...
      	* config/aarch64/aarch64.cc: ...here.
      	* config/aarch64/cortex-a57-fma-steering.c: Moved to...
      	* config/aarch64/cortex-a57-fma-steering.cc: ...here.
      	* config/aarch64/driver-aarch64.c: Moved to...
      	* config/aarch64/driver-aarch64.cc: ...here.
      	* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
      	* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
      	* config/aarch64/host-aarch64-darwin.c: Moved to...
      	* config/aarch64/host-aarch64-darwin.cc: ...here.
      	* config/alpha/alpha.c: Moved to...
      	* config/alpha/alpha.cc: ...here.
      	* config/alpha/driver-alpha.c: Moved to...
      	* config/alpha/driver-alpha.cc: ...here.
      	* config/arc/arc-c.c: Moved to...
      	* config/arc/arc-c.cc: ...here.
      	* config/arc/arc.c: Moved to...
      	* config/arc/arc.cc: ...here.
      	* config/arc/driver-arc.c: Moved to...
      	* config/arc/driver-arc.cc: ...here.
      	* config/arm/aarch-common.c: Moved to...
      	* config/arm/aarch-common.cc: ...here.
      	* config/arm/arm-builtins.c: Moved to...
      	* config/arm/arm-builtins.cc: ...here.
      	* config/arm/arm-c.c: Moved to...
      	* config/arm/arm-c.cc: ...here.
      	* config/arm/arm-d.c: Moved to...
      	* config/arm/arm-d.cc: ...here.
      	* config/arm/arm.c: Moved to...
      	* config/arm/arm.cc: ...here.
      	* config/arm/driver-arm.c: Moved to...
      	* config/arm/driver-arm.cc: ...here.
      	* config/avr/avr-c.c: Moved to...
      	* config/avr/avr-c.cc: ...here.
      	* config/avr/avr-devices.c: Moved to...
      	* config/avr/avr-devices.cc: ...here.
      	* config/avr/avr-log.c: Moved to...
      	* config/avr/avr-log.cc: ...here.
      	* config/avr/avr.c: Moved to...
      	* config/avr/avr.cc: ...here.
      	* config/avr/driver-avr.c: Moved to...
      	* config/avr/driver-avr.cc: ...here.
      	* config/avr/gen-avr-mmcu-specs.c: Moved to...
      	* config/avr/gen-avr-mmcu-specs.cc: ...here.
      	* config/avr/gen-avr-mmcu-texi.c: Moved to...
      	* config/avr/gen-avr-mmcu-texi.cc: ...here.
      	* config/bfin/bfin.c: Moved to...
      	* config/bfin/bfin.cc: ...here.
      	* config/bpf/bpf.c: Moved to...
      	* config/bpf/bpf.cc: ...here.
      	* config/bpf/coreout.c: Moved to...
      	* config/bpf/coreout.cc: ...here.
      	* config/c6x/c6x.c: Moved to...
      	* config/c6x/c6x.cc: ...here.
      	* config/cr16/cr16.c: Moved to...
      	* config/cr16/cr16.cc: ...here.
      	* config/cris/cris.c: Moved to...
      	* config/cris/cris.cc: ...here.
      	* config/csky/csky.c: Moved to...
      	* config/csky/csky.cc: ...here.
      	* config/darwin-c.c: Moved to...
      	* config/darwin-c.cc: ...here.
      	* config/darwin-d.c: Moved to...
      	* config/darwin-d.cc: ...here.
      	* config/darwin-driver.c: Moved to...
      	* config/darwin-driver.cc: ...here.
      	* config/darwin-f.c: Moved to...
      	* config/darwin-f.cc: ...here.
      	* config/darwin.c: Moved to...
      	* config/darwin.cc: ...here.
      	* config/default-c.c: Moved to...
      	* config/default-c.cc: ...here.
      	* config/default-d.c: Moved to...
      	* config/default-d.cc: ...here.
      	* config/dragonfly-d.c: Moved to...
      	* config/dragonfly-d.cc: ...here.
      	* config/epiphany/epiphany.c: Moved to...
      	* config/epiphany/epiphany.cc: ...here.
      	* config/epiphany/mode-switch-use.c: Moved to...
      	* config/epiphany/mode-switch-use.cc: ...here.
      	* config/epiphany/resolve-sw-modes.c: Moved to...
      	* config/epiphany/resolve-sw-modes.cc: ...here.
      	* config/fr30/fr30.c: Moved to...
      	* config/fr30/fr30.cc: ...here.
      	* config/freebsd-d.c: Moved to...
      	* config/freebsd-d.cc: ...here.
      	* config/frv/frv.c: Moved to...
      	* config/frv/frv.cc: ...here.
      	* config/ft32/ft32.c: Moved to...
      	* config/ft32/ft32.cc: ...here.
      	* config/gcn/driver-gcn.c: Moved to...
      	* config/gcn/driver-gcn.cc: ...here.
      	* config/gcn/gcn-run.c: Moved to...
      	* config/gcn/gcn-run.cc: ...here.
      	* config/gcn/gcn-tree.c: Moved to...
      	* config/gcn/gcn-tree.cc: ...here.
      	* config/gcn/gcn.c: Moved to...
      	* config/gcn/gcn.cc: ...here.
      	* config/gcn/mkoffload.c: Moved to...
      	* config/gcn/mkoffload.cc: ...here.
      	* config/glibc-c.c: Moved to...
      	* config/glibc-c.cc: ...here.
      	* config/glibc-d.c: Moved to...
      	* config/glibc-d.cc: ...here.
      	* config/h8300/h8300.c: Moved to...
      	* config/h8300/h8300.cc: ...here.
      	* config/host-darwin.c: Moved to...
      	* config/host-darwin.cc: ...here.
      	* config/host-hpux.c: Moved to...
      	* config/host-hpux.cc: ...here.
      	* config/host-linux.c: Moved to...
      	* config/host-linux.cc: ...here.
      	* config/host-netbsd.c: Moved to...
      	* config/host-netbsd.cc: ...here.
      	* config/host-openbsd.c: Moved to...
      	* config/host-openbsd.cc: ...here.
      	* config/host-solaris.c: Moved to...
      	* config/host-solaris.cc: ...here.
      	* config/i386/djgpp.c: Moved to...
      	* config/i386/djgpp.cc: ...here.
      	* config/i386/driver-i386.c: Moved to...
      	* config/i386/driver-i386.cc: ...here.
      	* config/i386/driver-mingw32.c: Moved to...
      	* config/i386/driver-mingw32.cc: ...here.
      	* config/i386/gnu-property.c: Moved to...
      	* config/i386/gnu-property.cc: ...here.
      	* config/i386/host-cygwin.c: Moved to...
      	* config/i386/host-cygwin.cc: ...here.
      	* config/i386/host-i386-darwin.c: Moved to...
      	* config/i386/host-i386-darwin.cc: ...here.
      	* config/i386/host-mingw32.c: Moved to...
      	* config/i386/host-mingw32.cc: ...here.
      	* config/i386/i386-builtins.c: Moved to...
      	* config/i386/i386-builtins.cc: ...here.
      	* config/i386/i386-c.c: Moved to...
      	* config/i386/i386-c.cc: ...here.
      	* config/i386/i386-d.c: Moved to...
      	* config/i386/i386-d.cc: ...here.
      	* config/i386/i386-expand.c: Moved to...
      	* config/i386/i386-expand.cc: ...here.
      	* config/i386/i386-features.c: Moved to...
      	* config/i386/i386-features.cc: ...here.
      	* config/i386/i386-options.c: Moved to...
      	* config/i386/i386-options.cc: ...here.
      	* config/i386/i386.c: Moved to...
      	* config/i386/i386.cc: ...here.
      	* config/i386/intelmic-mkoffload.c: Moved to...
      	* config/i386/intelmic-mkoffload.cc: ...here.
      	* config/i386/msformat-c.c: Moved to...
      	* config/i386/msformat-c.cc: ...here.
      	* config/i386/winnt-cxx.c: Moved to...
      	* config/i386/winnt-cxx.cc: ...here.
      	* config/i386/winnt-d.c: Moved to...
      	* config/i386/winnt-d.cc: ...here.
      	* config/i386/winnt-stubs.c: Moved to...
      	* config/i386/winnt-stubs.cc: ...here.
      	* config/i386/winnt.c: Moved to...
      	* config/i386/winnt.cc: ...here.
      	* config/i386/x86-tune-sched-atom.c: Moved to...
      	* config/i386/x86-tune-sched-atom.cc: ...here.
      	* config/i386/x86-tune-sched-bd.c: Moved to...
      	* config/i386/x86-tune-sched-bd.cc: ...here.
      	* config/i386/x86-tune-sched-core.c: Moved to...
      	* config/i386/x86-tune-sched-core.cc: ...here.
      	* config/i386/x86-tune-sched.c: Moved to...
      	* config/i386/x86-tune-sched.cc: ...here.
      	* config/ia64/ia64-c.c: Moved to...
      	* config/ia64/ia64-c.cc: ...here.
      	* config/ia64/ia64.c: Moved to...
      	* config/ia64/ia64.cc: ...here.
      	* config/iq2000/iq2000.c: Moved to...
      	* config/iq2000/iq2000.cc: ...here.
      	* config/linux.c: Moved to...
      	* config/linux.cc: ...here.
      	* config/lm32/lm32.c: Moved to...
      	* config/lm32/lm32.cc: ...here.
      	* config/m32c/m32c-pragma.c: Moved to...
      	* config/m32c/m32c-pragma.cc: ...here.
      	* config/m32c/m32c.c: Moved to...
      	* config/m32c/m32c.cc: ...here.
      	* config/m32r/m32r.c: Moved to...
      	* config/m32r/m32r.cc: ...here.
      	* config/m68k/m68k.c: Moved to...
      	* config/m68k/m68k.cc: ...here.
      	* config/mcore/mcore.c: Moved to...
      	* config/mcore/mcore.cc: ...here.
      	* config/microblaze/microblaze-c.c: Moved to...
      	* config/microblaze/microblaze-c.cc: ...here.
      	* config/microblaze/microblaze.c: Moved to...
      	* config/microblaze/microblaze.cc: ...here.
      	* config/mips/driver-native.c: Moved to...
      	* config/mips/driver-native.cc: ...here.
      	* config/mips/frame-header-opt.c: Moved to...
      	* config/mips/frame-header-opt.cc: ...here.
      	* config/mips/mips-d.c: Moved to...
      	* config/mips/mips-d.cc: ...here.
      	* config/mips/mips.c: Moved to...
      	* config/mips/mips.cc: ...here.
      	* config/mmix/mmix.c: Moved to...
      	* config/mmix/mmix.cc: ...here.
      	* config/mn10300/mn10300.c: Moved to...
      	* config/mn10300/mn10300.cc: ...here.
      	* config/moxie/moxie.c: Moved to...
      	* config/moxie/moxie.cc: ...here.
      	* config/msp430/driver-msp430.c: Moved to...
      	* config/msp430/driver-msp430.cc: ...here.
      	* config/msp430/msp430-c.c: Moved to...
      	* config/msp430/msp430-c.cc: ...here.
      	* config/msp430/msp430-devices.c: Moved to...
      	* config/msp430/msp430-devices.cc: ...here.
      	* config/msp430/msp430.c: Moved to...
      	* config/msp430/msp430.cc: ...here.
      	* config/nds32/nds32-cost.c: Moved to...
      	* config/nds32/nds32-cost.cc: ...here.
      	* config/nds32/nds32-fp-as-gp.c: Moved to...
      	* config/nds32/nds32-fp-as-gp.cc: ...here.
      	* config/nds32/nds32-intrinsic.c: Moved to...
      	* config/nds32/nds32-intrinsic.cc: ...here.
      	* config/nds32/nds32-isr.c: Moved to...
      	* config/nds32/nds32-isr.cc: ...here.
      	* config/nds32/nds32-md-auxiliary.c: Moved to...
      	* config/nds32/nds32-md-auxiliary.cc: ...here.
      	* config/nds32/nds32-memory-manipulation.c: Moved to...
      	* config/nds32/nds32-memory-manipulation.cc: ...here.
      	* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
      	* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
      	* config/nds32/nds32-predicates.c: Moved to...
      	* config/nds32/nds32-predicates.cc: ...here.
      	* config/nds32/nds32-relax-opt.c: Moved to...
      	* config/nds32/nds32-relax-opt.cc: ...here.
      	* config/nds32/nds32-utils.c: Moved to...
      	* config/nds32/nds32-utils.cc: ...here.
      	* config/nds32/nds32.c: Moved to...
      	* config/nds32/nds32.cc: ...here.
      	* config/netbsd-d.c: Moved to...
      	* config/netbsd-d.cc: ...here.
      	* config/netbsd.c: Moved to...
      	* config/netbsd.cc: ...here.
      	* config/nios2/nios2.c: Moved to...
      	* config/nios2/nios2.cc: ...here.
      	* config/nvptx/mkoffload.c: Moved to...
      	* config/nvptx/mkoffload.cc: ...here.
      	* config/nvptx/nvptx-c.c: Moved to...
      	* config/nvptx/nvptx-c.cc: ...here.
      	* config/nvptx/nvptx.c: Moved to...
      	* config/nvptx/nvptx.cc: ...here.
      	* config/openbsd-d.c: Moved to...
      	* config/openbsd-d.cc: ...here.
      	* config/or1k/or1k.c: Moved to...
      	* config/or1k/or1k.cc: ...here.
      	* config/pa/pa-d.c: Moved to...
      	* config/pa/pa-d.cc: ...here.
      	* config/pa/pa.c: Moved to...
      	* config/pa/pa.cc: ...here.
      	* config/pdp11/pdp11.c: Moved to...
      	* config/pdp11/pdp11.cc: ...here.
      	* config/pru/pru-passes.c: Moved to...
      	* config/pru/pru-passes.cc: ...here.
      	* config/pru/pru-pragma.c: Moved to...
      	* config/pru/pru-pragma.cc: ...here.
      	* config/pru/pru.c: Moved to...
      	* config/pru/pru.cc: ...here.
      	* config/riscv/riscv-builtins.c: Moved to...
      	* config/riscv/riscv-builtins.cc: ...here.
      	* config/riscv/riscv-c.c: Moved to...
      	* config/riscv/riscv-c.cc: ...here.
      	* config/riscv/riscv-d.c: Moved to...
      	* config/riscv/riscv-d.cc: ...here.
      	* config/riscv/riscv-shorten-memrefs.c: Moved to...
      	* config/riscv/riscv-shorten-memrefs.cc: ...here.
      	* config/riscv/riscv-sr.c: Moved to...
      	* config/riscv/riscv-sr.cc: ...here.
      	* config/riscv/riscv.c: Moved to...
      	* config/riscv/riscv.cc: ...here.
      	* config/rl78/rl78-c.c: Moved to...
      	* config/rl78/rl78-c.cc: ...here.
      	* config/rl78/rl78.c: Moved to...
      	* config/rl78/rl78.cc: ...here.
      	* config/rs6000/driver-rs6000.c: Moved to...
      	* config/rs6000/driver-rs6000.cc: ...here.
      	* config/rs6000/host-darwin.c: Moved to...
      	* config/rs6000/host-darwin.cc: ...here.
      	* config/rs6000/host-ppc64-darwin.c: Moved to...
      	* config/rs6000/host-ppc64-darwin.cc: ...here.
      	* config/rs6000/rbtree.c: Moved to...
      	* config/rs6000/rbtree.cc: ...here.
      	* config/rs6000/rs6000-c.c: Moved to...
      	* config/rs6000/rs6000-c.cc: ...here.
      	* config/rs6000/rs6000-call.c: Moved to...
      	* config/rs6000/rs6000-call.cc: ...here.
      	* config/rs6000/rs6000-d.c: Moved to...
      	* config/rs6000/rs6000-d.cc: ...here.
      	* config/rs6000/rs6000-gen-builtins.c: Moved to...
      	* config/rs6000/rs6000-gen-builtins.cc: ...here.
      	* config/rs6000/rs6000-linux.c: Moved to...
      	* config/rs6000/rs6000-linux.cc: ...here.
      	* config/rs6000/rs6000-logue.c: Moved to...
      	* config/rs6000/rs6000-logue.cc: ...here.
      	* config/rs6000/rs6000-p8swap.c: Moved to...
      	* config/rs6000/rs6000-p8swap.cc: ...here.
      	* config/rs6000/rs6000-pcrel-opt.c: Moved to...
      	* config/rs6000/rs6000-pcrel-opt.cc: ...here.
      	* config/rs6000/rs6000-string.c: Moved to...
      	* config/rs6000/rs6000-string.cc: ...here.
      	* config/rs6000/rs6000.c: Moved to...
      	* config/rs6000/rs6000.cc: ...here.
      	* config/rx/rx.c: Moved to...
      	* config/rx/rx.cc: ...here.
      	* config/s390/driver-native.c: Moved to...
      	* config/s390/driver-native.cc: ...here.
      	* config/s390/s390-c.c: Moved to...
      	* config/s390/s390-c.cc: ...here.
      	* config/s390/s390-d.c: Moved to...
      	* config/s390/s390-d.cc: ...here.
      	* config/s390/s390.c: Moved to...
      	* config/s390/s390.cc: ...here.
      	* config/sh/divtab-sh4-300.c: Moved to...
      	* config/sh/divtab-sh4-300.cc: ...here.
      	* config/sh/divtab-sh4.c: Moved to...
      	* config/sh/divtab-sh4.cc: ...here.
      	* config/sh/divtab.c: Moved to...
      	* config/sh/divtab.cc: ...here.
      	* config/sh/sh-c.c: Moved to...
      	* config/sh/sh-c.cc: ...here.
      	* config/sh/sh.c: Moved to...
      	* config/sh/sh.cc: ...here.
      	* config/sol2-c.c: Moved to...
      	* config/sol2-c.cc: ...here.
      	* config/sol2-cxx.c: Moved to...
      	* config/sol2-cxx.cc: ...here.
      	* config/sol2-d.c: Moved to...
      	* config/sol2-d.cc: ...here.
      	* config/sol2-stubs.c: Moved to...
      	* config/sol2-stubs.cc: ...here.
      	* config/sol2.c: Moved to...
      	* config/sol2.cc: ...here.
      	* config/sparc/driver-sparc.c: Moved to...
      	* config/sparc/driver-sparc.cc: ...here.
      	* config/sparc/sparc-c.c: Moved to...
      	* config/sparc/sparc-c.cc: ...here.
      	* config/sparc/sparc-d.c: Moved to...
      	* config/sparc/sparc-d.cc: ...here.
      	* config/sparc/sparc.c: Moved to...
      	* config/sparc/sparc.cc: ...here.
      	* config/stormy16/stormy16.c: Moved to...
      	* config/stormy16/stormy16.cc: ...here.
      	* config/tilegx/mul-tables.c: Moved to...
      	* config/tilegx/mul-tables.cc: ...here.
      	* config/tilegx/tilegx-c.c: Moved to...
      	* config/tilegx/tilegx-c.cc: ...here.
      	* config/tilegx/tilegx.c: Moved to...
      	* config/tilegx/tilegx.cc: ...here.
      	* config/tilepro/mul-tables.c: Moved to...
      	* config/tilepro/mul-tables.cc: ...here.
      	* config/tilepro/tilepro-c.c: Moved to...
      	* config/tilepro/tilepro-c.cc: ...here.
      	* config/tilepro/tilepro.c: Moved to...
      	* config/tilepro/tilepro.cc: ...here.
      	* config/v850/v850-c.c: Moved to...
      	* config/v850/v850-c.cc: ...here.
      	* config/v850/v850.c: Moved to...
      	* config/v850/v850.cc: ...here.
      	* config/vax/vax.c: Moved to...
      	* config/vax/vax.cc: ...here.
      	* config/visium/visium.c: Moved to...
      	* config/visium/visium.cc: ...here.
      	* config/vms/vms-c.c: Moved to...
      	* config/vms/vms-c.cc: ...here.
      	* config/vms/vms-f.c: Moved to...
      	* config/vms/vms-f.cc: ...here.
      	* config/vms/vms.c: Moved to...
      	* config/vms/vms.cc: ...here.
      	* config/vxworks-c.c: Moved to...
      	* config/vxworks-c.cc: ...here.
      	* config/vxworks.c: Moved to...
      	* config/vxworks.cc: ...here.
      	* config/winnt-c.c: Moved to...
      	* config/winnt-c.cc: ...here.
      	* config/xtensa/xtensa.c: Moved to...
      	* config/xtensa/xtensa.cc: ...here.
      	* context.c: Moved to...
      	* context.cc: ...here.
      	* convert.c: Moved to...
      	* convert.cc: ...here.
      	* coverage.c: Moved to...
      	* coverage.cc: ...here.
      	* cppbuiltin.c: Moved to...
      	* cppbuiltin.cc: ...here.
      	* cppdefault.c: Moved to...
      	* cppdefault.cc: ...here.
      	* cprop.c: Moved to...
      	* cprop.cc: ...here.
      	* cse.c: Moved to...
      	* cse.cc: ...here.
      	* cselib.c: Moved to...
      	* cselib.cc: ...here.
      	* ctfc.c: Moved to...
      	* ctfc.cc: ...here.
      	* ctfout.c: Moved to...
      	* ctfout.cc: ...here.
      	* data-streamer-in.c: Moved to...
      	* data-streamer-in.cc: ...here.
      	* data-streamer-out.c: Moved to...
      	* data-streamer-out.cc: ...here.
      	* data-streamer.c: Moved to...
      	* data-streamer.cc: ...here.
      	* dbgcnt.c: Moved to...
      	* dbgcnt.cc: ...here.
      	* dbxout.c: Moved to...
      	* dbxout.cc: ...here.
      	* dce.c: Moved to...
      	* dce.cc: ...here.
      	* ddg.c: Moved to...
      	* ddg.cc: ...here.
      	* debug.c: Moved to...
      	* debug.cc: ...here.
      	* df-core.c: Moved to...
      	* df-core.cc: ...here.
      	* df-problems.c: Moved to...
      	* df-problems.cc: ...here.
      	* df-scan.c: Moved to...
      	* df-scan.cc: ...here.
      	* dfp.c: Moved to...
      	* dfp.cc: ...here.
      	* diagnostic-color.c: Moved to...
      	* diagnostic-color.cc: ...here.
      	* diagnostic-show-locus.c: Moved to...
      	* diagnostic-show-locus.cc: ...here.
      	* diagnostic-spec.c: Moved to...
      	* diagnostic-spec.cc: ...here.
      	* diagnostic.c: Moved to...
      	* diagnostic.cc: ...here.
      	* dojump.c: Moved to...
      	* dojump.cc: ...here.
      	* dominance.c: Moved to...
      	* dominance.cc: ...here.
      	* domwalk.c: Moved to...
      	* domwalk.cc: ...here.
      	* double-int.c: Moved to...
      	* double-int.cc: ...here.
      	* dse.c: Moved to...
      	* dse.cc: ...here.
      	* dumpfile.c: Moved to...
      	* dumpfile.cc: ...here.
      	* dwarf2asm.c: Moved to...
      	* dwarf2asm.cc: ...here.
      	* dwarf2cfi.c: Moved to...
      	* dwarf2cfi.cc: ...here.
      	* dwarf2ctf.c: Moved to...
      	* dwarf2ctf.cc: ...here.
      	* dwarf2out.c: Moved to...
      	* dwarf2out.cc: ...here.
      	* early-remat.c: Moved to...
      	* early-remat.cc: ...here.
      	* edit-context.c: Moved to...
      	* edit-context.cc: ...here.
      	* emit-rtl.c: Moved to...
      	* emit-rtl.cc: ...here.
      	* errors.c: Moved to...
      	* errors.cc: ...here.
      	* et-forest.c: Moved to...
      	* et-forest.cc: ...here.
      	* except.c: Moved to...
      	* except.cc: ...here.
      	* explow.c: Moved to...
      	* explow.cc: ...here.
      	* expmed.c: Moved to...
      	* expmed.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* fibonacci_heap.c: Moved to...
      	* fibonacci_heap.cc: ...here.
      	* file-find.c: Moved to...
      	* file-find.cc: ...here.
      	* file-prefix-map.c: Moved to...
      	* file-prefix-map.cc: ...here.
      	* final.c: Moved to...
      	* final.cc: ...here.
      	* fixed-value.c: Moved to...
      	* fixed-value.cc: ...here.
      	* fold-const-call.c: Moved to...
      	* fold-const-call.cc: ...here.
      	* fold-const.c: Moved to...
      	* fold-const.cc: ...here.
      	* fp-test.c: Moved to...
      	* fp-test.cc: ...here.
      	* function-tests.c: Moved to...
      	* function-tests.cc: ...here.
      	* function.c: Moved to...
      	* function.cc: ...here.
      	* fwprop.c: Moved to...
      	* fwprop.cc: ...here.
      	* gcc-ar.c: Moved to...
      	* gcc-ar.cc: ...here.
      	* gcc-main.c: Moved to...
      	* gcc-main.cc: ...here.
      	* gcc-rich-location.c: Moved to...
      	* gcc-rich-location.cc: ...here.
      	* gcc.c: Moved to...
      	* gcc.cc: ...here.
      	* gcov-dump.c: Moved to...
      	* gcov-dump.cc: ...here.
      	* gcov-io.c: Moved to...
      	* gcov-io.cc: ...here.
      	* gcov-tool.c: Moved to...
      	* gcov-tool.cc: ...here.
      	* gcov.c: Moved to...
      	* gcov.cc: ...here.
      	* gcse-common.c: Moved to...
      	* gcse-common.cc: ...here.
      	* gcse.c: Moved to...
      	* gcse.cc: ...here.
      	* genattr-common.c: Moved to...
      	* genattr-common.cc: ...here.
      	* genattr.c: Moved to...
      	* genattr.cc: ...here.
      	* genattrtab.c: Moved to...
      	* genattrtab.cc: ...here.
      	* genautomata.c: Moved to...
      	* genautomata.cc: ...here.
      	* gencfn-macros.c: Moved to...
      	* gencfn-macros.cc: ...here.
      	* gencheck.c: Moved to...
      	* gencheck.cc: ...here.
      	* genchecksum.c: Moved to...
      	* genchecksum.cc: ...here.
      	* gencodes.c: Moved to...
      	* gencodes.cc: ...here.
      	* genconditions.c: Moved to...
      	* genconditions.cc: ...here.
      	* genconfig.c: Moved to...
      	* genconfig.cc: ...here.
      	* genconstants.c: Moved to...
      	* genconstants.cc: ...here.
      	* genemit.c: Moved to...
      	* genemit.cc: ...here.
      	* genenums.c: Moved to...
      	* genenums.cc: ...here.
      	* generic-match-head.c: Moved to...
      	* generic-match-head.cc: ...here.
      	* genextract.c: Moved to...
      	* genextract.cc: ...here.
      	* genflags.c: Moved to...
      	* genflags.cc: ...here.
      	* gengenrtl.c: Moved to...
      	* gengenrtl.cc: ...here.
      	* gengtype-parse.c: Moved to...
      	* gengtype-parse.cc: ...here.
      	* gengtype-state.c: Moved to...
      	* gengtype-state.cc: ...here.
      	* gengtype.c: Moved to...
      	* gengtype.cc: ...here.
      	* genhooks.c: Moved to...
      	* genhooks.cc: ...here.
      	* genmatch.c: Moved to...
      	* genmatch.cc: ...here.
      	* genmddeps.c: Moved to...
      	* genmddeps.cc: ...here.
      	* genmddump.c: Moved to...
      	* genmddump.cc: ...here.
      	* genmodes.c: Moved to...
      	* genmodes.cc: ...here.
      	* genopinit.c: Moved to...
      	* genopinit.cc: ...here.
      	* genoutput.c: Moved to...
      	* genoutput.cc: ...here.
      	* genpeep.c: Moved to...
      	* genpeep.cc: ...here.
      	* genpreds.c: Moved to...
      	* genpreds.cc: ...here.
      	* genrecog.c: Moved to...
      	* genrecog.cc: ...here.
      	* gensupport.c: Moved to...
      	* gensupport.cc: ...here.
      	* gentarget-def.c: Moved to...
      	* gentarget-def.cc: ...here.
      	* genversion.c: Moved to...
      	* genversion.cc: ...here.
      	* ggc-common.c: Moved to...
      	* ggc-common.cc: ...here.
      	* ggc-none.c: Moved to...
      	* ggc-none.cc: ...here.
      	* ggc-page.c: Moved to...
      	* ggc-page.cc: ...here.
      	* ggc-tests.c: Moved to...
      	* ggc-tests.cc: ...here.
      	* gimple-builder.c: Moved to...
      	* gimple-builder.cc: ...here.
      	* gimple-expr.c: Moved to...
      	* gimple-expr.cc: ...here.
      	* gimple-fold.c: Moved to...
      	* gimple-fold.cc: ...here.
      	* gimple-iterator.c: Moved to...
      	* gimple-iterator.cc: ...here.
      	* gimple-laddress.c: Moved to...
      	* gimple-laddress.cc: ...here.
      	* gimple-loop-jam.c: Moved to...
      	* gimple-loop-jam.cc: ...here.
      	* gimple-low.c: Moved to...
      	* gimple-low.cc: ...here.
      	* gimple-match-head.c: Moved to...
      	* gimple-match-head.cc: ...here.
      	* gimple-pretty-print.c: Moved to...
      	* gimple-pretty-print.cc: ...here.
      	* gimple-ssa-backprop.c: Moved to...
      	* gimple-ssa-backprop.cc: ...here.
      	* gimple-ssa-evrp-analyze.c: Moved to...
      	* gimple-ssa-evrp-analyze.cc: ...here.
      	* gimple-ssa-evrp.c: Moved to...
      	* gimple-ssa-evrp.cc: ...here.
      	* gimple-ssa-isolate-paths.c: Moved to...
      	* gimple-ssa-isolate-paths.cc: ...here.
      	* gimple-ssa-nonnull-compare.c: Moved to...
      	* gimple-ssa-nonnull-compare.cc: ...here.
      	* gimple-ssa-split-paths.c: Moved to...
      	* gimple-ssa-split-paths.cc: ...here.
      	* gimple-ssa-sprintf.c: Moved to...
      	* gimple-ssa-sprintf.cc: ...here.
      	* gimple-ssa-store-merging.c: Moved to...
      	* gimple-ssa-store-merging.cc: ...here.
      	* gimple-ssa-strength-reduction.c: Moved to...
      	* gimple-ssa-strength-reduction.cc: ...here.
      	* gimple-ssa-warn-alloca.c: Moved to...
      	* gimple-ssa-warn-alloca.cc: ...here.
      	* gimple-ssa-warn-restrict.c: Moved to...
      	* gimple-ssa-warn-restrict.cc: ...here.
      	* gimple-streamer-in.c: Moved to...
      	* gimple-streamer-in.cc: ...here.
      	* gimple-streamer-out.c: Moved to...
      	* gimple-streamer-out.cc: ...here.
      	* gimple-walk.c: Moved to...
      	* gimple-walk.cc: ...here.
      	* gimple-warn-recursion.c: Moved to...
      	* gimple-warn-recursion.cc: ...here.
      	* gimple.c: Moved to...
      	* gimple.cc: ...here.
      	* gimplify-me.c: Moved to...
      	* gimplify-me.cc: ...here.
      	* gimplify.c: Moved to...
      	* gimplify.cc: ...here.
      	* godump.c: Moved to...
      	* godump.cc: ...here.
      	* graph.c: Moved to...
      	* graph.cc: ...here.
      	* graphds.c: Moved to...
      	* graphds.cc: ...here.
      	* graphite-dependences.c: Moved to...
      	* graphite-dependences.cc: ...here.
      	* graphite-isl-ast-to-gimple.c: Moved to...
      	* graphite-isl-ast-to-gimple.cc: ...here.
      	* graphite-optimize-isl.c: Moved to...
      	* graphite-optimize-isl.cc: ...here.
      	* graphite-poly.c: Moved to...
      	* graphite-poly.cc: ...here.
      	* graphite-scop-detection.c: Moved to...
      	* graphite-scop-detection.cc: ...here.
      	* graphite-sese-to-poly.c: Moved to...
      	* graphite-sese-to-poly.cc: ...here.
      	* graphite.c: Moved to...
      	* graphite.cc: ...here.
      	* haifa-sched.c: Moved to...
      	* haifa-sched.cc: ...here.
      	* hash-map-tests.c: Moved to...
      	* hash-map-tests.cc: ...here.
      	* hash-set-tests.c: Moved to...
      	* hash-set-tests.cc: ...here.
      	* hash-table.c: Moved to...
      	* hash-table.cc: ...here.
      	* hooks.c: Moved to...
      	* hooks.cc: ...here.
      	* host-default.c: Moved to...
      	* host-default.cc: ...here.
      	* hw-doloop.c: Moved to...
      	* hw-doloop.cc: ...here.
      	* hwint.c: Moved to...
      	* hwint.cc: ...here.
      	* ifcvt.c: Moved to...
      	* ifcvt.cc: ...here.
      	* inchash.c: Moved to...
      	* inchash.cc: ...here.
      	* incpath.c: Moved to...
      	* incpath.cc: ...here.
      	* init-regs.c: Moved to...
      	* init-regs.cc: ...here.
      	* input.c: Moved to...
      	* input.cc: ...here.
      	* internal-fn.c: Moved to...
      	* internal-fn.cc: ...here.
      	* intl.c: Moved to...
      	* intl.cc: ...here.
      	* ipa-comdats.c: Moved to...
      	* ipa-comdats.cc: ...here.
      	* ipa-cp.c: Moved to...
      	* ipa-cp.cc: ...here.
      	* ipa-devirt.c: Moved to...
      	* ipa-devirt.cc: ...here.
      	* ipa-fnsummary.c: Moved to...
      	* ipa-fnsummary.cc: ...here.
      	* ipa-icf-gimple.c: Moved to...
      	* ipa-icf-gimple.cc: ...here.
      	* ipa-icf.c: Moved to...
      	* ipa-icf.cc: ...here.
      	* ipa-inline-analysis.c: Moved to...
      	* ipa-inline-analysis.cc: ...here.
      	* ipa-inline-transform.c: Moved to...
      	* ipa-inline-transform.cc: ...here.
      	* ipa-inline.c: Moved to...
      	* ipa-inline.cc: ...here.
      	* ipa-modref-tree.c: Moved to...
      	* ipa-modref-tree.cc: ...here.
      	* ipa-modref.c: Moved to...
      	* ipa-modref.cc: ...here.
      	* ipa-param-manipulation.c: Moved to...
      	* ipa-param-manipulation.cc: ...here.
      	* ipa-polymorphic-call.c: Moved to...
      	* ipa-polymorphic-call.cc: ...here.
      	* ipa-predicate.c: Moved to...
      	* ipa-predicate.cc: ...here.
      	* ipa-profile.c: Moved to...
      	* ipa-profile.cc: ...here.
      	* ipa-prop.c: Moved to...
      	* ipa-prop.cc: ...here.
      	* ipa-pure-const.c: Moved to...
      	* ipa-pure-const.cc: ...here.
      	* ipa-ref.c: Moved to...
      	* ipa-ref.cc: ...here.
      	* ipa-reference.c: Moved to...
      	* ipa-reference.cc: ...here.
      	* ipa-split.c: Moved to...
      	* ipa-split.cc: ...here.
      	* ipa-sra.c: Moved to...
      	* ipa-sra.cc: ...here.
      	* ipa-utils.c: Moved to...
      	* ipa-utils.cc: ...here.
      	* ipa-visibility.c: Moved to...
      	* ipa-visibility.cc: ...here.
      	* ipa.c: Moved to...
      	* ipa.cc: ...here.
      	* ira-build.c: Moved to...
      	* ira-build.cc: ...here.
      	* ira-color.c: Moved to...
      	* ira-color.cc: ...here.
      	* ira-conflicts.c: Moved to...
      	* ira-conflicts.cc: ...here.
      	* ira-costs.c: Moved to...
      	* ira-costs.cc: ...here.
      	* ira-emit.c: Moved to...
      	* ira-emit.cc: ...here.
      	* ira-lives.c: Moved to...
      	* ira-lives.cc: ...here.
      	* ira.c: Moved to...
      	* ira.cc: ...here.
      	* jump.c: Moved to...
      	* jump.cc: ...here.
      	* langhooks.c: Moved to...
      	* langhooks.cc: ...here.
      	* lcm.c: Moved to...
      	* lcm.cc: ...here.
      	* lists.c: Moved to...
      	* lists.cc: ...here.
      	* loop-doloop.c: Moved to...
      	* loop-doloop.cc: ...here.
      	* loop-init.c: Moved to...
      	* loop-init.cc: ...here.
      	* loop-invariant.c: Moved to...
      	* loop-invariant.cc: ...here.
      	* loop-iv.c: Moved to...
      	* loop-iv.cc: ...here.
      	* loop-unroll.c: Moved to...
      	* loop-unroll.cc: ...here.
      	* lower-subreg.c: Moved to...
      	* lower-subreg.cc: ...here.
      	* lra-assigns.c: Moved to...
      	* lra-assigns.cc: ...here.
      	* lra-coalesce.c: Moved to...
      	* lra-coalesce.cc: ...here.
      	* lra-constraints.c: Moved to...
      	* lra-constraints.cc: ...here.
      	* lra-eliminations.c: Moved to...
      	* lra-eliminations.cc: ...here.
      	* lra-lives.c: Moved to...
      	* lra-lives.cc: ...here.
      	* lra-remat.c: Moved to...
      	* lra-remat.cc: ...here.
      	* lra-spills.c: Moved to...
      	* lra-spills.cc: ...here.
      	* lra.c: Moved to...
      	* lra.cc: ...here.
      	* lto-cgraph.c: Moved to...
      	* lto-cgraph.cc: ...here.
      	* lto-compress.c: Moved to...
      	* lto-compress.cc: ...here.
      	* lto-opts.c: Moved to...
      	* lto-opts.cc: ...here.
      	* lto-section-in.c: Moved to...
      	* lto-section-in.cc: ...here.
      	* lto-section-out.c: Moved to...
      	* lto-section-out.cc: ...here.
      	* lto-streamer-in.c: Moved to...
      	* lto-streamer-in.cc: ...here.
      	* lto-streamer-out.c: Moved to...
      	* lto-streamer-out.cc: ...here.
      	* lto-streamer.c: Moved to...
      	* lto-streamer.cc: ...here.
      	* lto-wrapper.c: Moved to...
      	* lto-wrapper.cc: ...here.
      	* main.c: Moved to...
      	* main.cc: ...here.
      	* mcf.c: Moved to...
      	* mcf.cc: ...here.
      	* mode-switching.c: Moved to...
      	* mode-switching.cc: ...here.
      	* modulo-sched.c: Moved to...
      	* modulo-sched.cc: ...here.
      	* multiple_target.c: Moved to...
      	* multiple_target.cc: ...here.
      	* omp-expand.c: Moved to...
      	* omp-expand.cc: ...here.
      	* omp-general.c: Moved to...
      	* omp-general.cc: ...here.
      	* omp-low.c: Moved to...
      	* omp-low.cc: ...here.
      	* omp-offload.c: Moved to...
      	* omp-offload.cc: ...here.
      	* omp-simd-clone.c: Moved to...
      	* omp-simd-clone.cc: ...here.
      	* opt-suggestions.c: Moved to...
      	* opt-suggestions.cc: ...here.
      	* optabs-libfuncs.c: Moved to...
      	* optabs-libfuncs.cc: ...here.
      	* optabs-query.c: Moved to...
      	* optabs-query.cc: ...here.
      	* optabs-tree.c: Moved to...
      	* optabs-tree.cc: ...here.
      	* optabs.c: Moved to...
      	* optabs.cc: ...here.
      	* opts-common.c: Moved to...
      	* opts-common.cc: ...here.
      	* opts-global.c: Moved to...
      	* opts-global.cc: ...here.
      	* opts.c: Moved to...
      	* opts.cc: ...here.
      	* passes.c: Moved to...
      	* passes.cc: ...here.
      	* plugin.c: Moved to...
      	* plugin.cc: ...here.
      	* postreload-gcse.c: Moved to...
      	* postreload-gcse.cc: ...here.
      	* postreload.c: Moved to...
      	* postreload.cc: ...here.
      	* predict.c: Moved to...
      	* predict.cc: ...here.
      	* prefix.c: Moved to...
      	* prefix.cc: ...here.
      	* pretty-print.c: Moved to...
      	* pretty-print.cc: ...here.
      	* print-rtl-function.c: Moved to...
      	* print-rtl-function.cc: ...here.
      	* print-rtl.c: Moved to...
      	* print-rtl.cc: ...here.
      	* print-tree.c: Moved to...
      	* print-tree.cc: ...here.
      	* profile-count.c: Moved to...
      	* profile-count.cc: ...here.
      	* profile.c: Moved to...
      	* profile.cc: ...here.
      	* read-md.c: Moved to...
      	* read-md.cc: ...here.
      	* read-rtl-function.c: Moved to...
      	* read-rtl-function.cc: ...here.
      	* read-rtl.c: Moved to...
      	* read-rtl.cc: ...here.
      	* real.c: Moved to...
      	* real.cc: ...here.
      	* realmpfr.c: Moved to...
      	* realmpfr.cc: ...here.
      	* recog.c: Moved to...
      	* recog.cc: ...here.
      	* ree.c: Moved to...
      	* ree.cc: ...here.
      	* reg-stack.c: Moved to...
      	* reg-stack.cc: ...here.
      	* regcprop.c: Moved to...
      	* regcprop.cc: ...here.
      	* reginfo.c: Moved to...
      	* reginfo.cc: ...here.
      	* regrename.c: Moved to...
      	* regrename.cc: ...here.
      	* regstat.c: Moved to...
      	* regstat.cc: ...here.
      	* reload.c: Moved to...
      	* reload.cc: ...here.
      	* reload1.c: Moved to...
      	* reload1.cc: ...here.
      	* reorg.c: Moved to...
      	* reorg.cc: ...here.
      	* resource.c: Moved to...
      	* resource.cc: ...here.
      	* rtl-error.c: Moved to...
      	* rtl-error.cc: ...here.
      	* rtl-tests.c: Moved to...
      	* rtl-tests.cc: ...here.
      	* rtl.c: Moved to...
      	* rtl.cc: ...here.
      	* rtlanal.c: Moved to...
      	* rtlanal.cc: ...here.
      	* rtlhash.c: Moved to...
      	* rtlhash.cc: ...here.
      	* rtlhooks.c: Moved to...
      	* rtlhooks.cc: ...here.
      	* rtx-vector-builder.c: Moved to...
      	* rtx-vector-builder.cc: ...here.
      	* run-rtl-passes.c: Moved to...
      	* run-rtl-passes.cc: ...here.
      	* sancov.c: Moved to...
      	* sancov.cc: ...here.
      	* sanopt.c: Moved to...
      	* sanopt.cc: ...here.
      	* sbitmap.c: Moved to...
      	* sbitmap.cc: ...here.
      	* sched-deps.c: Moved to...
      	* sched-deps.cc: ...here.
      	* sched-ebb.c: Moved to...
      	* sched-ebb.cc: ...here.
      	* sched-rgn.c: Moved to...
      	* sched-rgn.cc: ...here.
      	* sel-sched-dump.c: Moved to...
      	* sel-sched-dump.cc: ...here.
      	* sel-sched-ir.c: Moved to...
      	* sel-sched-ir.cc: ...here.
      	* sel-sched.c: Moved to...
      	* sel-sched.cc: ...here.
      	* selftest-diagnostic.c: Moved to...
      	* selftest-diagnostic.cc: ...here.
      	* selftest-rtl.c: Moved to...
      	* selftest-rtl.cc: ...here.
      	* selftest-run-tests.c: Moved to...
      	* selftest-run-tests.cc: ...here.
      	* selftest.c: Moved to...
      	* selftest.cc: ...here.
      	* sese.c: Moved to...
      	* sese.cc: ...here.
      	* shrink-wrap.c: Moved to...
      	* shrink-wrap.cc: ...here.
      	* simplify-rtx.c: Moved to...
      	* simplify-rtx.cc: ...here.
      	* sparseset.c: Moved to...
      	* sparseset.cc: ...here.
      	* spellcheck-tree.c: Moved to...
      	* spellcheck-tree.cc: ...here.
      	* spellcheck.c: Moved to...
      	* spellcheck.cc: ...here.
      	* sreal.c: Moved to...
      	* sreal.cc: ...here.
      	* stack-ptr-mod.c: Moved to...
      	* stack-ptr-mod.cc: ...here.
      	* statistics.c: Moved to...
      	* statistics.cc: ...here.
      	* stmt.c: Moved to...
      	* stmt.cc: ...here.
      	* stor-layout.c: Moved to...
      	* stor-layout.cc: ...here.
      	* store-motion.c: Moved to...
      	* store-motion.cc: ...here.
      	* streamer-hooks.c: Moved to...
      	* streamer-hooks.cc: ...here.
      	* stringpool.c: Moved to...
      	* stringpool.cc: ...here.
      	* substring-locations.c: Moved to...
      	* substring-locations.cc: ...here.
      	* symtab.c: Moved to...
      	* symtab.cc: ...here.
      	* target-globals.c: Moved to...
      	* target-globals.cc: ...here.
      	* targhooks.c: Moved to...
      	* targhooks.cc: ...here.
      	* timevar.c: Moved to...
      	* timevar.cc: ...here.
      	* toplev.c: Moved to...
      	* toplev.cc: ...here.
      	* tracer.c: Moved to...
      	* tracer.cc: ...here.
      	* trans-mem.c: Moved to...
      	* trans-mem.cc: ...here.
      	* tree-affine.c: Moved to...
      	* tree-affine.cc: ...here.
      	* tree-call-cdce.c: Moved to...
      	* tree-call-cdce.cc: ...here.
      	* tree-cfg.c: Moved to...
      	* tree-cfg.cc: ...here.
      	* tree-cfgcleanup.c: Moved to...
      	* tree-cfgcleanup.cc: ...here.
      	* tree-chrec.c: Moved to...
      	* tree-chrec.cc: ...here.
      	* tree-complex.c: Moved to...
      	* tree-complex.cc: ...here.
      	* tree-data-ref.c: Moved to...
      	* tree-data-ref.cc: ...here.
      	* tree-dfa.c: Moved to...
      	* tree-dfa.cc: ...here.
      	* tree-diagnostic.c: Moved to...
      	* tree-diagnostic.cc: ...here.
      	* tree-dump.c: Moved to...
      	* tree-dump.cc: ...here.
      	* tree-eh.c: Moved to...
      	* tree-eh.cc: ...here.
      	* tree-emutls.c: Moved to...
      	* tree-emutls.cc: ...here.
      	* tree-if-conv.c: Moved to...
      	* tree-if-conv.cc: ...here.
      	* tree-inline.c: Moved to...
      	* tree-inline.cc: ...here.
      	* tree-into-ssa.c: Moved to...
      	* tree-into-ssa.cc: ...here.
      	* tree-iterator.c: Moved to...
      	* tree-iterator.cc: ...here.
      	* tree-loop-distribution.c: Moved to...
      	* tree-loop-distribution.cc: ...here.
      	* tree-nested.c: Moved to...
      	* tree-nested.cc: ...here.
      	* tree-nrv.c: Moved to...
      	* tree-nrv.cc: ...here.
      	* tree-object-size.c: Moved to...
      	* tree-object-size.cc: ...here.
      	* tree-outof-ssa.c: Moved to...
      	* tree-outof-ssa.cc: ...here.
      	* tree-parloops.c: Moved to...
      	* tree-parloops.cc: ...here.
      	* tree-phinodes.c: Moved to...
      	* tree-phinodes.cc: ...here.
      	* tree-predcom.c: Moved to...
      	* tree-predcom.cc: ...here.
      	* tree-pretty-print.c: Moved to...
      	* tree-pretty-print.cc: ...here.
      	* tree-profile.c: Moved to...
      	* tree-profile.cc: ...here.
      	* tree-scalar-evolution.c: Moved to...
      	* tree-scalar-evolution.cc: ...here.
      	* tree-sra.c: Moved to...
      	* tree-sra.cc: ...here.
      	* tree-ssa-address.c: Moved to...
      	* tree-ssa-address.cc: ...here.
      	* tree-ssa-alias.c: Moved to...
      	* tree-ssa-alias.cc: ...here.
      	* tree-ssa-ccp.c: Moved to...
      	* tree-ssa-ccp.cc: ...here.
      	* tree-ssa-coalesce.c: Moved to...
      	* tree-ssa-coalesce.cc: ...here.
      	* tree-ssa-copy.c: Moved to...
      	* tree-ssa-copy.cc: ...here.
      	* tree-ssa-dce.c: Moved to...
      	* tree-ssa-dce.cc: ...here.
      	* tree-ssa-dom.c: Moved to...
      	* tree-ssa-dom.cc: ...here.
      	* tree-ssa-dse.c: Moved to...
      	* tree-ssa-dse.cc: ...here.
      	* tree-ssa-forwprop.c: Moved to...
      	* tree-ssa-forwprop.cc: ...here.
      	* tree-ssa-ifcombine.c: Moved to...
      	* tree-ssa-ifcombine.cc: ...here.
      	* tree-ssa-live.c: Moved to...
      	* tree-ssa-live.cc: ...here.
      	* tree-ssa-loop-ch.c: Moved to...
      	* tree-ssa-loop-ch.cc: ...here.
      	* tree-ssa-loop-im.c: Moved to...
      	* tree-ssa-loop-im.cc: ...here.
      	* tree-ssa-loop-ivcanon.c: Moved to...
      	* tree-ssa-loop-ivcanon.cc: ...here.
      	* tree-ssa-loop-ivopts.c: Moved to...
      	* tree-ssa-loop-ivopts.cc: ...here.
      	* tree-ssa-loop-manip.c: Moved to...
      	* tree-ssa-loop-manip.cc: ...here.
      	* tree-ssa-loop-niter.c: Moved to...
      	* tree-ssa-loop-niter.cc: ...here.
      	* tree-ssa-loop-prefetch.c: Moved to...
      	* tree-ssa-loop-prefetch.cc: ...here.
      	* tree-ssa-loop-split.c: Moved to...
      	* tree-ssa-loop-split.cc: ...here.
      	* tree-ssa-loop-unswitch.c: Moved to...
      	* tree-ssa-loop-unswitch.cc: ...here.
      	* tree-ssa-loop.c: Moved to...
      	* tree-ssa-loop.cc: ...here.
      	* tree-ssa-math-opts.c: Moved to...
      	* tree-ssa-math-opts.cc: ...here.
      	* tree-ssa-operands.c: Moved to...
      	* tree-ssa-operands.cc: ...here.
      	* tree-ssa-phiopt.c: Moved to...
      	* tree-ssa-phiopt.cc: ...here.
      	* tree-ssa-phiprop.c: Moved to...
      	* tree-ssa-phiprop.cc: ...here.
      	* tree-ssa-pre.c: Moved to...
      	* tree-ssa-pre.cc: ...here.
      	* tree-ssa-propagate.c: Moved to...
      	* tree-ssa-propagate.cc: ...here.
      	* tree-ssa-reassoc.c: Moved to...
      	* tree-ssa-reassoc.cc: ...here.
      	* tree-ssa-sccvn.c: Moved to...
      	* tree-ssa-sccvn.cc: ...here.
      	* tree-ssa-scopedtables.c: Moved to...
      	* tree-ssa-scopedtables.cc: ...here.
      	* tree-ssa-sink.c: Moved to...
      	* tree-ssa-sink.cc: ...here.
      	* tree-ssa-strlen.c: Moved to...
      	* tree-ssa-strlen.cc: ...here.
      	* tree-ssa-structalias.c: Moved to...
      	* tree-ssa-structalias.cc: ...here.
      	* tree-ssa-tail-merge.c: Moved to...
      	* tree-ssa-tail-merge.cc: ...here.
      	* tree-ssa-ter.c: Moved to...
      	* tree-ssa-ter.cc: ...here.
      	* tree-ssa-threadbackward.c: Moved to...
      	* tree-ssa-threadbackward.cc: ...here.
      	* tree-ssa-threadedge.c: Moved to...
      	* tree-ssa-threadedge.cc: ...here.
      	* tree-ssa-threadupdate.c: Moved to...
      	* tree-ssa-threadupdate.cc: ...here.
      	* tree-ssa-uncprop.c: Moved to...
      	* tree-ssa-uncprop.cc: ...here.
      	* tree-ssa-uninit.c: Moved to...
      	* tree-ssa-uninit.cc: ...here.
      	* tree-ssa.c: Moved to...
      	* tree-ssa.cc: ...here.
      	* tree-ssanames.c: Moved to...
      	* tree-ssanames.cc: ...here.
      	* tree-stdarg.c: Moved to...
      	* tree-stdarg.cc: ...here.
      	* tree-streamer-in.c: Moved to...
      	* tree-streamer-in.cc: ...here.
      	* tree-streamer-out.c: Moved to...
      	* tree-streamer-out.cc: ...here.
      	* tree-streamer.c: Moved to...
      	* tree-streamer.cc: ...here.
      	* tree-switch-conversion.c: Moved to...
      	* tree-switch-conversion.cc: ...here.
      	* tree-tailcall.c: Moved to...
      	* tree-tailcall.cc: ...here.
      	* tree-vect-data-refs.c: Moved to...
      	* tree-vect-data-refs.cc: ...here.
      	* tree-vect-generic.c: Moved to...
      	* tree-vect-generic.cc: ...here.
      	* tree-vect-loop-manip.c: Moved to...
      	* tree-vect-loop-manip.cc: ...here.
      	* tree-vect-loop.c: Moved to...
      	* tree-vect-loop.cc: ...here.
      	* tree-vect-patterns.c: Moved to...
      	* tree-vect-patterns.cc: ...here.
      	* tree-vect-slp-patterns.c: Moved to...
      	* tree-vect-slp-patterns.cc: ...here.
      	* tree-vect-slp.c: Moved to...
      	* tree-vect-slp.cc: ...here.
      	* tree-vect-stmts.c: Moved to...
      	* tree-vect-stmts.cc: ...here.
      	* tree-vector-builder.c: Moved to...
      	* tree-vector-builder.cc: ...here.
      	* tree-vectorizer.c: Moved to...
      	* tree-vectorizer.cc: ...here.
      	* tree-vrp.c: Moved to...
      	* tree-vrp.cc: ...here.
      	* tree.c: Moved to...
      	* tree.cc: ...here.
      	* tsan.c: Moved to...
      	* tsan.cc: ...here.
      	* typed-splay-tree.c: Moved to...
      	* typed-splay-tree.cc: ...here.
      	* ubsan.c: Moved to...
      	* ubsan.cc: ...here.
      	* valtrack.c: Moved to...
      	* valtrack.cc: ...here.
      	* value-prof.c: Moved to...
      	* value-prof.cc: ...here.
      	* var-tracking.c: Moved to...
      	* var-tracking.cc: ...here.
      	* varasm.c: Moved to...
      	* varasm.cc: ...here.
      	* varpool.c: Moved to...
      	* varpool.cc: ...here.
      	* vec-perm-indices.c: Moved to...
      	* vec-perm-indices.cc: ...here.
      	* vec.c: Moved to...
      	* vec.cc: ...here.
      	* vmsdbgout.c: Moved to...
      	* vmsdbgout.cc: ...here.
      	* vr-values.c: Moved to...
      	* vr-values.cc: ...here.
      	* vtable-verify.c: Moved to...
      	* vtable-verify.cc: ...here.
      	* web.c: Moved to...
      	* web.cc: ...here.
      	* xcoffout.c: Moved to...
      	* xcoffout.cc: ...here.
      
      gcc/c-family/ChangeLog:
      
      	* c-ada-spec.c: Moved to...
      	* c-ada-spec.cc: ...here.
      	* c-attribs.c: Moved to...
      	* c-attribs.cc: ...here.
      	* c-common.c: Moved to...
      	* c-common.cc: ...here.
      	* c-cppbuiltin.c: Moved to...
      	* c-cppbuiltin.cc: ...here.
      	* c-dump.c: Moved to...
      	* c-dump.cc: ...here.
      	* c-format.c: Moved to...
      	* c-format.cc: ...here.
      	* c-gimplify.c: Moved to...
      	* c-gimplify.cc: ...here.
      	* c-indentation.c: Moved to...
      	* c-indentation.cc: ...here.
      	* c-lex.c: Moved to...
      	* c-lex.cc: ...here.
      	* c-omp.c: Moved to...
      	* c-omp.cc: ...here.
      	* c-opts.c: Moved to...
      	* c-opts.cc: ...here.
      	* c-pch.c: Moved to...
      	* c-pch.cc: ...here.
      	* c-ppoutput.c: Moved to...
      	* c-ppoutput.cc: ...here.
      	* c-pragma.c: Moved to...
      	* c-pragma.cc: ...here.
      	* c-pretty-print.c: Moved to...
      	* c-pretty-print.cc: ...here.
      	* c-semantics.c: Moved to...
      	* c-semantics.cc: ...here.
      	* c-ubsan.c: Moved to...
      	* c-ubsan.cc: ...here.
      	* c-warn.c: Moved to...
      	* c-warn.cc: ...here.
      	* cppspec.c: Moved to...
      	* cppspec.cc: ...here.
      	* stub-objc.c: Moved to...
      	* stub-objc.cc: ...here.
      
      gcc/c/ChangeLog:
      
      	* c-aux-info.c: Moved to...
      	* c-aux-info.cc: ...here.
      	* c-convert.c: Moved to...
      	* c-convert.cc: ...here.
      	* c-decl.c: Moved to...
      	* c-decl.cc: ...here.
      	* c-errors.c: Moved to...
      	* c-errors.cc: ...here.
      	* c-fold.c: Moved to...
      	* c-fold.cc: ...here.
      	* c-lang.c: Moved to...
      	* c-lang.cc: ...here.
      	* c-objc-common.c: Moved to...
      	* c-objc-common.cc: ...here.
      	* c-parser.c: Moved to...
      	* c-parser.cc: ...here.
      	* c-typeck.c: Moved to...
      	* c-typeck.cc: ...here.
      	* gccspec.c: Moved to...
      	* gccspec.cc: ...here.
      	* gimple-parser.c: Moved to...
      	* gimple-parser.cc: ...here.
      
      gcc/cp/ChangeLog:
      
      	* call.c: Moved to...
      	* call.cc: ...here.
      	* class.c: Moved to...
      	* class.cc: ...here.
      	* constexpr.c: Moved to...
      	* constexpr.cc: ...here.
      	* cp-gimplify.c: Moved to...
      	* cp-gimplify.cc: ...here.
      	* cp-lang.c: Moved to...
      	* cp-lang.cc: ...here.
      	* cp-objcp-common.c: Moved to...
      	* cp-objcp-common.cc: ...here.
      	* cp-ubsan.c: Moved to...
      	* cp-ubsan.cc: ...here.
      	* cvt.c: Moved to...
      	* cvt.cc: ...here.
      	* cxx-pretty-print.c: Moved to...
      	* cxx-pretty-print.cc: ...here.
      	* decl.c: Moved to...
      	* decl.cc: ...here.
      	* decl2.c: Moved to...
      	* decl2.cc: ...here.
      	* dump.c: Moved to...
      	* dump.cc: ...here.
      	* error.c: Moved to...
      	* error.cc: ...here.
      	* except.c: Moved to...
      	* except.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* friend.c: Moved to...
      	* friend.cc: ...here.
      	* g++spec.c: Moved to...
      	* g++spec.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* lambda.c: Moved to...
      	* lambda.cc: ...here.
      	* lex.c: Moved to...
      	* lex.cc: ...here.
      	* mangle.c: Moved to...
      	* mangle.cc: ...here.
      	* method.c: Moved to...
      	* method.cc: ...here.
      	* name-lookup.c: Moved to...
      	* name-lookup.cc: ...here.
      	* optimize.c: Moved to...
      	* optimize.cc: ...here.
      	* parser.c: Moved to...
      	* parser.cc: ...here.
      	* pt.c: Moved to...
      	* pt.cc: ...here.
      	* ptree.c: Moved to...
      	* ptree.cc: ...here.
      	* rtti.c: Moved to...
      	* rtti.cc: ...here.
      	* search.c: Moved to...
      	* search.cc: ...here.
      	* semantics.c: Moved to...
      	* semantics.cc: ...here.
      	* tree.c: Moved to...
      	* tree.cc: ...here.
      	* typeck.c: Moved to...
      	* typeck.cc: ...here.
      	* typeck2.c: Moved to...
      	* typeck2.cc: ...here.
      	* vtable-class-hierarchy.c: Moved to...
      	* vtable-class-hierarchy.cc: ...here.
      
      gcc/fortran/ChangeLog:
      
      	* arith.c: Moved to...
      	* arith.cc: ...here.
      	* array.c: Moved to...
      	* array.cc: ...here.
      	* bbt.c: Moved to...
      	* bbt.cc: ...here.
      	* check.c: Moved to...
      	* check.cc: ...here.
      	* class.c: Moved to...
      	* class.cc: ...here.
      	* constructor.c: Moved to...
      	* constructor.cc: ...here.
      	* convert.c: Moved to...
      	* convert.cc: ...here.
      	* cpp.c: Moved to...
      	* cpp.cc: ...here.
      	* data.c: Moved to...
      	* data.cc: ...here.
      	* decl.c: Moved to...
      	* decl.cc: ...here.
      	* dependency.c: Moved to...
      	* dependency.cc: ...here.
      	* dump-parse-tree.c: Moved to...
      	* dump-parse-tree.cc: ...here.
      	* error.c: Moved to...
      	* error.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* f95-lang.c: Moved to...
      	* f95-lang.cc: ...here.
      	* frontend-passes.c: Moved to...
      	* frontend-passes.cc: ...here.
      	* gfortranspec.c: Moved to...
      	* gfortranspec.cc: ...here.
      	* interface.c: Moved to...
      	* interface.cc: ...here.
      	* intrinsic.c: Moved to...
      	* intrinsic.cc: ...here.
      	* io.c: Moved to...
      	* io.cc: ...here.
      	* iresolve.c: Moved to...
      	* iresolve.cc: ...here.
      	* match.c: Moved to...
      	* match.cc: ...here.
      	* matchexp.c: Moved to...
      	* matchexp.cc: ...here.
      	* misc.c: Moved to...
      	* misc.cc: ...here.
      	* module.c: Moved to...
      	* module.cc: ...here.
      	* openmp.c: Moved to...
      	* openmp.cc: ...here.
      	* options.c: Moved to...
      	* options.cc: ...here.
      	* parse.c: Moved to...
      	* parse.cc: ...here.
      	* primary.c: Moved to...
      	* primary.cc: ...here.
      	* resolve.c: Moved to...
      	* resolve.cc: ...here.
      	* scanner.c: Moved to...
      	* scanner.cc: ...here.
      	* simplify.c: Moved to...
      	* simplify.cc: ...here.
      	* st.c: Moved to...
      	* st.cc: ...here.
      	* symbol.c: Moved to...
      	* symbol.cc: ...here.
      	* target-memory.c: Moved to...
      	* target-memory.cc: ...here.
      	* trans-array.c: Moved to...
      	* trans-array.cc: ...here.
      	* trans-common.c: Moved to...
      	* trans-common.cc: ...here.
      	* trans-const.c: Moved to...
      	* trans-const.cc: ...here.
      	* trans-decl.c: Moved to...
      	* trans-decl.cc: ...here.
      	* trans-expr.c: Moved to...
      	* trans-expr.cc: ...here.
      	* trans-intrinsic.c: Moved to...
      	* trans-intrinsic.cc: ...here.
      	* trans-io.c: Moved to...
      	* trans-io.cc: ...here.
      	* trans-openmp.c: Moved to...
      	* trans-openmp.cc: ...here.
      	* trans-stmt.c: Moved to...
      	* trans-stmt.cc: ...here.
      	* trans-types.c: Moved to...
      	* trans-types.cc: ...here.
      	* trans.c: Moved to...
      	* trans.cc: ...here.
      
      gcc/go/ChangeLog:
      
      	* go-backend.c: Moved to...
      	* go-backend.cc: ...here.
      	* go-lang.c: Moved to...
      	* go-lang.cc: ...here.
      	* gospec.c: Moved to...
      	* gospec.cc: ...here.
      
      gcc/jit/ChangeLog:
      
      	* dummy-frontend.c: Moved to...
      	* dummy-frontend.cc: ...here.
      	* jit-builtins.c: Moved to...
      	* jit-builtins.cc: ...here.
      	* jit-logging.c: Moved to...
      	* jit-logging.cc: ...here.
      	* jit-playback.c: Moved to...
      	* jit-playback.cc: ...here.
      	* jit-recording.c: Moved to...
      	* jit-recording.cc: ...here.
      	* jit-result.c: Moved to...
      	* jit-result.cc: ...here.
      	* jit-spec.c: Moved to...
      	* jit-spec.cc: ...here.
      	* jit-tempdir.c: Moved to...
      	* jit-tempdir.cc: ...here.
      	* jit-w32.c: Moved to...
      	* jit-w32.cc: ...here.
      	* libgccjit.c: Moved to...
      	* libgccjit.cc: ...here.
      
      gcc/lto/ChangeLog:
      
      	* common.c: Moved to...
      	* common.cc: ...here.
      	* lto-common.c: Moved to...
      	* lto-common.cc: ...here.
      	* lto-dump.c: Moved to...
      	* lto-dump.cc: ...here.
      	* lto-lang.c: Moved to...
      	* lto-lang.cc: ...here.
      	* lto-object.c: Moved to...
      	* lto-object.cc: ...here.
      	* lto-partition.c: Moved to...
      	* lto-partition.cc: ...here.
      	* lto-symtab.c: Moved to...
      	* lto-symtab.cc: ...here.
      	* lto.c: Moved to...
      	* lto.cc: ...here.
      
      gcc/objc/ChangeLog:
      
      	* objc-act.c: Moved to...
      	* objc-act.cc: ...here.
      	* objc-encoding.c: Moved to...
      	* objc-encoding.cc: ...here.
      	* objc-gnu-runtime-abi-01.c: Moved to...
      	* objc-gnu-runtime-abi-01.cc: ...here.
      	* objc-lang.c: Moved to...
      	* objc-lang.cc: ...here.
      	* objc-map.c: Moved to...
      	* objc-map.cc: ...here.
      	* objc-next-runtime-abi-01.c: Moved to...
      	* objc-next-runtime-abi-01.cc: ...here.
      	* objc-next-runtime-abi-02.c: Moved to...
      	* objc-next-runtime-abi-02.cc: ...here.
      	* objc-runtime-shared-support.c: Moved to...
      	* objc-runtime-shared-support.cc: ...here.
      
      gcc/objcp/ChangeLog:
      
      	* objcp-decl.c: Moved to...
      	* objcp-decl.cc: ...here.
      	* objcp-lang.c: Moved to...
      	* objcp-lang.cc: ...here.
      
      libcpp/ChangeLog:
      
      	* charset.c: Moved to...
      	* charset.cc: ...here.
      	* directives.c: Moved to...
      	* directives.cc: ...here.
      	* errors.c: Moved to...
      	* errors.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* files.c: Moved to...
      	* files.cc: ...here.
      	* identifiers.c: Moved to...
      	* identifiers.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* lex.c: Moved to...
      	* lex.cc: ...here.
      	* line-map.c: Moved to...
      	* line-map.cc: ...here.
      	* macro.c: Moved to...
      	* macro.cc: ...here.
      	* makeucnid.c: Moved to...
      	* makeucnid.cc: ...here.
      	* mkdeps.c: Moved to...
      	* mkdeps.cc: ...here.
      	* pch.c: Moved to...
      	* pch.cc: ...here.
      	* symtab.c: Moved to...
      	* symtab.cc: ...here.
      	* traditional.c: Moved to...
      	* traditional.cc: ...here.
      5c69acb3
  5. Jan 03, 2022
  6. Dec 01, 2021
    • Jakub Jelinek's avatar
      libcpp: Enable P1949R7 for C++98 too [PR100977] · c264208e
      Jakub Jelinek authored
      On Mon, Nov 29, 2021 at 05:53:58PM -0500, Jason Merrill wrote:
      > I'm inclined to go ahead and change C++98 as well; I doubt anyone is relying
      > on the particular C++98 extended character set rules, and we already accept
      > the union of the different sets when not pedantic.
      
      Ok, here is an incremental patch to do that also for -std={c,gnu}++98.
      
      2021-12-01  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/100977
      	* init.c (struct lang_flags): Remove cxx23_identifiers.
      	(lang_defaults): Remove cxx23_identifiers initializers.
      	(cpp_set_lang): Don't copy cxx23_identifiers.
      	* include/cpplib.h (struct cpp_options): Adjust comment about
      	c11_identifiers.  Remove cxx23_identifiers field.
      	* lex.c (warn_about_normalization): Use cplusplus instead of
      	cxx23_identifiers.
      	* charset.c (ucn_valid_in_identifier): Likewise.
      
      	* g++.dg/cpp/ucnid-1.C: Adjust expected diagnostics.
      	* g++.dg/cpp/ucnid-1-utf8.C: Likewise.
      c264208e
  7. Nov 30, 2021
    • Richard Biener's avatar
      Remove more stray returns and gcc_unreachable ()s · fa01e206
      Richard Biener authored
      This removes more cases that appear when bootstrap with
      -Wunreachable-code-return progresses.
      
      2021-11-29  Richard Biener  <rguenther@suse.de>
      
      	* config/i386/i386.c (ix86_shift_rotate_cost): Remove
      	unreachable return.
      	* tree-chrec.c (evolution_function_is_invariant_rec_p):
      	Likewise.
      	* tree-if-conv.c (if_convertible_stmt_p): Likewise.
      	* tree-ssa-pre.c (fully_constant_expression): Likewise.
      	* tree-vrp.c (operand_less_p): Likewise.
      	* reload.c (reg_overlap_mentioned_for_reload_p): Remove
      	unreachable gcc_unreachable ().
      	* sel-sched-ir.h (bb_next_bb): Likewise.
      	* varasm.c (compare_constant): Likewise.
      
      gcc/cp/
      	* logic.cc (cnf_size_r): Remove unreachable and inconsistently
      	placed gcc_unreachable ()s.
      	* pt.c (iterative_hash_template_arg): Remove unreachable
      	gcc_unreachable and return.
      
      gcc/fortran/
      	* target-memory.c (gfc_element_size): Remove unreachable return.
      
      gcc/objc/
      	* objc-act.c (objc_build_setter_call): Remove unreachable
      	return.
      
      libcpp/
      	* charset.c (convert_escape): Remove unreachable break.
      fa01e206
  8. Nov 01, 2021
    • David Malcolm's avatar
      diagnostics: escape non-ASCII source bytes for certain diagnostics · bd5e882c
      David Malcolm authored
      
      This patch adds support to GCC's diagnostic subsystem for escaping certain
      bytes and Unicode characters when quoting source code.
      
      Specifically, this patch adds a new flag rich_location::m_escape_on_output
      which is a hint from a diagnostic that non-ASCII bytes in the pertinent
      lines of the user's source code should be escaped when printed.
      
      The patch sets this for the following diagnostics:
      - when complaining about stray bytes in the program (when these
      are non-printable)
      - when complaining about "null character(s) ignored");
      - for -Wnormalized= (and generate source ranges for such warnings)
      
      The escaping is controlled by a new option:
        -fdiagnostics-escape-format=[unicode|bytes]
      
      For example, consider a diagnostic involing a source line containing the
      string "before" followed by the Unicode character U+03C0 ("GREEK SMALL
      LETTER PI", with UTF-8 encoding 0xCF 0x80) followed by the byte 0xBF
      (a stray UTF-8 trailing byte), followed by the string "after", where the
      diagnostic highlights the U+03C0 character.
      
      By default, this line will be printed verbatim to the user when
      reporting a diagnostic at it, as:
      
       beforeπXafter
             ^
      
      (using X for the stray byte to avoid putting invalid UTF-8 in this
      commit message)
      
      If the diagnostic sets the "escape" flag, it will be printed as:
      
       before<U+03C0><BF>after
             ^~~~~~~~
      
      with -fdiagnostics-escape-format=unicode (the default), or as:
      
        before<CF><80><BF>after
              ^~~~~~~~
      
      if the user supplies -fdiagnostics-escape-format=bytes.
      
      This only affects how the source is printed; it does not affect
      how column numbers that are printed (as per -fdiagnostics-column-unit=
      and -fdiagnostics-column-origin=).
      
      gcc/c-family/ChangeLog:
      	* c-lex.c (c_lex_with_flags): When complaining about non-printable
      	CPP_OTHER tokens, set the "escape on output" flag.
      
      gcc/ChangeLog:
      	* common.opt (fdiagnostics-escape-format=): New.
      	(diagnostics_escape_format): New enum.
      	(DIAGNOSTICS_ESCAPE_FORMAT_UNICODE): New enum value.
      	(DIAGNOSTICS_ESCAPE_FORMAT_BYTES): Likewise.
      	* diagnostic-format-json.cc (json_end_diagnostic): Add
      	"escape-source" attribute.
      	* diagnostic-show-locus.c
      	(exploc_with_display_col::exploc_with_display_col): Replace
      	"tabstop" param with a cpp_char_column_policy and add an "aspect"
      	param.  Use these to compute m_display_col accordingly.
      	(struct char_display_policy): New struct.
      	(layout::m_policy): New field.
      	(layout::m_escape_on_output): New field.
      	(def_policy): New function.
      	(make_range): Update for changes to exploc_with_display_col ctor.
      	(default_print_decoded_ch): New.
      	(width_per_escaped_byte): New.
      	(escape_as_bytes_width): New.
      	(escape_as_bytes_print): New.
      	(escape_as_unicode_width): New.
      	(escape_as_unicode_print): New.
      	(make_policy): New.
      	(layout::layout): Initialize new fields.  Update m_exploc ctor
      	call for above change to ctor.
      	(layout::maybe_add_location_range): Update for changes to
      	exploc_with_display_col ctor.
      	(layout::calculate_x_offset_display): Update for change to
      	cpp_display_width.
      	(layout::print_source_line): Pass policy
      	to cpp_display_width_computation. Capture cpp_decoded_char when
      	calling process_next_codepoint.  Move printing of source code to
      	m_policy.m_print_cb.
      	(line_label::line_label): Pass in policy rather than context.
      	(layout::print_any_labels): Update for change to line_label ctor.
      	(get_affected_range): Pass in policy rather than context, updating
      	calls to location_compute_display_column accordingly.
      	(get_printed_columns): Likewise, also for cpp_display_width.
      	(correction::correction): Pass in policy rather than tabstop.
      	(correction::compute_display_cols): Pass m_policy rather than
      	m_tabstop to cpp_display_width.
      	(correction::m_tabstop): Replace with...
      	(correction::m_policy): ...this.
      	(line_corrections::line_corrections): Pass in policy rather than
      	context.
      	(line_corrections::m_context): Replace with...
      	(line_corrections::m_policy): ...this.
      	(line_corrections::add_hint): Update to use m_policy rather than
      	m_context.
      	(line_corrections::add_hint): Likewise.
      	(layout::print_trailing_fixits): Likewise.
      	(selftest::test_display_widths): New.
      	(selftest::test_layout_x_offset_display_utf8): Update to use
      	policy rather than tabstop.
      	(selftest::test_one_liner_labels_utf8): Add test of escaping
      	source lines.
      	(selftest::test_diagnostic_show_locus_one_liner_utf8): Update to
      	use policy rather than tabstop.
      	(selftest::test_overlapped_fixit_printing): Likewise.
      	(selftest::test_overlapped_fixit_printing_utf8): Likewise.
      	(selftest::test_overlapped_fixit_printing_2): Likewise.
      	(selftest::test_tab_expansion): Likewise.
      	(selftest::test_escaping_bytes_1): New.
      	(selftest::test_escaping_bytes_2): New.
      	(selftest::diagnostic_show_locus_c_tests): Call the new tests.
      	* diagnostic.c (diagnostic_initialize): Initialize
      	context->escape_format.
      	(convert_column_unit): Update to use default character width policy.
      	(selftest::test_diagnostic_get_location_text): Likewise.
      	* diagnostic.h (enum diagnostics_escape_format): New enum.
      	(diagnostic_context::escape_format): New field.
      	* doc/invoke.texi (-fdiagnostics-escape-format=): New option.
      	(-fdiagnostics-format=): Add "escape-source" attribute to examples
      	of JSON output, and document it.
      	* input.c (location_compute_display_column): Pass in "policy"
      	rather than "tabstop", passing to
      	cpp_byte_column_to_display_column.
      	(selftest::test_cpp_utf8): Update to use cpp_char_column_policy.
      	* input.h (class cpp_char_column_policy): New forward decl.
      	(location_compute_display_column): Pass in "policy" rather than
      	"tabstop".
      	* opts.c (common_handle_option): Handle
      	OPT_fdiagnostics_escape_format_.
      	* selftest.c (temp_source_file::temp_source_file): New ctor
      	overload taking a size_t.
      	* selftest.h (temp_source_file::temp_source_file): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* c-c++-common/diagnostic-format-json-1.c: Add regexp to consume
      	"escape-source" attribute.
      	* c-c++-common/diagnostic-format-json-2.c: Likewise.
      	* c-c++-common/diagnostic-format-json-3.c: Likewise.
      	* c-c++-common/diagnostic-format-json-4.c: Likewise, twice.
      	* c-c++-common/diagnostic-format-json-5.c: Likewise.
      	* gcc.dg/cpp/warn-normalized-4-bytes.c: New test.
      	* gcc.dg/cpp/warn-normalized-4-unicode.c: New test.
      	* gcc.dg/encoding-issues-bytes.c: New test.
      	* gcc.dg/encoding-issues-unicode.c: New test.
      	* gfortran.dg/diagnostic-format-json-1.F90: Add regexp to consume
      	"escape-source" attribute.
      	* gfortran.dg/diagnostic-format-json-2.F90: Likewise.
      	* gfortran.dg/diagnostic-format-json-3.F90: Likewise.
      
      libcpp/ChangeLog:
      	* charset.c (convert_escape): Use encoding_rich_location when
      	complaining about nonprintable unknown escape sequences.
      	(cpp_display_width_computation::::cpp_display_width_computation):
      	Pass in policy rather than tabstop.
      	(cpp_display_width_computation::process_next_codepoint): Add "out"
      	param and populate *out if non-NULL.
      	(cpp_display_width_computation::advance_display_cols): Pass NULL
      	to process_next_codepoint.
      	(cpp_byte_column_to_display_column): Pass in policy rather than
      	tabstop.  Pass NULL to process_next_codepoint.
      	(cpp_display_column_to_byte_column): Pass in policy rather than
      	tabstop.
      	* errors.c (cpp_diagnostic_get_current_location): New function,
      	splitting out the logic from...
      	(cpp_diagnostic): ...here.
      	(cpp_warning_at): New function.
      	(cpp_pedwarning_at): New function.
      	* include/cpplib.h (cpp_warning_at): New decl for rich_location.
      	(cpp_pedwarning_at): Likewise.
      	(struct cpp_decoded_char): New.
      	(struct cpp_char_column_policy): New.
      	(cpp_display_width_computation::cpp_display_width_computation):
      	Replace "tabstop" param with "policy".
      	(cpp_display_width_computation::process_next_codepoint): Add "out"
      	param.
      	(cpp_display_width_computation::m_tabstop): Replace with...
      	(cpp_display_width_computation::m_policy): ...this.
      	(cpp_byte_column_to_display_column): Replace "tabstop" param with
      	"policy".
      	(cpp_display_width): Likewise.
      	(cpp_display_column_to_byte_column): Likewise.
      	* include/line-map.h (rich_location::escape_on_output_p): New.
      	(rich_location::set_escape_on_output): New.
      	(rich_location::m_escape_on_output): New.
      	* internal.h (cpp_diagnostic_get_current_location): New decl.
      	(class encoding_rich_location): New.
      	* lex.c (skip_whitespace): Use encoding_rich_location when
      	complaining about null characters.
      	(warn_about_normalization): Generate a source range when
      	complaining about improperly normalized tokens, rather than just a
      	point, and use encoding_rich_location so that the source code
      	is escaped on printing.
      	* line-map.c (rich_location::rich_location): Initialize
      	m_escape_on_output.
      
      Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
      bd5e882c
  9. Oct 18, 2021
    • Martin Liska's avatar
      Remove unused but set variables. · 724e2704
      Martin Liska authored
      Reported by clang13 -Wunused-but-set-variable:
      
      gcc/ChangeLog:
      
      	* dbgcnt.c (dbg_cnt_process_opt): Remove unused but set variable.
      	* gcov.c (get_cycles_count): Likewise.
      	* lto-compress.c (lto_compression_zlib): Likewise.
      	(lto_uncompression_zlib): Likewise.
      	* targhooks.c (default_pch_valid_p): Likewise.
      
      libcpp/ChangeLog:
      
      	* charset.c (convert_oct): Remove unused but set variable.
      724e2704
  10. Sep 01, 2021
    • Jakub Jelinek's avatar
      libcpp: Implement C++23 P1949R7 - C++ Identifier Syntax using Unicode Standard Annex 31 · c4d6dcac
      Jakub Jelinek authored
      The following patch implements the
      P1949R7 - C++ Identifier Syntax using Unicode Standard Annex 31
      paper.  We already allow UTF-8 characters in the source, so that part
      is already implemented, so IMHO all we need to do is pedwarn instead of
      just warn for the (default) -Wnormalize=nfc (or for -Wnormalize={id,nkfc})
      if the character is not in NFC and to use the unicode XID_Start and
      XID_Continue derived code properties to find out what characters are allowed
      (the standard actually adds U+005F to XID_Start, but we are handling the
      ASCII compatible characters differently already and they aren't allowed
      in UCNs in identifiers).  Instead of hardcoding the large tables
      in ucnid.tab, this patch makes makeucnid.c read them from the Unicode
      tables (13.0.0 version at this point).
      
      For non-pedantic mode, we accept as 2nd+ char in identifiers a union
      of valid characters in all supported modes, but for the 1st char it
      was actually pedantically requiring that it is not any of the characters
      that may not appear in the currently chosen standard as the first character.
      This patch changes it such that also what is allowed at the start of an
      identifier is a union of characters valid at the start of an identifier
      in any of the pedantic modes.
      
      2021-09-01  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/100977
      libcpp/
      	* include/cpplib.h (struct cpp_options): Add cxx23_identifiers.
      	* charset.c (CXX23, NXX23): New enumerators.
      	(CID, NFC, NKC, CTX): Renumber.
      	(ucn_valid_in_identifier): Implement P1949R7 - use CXX23 and
      	NXX23 flags for cxx23_identifiers.  For start character in
      	non-pedantic mode, allow characters that are allowed as start
      	characters in any of the supported language modes, rather than
      	disallowing characters allowed only as non-start characters in
      	current mode but for characters from other language modes allowing
      	them even if they are never allowed at start.
      	* init.c (struct lang_flags): Add cxx23_identifiers.
      	(lang_defaults): Add cxx23_identifiers column.
      	(cpp_set_lang): Initialize CPP_OPTION (pfile, cxx23_identifiers).
      	* lex.c (warn_about_normalization): If cxx23_identifiers, use
      	cpp_pedwarning_with_line instead of cpp_warning_with_line for
      	"is not in NFC" diagnostics.
      	* makeucnid.c: Adjust usage comment.
      	(CXX23, NXX23): New enumerators.
      	(all_languages): Add CXX23.
      	(not_NFC, not_NFKC, maybe_not_NFC): Renumber.
      	(read_derivedcore): New function.
      	(write_table): Print also CXX23 and NXX23 columns.
      	(main): Require 5 arguments instead of 4, call read_derivedcore.
      	* ucnid.h: Regenerated using Unicode 13.0.0 files.
      gcc/testsuite/
      	* g++.dg/cpp23/normalize1.C: New test.
      	* g++.dg/cpp23/normalize2.C: New test.
      	* g++.dg/cpp23/normalize3.C: New test.
      	* g++.dg/cpp23/normalize4.C: New test.
      	* g++.dg/cpp23/normalize5.C: New test.
      	* g++.dg/cpp23/normalize6.C: New test.
      	* g++.dg/cpp23/normalize7.C: New test.
      	* g++.dg/cpp23/ucnid-1-utf8.C: New test.
      	* g++.dg/cpp23/ucnid-2-utf8.C: New test.
      	* gcc.dg/cpp/ucnid-4.c: Don't expect
      	"not valid at the start of an identifier" errors.
      	* gcc.dg/cpp/ucnid-4-utf8.c: Likewise.
      	* gcc.dg/cpp/ucnid-5-utf8.c: New test.
      c4d6dcac
  11. Aug 25, 2021
    • Lewis Hyatt's avatar
      diagnostics: Support for -finput-charset [PR93067] · 3ac6b5cf
      Lewis Hyatt authored
      Adds the logic to handle -finput-charset in layout_get_source_line(), so that
      source lines are converted from their input encodings prior to being output by
      diagnostics machinery. Also adds the ability to strip a UTF-8 BOM similarly.
      
      gcc/c-family/ChangeLog:
      
      	PR other/93067
      	* c-opts.c (c_common_input_charset_cb): New function.
      	(c_common_post_options): Call new function
      	diagnostic_initialize_input_context().
      
      gcc/d/ChangeLog:
      
      	PR other/93067
      	* d-lang.cc (d_input_charset_callback): New function.
      	(d_init): Call new function
      	diagnostic_initialize_input_context().
      
      gcc/fortran/ChangeLog:
      
      	PR other/93067
      	* cpp.c (gfc_cpp_post_options): Call new function
      	diagnostic_initialize_input_context().
      
      gcc/ChangeLog:
      
      	PR other/93067
      	* coretypes.h (typedef diagnostic_input_charset_callback): Declare.
      	* diagnostic.c (diagnostic_initialize_input_context): New function.
      	* diagnostic.h (diagnostic_initialize_input_context): Declare.
      	* input.c (default_charset_callback): New function.
      	(file_cache::initialize_input_context): New function.
      	(file_cache_slot::create): Added ability to convert the input
      	according to the input context.
      	(file_cache::file_cache): Initialize the new input context.
      	(class file_cache_slot): Added new m_alloc_offset member.
      	(file_cache_slot::file_cache_slot): Initialize the new member.
      	(file_cache_slot::~file_cache_slot): Handle potentially offset buffer.
      	(file_cache_slot::maybe_grow): Likewise.
      	(file_cache_slot::needs_read_p): Handle NULL fp, which is now possible.
      	(file_cache_slot::get_next_line): Likewise.
      	* input.h (class file_cache): Added input context member.
      
      libcpp/ChangeLog:
      
      	PR other/93067
      	* charset.c (init_iconv_desc): Adapt to permit PFILE argument to
      	be NULL.
      	(_cpp_convert_input): Likewise. Also move UTF-8 BOM logic to...
      	(cpp_check_utf8_bom): ...here.  New function.
      	(cpp_input_conversion_is_trivial): New function.
      	* files.c (read_file_guts): Allow PFILE argument to be NULL.  Add
      	INPUT_CHARSET argument as an alternate source of this information.
      	(read_file): Pass the new argument to read_file_guts.
      	(cpp_get_converted_source): New function.
      	* include/cpplib.h (struct cpp_converted_source): Declare.
      	(cpp_get_converted_source): Declare.
      	(cpp_input_conversion_is_trivial): Declare.
      	(cpp_check_utf8_bom): Declare.
      
      gcc/testsuite/ChangeLog:
      
      	PR other/93067
      	* gcc.dg/diagnostic-input-charset-1.c: New test.
      	* gcc.dg/diagnostic-input-utf8-bom.c: New test.
      3ac6b5cf
  12. Jan 04, 2021
  13. Dec 01, 2020
    • JeanHeyd Meneide's avatar
      Feature: Macros for identifying the wide and narrow execution string literal encoding · eccec868
      JeanHeyd Meneide authored
      gcc/c-family
      	* c-cppbuiltin.c (c_cpp_builtins): Add predefined
      	{__GNUC_EXECUTION_CHARSET_NAME} and
      	_WIDE_EXECUTION_CHARSET_NAME} macros.
      
      gcc/
      	* doc/cpp.texi: Document new macros.
      
      gcc/testsuite/
      	* c-c++-common/cpp/wide-narrow-predef-macros.c: New test.
      
      libcpp/
      	* charset.c (init_iconv_desc): Initialize "to" and "from" fields.
      	* directives.c (cpp_get_narrow_charset_name): New function.
      	(cpp_get_wide_charset_name): Likewise.
      	* include/cpplib.h (cpp_get_narrow_charset_name): Prototype.
      	(cpp_get_wide_charset_name): Likewise.
      	* internal.h (cset_converter): Add "to" and "from" fields.
      eccec868
  14. Jul 14, 2020
    • Lewis Hyatt's avatar
      diagnostics: Support conversion of tabs to spaces [PR49973] [PR86904] · 004bb936
      Lewis Hyatt authored
      Supports conversion of tabs to spaces when outputting diagnostics. Also
      adds -fdiagnostics-column-unit and -fdiagnostics-column-origin options to
      control how the column number is output, thereby resolving the two PRs.
      
      gcc/c-family/ChangeLog:
      
      	PR other/86904
      	* c-indentation.c (should_warn_for_misleading_indentation): Get
      	global tabstop from the new source.
      	* c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
      	is now a common option.
      	* c.opt: Likewise.
      
      gcc/ChangeLog:
      
      	PR preprocessor/49973
      	PR other/86904
      	* common.opt: Handle -ftabstop here instead of in c-family
      	options.  Add -fdiagnostics-column-unit= and
      	-fdiagnostics-column-origin= options.
      	* opts.c (common_handle_option): Handle the new options.
      	* diagnostic-format-json.cc (json_from_expanded_location): Add
      	diagnostic_context argument.  Use it to convert column numbers as per
      	the new options.
      	(json_from_location_range): Likewise.
      	(json_from_fixit_hint): Likewise.
      	(json_end_diagnostic): Pass the new context argument to helper
      	functions above.  Add "column-origin" field to the output.
      	(test_unknown_location): Add the new context argument to calls to
      	helper functions.
      	(test_bad_endpoints): Likewise.
      	* diagnostic-show-locus.c
      	(exploc_with_display_col::exploc_with_display_col): Support
      	tabstop parameter.
      	(layout_point::layout_point): Make use of class
      	exploc_with_display_col.
      	(layout_range::layout_range): Likewise.
      	(struct line_bounds): Clarify that the units are now always
      	display columns.  Rename members accordingly.  Add constructor.
      	(layout::print_source_line): Add support for tab expansion.
      	(make_range): Adapt to class layout_range changes.
      	(layout::maybe_add_location_range): Likewise.
      	(layout::layout): Adapt to class exploc_with_display_col changes.
      	(layout::calculate_x_offset_display): Support tabstop parameter.
      	(layout::print_annotation_line): Adapt to struct line_bounds changes.
      	(layout::print_line): Likewise.
      	(line_label::line_label): Add diagnostic_context argument.
      	(get_affected_range): Likewise.
      	(get_printed_columns): Likewise.
      	(layout::print_any_labels): Adapt to struct line_label changes.
      	(class correction): Add m_tabstop member.
      	(correction::correction): Add tabstop argument.
      	(correction::compute_display_cols): Use m_tabstop.
      	(class line_corrections): Add m_context member.
      	(line_corrections::line_corrections): Add diagnostic_context argument.
      	(line_corrections::add_hint): Use m_context to handle tabstops.
      	(layout::print_trailing_fixits): Adapt to class line_corrections
      	changes.
      	(test_layout_x_offset_display_utf8): Support tabstop parameter.
      	(test_layout_x_offset_display_tab): New selftest.
      	(test_one_liner_colorized_utf8): Likewise.
      	(test_tab_expansion): Likewise.
      	(test_diagnostic_show_locus_one_liner_utf8): Call the new tests.
      	(diagnostic_show_locus_c_tests): Likewise.
      	(test_overlapped_fixit_printing): Adapt to helper class and
      	function changes.
      	(test_overlapped_fixit_printing_utf8): Likewise.
      	(test_overlapped_fixit_printing_2): Likewise.
      	* diagnostic.h (enum diagnostics_column_unit): New enum.
      	(struct diagnostic_context): Add members for the new options.
      	(diagnostic_converted_column): Declare.
      	(json_from_expanded_location): Add new context argument.
      	* diagnostic.c (diagnostic_initialize): Initialize new members.
      	(diagnostic_converted_column): New function.
      	(maybe_line_and_column): Be willing to output a column of 0.
      	(diagnostic_get_location_text): Convert column number as per the new
      	options.
      	(diagnostic_report_current_module): Likewise.
      	(assert_location_text): Add origin and column_unit arguments for
      	testing the new functionality.
      	(test_diagnostic_get_location_text): Test the new functionality.
      	* doc/invoke.texi: Document the new options and behavior.
      	* input.h (location_compute_display_column): Add tabstop argument.
      	* input.c (location_compute_display_column): Likewise.
      	(test_cpp_utf8): Add selftests for tab expansion.
      	* tree-diagnostic-path.cc (default_tree_make_json_for_path): Pass the
      	new context argument to json_from_expanded_location().
      
      libcpp/ChangeLog:
      
      	PR preprocessor/49973
      	PR other/86904
      	* include/cpplib.h (struct cpp_options):  Removed support for -ftabstop,
      	which is now handled by diagnostic_context.
      	(class cpp_display_width_computation): New class.
      	(cpp_byte_column_to_display_column): Add optional tabstop argument.
      	(cpp_display_width): Likewise.
      	(cpp_display_column_to_byte_column): Likewise.
      	* charset.c
      	(cpp_display_width_computation::cpp_display_width_computation): New
      	function.
      	(cpp_display_width_computation::advance_display_cols): Likewise.
      	(compute_next_display_width): Removed and implemented this
      	functionality in a new function...
      	(cpp_display_width_computation::process_next_codepoint): ...here.
      	(cpp_byte_column_to_display_column): Added tabstop argument.
      	Reimplemented in terms of class cpp_display_width_computation.
      	(cpp_display_column_to_byte_column): Likewise.
      	* init.c (cpp_create_reader): Remove handling of -ftabstop, which is now
      	handled by diagnostic_context.
      
      gcc/testsuite/ChangeLog:
      
      	PR preprocessor/49973
      	PR other/86904
      	* c-c++-common/Wmisleading-indentation-3.c: Adjust expected output
      	for new defaults.
      	* c-c++-common/Wmisleading-indentation.c: Likewise.
      	* c-c++-common/diagnostic-format-json-1.c: Likewise.
      	* c-c++-common/diagnostic-format-json-2.c: Likewise.
      	* c-c++-common/diagnostic-format-json-3.c: Likewise.
      	* c-c++-common/diagnostic-format-json-4.c: Likewise.
      	* c-c++-common/diagnostic-format-json-5.c: Likewise.
      	* c-c++-common/missing-close-symbol.c: Likewise.
      	* g++.dg/diagnostic/bad-binary-ops.C: Likewise.
      	* g++.dg/parse/error4.C: Likewise.
      	* g++.old-deja/g++.brendan/crash11.C: Likewise.
      	* g++.old-deja/g++.pt/overload2.C: Likewise.
      	* g++.old-deja/g++.robertl/eb109.C: Likewise.
      	* gcc.dg/analyzer/malloc-paths-9.c: Likewise.
      	* gcc.dg/bad-binary-ops.c: Likewise.
      	* gcc.dg/format/branch-1.c: Likewise.
      	* gcc.dg/format/pr79210.c: Likewise.
      	* gcc.dg/plugin/diagnostic-test-expressions-1.c: Likewise.
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c: Likewise.
      	* gcc.dg/redecl-4.c: Likewise.
      	* gfortran.dg/diagnostic-format-json-1.F90: Likewise.
      	* gfortran.dg/diagnostic-format-json-2.F90: Likewise.
      	* gfortran.dg/diagnostic-format-json-3.F90: Likewise.
      	* go.dg/arrayclear.go: Add a comment explaining why adding a
      	comment was necessary to work around a dejagnu bug.
      	* c-c++-common/diagnostic-units-1.c: New test.
      	* c-c++-common/diagnostic-units-2.c: New test.
      	* c-c++-common/diagnostic-units-3.c: New test.
      	* c-c++-common/diagnostic-units-4.c: New test.
      	* c-c++-common/diagnostic-units-5.c: New test.
      	* c-c++-common/diagnostic-units-6.c: New test.
      	* c-c++-common/diagnostic-units-7.c: New test.
      	* c-c++-common/diagnostic-units-8.c: New test.
      004bb936
  15. May 13, 2020
    • Jason Merrill's avatar
      c++: Replace "C++2a" with "C++20". · b04445d4
      Jason Merrill authored
      C++20 isn't final quite yet, but all that remains is formalities, so let's
      go ahead and change all the references.
      
      I think for the next C++ standard we can just call it C++23 rather than
      C++2b, since the committee has been consistent about time-based releases
      rather than feature-based.
      
      gcc/c-family/ChangeLog
      2020-05-13  Jason Merrill  <jason@redhat.com>
      
      	* c.opt (std=c++20): Make c++2a the alias.
      	(std=gnu++20): Likewise.
      	* c-common.h (cxx_dialect): Change cxx2a to cxx20.
      	* c-opts.c: Adjust.
      	* c-cppbuiltin.c: Adjust.
      	* c-ubsan.c: Adjust.
      	* c-warn.c: Adjust.
      
      gcc/cp/ChangeLog
      2020-05-13  Jason Merrill  <jason@redhat.com>
      
      	* call.c, class.c, constexpr.c, constraint.cc, decl.c, init.c,
      	lambda.c, lex.c, method.c, name-lookup.c, parser.c, pt.c, tree.c,
      	typeck2.c: Change cxx2a to cxx20.
      
      libcpp/ChangeLog
      2020-05-13  Jason Merrill  <jason@redhat.com>
      
      	* include/cpplib.h (enum c_lang): Change CXX2A to CXX20.
      	* init.c, lex.c: Adjust.
      b04445d4
  16. Jan 01, 2020
  17. Dec 18, 2019
  18. Dec 14, 2019
  19. Dec 09, 2019
    • Lewis Hyatt's avatar
      Byte vs column awareness for diagnostic-show-locus.c (PR 49973) · ee925640
      Lewis Hyatt authored
      contrib/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* unicode/from_glibc/unicode_utils.py: Support script from
      	glibc (commit 464cd3) to extract character widths from Unicode data
      	files.
      	* unicode/from_glibc/utf8_gen.py: Likewise.
      	* unicode/UnicodeData.txt: Unicode v. 12.1.0 data file.
      	* unicode/EastAsianWidth.txt: Likewise.
      	* unicode/PropList.txt: Likewise.
      	* unicode/gen_wcwidth.py: New utility to generate
      	libcpp/generated_cpp_wcwidth.h with help from the glibc support
      	scripts and the Unicode data files.
      	* unicode/unicode-license.txt: Added.
      	* unicode/README: New explanatory file.
      
      libcpp/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* generated_cpp_wcwidth.h: New file generated by
      	../contrib/unicode/gen_wcwidth.py, supports new cpp_wcwidth function.
      	* charset.c (compute_next_display_width): New function to help
      	implement display columns.
      	(cpp_byte_column_to_display_column): Likewise.
      	(cpp_display_column_to_byte_column): Likewise.
      	(cpp_wcwidth): Likewise.
      	* include/cpplib.h (cpp_byte_column_to_display_column): Declare.
      	(cpp_display_column_to_byte_column): Declare.
      	(cpp_wcwidth): Declare.
      	(cpp_display_width): New function.
      
      gcc/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* input.c (location_compute_display_column): New function to help with
      	multibyte awareness in diagnostics.
      	(test_cpp_utf8): New self-test.
      	(input_c_tests): Call the new test.
      	* input.h (location_compute_display_column): Declare.
      	* diagnostic-show-locus.c: Pervasive changes to add multibyte awareness
      	to all classes and functions.
      	(enum column_unit): New enum.
      	(class exploc_with_display_col): New class.
      	(class layout_point): Convert m_column member to array m_columns[2].
      	(layout_range::contains_point): Add col_unit argument.
      	(test_layout_range_for_single_point): Pass new argument.
      	(test_layout_range_for_single_line): Likewise.
      	(test_layout_range_for_multiple_lines): Likewise.
      	(line_bounds::convert_to_display_cols): New function.
      	(layout::get_state_at_point): Add col_unit argument.
      	(make_range): Use empty filename rather than dummy filename.
      	(get_line_width_without_trailing_whitespace): Rename to...
      	(get_line_bytes_without_trailing_whitespace): ...this.
      	(test_get_line_width_without_trailing_whitespace): Rename to...
      	(test_get_line_bytes_without_trailing_whitespace): ...this.
      	(class layout): m_exploc changed to exploc_with_display_col from
      	plain expanded_location.
      	(layout::get_linenum_width): New accessor member function.
      	(layout::get_x_offset_display): Likewise.
      	(layout::calculate_linenum_width): New subroutine for the constuctor.
      	(layout::calculate_x_offset_display): Likewise.
      	(layout::layout): Use the new subroutines. Add multibyte awareness.
      	(layout::print_source_line): Add multibyte awareness.
      	(layout::print_line): Likewise.
      	(layout::print_annotation_line): Likewise.
      	(line_label::line_label): Likewise.
      	(layout::print_any_labels): Likewise.
      	(layout::annotation_line_showed_range_p): Likewise.
      	(get_printed_columns): Likewise.
      	(class line_label): Rename m_length to m_display_width.
      	(get_affected_columns): Rename to...
      	(get_affected_range): ...this; add col_unit argument and multibyte
      	awareness.
      	(class correction): Add m_affected_bytes and m_display_cols
      	members.  Rename m_len to m_byte_length for clarity.  Add multibyte
      	awareness throughout.
      	(correction::insertion_p): Add multibyte awareness.
      	(correction::compute_display_cols): New function.
      	(correction::ensure_terminated): Use new member name m_byte_length.
      	(line_corrections::add_hint): Add multibyte awareness.
      	(layout::print_trailing_fixits): Likewise.
      	(layout::get_x_bound_for_row): Likewise.
      	(test_one_liner_simple_caret_utf8): New self-test analogous to the one
      	with _utf8 suffix removed, testing multibyte awareness.
      	(test_one_liner_caret_and_range_utf8): Likewise.
      	(test_one_liner_multiple_carets_and_ranges_utf8): Likewise.
      	(test_one_liner_fixit_insert_before_utf8): Likewise.
      	(test_one_liner_fixit_insert_after_utf8): Likewise.
      	(test_one_liner_fixit_remove_utf8): Likewise.
      	(test_one_liner_fixit_replace_utf8): Likewise.
      	(test_one_liner_fixit_replace_non_equal_range_utf8): Likewise.
      	(test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise.
      	(test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise.
      	(test_one_liner_many_fixits_1_utf8): Likewise.
      	(test_one_liner_many_fixits_2_utf8): Likewise.
      	(test_one_liner_labels_utf8): Likewise.
      	(test_diagnostic_show_locus_one_liner_utf8): Likewise.
      	(test_overlapped_fixit_printing_utf8): Likewise.
      	(test_overlapped_fixit_printing): Adapt for changes to
      	get_affected_columns, get_printed_columns and class corrections.
      	(test_overlapped_fixit_printing_2): Likewise.
      	(test_linenum_sep): New constant.
      	(test_left_margin): Likewise.
      	(test_offset_impl): Helper function for new test.
      	(test_layout_x_offset_display_utf8): New test.
      	(diagnostic_show_locus_c_tests): Call new tests.
      
      gcc/testsuite/ChangeLog:
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Tweak so that expected output is the same as
      	before the diagnostic-show-locus.c changes.
      	* gcc.dg/cpp/pr66415-1.c: Likewise.
      
      From-SVN: r279137
      ee925640
  20. Nov 14, 2019
    • Joseph Myers's avatar
      Support UTF-8 character constants for C2x. · 7c5890cc
      Joseph Myers authored
      C2x adds u8'' character constants to C.  This patch adds the
      corresponding GCC support.
      
      Most of the support was already present for C++ and just needed
      enabling for C2x.  However, in C2x these constants have type unsigned
      char, which required corresponding adjustments in the compiler and the
      preprocessor to give them that type for C.
      
      For C, it seems clear to me that having type unsigned char means the
      constants are unsigned in the preprocessor (and thus treated as having
      type uintmax_t in #if conditionals), so this patch implements that.  I
      included a conditional in the libcpp change to avoid affecting
      signedness for C++, but I'm not sure if in fact these constants should
      also be unsigned in the preprocessor for C++ in which case that
      !CPP_OPTION (pfile, cplusplus) conditional would not be needed.
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc/c:
      	* c-parser.c (c_parser_postfix_expression)
      	(c_parser_check_literal_zero): Handle CPP_UTF8CHAR.
      	* gimple-parser.c (c_parser_gimple_postfix_expression): Likewise.
      
      gcc/c-family:
      	* c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
      	char for C.
      
      gcc/testsuite:
      	* gcc.dg/c11-utf8char-1.c, gcc.dg/c2x-utf8char-1.c,
      	gcc.dg/c2x-utf8char-2.c, gcc.dg/c2x-utf8char-3.c,
      	gcc.dg/gnu2x-utf8char-1.c: New tests.
      
      libcpp:
      	* charset.c (narrow_str_to_charconst): Make CPP_UTF8CHAR constants
      	unsigned for C.
      	* init.c (lang_defaults): Set utf8_char_literals for GNUC2X and
      	STDC2X.
      
      From-SVN: r278265
      7c5890cc
  21. Nov 07, 2019
    • Jakub Jelinek's avatar
      PR c++/91370 - Implement P1041R4 and P1139R2 - Stronger Unicode reqs · 2c03d736
      Jakub Jelinek authored
      	PR c++/91370 - Implement P1041R4 and P1139R2 - Stronger Unicode reqs
      	* charset.c (narrow_str_to_charconst): Add TYPE argument.  For
      	CPP_UTF8CHAR diagnose whenever number of chars is > 1, using
      	CPP_DL_ERROR instead of CPP_DL_WARNING.
      	(wide_str_to_charconst): For CPP_CHAR16 or CPP_CHAR32, use
      	CPP_DL_ERROR instead of CPP_DL_WARNING when multiple char16_t
      	or char32_t chars are needed.
      	(cpp_interpret_charconst): Adjust narrow_str_to_charconst caller.
      
      	* g++.dg/cpp1z/utf8-neg.C: Expect errors rather than -Wmultichar
      	warnings.
      	* g++.dg/ext/utf16-4.C: Expect errors rather than warnings.
      	* g++.dg/ext/utf32-4.C: Likewise.
      	* g++.dg/cpp2a/ucn2.C: New test.
      
      From-SVN: r277929
      2c03d736
  22. Sep 26, 2019
    • Eric Botcazou's avatar
      charset.c (UCS_LIMIT): New macro. · 0900e29c
      Eric Botcazou authored
      	* charset.c (UCS_LIMIT): New macro.
      	(ucn_valid_in_identifier): Use it instead of a hardcoded constant.
      	(_cpp_valid_ucn): Issue a pedantic warning for UCNs larger than
      	UCS_LIMIT outside of identifiers in C and in C++2a or later.
      
      From-SVN: r276167
      0900e29c
  23. Sep 19, 2019
    • Lewis Hyatt's avatar
      Support extended characters in C/C++ identifiers (PR c/67224) · 7d112d66
      Lewis Hyatt authored
      libcpp/ChangeLog
      2019-09-19  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR c/67224
      	* charset.c (_cpp_valid_utf8): New function to help lex UTF-8 tokens.
      	* internal.h (_cpp_valid_utf8): Declare.
      	* lex.c (forms_identifier_p): Use it to recognize UTF-8 identifiers.
      	(_cpp_lex_direct): Handle UTF-8 in identifiers and CPP_OTHER tokens.
      	Do all work in "default" case to avoid slowing down typical code paths.
      	Also handle $ and UCN in the default case for consistency.
      
      gcc/Changelog
      2019-09-19  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR c/67224
      	* doc/cpp.texi: Document support for extended characters in
      	identifiers.
      	* doc/cppopts.texi: Likewise.
      
      gcc/testsuite/ChangeLog
      2019-09-19  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR c/67224
      	* c-c++-common/cpp/ucnid-2011-1-utf8.c: New test.
      	* g++.dg/cpp/ucnid-1-utf8.C: New test.
      	* g++.dg/cpp/ucnid-2-utf8.C: New test.
      	* g++.dg/cpp/ucnid-3-utf8.C: New test.
      	* g++.dg/cpp/ucnid-4-utf8.C: New test.
      	* g++.dg/other/ucnid-1-utf8.C: New test.
      	* gcc.dg/cpp/ucnid-1-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-10-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-11-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-12-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-13-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-14-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-15-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-2-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-3-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-4-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-6-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-7-utf8.c: New test.
      	* gcc.dg/cpp/ucnid-9-utf8.c: New test.
      	* gcc.dg/ucnid-1-utf8.c: New test.
      	* gcc.dg/ucnid-10-utf8.c: New test.
      	* gcc.dg/ucnid-11-utf8.c: New test.
      	* gcc.dg/ucnid-12-utf8.c: New test.
      	* gcc.dg/ucnid-13-utf8.c: New test.
      	* gcc.dg/ucnid-14-utf8.c: New test.
      	* gcc.dg/ucnid-15-utf8.c: New test.
      	* gcc.dg/ucnid-16-utf8.c: New test.
      	* gcc.dg/ucnid-2-utf8.c: New test.
      	* gcc.dg/ucnid-3-utf8.c: New test.
      	* gcc.dg/ucnid-4-utf8.c: New test.
      	* gcc.dg/ucnid-5-utf8.c: New test.
      	* gcc.dg/ucnid-6-utf8.c: New test.
      	* gcc.dg/ucnid-7-utf8.c: New test.
      	* gcc.dg/ucnid-8-utf8.c: New test.
      	* gcc.dg/ucnid-9-utf8.c: New test.
      
      From-SVN: r275979
      7d112d66
  24. Jan 01, 2019
  25. Nov 13, 2018
    • David Malcolm's avatar
      Eliminate source_location in favor of location_t · 620e594b
      David Malcolm authored
      Historically GCC used location_t, while libcpp used source_location.
      
      This inconsistency has been annoying me for a while, so this patch
      removes source_location in favor of location_t throughout
      (as the latter is shorter).
      
      gcc/ChangeLog:
      	* builtins.c: Replace "source_location" with "location_t".
      	* diagnostic-show-locus.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dumpfile.c: Likewise.
      	* gcc-rich-location.h: Likewise.
      	* genmatch.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* input.c: Likewise.
      	* input.h: Likewise.  Eliminate the typedef.
      	* omp-expand.c: Likewise.
      	* selftest.h: Likewise.
      	* substring-locations.h (get_source_location_for_substring):
      	Rename to..
      	(get_location_within_string): ...this.
      	* tree-cfg.c: Replace "source_location" with "location_t".
      	* tree-cfgcleanup.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-phinodes.h: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa.h: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_get_substring_location): Update for renaming of
      	get_source_location_for_substring to get_location_within_string.
      	* c-lex.c: Replace "source_location" with "location_t".
      	* c-opts.c: Likewise.
      	* c-ppoutput.c: Likewise.
      
      gcc/c/ChangeLog:
      	* c-decl.c: Replace "source_location" with "location_t".
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* gimple-parser.c: Likewise.
      
      gcc/cp/ChangeLog:
      	* call.c: Replace "source_location" with "location_t".
      	* cp-tree.h: Likewise.
      	* cvt.c: Likewise.
      	* name-lookup.c: Likewise.
      	* parser.c: Likewise.
      	* typeck.c: Likewise.
      
      gcc/fortran/ChangeLog:
      	* cpp.c: Replace "source_location" with "location_t".
      	* gfortran.h: Likewise.
      
      gcc/go/ChangeLog:
      	* go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
      	* go-gcc.cc: Likewise.
      	* go-linemap.cc: Likewise.
      	* go-location.h: Likewise.
      	* gofrontend/README: Likewise.
      
      gcc/jit/ChangeLog:
      	* jit-playback.c: Replace "source_location" with "location_t".
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/plugin/comment_plugin.c: Replace "source_location" with
      	"location_t".
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise.
      
      libcc1/ChangeLog:
      	* libcc1plugin.cc: Replace "source_location" with "location_t".
      	(plugin_context::get_source_location): Rename to...
      	(plugin_context::get_location_t): ...this.
      	* libcp1plugin.cc: Likewise.
      
      libcpp/ChangeLog:
      	* charset.c: Replace "source_location" with "location_t".
      	* directives-only.c: Likewise.
      	* directives.c: Likewise.
      	* errors.c: Likewise.
      	* expr.c: Likewise.
      	* files.c: Likewise.
      	* include/cpplib.h: Likewise.  Rename MAX_SOURCE_LOCATION to
      	MAX_LOCATION_T.
      	* include/line-map.h: Likewise.
      	* init.c: Likewise.
      	* internal.h: Likewise.
      	* lex.c: Likewise.
      	* line-map.c: Likewise.
      	* location-example.txt: Likewise.
      	* macro.c: Likewise.
      	* pch.c: Likewise.
      	* traditional.c: Likewise.
      
      From-SVN: r266085
      620e594b
  26. Oct 09, 2018
    • David Malcolm's avatar
      Cleanup of libcpp diagnostic callbacks · c24300ba
      David Malcolm authored
      This patch renames the "error" callback within libcpp
      to "diagnostic", and uses the pair of enums in cpplib.h, rather
      than passing two different kinds of "int" around.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_option_controlling_cpp_error): Rename to...
      	(c_option_controlling_cpp_diagnostic): ...this, and convert
      	"reason" from int to enum.
      	(c_cpp_error): Rename to...
      	(c_cpp_diagnostic): ...this, converting level and reason to enums.
      	* c-common.h (c_cpp_error): Rename to...
      	(c_cpp_diagnostic): ...this, converting level and reason to enums.
      	* c-opts.c (c_common_init_options): Update for renaming.
      
      gcc/fortran/ChangeLog:
      	* cpp.c (gfc_cpp_init_0): Update for renamings.
      	(cb_cpp_error): Rename to...
      	(cb_cpp_diagnostic): ...this, converting level and reason to
      	enums.
      
      gcc/ChangeLog:
      	* genmatch.c (error_cb): Rename to...
      	(diagnostic_cb): ...this, converting int params to enums.
      	(fatal_at): Update for renaming.
      	(warning_at): Likewise.
      	(main): Likewise.
      	* input.c (selftest::ebcdic_execution_charset::apply):
      	Update for renaming of...
      	(selftest::ebcdic_execution_charset::on_error): ...this, renaming
      	to...
      	(selftest::ebcdic_execution_charset::on_diagnostic): ...this,
      	converting level and reason to enums.
      	(class selftest::lexer_error_sink): Rename to...
      	(class selftest::lexer_test_options): ...this, renaming field
      	"m_errors" to "m_diagnostics".
      	(selftest::lexer_test_options::apply): Update for renaming of...
      	(selftest::lexer_test_options::on_error): ...this, renaming to...
      	(selftest::lexer_test_options::on_diagnostic): ...this
      	converting level and reason to enums.
      	(selftest::test_lexer_string_locations_raw_string_unterminated):
      	Update for renamings.
      	* opth-gen.awk (struct cpp_reason_option_codes_t): Use enum for
      	"reason".
      
      libcpp/ChangeLog:
      	* charset.c (noop_error_cb): Rename to...
      	(noop_diagnostic_cb): ...this, converting params to enums.
      	(cpp_interpret_string_ranges): Update for renaming and enums.
      	* directives.c (check_eol_1): Convert reason to enum.
      	(do_diagnostic): Convert code and reason to enum.
      	(do_error): Use CPP_W_NONE rather than 0.
      	(do_pragma_dependency): Likewise.
      	* errors.c (cpp_diagnostic_at): Convert level and reason to enums.
      	Update for renaming.
      	(cpp_diagnostic): Convert level and reason to enums.
      	(cpp_error): Convert level to enum.
      	(cpp_warning): Convert reason to enums.
      	(cpp_pedwarning): Likewise.
      	(cpp_warning_syshdr): Likewise.
      	(cpp_diagnostic_with_line): Convert level and reason to enums.
      	Update for renaming.
      	(cpp_error_with_line): Convert level to enum.
      	(cpp_warning_with_line): Convert reason to enums.
      	(cpp_pedwarning_with_line): Likewise.
      	(cpp_warning_with_line_syshdr): Likewise.
      	(cpp_error_at): Convert level to enum.
      	(cpp_errno): Likewise.
      	(cpp_errno_filename): Likewise.
      	* include/cpplib.h (enum cpp_diagnostic_level): Name this enum,
      	and move to before struct cpp_callbacks.
      	(enum cpp_warning_reason): Likewise.
      	(cpp_callbacks::diagnostic): Convert params from int to enums.
      	(cpp_error): Convert int param to enum cpp_diagnostic_level.
      	(cpp_warning): Convert int param to enum cpp_warning_reason.
      	(cpp_pedwarning): Likewise.
      	(cpp_warning_syshdr): Likewise.
      	(cpp_errno): Convert int param to enum cpp_diagnostic_level.
      	(cpp_errno_filename): Likewise.
      	(cpp_error_with_line): Likewise.
      	(cpp_warning_with_line): Convert int param to enum
      	cpp_warning_reason.
      	(cpp_pedwarning_with_line): Likewise.
      	(cpp_warning_with_line_syshdr): Likewise.
      	(cpp_error_at): Convert int param to enum cpp_diagnostic_level.
      	* macro.c (create_iso_definition): Convert int to enum.
      	(_cpp_create_definition): Likewise.
      
      From-SVN: r264999
      c24300ba
  27. Jan 03, 2018
  28. Jan 01, 2017
  29. Nov 17, 2016
    • David Malcolm's avatar
      Fix locations within raw strings · b8f56412
      David Malcolm authored
      Whilst investigating PR preprocessor/78324 I noticed that the
      substring location code currently doesn't handle raw strings
      correctly, by not skipping the 'R', opening quote, delimiter
      and opening parenthesis.
      
      For example, an attempt to underline chars 4-7 with caret at 6 of
      this raw string yields this erroneous output:
         __emit_string_literal_range (R"foo(0123456789)foo",
                                          ~~^~
      
      With the patch, the correct range/caret is printed:
      
         __emit_string_literal_range (R"foo(0123456789)foo",
                                                ~~^~
      
      gcc/ChangeLog:
      	* input.c (selftest::test_lexer_string_locations_long_line): New
      	function.
      	(selftest::test_lexer_string_locations_raw_string_multiline): New
      	function.
      	(selftest::input_c_tests): Call the new functions, via
      	for_each_line_table_case.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
      	(test_raw_string_one_liner): New function.
      	(test_raw_string_multiline): New function.
      
      libcpp/ChangeLog:
      	* charset.c (cpp_interpret_string_1): Skip locations from
      	loc_reader when advancing 'p' when handling raw strings.
      
      From-SVN: r242552
      b8f56412
  30. Sep 23, 2016
    • David Malcolm's avatar
      Provide location information for terminator characters (PR preprocessor/77672) · bbd6fcf3
      David Malcolm authored
      substring_loc::get_location currently fails for the final terminator
      character in a STRING_CST from the C frontend, so that format_warning_va
      falls back to using the location of the string as a whole.
      
      This patch tweaks things [1] so that we use the final closing quote
      as the location of the terminator character, as requested in
      PR preprocessor/77672.
      
      [1] specifically, cpp_interpret_string_1.
      
      gcc/ChangeLog:
      	PR preprocessor/77672
      	* input.c (selftest::test_lexer_string_locations_simple): Update
      	test to expect location information of the terminator character
      	at the location of the final closing quote.
      	(selftest::test_lexer_string_locations_hex): Likewise.
      	(selftest::test_lexer_string_locations_oct): Likewise.
      	(selftest::test_lexer_string_locations_letter_escape_1): Likewise.
      	(selftest::test_lexer_string_locations_letter_escape_2): Likewise.
      	(selftest::test_lexer_string_locations_ucn4): Likewise.
      	(selftest::test_lexer_string_locations_ucn8): Likewise.
      	(selftest::test_lexer_string_locations_u8): Likewise.
      	(selftest::test_lexer_string_locations_utf8_source): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_1): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_2): Likewise.
      	(selftest::test_lexer_string_locations_concatenation_3): Likewise.
      	(selftest::test_lexer_string_locations_macro): Likewise.
      	(selftest::test_lexer_string_locations_long_line): Likewise.
      
      gcc/testsuite/ChangeLog:
      	PR preprocessor/77672
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
      	(test_terminator_location): New function.
      
      libcpp/ChangeLog:
      	PR preprocessor/77672
      	* charset.c (cpp_interpret_string_1): Add a source_range for the
      	NUL-terminator, using the location of the trailing quote of the
      	final string.
      
      From-SVN: r240434
      bbd6fcf3
  31. Aug 06, 2016
  32. Aug 05, 2016
    • David Malcolm's avatar
      On-demand locations within string-literals · 88fa5555
      David Malcolm authored
      gcc/c-family/ChangeLog:
      	* c-common.c: Include "substring-locations.h".
      	(get_cpp_ttype_from_string_type): New function.
      	(g_string_concat_db): New global.
      	(substring_loc::get_range): New method.
      	* c-common.h (g_string_concat_db): New declaration.
      	(class substring_loc): New class.
      	* c-lex.c (lex_string): When concatenating strings, capture the
      	locations of all tokens using a new obstack, and record the
      	concatenation locations within g_string_concat_db.
      	* c-opts.c (c_common_init_options): Construct g_string_concat_db
      	on the ggc-heap.
      
      gcc/ChangeLog:
      	* input.c (string_concat::string_concat): New constructor.
      	(string_concat_db::string_concat_db): New constructor.
      	(string_concat_db::record_string_concatenation): New method.
      	(string_concat_db::get_string_concatenation): New method.
      	(string_concat_db::get_key_loc): New method.
      	(class auto_cpp_string_vec): New class.
      	(get_substring_ranges_for_loc): New function.
      	(get_source_range_for_substring): New function.
      	(get_num_source_ranges_for_substring): New function.
      	(class selftest::lexer_test_options): New class.
      	(struct selftest::lexer_test): New struct.
      	(class selftest::ebcdic_execution_charset): New class.
      	(selftest::ebcdic_execution_charset::s_singleton): New variable.
      	(selftest::lexer_test::lexer_test): New constructor.
      	(selftest::lexer_test::~lexer_test): New destructor.
      	(selftest::lexer_test::get_token): New method.
      	(selftest::assert_char_at_range): New function.
      	(ASSERT_CHAR_AT_RANGE): New macro.
      	(selftest::assert_num_substring_ranges): New function.
      	(ASSERT_NUM_SUBSTRING_RANGES): New macro.
      	(selftest::assert_has_no_substring_ranges): New function.
      	(ASSERT_HAS_NO_SUBSTRING_RANGES): New macro.
      	(selftest::test_lexer_string_locations_simple): New function.
      	(selftest::test_lexer_string_locations_ebcdic): New function.
      	(selftest::test_lexer_string_locations_hex): New function.
      	(selftest::test_lexer_string_locations_oct): New function.
      	(selftest::test_lexer_string_locations_letter_escape_1): New function.
      	(selftest::test_lexer_string_locations_letter_escape_2): New function.
      	(selftest::test_lexer_string_locations_ucn4): New function.
      	(selftest::test_lexer_string_locations_ucn8): New function.
      	(selftest::uint32_from_big_endian): New function.
      	(selftest::test_lexer_string_locations_wide_string): New function.
      	(selftest::uint16_from_big_endian): New function.
      	(selftest::test_lexer_string_locations_string16): New function.
      	(selftest::test_lexer_string_locations_string32): New function.
      	(selftest::test_lexer_string_locations_u8): New function.
      	(selftest::test_lexer_string_locations_utf8_source): New function.
      	(selftest::test_lexer_string_locations_concatenation_1): New
      	function.
      	(selftest::test_lexer_string_locations_concatenation_2): New
      	function.
      	(selftest::test_lexer_string_locations_concatenation_3): New
      	function.
      	(selftest::test_lexer_string_locations_macro): New function.
      	(selftest::test_lexer_string_locations_stringified_macro_argument):
      	New function.
      	(selftest::test_lexer_string_locations_non_string): New function.
      	(selftest::test_lexer_string_locations_long_line): New function.
      	(selftest::test_lexer_char_constants): New function.
      	(selftest::input_c_tests): Call the new test functions once per
      	case within the line_table test matrix.
      	* input.h (struct string_concat): New struct.
      	(struct location_hash): New struct.
      	(class string_concat_db): New class.
      	* substring-locations.h: New header.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c: New file.
      	* gcc.dg/plugin/diagnostic-test-string-literals-2.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above new files.
      
      libcpp/ChangeLog:
      	* charset.c (cpp_substring_ranges::cpp_substring_ranges): New
      	constructor.
      	(cpp_substring_ranges::~cpp_substring_ranges): New destructor.
      	(cpp_substring_ranges::add_range): New method.
      	(cpp_substring_ranges::add_n_ranges): New method.
      	(_cpp_valid_ucn): Add "char_range" and "loc_reader" params; if
      	they are non-NULL, read position information from *loc_reader
      	and update char_range->m_finish accordingly.
      	(convert_ucn): Add "char_range", "loc_reader", and "ranges"
      	params.  If loc_reader is non-NULL, read location information from
      	it, and update *ranges accordingly, using char_range.
      	Conditionalize the conversion into tbuf on tbuf being non-NULL.
      	(convert_hex): Likewise, conditionalizing the call to
      	emit_numeric_escape on tbuf.
      	(convert_oct): Likewise.
      	(convert_escape): Add params "loc_reader" and "ranges".  If
      	loc_reader is non-NULL, read location information from it, and
      	update *ranges accordingly.  Conditionalize the conversion into
      	tbuf on tbuf being non-NULL.
      	(cpp_interpret_string): Rename to...
      	(cpp_interpret_string_1): ...this, adding params "loc_readers" and
      	"out".  Use "to" to conditionalize the initialization and usage of
      	"tbuf", such as running the converter.  If "loc_readers" is
      	non-NULL, use the instances within it, reading location
      	information from them, and passing them to convert_escape; likewise
      	write to "out" if loc_readers is non-NULL.  Check for leading
      	quote and issue an error if it is not present.  Update boundary
      	check from "== limit" to ">= limit" to protect against erroneous
      	location values to calls that are not parsing string literals.
      	(cpp_interpret_string): Reimplement in terms to
      	cpp_interpret_string_1.
      	(noop_error_cb): New function.
      	(cpp_interpret_string_ranges): New function.
      	(cpp_string_location_reader::cpp_string_location_reader): New
      	constructor.
      	(cpp_string_location_reader::get_next): New method.
      	* include/cpplib.h (class cpp_string_location_reader): New class.
      	(class cpp_substring_ranges): New class.
      	(cpp_interpret_string_ranges): New prototype.
      	* internal.h (_cpp_valid_ucn): Add params "char_range" and
      	"loc_reader".
      	* lex.c (forms_identifier_p): Pass NULL for new params to
      	_cpp_valid_ucn.
      
      From-SVN: r239175
      88fa5555
  33. Feb 05, 2016
  34. Jan 04, 2016
  35. Jul 02, 2015
    • Paolo Carlini's avatar
      re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.) · fbb22910
      Paolo Carlini authored
      /libcpp
      2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53690
      	* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
      	return type to bool.  Fix encoding of \u0000 and \U00000000 in C++.
      	(convert_ucn): Adjust call.
      	* lex.c (forms_identifier_p): Likewise.
      	* internal.h (_cpp_valid_ucn): Adjust declaration.
      
      /gcc/testsuite
      2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53690
      	* g++.dg/cpp/pr53690.C: New.
      
      From-SVN: r225353
      fbb22910
  36. Jun 30, 2015
    • Edward Smith-Rowland's avatar
      Implement N4197 - Adding u8 character literals · fe95b036
      Edward Smith-Rowland authored
      
      libcpp:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* include/cpplib.h (UTF8CHAR, UTF8CHAR_USERDEF): New cpp tokens;
      	(struct cpp_options): Add utf8_char_literals.
      	* init.c (struct lang_flags): Add utf8_char_literals;
      	(struct lang_flags lang_defaults): Add column for utf8_char_literals.
      	* macro.c (stringify_arg()): Treat CPP_UTF8CHAR token; 
      	* expr.c (cpp_userdef_char_remove_type(), cpp_userdef_char_add_type()):
      	Treat CPP_UTF8CHAR_USERDEF, CPP_UTF8CHAR tokens;
      	(cpp_userdef_char_p()): Treat CPP_UTF8CHAR_USERDEF token;
      	(eval_token(), _cpp_parse_expr()): Treat CPP_UTF8CHAR token.
      	* lex.c (lex_string(), _cpp_lex_direct()): Include CPP_UTF8CHAR tokens.
      	* charset.c (converter_for_type(), cpp_interpret_charconst()):
      	Treat CPP_UTF8CHAR token.
      
      
      gcc/c-family:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* c-family/c-ada-spec.c (print_ada_macros()): Treat CPP_UTF8CHAR
      	like CPP_CHAR.
      	* c-family/c-common.c (c_parse_error()): print CPP_UTF8CHAR
      	and CPP_UTF8CHAR_USERDEF tokens.
      	* c-family/c-lex.c (c_lex_with_flags()): Treat CPP_UTF8CHAR_USERDEF
      	and CPP_UTF8CHAR tokens; (lex_charconst()): Treat CPP_UTF8CHAR token.
      
      
      gcc/cp:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
      	and CPP_UTF8CHAR_USERDEF tokens;
      	(cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
      
      
      gcc/testsuite:
      
      2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement N4197 - Adding u8 character literals
      	* g++.dg/cpp1z/utf8.C: New.
      	* g++.dg/cpp1z/utf8-neg.C: New.
      	* g++.dg/cpp1z/udlit-utf8char.C: New.
      
      From-SVN: r225185
      fe95b036
  37. Jan 05, 2015
  38. Nov 29, 2014
    • Joseph Myers's avatar
      Fix off-by-one bug in utf16 conversion (PR preprocessor/41698). · 81fee4a7
      Joseph Myers authored
      libcpp:
      2014-11-29  John Schmerge  <jbschmerge@gmail.com>
      
      	PR preprocessor/41698
      	* charset.c (one_utf8_to_utf16): Do not produce surrogate pairs
      	for 0xffff.
      
      gcc/testsuite:
      2014-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	PR preprocessor/41698
      	* gcc/testsuite/g++.dg/cpp/utf16-pr41698-1.C: New test.
      
      From-SVN: r218179
      81fee4a7
Loading