public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-12  8:50 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-12  8:50 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:c5326b15c429ec86478b3fffcc97aa29a4d40ec1

commit c5326b15c429ec86478b3fffcc97aa29a4d40ec1
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Jan 12 08:55:04 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common.opt                                |   2 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/cris.opt                      |   2 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/vms-crtlmap.map                |   2 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   6 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  18 +-
 gcc/input.h                                   |   4 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/match.pd                                  |  16 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/selftest.h                                |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 libcpp/Makefile.in                            |   6 +-
 libcpp/charset.cc                             |   4 +-
 libcpp/directives.cc                          |   6 +-
 libcpp/include/cpplib.h                       |  22 +-
 libcpp/include/line-map.h                     |   6 +-
 libcpp/include/mkdeps.h                       |   2 +-
 libcpp/init.cc                                |   6 +-
 libcpp/internal.h                             |  32 +--
 libcpp/line-map.cc                            |   6 +-
 libcpp/traditional.cc                         |   2 +-
 804 files changed, 2695 insertions(+), 2695 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9b5945c048d..399de265065 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -192,7 +192,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -206,9 +206,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -288,10 +288,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 591d033fbca..b7b7d7483dd 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index eeec3e64f70..b32baa01b3b 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index b651d486afb..e5cd85662b9 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2534,7 +2534,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2633,7 +2633,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2703,7 +2703,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2837,7 +2837,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index e7284a1ef4e..aaeca95ba87 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 9b15a162c01..7ee1977279b 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index aef5a779f75..4d5ab60f68f 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index f4434f68b22..9ef3e30a2bd 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index 1856ce9ee58..12bb1aad648 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index feaedcc0654..a1cf316657d 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 7c9e7ca4518..3230f28c38b 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index c7a887abee2..af877006d99 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 2e6a0bb3bcf..c4f42fe1f7e 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index 543e3a29f07..ba7c61e7b07 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index af6919092d5..ea7d256ed43 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 1e57fc9424f..4cfbdca0f46 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index c780340ed32..bf07341a036 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10989,7 +10989,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common.opt b/gcc/common.opt
index fde3f722ede..0891db3dc38 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -150,7 +150,7 @@ bool flag_stack_usage_info = false
 ; the generated assembly code (to make it more readable).  This option
 ; is generally only of use to those who actually need to read the
 ; generated assembly code (perhaps while debugging the compiler itself).
-; Currently, this switch is only used by dwarf2out.c; however, it is intended
+; Currently, this switch is only used by dwarf2out.cc; however, it is intended
 ; to be a catchall for printing debug information in the assembler file.
 Variable
 int flag_debug_asm
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index 63e6834b9cf..a7807b3cc25 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 8235509f233..c623d083ff1 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index a50764b51c9..a417dd85d01 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -151,7 +151,7 @@ Use the most feature-enabling options allowed by other options.
 ; FIXME: The following comment relates to gcc before cris.opt.
 ; Check if it's still valid:
 ; We must call it "override-" since calling it "no-" will cause
-; gcc.c to forget it, if there's a "later" -mbest-lib-options.
+; gcc.cc to forget it, if there's a "later" -mbest-lib-options.
 ; Kludgy, but needed for some multilibbed files.
 moverride-best-lib-options
 Target RejectNegative
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 8b1266fb9f1..21ebbbb46f9 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14811,7 +14811,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index fa67278e003..de83e7d9617 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0864748875e..b564c5bb8bf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 1d1c89cd406..e322ac0c199 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -313,7 +313,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -325,7 +325,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 7759f757908..7a4ef5e6c0a 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9080,7 +9080,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9265,7 +9265,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10004,7 +10004,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18344,12 +18344,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23989,7 +23989,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6f74075f58d..59531b6d07e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5146,7 +5146,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map
index e80e2afe493..80331b2e6b7 100644
--- a/gcc/config/vms/vms-crtlmap.map
+++ b/gcc/config/vms/vms-crtlmap.map
@@ -12,7 +12,7 @@
 # - Comment lines start with '#' in the first column.
 # - map lines consist in an identifier optionnaly followed by at most 2
 #   space-separated flags.
-# Flags are described in vms.c (prefixed by VMS_CRTL_).
+# Flags are described in vms.cc (prefixed by VMS_CRTL_).
 #
 # Keep entries alpha-sorted - this is enforced by the awk script.
 #
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index d0da4a70448..f73496fc4c8 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6550,7 +6550,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 0e37f1a59bc..2dade75c489 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 899a80029f5..69b97449eac 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 8a3b7b5537c..1ab0c25a477 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 00100b0c080..5ed49d07e5e 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -8008,7 +8008,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10780,7 +10780,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..75adbbe7bec 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
@@ -853,7 +853,7 @@ This variable therefore uniquely enumerates each line in the translation
 unit.  With some simple infrastructure, it is straight forward to map
 from this to the original source file and line number pair, saving space
 whenever line number information needs to be saved.  The code the
-implements this mapping lies in the files @file{line-map.c} and
+implements this mapping lies in the files @file{line-map.cc} and
 @file{line-map.h}.
 
 Command-line macros and assertions are implemented by pushing a buffer
@@ -996,7 +996,7 @@ is turned off.
 @cindex files
 
 Fairly obviously, the file handling code of cpplib resides in the file
-@file{files.c}.  It takes care of the details of file searching,
+@file{files.cc}.  It takes care of the details of file searching,
 opening, reading and caching, for both the main source file and all the
 headers it recursively includes.
 
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-12  8:25 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-12  8:25 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:00a8c6548680b12dafc57dae9b796e489a31b4fa

commit 00a8c6548680b12dafc57dae9b796e489a31b4fa
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Jan 12 08:55:04 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common.opt                                |   2 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/cris.opt                      |   2 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/vms-crtlmap.map                |   2 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   6 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  18 +-
 gcc/input.h                                   |   4 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/match.pd                                  |  16 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/selftest.h                                |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 libcpp/Makefile.in                            |   6 +-
 libcpp/charset.cc                             |   4 +-
 libcpp/directives.cc                          |   6 +-
 libcpp/include/cpplib.h                       |  22 +-
 libcpp/include/line-map.h                     |   6 +-
 libcpp/include/mkdeps.h                       |   2 +-
 libcpp/init.cc                                |   6 +-
 libcpp/internal.h                             |  32 +--
 libcpp/line-map.cc                            |   6 +-
 libcpp/traditional.cc                         |   2 +-
 804 files changed, 2695 insertions(+), 2695 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9b5945c048d..399de265065 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -192,7 +192,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -206,9 +206,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -288,10 +288,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 591d033fbca..b7b7d7483dd 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index eeec3e64f70..b32baa01b3b 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index b651d486afb..e5cd85662b9 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2534,7 +2534,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2633,7 +2633,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2703,7 +2703,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2837,7 +2837,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index e7284a1ef4e..aaeca95ba87 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 9b15a162c01..7ee1977279b 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index aef5a779f75..4d5ab60f68f 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index f4434f68b22..9ef3e30a2bd 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index 1856ce9ee58..12bb1aad648 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index feaedcc0654..a1cf316657d 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 7c9e7ca4518..3230f28c38b 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index c7a887abee2..af877006d99 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 2e6a0bb3bcf..c4f42fe1f7e 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index 543e3a29f07..ba7c61e7b07 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index af6919092d5..ea7d256ed43 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 1e57fc9424f..4cfbdca0f46 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index c780340ed32..bf07341a036 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10989,7 +10989,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common.opt b/gcc/common.opt
index fde3f722ede..0891db3dc38 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -150,7 +150,7 @@ bool flag_stack_usage_info = false
 ; the generated assembly code (to make it more readable).  This option
 ; is generally only of use to those who actually need to read the
 ; generated assembly code (perhaps while debugging the compiler itself).
-; Currently, this switch is only used by dwarf2out.c; however, it is intended
+; Currently, this switch is only used by dwarf2out.cc; however, it is intended
 ; to be a catchall for printing debug information in the assembler file.
 Variable
 int flag_debug_asm
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index 63e6834b9cf..a7807b3cc25 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 8235509f233..c623d083ff1 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index a50764b51c9..a417dd85d01 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -151,7 +151,7 @@ Use the most feature-enabling options allowed by other options.
 ; FIXME: The following comment relates to gcc before cris.opt.
 ; Check if it's still valid:
 ; We must call it "override-" since calling it "no-" will cause
-; gcc.c to forget it, if there's a "later" -mbest-lib-options.
+; gcc.cc to forget it, if there's a "later" -mbest-lib-options.
 ; Kludgy, but needed for some multilibbed files.
 moverride-best-lib-options
 Target RejectNegative
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 8b1266fb9f1..21ebbbb46f9 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14811,7 +14811,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index fa67278e003..de83e7d9617 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0864748875e..b564c5bb8bf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 1d1c89cd406..e322ac0c199 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -313,7 +313,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -325,7 +325,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 7759f757908..7a4ef5e6c0a 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9080,7 +9080,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9265,7 +9265,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10004,7 +10004,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18344,12 +18344,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23989,7 +23989,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6f74075f58d..59531b6d07e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5146,7 +5146,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map
index e80e2afe493..80331b2e6b7 100644
--- a/gcc/config/vms/vms-crtlmap.map
+++ b/gcc/config/vms/vms-crtlmap.map
@@ -12,7 +12,7 @@
 # - Comment lines start with '#' in the first column.
 # - map lines consist in an identifier optionnaly followed by at most 2
 #   space-separated flags.
-# Flags are described in vms.c (prefixed by VMS_CRTL_).
+# Flags are described in vms.cc (prefixed by VMS_CRTL_).
 #
 # Keep entries alpha-sorted - this is enforced by the awk script.
 #
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index d0da4a70448..f73496fc4c8 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6550,7 +6550,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 0e37f1a59bc..2dade75c489 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 899a80029f5..69b97449eac 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 8a3b7b5537c..1ab0c25a477 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 00100b0c080..5ed49d07e5e 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -8008,7 +8008,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10780,7 +10780,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..75adbbe7bec 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
@@ -853,7 +853,7 @@ This variable therefore uniquely enumerates each line in the translation
 unit.  With some simple infrastructure, it is straight forward to map
 from this to the original source file and line number pair, saving space
 whenever line number information needs to be saved.  The code the
-implements this mapping lies in the files @file{line-map.c} and
+implements this mapping lies in the files @file{line-map.cc} and
 @file{line-map.h}.
 
 Command-line macros and assertions are implemented by pushing a buffer
@@ -996,7 +996,7 @@ is turned off.
 @cindex files
 
 Fairly obviously, the file handling code of cpplib resides in the file
-@file{files.c}.  It takes care of the details of file searching,
+@file{files.cc}.  It takes care of the details of file searching,
 opening, reading and caching, for both the main source file and all the
 headers it recursively includes.
 
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-11 12:47 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-11 12:47 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9249d3ae324794629e8dcd2be262a8765301209c

commit 9249d3ae324794629e8dcd2be262a8765301209c
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jan 11 11:30:27 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common.opt                                |   2 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/cris.opt                      |   2 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/vms-crtlmap.map                |   2 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   2 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  10 +-
 gcc/input.h                                   |   2 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/match.pd                                  |  16 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 793 files changed, 2640 insertions(+), 2640 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index c5aeb1af174..7dbda5fc40e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -189,7 +189,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -203,9 +203,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -285,10 +285,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 68f187b1fe2..7ace1fb1048 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index ebb74ca6d75..d86486a90c3 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index 06d82035c67..a5444c5dc03 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2529,7 +2529,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2628,7 +2628,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2698,7 +2698,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2832,7 +2832,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index a987594782b..15135581b42 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 6c260fe7187..50661b46026 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index 663aed94ebc..38dcf37ad36 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index 27f7d9d736f..81477a0bc8a 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index ac41d528094..ebe1a69e955 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index c94b84c1752..780b2839b47 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 4f682e039f3..a4969f85a07 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index 28abfbe051a..02aaa699076 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 0073c1979a5..a8d3f372760 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index ac0efd00ef6..9f7f6233844 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 54fa2f1be0b..a42b71983e1 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 4afd7b016af..1c71fb6d55b 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 51d3635bd57..0ab67fd0448 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10987,7 +10987,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common.opt b/gcc/common.opt
index fde3f722ede..0891db3dc38 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -150,7 +150,7 @@ bool flag_stack_usage_info = false
 ; the generated assembly code (to make it more readable).  This option
 ; is generally only of use to those who actually need to read the
 ; generated assembly code (perhaps while debugging the compiler itself).
-; Currently, this switch is only used by dwarf2out.c; however, it is intended
+; Currently, this switch is only used by dwarf2out.cc; however, it is intended
 ; to be a catchall for printing debug information in the assembler file.
 Variable
 int flag_debug_asm
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index eff58435789..866f6c302cb 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index c4d635ba0ae..9d6cd59d874 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index a50764b51c9..a417dd85d01 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -151,7 +151,7 @@ Use the most feature-enabling options allowed by other options.
 ; FIXME: The following comment relates to gcc before cris.opt.
 ; Check if it's still valid:
 ; We must call it "override-" since calling it "no-" will cause
-; gcc.c to forget it, if there's a "later" -mbest-lib-options.
+; gcc.cc to forget it, if there's a "later" -mbest-lib-options.
 ; Kludgy, but needed for some multilibbed files.
 moverride-best-lib-options
 Target RejectNegative
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index add748bcf40..612e597af13 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14803,7 +14803,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 91d642187be..e9322923563 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0864748875e..b564c5bb8bf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 1d1c89cd406..e322ac0c199 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -313,7 +313,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -325,7 +325,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index e7b5b2c5a7d..171523fcb3c 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9082,7 +9082,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9267,7 +9267,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10006,7 +10006,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18346,12 +18346,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23991,7 +23991,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6f74075f58d..59531b6d07e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5146,7 +5146,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map
index e80e2afe493..80331b2e6b7 100644
--- a/gcc/config/vms/vms-crtlmap.map
+++ b/gcc/config/vms/vms-crtlmap.map
@@ -12,7 +12,7 @@
 # - Comment lines start with '#' in the first column.
 # - map lines consist in an identifier optionnaly followed by at most 2
 #   space-separated flags.
-# Flags are described in vms.c (prefixed by VMS_CRTL_).
+# Flags are described in vms.cc (prefixed by VMS_CRTL_).
 #
 # Keep entries alpha-sorted - this is enforced by the awk script.
 #
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index d0da4a70448..f73496fc4c8 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6550,7 +6550,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 0e37f1a59bc..2dade75c489 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 899a80029f5..69b97449eac 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 1172dbeb91f..2c6aaaa99c7 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 00100b0c080..5ed49d07e5e 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -8008,7 +8008,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10780,7 +10780,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..482875cab4e 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The code for the data dependence analysis can be found in
-@file{tree-data-ref.c} and its interface and data structures are
+@file{tree-data-ref.cc} and its interface and data structures are
 described in @file{tree-data-ref.h}.  The function that computes the
 data dependences for all the array and pointer references for a given
 loop is @code{compute_data_dependences_for_loop}.  This function is
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index a6534da9ebe..8ee2a5bdc97 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -69,23 +69,23 @@ Currently, this phase is composed of two IPA passes:
 @itemize @bullet
 @item @code{pass_ipa_lto_gimple_out}
 This pass executes the function @code{lto_output} in
-@file{lto-streamer-out.c}, which traverses the call graph encoding
+@file{lto-streamer-out.cc}, which traverses the call graph encoding
 every reachable declaration, type and function.  This generates a
 memory representation of all the file sections described below.
 
 @item @code{pass_ipa_lto_finish_out}
 This pass executes the function @code{produce_asm_for_decls} in
-@file{lto-streamer-out.c}, which takes the memory image built in the
+@file{lto-streamer-out.cc}, which takes the memory image built in the
 previous pass and encodes it in the corresponding ELF file sections.
 @end itemize
 
 The second half of LTO support is the ``reader''.  This is implemented
-as the GCC front end @file{lto1} in @file{lto/lto.c}.  When
+as the GCC front end @file{lto1} in @file{lto/lto.cc}.  When
 @f[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-11 10:32 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-11 10:32 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:7e9c3bf6c8e0ec36fc944d561d67f889e654f7a0

commit 7e9c3bf6c8e0ec36fc944d561d67f889e654f7a0
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jan 11 11:30:27 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common.opt                                |   2 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/cris.opt                      |   2 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/vms-crtlmap.map                |   2 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   2 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  10 +-
 gcc/input.h                                   |   2 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/match.pd                                  |  16 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 793 files changed, 2640 insertions(+), 2640 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index c5aeb1af174..7dbda5fc40e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -189,7 +189,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -203,9 +203,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -285,10 +285,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 68f187b1fe2..7ace1fb1048 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index ebb74ca6d75..d86486a90c3 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index 06d82035c67..a5444c5dc03 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2529,7 +2529,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2628,7 +2628,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2698,7 +2698,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2832,7 +2832,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index a987594782b..15135581b42 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 6c260fe7187..50661b46026 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index 663aed94ebc..38dcf37ad36 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index 27f7d9d736f..81477a0bc8a 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index ac41d528094..ebe1a69e955 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index c94b84c1752..780b2839b47 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 4f682e039f3..a4969f85a07 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index 28abfbe051a..02aaa699076 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 0073c1979a5..a8d3f372760 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index ac0efd00ef6..9f7f6233844 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 54fa2f1be0b..a42b71983e1 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 4afd7b016af..1c71fb6d55b 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 51d3635bd57..0ab67fd0448 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10987,7 +10987,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common.opt b/gcc/common.opt
index fde3f722ede..0891db3dc38 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -150,7 +150,7 @@ bool flag_stack_usage_info = false
 ; the generated assembly code (to make it more readable).  This option
 ; is generally only of use to those who actually need to read the
 ; generated assembly code (perhaps while debugging the compiler itself).
-; Currently, this switch is only used by dwarf2out.c; however, it is intended
+; Currently, this switch is only used by dwarf2out.cc; however, it is intended
 ; to be a catchall for printing debug information in the assembler file.
 Variable
 int flag_debug_asm
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index eff58435789..866f6c302cb 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index c4d635ba0ae..9d6cd59d874 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index a50764b51c9..a417dd85d01 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -151,7 +151,7 @@ Use the most feature-enabling options allowed by other options.
 ; FIXME: The following comment relates to gcc before cris.opt.
 ; Check if it's still valid:
 ; We must call it "override-" since calling it "no-" will cause
-; gcc.c to forget it, if there's a "later" -mbest-lib-options.
+; gcc.cc to forget it, if there's a "later" -mbest-lib-options.
 ; Kludgy, but needed for some multilibbed files.
 moverride-best-lib-options
 Target RejectNegative
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index add748bcf40..612e597af13 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14803,7 +14803,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 91d642187be..e9322923563 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0864748875e..b564c5bb8bf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 1d1c89cd406..e322ac0c199 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -313,7 +313,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -325,7 +325,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index e7b5b2c5a7d..171523fcb3c 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9082,7 +9082,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9267,7 +9267,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10006,7 +10006,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18346,12 +18346,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23991,7 +23991,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6f74075f58d..59531b6d07e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5146,7 +5146,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map
index e80e2afe493..80331b2e6b7 100644
--- a/gcc/config/vms/vms-crtlmap.map
+++ b/gcc/config/vms/vms-crtlmap.map
@@ -12,7 +12,7 @@
 # - Comment lines start with '#' in the first column.
 # - map lines consist in an identifier optionnaly followed by at most 2
 #   space-separated flags.
-# Flags are described in vms.c (prefixed by VMS_CRTL_).
+# Flags are described in vms.cc (prefixed by VMS_CRTL_).
 #
 # Keep entries alpha-sorted - this is enforced by the awk script.
 #
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index d0da4a70448..f73496fc4c8 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6550,7 +6550,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 0e37f1a59bc..2dade75c489 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 899a80029f5..69b97449eac 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 1172dbeb91f..2c6aaaa99c7 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 00100b0c080..5ed49d07e5e 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -8008,7 +8008,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10780,7 +10780,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..482875cab4e 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The code for the data dependence analysis can be found in
-@file{tree-data-ref.c} and its interface and data structures are
+@file{tree-data-ref.cc} and its interface and data structures are
 described in @file{tree-data-ref.h}.  The function that computes the
 data dependences for all the array and pointer references for a given
 loop is @code{compute_data_dependences_for_loop}.  This function is
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index a6534da9ebe..8ee2a5bdc97 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -69,23 +69,23 @@ Currently, this phase is composed of two IPA passes:
 @itemize @bullet
 @item @code{pass_ipa_lto_gimple_out}
 This pass executes the function @code{lto_output} in
-@file{lto-streamer-out.c}, which traverses the call graph encoding
+@file{lto-streamer-out.cc}, which traverses the call graph encoding
 every reachable declaration, type and function.  This generates a
 memory representation of all the file sections described below.
 
 @item @code{pass_ipa_lto_finish_out}
 This pass executes the function @code{produce_asm_for_decls} in
-@file{lto-streamer-out.c}, which takes the memory image built in the
+@file{lto-streamer-out.cc}, which takes the memory image built in the
 previous pass and encodes it in the corresponding ELF file sections.
 @end itemize
 
 The second half of LTO support is the ``reader''.  This is implemented
-as the GCC front end @file{lto1} in @file{lto/lto.c}.  When
+as the GCC front end @file{lto1} in @file{lto/lto.cc}.  When
 @f[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-11  9:50 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-11  9:50 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:32e84f6967efbdea706e557b359d139d0a41d5b8

commit 32e84f6967efbdea706e557b359d139d0a41d5b8
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jan 11 10:49:23 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common.opt                                |   2 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/cris.opt                      |   2 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/t-vmsnative                    |   4 +-
 gcc/config/vms/vms-crtlmap.map                |   2 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   2 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  10 +-
 gcc/input.h                                   |   2 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/match.pd                                  |  16 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 794 files changed, 2642 insertions(+), 2642 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index c5aeb1af174..7dbda5fc40e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -189,7 +189,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -203,9 +203,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -285,10 +285,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 68f187b1fe2..7ace1fb1048 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index ebb74ca6d75..d86486a90c3 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index 06d82035c67..a5444c5dc03 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2529,7 +2529,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2628,7 +2628,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2698,7 +2698,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2832,7 +2832,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index a987594782b..15135581b42 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 6c260fe7187..50661b46026 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index 663aed94ebc..38dcf37ad36 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index 27f7d9d736f..81477a0bc8a 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index ac41d528094..ebe1a69e955 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index c94b84c1752..780b2839b47 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 4f682e039f3..a4969f85a07 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index 28abfbe051a..02aaa699076 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 0073c1979a5..a8d3f372760 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index ac0efd00ef6..9f7f6233844 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 54fa2f1be0b..a42b71983e1 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 4afd7b016af..1c71fb6d55b 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 51d3635bd57..0ab67fd0448 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10987,7 +10987,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common.opt b/gcc/common.opt
index fde3f722ede..0891db3dc38 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -150,7 +150,7 @@ bool flag_stack_usage_info = false
 ; the generated assembly code (to make it more readable).  This option
 ; is generally only of use to those who actually need to read the
 ; generated assembly code (perhaps while debugging the compiler itself).
-; Currently, this switch is only used by dwarf2out.c; however, it is intended
+; Currently, this switch is only used by dwarf2out.cc; however, it is intended
 ; to be a catchall for printing debug information in the assembler file.
 Variable
 int flag_debug_asm
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index eff58435789..866f6c302cb 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index c4d635ba0ae..9d6cd59d874 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index a50764b51c9..a417dd85d01 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -151,7 +151,7 @@ Use the most feature-enabling options allowed by other options.
 ; FIXME: The following comment relates to gcc before cris.opt.
 ; Check if it's still valid:
 ; We must call it "override-" since calling it "no-" will cause
-; gcc.c to forget it, if there's a "later" -mbest-lib-options.
+; gcc.cc to forget it, if there's a "later" -mbest-lib-options.
 ; Kludgy, but needed for some multilibbed files.
 moverride-best-lib-options
 Target RejectNegative
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index add748bcf40..612e597af13 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14803,7 +14803,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 91d642187be..e9322923563 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 0864748875e..b564c5bb8bf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 1d1c89cd406..e322ac0c199 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -313,7 +313,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -325,7 +325,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index e7b5b2c5a7d..171523fcb3c 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9082,7 +9082,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9267,7 +9267,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10006,7 +10006,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18346,12 +18346,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23991,7 +23991,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6f74075f58d..59531b6d07e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5146,7 +5146,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/t-vmsnative b/gcc/config/vms/t-vmsnative
index e018f7a0458..6b29b104508 100644
--- a/gcc/config/vms/t-vmsnative
+++ b/gcc/config/vms/t-vmsnative
@@ -21,13 +21,13 @@ version:=$(shell echo $(BASEVER_c) | sed -e 's/\./_/g')
 
 # Wrappers around native VMS tools for ld and ar.
 
-vms-ld.o: $(srcdir)/config/vms/vms-ld.c
+vms-ld.o: $(srcdir)/config/vms/vms-ld.cc
 	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
 ld$(exeext): vms-ld.o $(LIBIBERTY)
 	$(CC) -o $@ vms-ld.o $(LIBIBERTY)
 
-vms-ar.o: $(srcdir)/config/vms/vms-ar.c
+vms-ar.o: $(srcdir)/config/vms/vms-ar.cc
 	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
 ar$(exeext): vms-ar.o $(LIBIBERTY)
diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map
index e80e2afe493..80331b2e6b7 100644
--- a/gcc/config/vms/vms-crtlmap.map
+++ b/gcc/config/vms/vms-crtlmap.map
@@ -12,7 +12,7 @@
 # - Comment lines start with '#' in the first column.
 # - map lines consist in an identifier optionnaly followed by at most 2
 #   space-separated flags.
-# Flags are described in vms.c (prefixed by VMS_CRTL_).
+# Flags are described in vms.cc (prefixed by VMS_CRTL_).
 #
 # Keep entries alpha-sorted - this is enforced by the awk script.
 #
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index d0da4a70448..f73496fc4c8 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6550,7 +6550,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 0e37f1a59bc..2dade75c489 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 899a80029f5..69b97449eac 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 1172dbeb91f..2c6aaaa99c7 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 00100b0c080..5ed49d07e5e 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -8008,7 +8008,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10780,7 +10780,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..482875cab4e 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The code for the data dependence analysis can be found in
-@file{tree-data-ref.c} and its interface and data structures are
+@file{tree-data-ref.cc} and its interface and data structures are
 described in @file{tree-data-ref.h}.  The function that computes the
 data dependences for all the array and pointer references for a given
 loop is @code{compute_data_dependences_for_loop}.  This function is
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index a6534da9ebe..8ee2a5bdc97 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -69,23 +69,23 @@ Currently, this phase is composed of two IPA passes:
 @itemize @bullet
 @item @code{pass_ipa_lto_gimple_out}
 This pass executes the function @code{lto_output} in
-@file{lto-st[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming
@ 2022-01-10 19:52 Martin Liska
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Liska @ 2022-01-10 19:52 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:a9831f544e0945a11ea08f5eaaa23b143c5cc4cb

commit a9831f544e0945a11ea08f5eaaa23b143c5cc4cb
Author: Martin Liska <mliska@suse.cz>
Date:   Mon Jan 10 20:51:27 2022 +0100

    Automatic renaming

Diff:
---
 MAINTAINERS                                   |  14 +-
 contrib/filter-clang-warnings.py              |  14 +-
 contrib/gcc_update                            |   6 +-
 contrib/header-tools/README                   |  34 +--
 contrib/paranoia.cc                           |   2 +-
 gcc/Makefile.in                               | 284 ++++++++++++-------------
 gcc/ada/Make-generated.in                     |   2 +-
 gcc/ada/adaint.c                              |   2 +-
 gcc/ada/ctrl_c.c                              |   2 +-
 gcc/ada/gcc-interface/Makefile.in             |  52 ++---
 gcc/ada/gcc-interface/config-lang.in          |   2 +-
 gcc/ada/gcc-interface/decl.cc                 |   4 +-
 gcc/ada/gcc-interface/gigi.h                  |  16 +-
 gcc/ada/gcc-interface/lang-specs.h            |   2 +-
 gcc/ada/gcc-interface/utils.cc                |   8 +-
 gcc/ada/gcc-interface/utils2.cc               |   8 +-
 gcc/ada/gsocket.h                             |   2 +-
 gcc/ada/init.cc                               |   4 +-
 gcc/ada/libgnarl/s-intman.ads                 |   2 +-
 gcc/ada/libgnarl/s-osinte__android.ads        |   2 +-
 gcc/ada/libgnarl/s-osinte__darwin.ads         |   2 +-
 gcc/ada/libgnarl/s-osinte__hpux.ads           |   2 +-
 gcc/ada/libgnarl/s-osinte__linux.ads          |   2 +-
 gcc/ada/libgnarl/s-osinte__qnx.ads            |   2 +-
 gcc/ada/libgnarl/s-taskin.ads                 |   2 +-
 gcc/ada/rtfinal.cc                            |   2 +-
 gcc/ada/s-oscons-tmplt.c                      |   2 +-
 gcc/ada/set_targ.ads                          |   4 +-
 gcc/alias.h                                   |   2 +-
 gcc/analyzer/analyzer.cc                      |   4 +-
 gcc/analyzer/region-model-asm.cc              |   2 +-
 gcc/analyzer/region.cc                        |   2 +-
 gcc/analyzer/sm-malloc.cc                     |   2 +-
 gcc/analyzer/supergraph.cc                    |   2 +-
 gcc/asan.cc                                   |   2 +-
 gcc/auto-profile.h                            |   2 +-
 gcc/basic-block.h                             |   2 +-
 gcc/btfout.cc                                 |   2 +-
 gcc/builtins.cc                               |   8 +-
 gcc/c-family/c-ada-spec.cc                    |   2 +-
 gcc/c-family/c-ada-spec.h                     |   2 +-
 gcc/c-family/c-common.cc                      |   4 +-
 gcc/c-family/c-common.h                       |  30 +--
 gcc/c-family/c-cppbuiltin.cc                  |   2 +-
 gcc/c-family/c-format.cc                      |   2 +-
 gcc/c-family/c-gimplify.cc                    |   2 +-
 gcc/c-family/c-indentation.h                  |   2 +-
 gcc/c-family/c-objc.h                         |   2 +-
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/c-family/c-opts.cc                        |   4 +-
 gcc/c-family/c-pragma.cc                      |   2 +-
 gcc/c-family/c-pretty-print.h                 |   2 +-
 gcc/c/Make-lang.in                            |  10 +-
 gcc/c/c-convert.cc                            |  10 +-
 gcc/c/c-decl.cc                               |   6 +-
 gcc/c/c-objc-common.h                         |   2 +-
 gcc/c/c-parser.cc                             |   2 +-
 gcc/c/c-parser.h                              |   2 +-
 gcc/c/c-tree.h                                |  22 +-
 gcc/c/c-typeck.cc                             |   4 +-
 gcc/c/config-lang.in                          |   2 +-
 gcc/caller-save.cc                            |   4 +-
 gcc/calls.cc                                  |  12 +-
 gcc/cfg-flags.def                             |   6 +-
 gcc/cfganal.cc                                |   2 +-
 gcc/cfgcleanup.cc                             |  12 +-
 gcc/cfgexpand.cc                              |   2 +-
 gcc/cfghooks.cc                               |   4 +-
 gcc/cfghooks.h                                |   4 +-
 gcc/cfgrtl.cc                                 |  10 +-
 gcc/cgraph.cc                                 |   4 +-
 gcc/cgraph.h                                  |  22 +-
 gcc/cgraphclones.cc                           |   2 +-
 gcc/cgraphunit.cc                             |   2 +-
 gcc/collect-utils.h                           |   2 +-
 gcc/collect2-aix.h                            |   2 +-
 gcc/collect2.cc                               |   2 +-
 gcc/combine-stack-adj.cc                      |   2 +-
 gcc/combine.cc                                |   6 +-
 gcc/common/config/aarch64/aarch64-common.cc   |   2 +-
 gcc/common/config/arm/arm-common.cc           |   2 +-
 gcc/common/config/avr/avr-common.cc           |   2 +-
 gcc/common/config/i386/i386-isas.h            |   4 +-
 gcc/conditions.h                              |   2 +-
 gcc/config.gcc                                |  40 ++--
 gcc/config/aarch64/aarch64-builtins.cc        |   2 +-
 gcc/config/aarch64/aarch64-protos.h           |   4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   2 +-
 gcc/config/aarch64/aarch64.cc                 |  12 +-
 gcc/config/aarch64/aarch64.h                  |   6 +-
 gcc/config/aarch64/cortex-a57-fma-steering.cc |   4 +-
 gcc/config/aarch64/driver-aarch64.cc          |   2 +-
 gcc/config/aarch64/t-aarch64                  |  26 +--
 gcc/config/aarch64/x-aarch64                  |   2 +-
 gcc/config/aarch64/x-darwin                   |   2 +-
 gcc/config/alpha/alpha-protos.h               |   2 +-
 gcc/config/alpha/alpha.cc                     |   2 +-
 gcc/config/alpha/alpha.h                      |   8 +-
 gcc/config/alpha/alpha.md                     |   4 +-
 gcc/config/alpha/driver-alpha.cc              |   2 +-
 gcc/config/alpha/x-alpha                      |   2 +-
 gcc/config/arc/arc-protos.h                   |   2 +-
 gcc/config/arc/arc.cc                         |  12 +-
 gcc/config/arc/arc.md                         |   8 +-
 gcc/config/arc/builtins.def                   |   4 +-
 gcc/config/arc/t-arc                          |   6 +-
 gcc/config/arm/arm-c.cc                       |   4 +-
 gcc/config/arm/arm-protos.h                   |   8 +-
 gcc/config/arm/arm.cc                         |  12 +-
 gcc/config/arm/arm.h                          |   8 +-
 gcc/config/arm/arm.md                         |   2 +-
 gcc/config/arm/driver-arm.cc                  |   2 +-
 gcc/config/arm/symbian.h                      |   2 +-
 gcc/config/arm/t-arm                          |  16 +-
 gcc/config/arm/thumb1.md                      |  10 +-
 gcc/config/arm/x-arm                          |   2 +-
 gcc/config/avr/avr-c.cc                       |   6 +-
 gcc/config/avr/avr-fixed.md                   |   2 +-
 gcc/config/avr/avr-log.cc                     |   2 +-
 gcc/config/avr/avr-mcus.def                   |   2 +-
 gcc/config/avr/avr-modes.def                  |   2 +-
 gcc/config/avr/avr-passes.def                 |   2 +-
 gcc/config/avr/avr-protos.h                   |   4 +-
 gcc/config/avr/avr.cc                         |  18 +-
 gcc/config/avr/avr.h                          |   4 +-
 gcc/config/avr/avr.md                         |   6 +-
 gcc/config/avr/builtins.def                   |   4 +-
 gcc/config/avr/gen-avr-mmcu-specs.cc          |   6 +-
 gcc/config/avr/gen-avr-mmcu-texi.cc           |   6 +-
 gcc/config/avr/t-avr                          |  16 +-
 gcc/config/bfin/bfin.cc                       |   2 +-
 gcc/config/bpf/bpf-protos.h                   |   2 +-
 gcc/config/bpf/bpf.h                          |   2 +-
 gcc/config/bpf/t-bpf                          |   2 +-
 gcc/config/c6x/c6x-protos.h                   |   4 +-
 gcc/config/cr16/cr16-protos.h                 |   2 +-
 gcc/config/cris/cris.cc                       |   8 +-
 gcc/config/cris/cris.h                        |   8 +-
 gcc/config/cris/sync.md                       |   2 +-
 gcc/config/csky/csky.cc                       |   2 +-
 gcc/config/darwin-c.cc                        |   2 +-
 gcc/config/darwin-f.cc                        |   2 +-
 gcc/config/darwin-sections.def                |   8 +-
 gcc/config/darwin.cc                          |  10 +-
 gcc/config/darwin.h                           |   4 +-
 gcc/config/elfos.h                            |   2 +-
 gcc/config/epiphany/epiphany-sched.md         |   2 +-
 gcc/config/epiphany/epiphany.cc               |   2 +-
 gcc/config/epiphany/epiphany.h                |   6 +-
 gcc/config/epiphany/mode-switch-use.cc        |   2 +-
 gcc/config/epiphany/predicates.md             |   2 +-
 gcc/config/epiphany/t-epiphany                |   4 +-
 gcc/config/fr30/fr30-protos.h                 |   2 +-
 gcc/config/frv/frv-protos.h                   |   2 +-
 gcc/config/frv/frv.cc                         |   2 +-
 gcc/config/frv/frv.h                          |   2 +-
 gcc/config/ft32/ft32-protos.h                 |   2 +-
 gcc/config/gcn/gcn-hsa.h                      |   2 +-
 gcc/config/gcn/gcn.cc                         |   2 +-
 gcc/config/gcn/mkoffload.cc                   |   2 +-
 gcc/config/gcn/t-gcn-hsa                      |   8 +-
 gcc/config/gcn/t-omp-device                   |   2 +-
 gcc/config/h8300/h8300-protos.h               |   4 +-
 gcc/config/h8300/h8300.cc                     |   4 +-
 gcc/config/h8300/h8300.h                      |   6 +-
 gcc/config/i386/cygming.h                     |   4 +-
 gcc/config/i386/djgpp.h                       |   2 +-
 gcc/config/i386/dragonfly.h                   |   2 +-
 gcc/config/i386/driver-i386.cc                |   2 +-
 gcc/config/i386/freebsd.h                     |   2 +-
 gcc/config/i386/i386-c.cc                     |   2 +-
 gcc/config/i386/i386-expand.cc                |   2 +-
 gcc/config/i386/i386-options.cc               |   2 +-
 gcc/config/i386/i386-protos.h                 |  12 +-
 gcc/config/i386/i386.cc                       |  12 +-
 gcc/config/i386/i386.h                        |  16 +-
 gcc/config/i386/i386.md                       |   6 +-
 gcc/config/i386/lynx.h                        |   2 +-
 gcc/config/i386/mmx.md                        |   8 +-
 gcc/config/i386/sse.md                        |  10 +-
 gcc/config/i386/t-cygming                     |  18 +-
 gcc/config/i386/t-djgpp                       |   4 +-
 gcc/config/i386/t-gnu-property                |   2 +-
 gcc/config/i386/t-i386                        |  20 +-
 gcc/config/i386/t-intelmic                    |   2 +-
 gcc/config/i386/t-omp-device                  |   4 +-
 gcc/config/i386/winnt-cxx.cc                  |   4 +-
 gcc/config/i386/winnt.cc                      |   8 +-
 gcc/config/i386/x-cygwin                      |   4 +-
 gcc/config/i386/x-darwin                      |   2 +-
 gcc/config/i386/x-i386                        |   2 +-
 gcc/config/i386/x-mingw32                     |   6 +-
 gcc/config/i386/x86-tune-sched-core.cc        |   2 +-
 gcc/config/i386/x86-tune.def                  |   4 +-
 gcc/config/i386/xm-djgpp.h                    |   4 +-
 gcc/config/ia64/freebsd.h                     |   4 +-
 gcc/config/ia64/hpux.h                        |   2 +-
 gcc/config/ia64/ia64-protos.h                 |   2 +-
 gcc/config/ia64/ia64.cc                       |   6 +-
 gcc/config/ia64/ia64.h                        |   2 +-
 gcc/config/ia64/ia64.md                       |   4 +-
 gcc/config/ia64/predicates.md                 |   2 +-
 gcc/config/ia64/sysv4.h                       |   4 +-
 gcc/config/ia64/t-ia64                        |   6 +-
 gcc/config/iq2000/iq2000.h                    |   2 +-
 gcc/config/iq2000/iq2000.md                   |   4 +-
 gcc/config/linux.h                            |   4 +-
 gcc/config/m32c/m32c.cc                       |   2 +-
 gcc/config/m32c/m32c.h                        |   2 +-
 gcc/config/m32c/t-m32c                        |   2 +-
 gcc/config/m32r/m32r-protos.h                 |   2 +-
 gcc/config/m32r/m32r.cc                       |   2 +-
 gcc/config/m32r/m32r.h                        |   4 +-
 gcc/config/m32r/m32r.md                       |   2 +-
 gcc/config/m68k/m68k-isas.def                 |   2 +-
 gcc/config/m68k/m68k-microarchs.def           |   2 +-
 gcc/config/m68k/m68k-protos.h                 |   6 +-
 gcc/config/m68k/m68k.cc                       |  10 +-
 gcc/config/m68k/m68k.h                        |   4 +-
 gcc/config/m68k/m68k.md                       |   4 +-
 gcc/config/m68k/m68kemb.h                     |   2 +-
 gcc/config/m68k/uclinux.h                     |   2 +-
 gcc/config/mcore/mcore-protos.h               |   2 +-
 gcc/config/mcore/mcore.cc                     |   4 +-
 gcc/config/mcore/mcore.h                      |   4 +-
 gcc/config/mcore/mcore.md                     |   2 +-
 gcc/config/microblaze/microblaze-protos.h     |   2 +-
 gcc/config/microblaze/microblaze.cc           |  12 +-
 gcc/config/microblaze/microblaze.h            |   2 +-
 gcc/config/microblaze/microblaze.md           |   4 +-
 gcc/config/microblaze/t-microblaze            |   4 +-
 gcc/config/mips/driver-native.cc              |   2 +-
 gcc/config/mips/loongson2ef.md                |   2 +-
 gcc/config/mips/mips-protos.h                 |   2 +-
 gcc/config/mips/mips.cc                       |  10 +-
 gcc/config/mips/mips.h                        |   2 +-
 gcc/config/mips/mips.md                       |   2 +-
 gcc/config/mips/t-mips                        |   4 +-
 gcc/config/mips/x-native                      |   2 +-
 gcc/config/mmix/mmix-protos.h                 |   2 +-
 gcc/config/mmix/mmix.cc                       |   6 +-
 gcc/config/mmix/mmix.h                        |   2 +-
 gcc/config/mmix/mmix.md                       |   4 +-
 gcc/config/mmix/predicates.md                 |   2 +-
 gcc/config/mn10300/mn10300.cc                 |   6 +-
 gcc/config/mn10300/mn10300.h                  |   6 +-
 gcc/config/moxie/moxie-protos.h               |   2 +-
 gcc/config/moxie/uclinux.h                    |   2 +-
 gcc/config/msp430/msp430-devices.cc           |   2 +-
 gcc/config/msp430/msp430.cc                   |   4 +-
 gcc/config/msp430/msp430.h                    |   4 +-
 gcc/config/msp430/t-msp430                    |   6 +-
 gcc/config/nds32/nds32-cost.cc                |   6 +-
 gcc/config/nds32/nds32-doubleword.md          |   2 +-
 gcc/config/nds32/nds32.cc                     |   4 +-
 gcc/config/nds32/nds32.h                      |  10 +-
 gcc/config/nds32/predicates.md                |  12 +-
 gcc/config/nds32/t-nds32                      |  40 ++--
 gcc/config/nios2/nios2.cc                     |   2 +-
 gcc/config/nvptx/nvptx-protos.h               |   2 +-
 gcc/config/nvptx/nvptx.cc                     |   2 +-
 gcc/config/nvptx/nvptx.h                      |   2 +-
 gcc/config/nvptx/t-nvptx                      |   4 +-
 gcc/config/nvptx/t-omp-device                 |   2 +-
 gcc/config/pa/elf.h                           |   2 +-
 gcc/config/pa/pa-linux.h                      |   2 +-
 gcc/config/pa/pa-netbsd.h                     |   2 +-
 gcc/config/pa/pa-openbsd.h                    |   2 +-
 gcc/config/pa/pa-protos.h                     |  10 +-
 gcc/config/pa/pa.cc                           |   8 +-
 gcc/config/pa/pa.h                            |   8 +-
 gcc/config/pa/pa.md                           |   8 +-
 gcc/config/pa/som.h                           |   2 +-
 gcc/config/pa/t-pa                            |   2 +-
 gcc/config/pdp11/pdp11.cc                     |   2 +-
 gcc/config/pdp11/pdp11.h                      |   2 +-
 gcc/config/pdp11/pdp11.md                     |   2 +-
 gcc/config/pdp11/t-pdp11                      |   2 +-
 gcc/config/pru/pru.md                         |   2 +-
 gcc/config/pru/t-pru                          |   4 +-
 gcc/config/riscv/riscv-protos.h               |  10 +-
 gcc/config/riscv/riscv.cc                     |   2 +-
 gcc/config/riscv/riscv.h                      |   4 +-
 gcc/config/riscv/t-riscv                      |  16 +-
 gcc/config/rl78/rl78.cc                       |   2 +-
 gcc/config/rl78/t-rl78                        |   2 +-
 gcc/config/rs6000/aix.h                       |   4 +-
 gcc/config/rs6000/aix71.h                     |   2 +-
 gcc/config/rs6000/aix72.h                     |   2 +-
 gcc/config/rs6000/aix73.h                     |   2 +-
 gcc/config/rs6000/darwin.h                    |   6 +-
 gcc/config/rs6000/driver-rs6000.cc            |   2 +-
 gcc/config/rs6000/freebsd.h                   |   4 +-
 gcc/config/rs6000/freebsd64.h                 |   4 +-
 gcc/config/rs6000/lynx.h                      |   2 +-
 gcc/config/rs6000/rbtree.cc                   |   2 +-
 gcc/config/rs6000/rbtree.h                    |   2 +-
 gcc/config/rs6000/rs6000-c.cc                 |   2 +-
 gcc/config/rs6000/rs6000-call.cc              |   6 +-
 gcc/config/rs6000/rs6000-cpus.def             |   2 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |   2 +-
 gcc/config/rs6000/rs6000-internal.h           |  10 +-
 gcc/config/rs6000/rs6000-logue.cc             |   4 +-
 gcc/config/rs6000/rs6000-overload.def         |  10 +-
 gcc/config/rs6000/rs6000-p8swap.cc            |   4 +-
 gcc/config/rs6000/rs6000-protos.h             |   6 +-
 gcc/config/rs6000/rs6000.cc                   |  16 +-
 gcc/config/rs6000/rs6000.h                    |  16 +-
 gcc/config/rs6000/rs6000.md                   |   2 +-
 gcc/config/rs6000/sysv4.h                     |   2 +-
 gcc/config/rs6000/t-linux                     |   2 +-
 gcc/config/rs6000/t-linux64                   |   2 +-
 gcc/config/rs6000/t-rs6000                    |  34 +--
 gcc/config/rs6000/x-darwin                    |   2 +-
 gcc/config/rs6000/x-darwin64                  |   2 +-
 gcc/config/rs6000/x-rs6000                    |   2 +-
 gcc/config/rs6000/xcoff.h                     |   4 +-
 gcc/config/rx/rx.cc                           |   2 +-
 gcc/config/s390/constraints.md                |   8 +-
 gcc/config/s390/driver-native.cc              |   2 +-
 gcc/config/s390/htmxlintrin.h                 |   2 +-
 gcc/config/s390/s390-builtins.def             |   8 +-
 gcc/config/s390/s390-builtins.h               |   2 +-
 gcc/config/s390/s390-c.cc                     |   2 +-
 gcc/config/s390/s390-opts.h                   |   2 +-
 gcc/config/s390/s390-protos.h                 |  10 +-
 gcc/config/s390/s390.cc                       |  12 +-
 gcc/config/s390/s390.h                        |   8 +-
 gcc/config/s390/s390.md                       |   8 +-
 gcc/config/s390/t-s390                        |   6 +-
 gcc/config/s390/vx-builtins.md                |   2 +-
 gcc/config/s390/x-native                      |   2 +-
 gcc/config/sh/divtab-sh4-300.cc               |   2 +-
 gcc/config/sh/divtab-sh4.cc                   |   2 +-
 gcc/config/sh/divtab.cc                       |   2 +-
 gcc/config/sh/elf.h                           |   2 +-
 gcc/config/sh/sh-protos.h                     |   2 +-
 gcc/config/sh/sh.cc                           |   6 +-
 gcc/config/sh/sh.h                            |   8 +-
 gcc/config/sh/t-sh                            |   4 +-
 gcc/config/sol2-protos.h                      |   6 +-
 gcc/config/sol2.h                             |   4 +-
 gcc/config/sparc/driver-sparc.cc              |   2 +-
 gcc/config/sparc/freebsd.h                    |   4 +-
 gcc/config/sparc/sparc-protos.h               |   2 +-
 gcc/config/sparc/sparc.cc                     |   6 +-
 gcc/config/sparc/sparc.h                      |   6 +-
 gcc/config/sparc/sparc.md                     |   4 +-
 gcc/config/sparc/t-sparc                      |   4 +-
 gcc/config/sparc/x-sparc                      |   2 +-
 gcc/config/stormy16/stormy16.cc               |   2 +-
 gcc/config/t-darwin                           |  10 +-
 gcc/config/t-dragonfly                        |   2 +-
 gcc/config/t-freebsd                          |   2 +-
 gcc/config/t-glibc                            |   4 +-
 gcc/config/t-linux                            |   2 +-
 gcc/config/t-netbsd                           |   4 +-
 gcc/config/t-openbsd                          |   2 +-
 gcc/config/t-pnt16-warn                       |   2 +-
 gcc/config/t-sol2                             |  10 +-
 gcc/config/t-vxworks                          |   4 +-
 gcc/config/t-winnt                            |   2 +-
 gcc/config/tilegx/t-tilegx                    |   6 +-
 gcc/config/tilegx/tilegx-c.cc                 |   2 +-
 gcc/config/tilegx/tilegx-protos.h             |   2 +-
 gcc/config/tilegx/tilegx.md                   |   2 +-
 gcc/config/tilepro/t-tilepro                  |   6 +-
 gcc/config/tilepro/tilepro-c.cc               |   2 +-
 gcc/config/v850/t-v850                        |   4 +-
 gcc/config/v850/v850-protos.h                 |   2 +-
 gcc/config/v850/v850.cc                       |   4 +-
 gcc/config/v850/v850.h                        |   6 +-
 gcc/config/vax/vax.cc                         |   4 +-
 gcc/config/vax/vax.h                          |   2 +-
 gcc/config/vax/vax.md                         |   2 +-
 gcc/config/visium/visium.cc                   |   2 +-
 gcc/config/visium/visium.h                    |   6 +-
 gcc/config/vms/t-vms                          |   6 +-
 gcc/config/vms/t-vmsnative                    |   4 +-
 gcc/config/vms/vms-protos.h                   |   4 +-
 gcc/config/vx-common.h                        |   2 +-
 gcc/config/x-darwin                           |   2 +-
 gcc/config/x-hpux                             |   4 +-
 gcc/config/x-linux                            |   2 +-
 gcc/config/x-netbsd                           |   4 +-
 gcc/config/x-openbsd                          |   4 +-
 gcc/config/x-solaris                          |   2 +-
 gcc/config/xtensa/xtensa-protos.h             |   2 +-
 gcc/config/xtensa/xtensa.cc                   |   4 +-
 gcc/config/xtensa/xtensa.h                    |   2 +-
 gcc/configure.ac                              |   8 +-
 gcc/context.cc                                |   2 +-
 gcc/convert.h                                 |   2 +-
 gcc/coretypes.h                               |   2 +-
 gcc/coverage.cc                               |   2 +-
 gcc/coverage.h                                |   2 +-
 gcc/cp/Make-lang.in                           |   8 +-
 gcc/cp/config-lang.in                         |  34 +--
 gcc/cp/constexpr.cc                           |   2 +-
 gcc/cp/coroutines.cc                          |   2 +-
 gcc/cp/cp-gimplify.cc                         |   4 +-
 gcc/cp/cp-lang.cc                             |   4 +-
 gcc/cp/cp-objcp-common.cc                     |   8 +-
 gcc/cp/cp-objcp-common.h                      |   4 +-
 gcc/cp/cp-tree.h                              |  84 ++++----
 gcc/cp/cvt.cc                                 |  18 +-
 gcc/cp/decl.cc                                |   8 +-
 gcc/cp/decl2.cc                               |   2 +-
 gcc/cp/error.cc                               |   2 +-
 gcc/cp/init.cc                                |   4 +-
 gcc/cp/lang-specs.h                           |   2 +-
 gcc/cp/method.cc                              |   2 +-
 gcc/cp/module.cc                              |   4 +-
 gcc/cp/name-lookup.cc                         |   2 +-
 gcc/cp/name-lookup.h                          |   2 +-
 gcc/cp/parser.cc                              |   4 +-
 gcc/cp/parser.h                               |   2 +-
 gcc/cp/pt.cc                                  |   4 +-
 gcc/cp/semantics.cc                           |   6 +-
 gcc/cp/tree.cc                                |   4 +-
 gcc/cp/typeck.cc                              |   8 +-
 gcc/cp/vtable-class-hierarchy.cc              |   2 +-
 gcc/cppdefault.h                              |   2 +-
 gcc/cprop.cc                                  |   4 +-
 gcc/cse.cc                                    |   4 +-
 gcc/ctfc.h                                    |   4 +-
 gcc/d/d-gimplify.cc                           |   2 +-
 gcc/d/d-incpath.cc                            |   2 +-
 gcc/d/lang-specs.h                            |   2 +-
 gcc/data-streamer.h                           |   6 +-
 gcc/dbgcnt.def                                |   2 +-
 gcc/dbxout.cc                                 |   4 +-
 gcc/dbxout.h                                  |   2 +-
 gcc/debug.h                                   |   8 +-
 gcc/df-core.cc                                |   4 +-
 gcc/df-scan.cc                                |   4 +-
 gcc/df.h                                      |   8 +-
 gcc/dfp.cc                                    |   2 +-
 gcc/diagnostic-color.cc                       |   2 +-
 gcc/diagnostic-event-id.h                     |   2 +-
 gcc/diagnostic-show-locus.cc                  |   2 +-
 gcc/diagnostic.cc                             |   8 +-
 gcc/doc/avr-mmcu.texi                         |   4 +-
 gcc/doc/cfg.texi                              |   2 +-
 gcc/doc/contrib.texi                          |   2 +-
 gcc/doc/cppinternals.texi                     |   2 +-
 gcc/doc/extend.texi                           |   2 +-
 gcc/doc/generic.texi                          |   8 +-
 gcc/doc/gimple.texi                           |   8 +-
 gcc/doc/gty.texi                              |   8 +-
 gcc/doc/invoke.texi                           |   6 +-
 gcc/doc/loop.texi                             |   2 +-
 gcc/doc/lto.texi                              |  40 ++--
 gcc/doc/match-and-simplify.texi               |   2 +-
 gcc/doc/md.texi                               |   6 +-
 gcc/doc/optinfo.texi                          |   4 +-
 gcc/doc/options.texi                          |   2 +-
 gcc/doc/passes.texi                           | 288 +++++++++++++-------------
 gcc/doc/plugins.texi                          |   4 +-
 gcc/doc/rtl.texi                              |  10 +-
 gcc/doc/sourcebuild.texi                      |   6 +-
 gcc/doc/tm.texi                               |  46 ++--
 gcc/doc/tm.texi.in                            |  28 +--
 gcc/doc/tree-ssa.texi                         |   6 +-
 gcc/dojump.cc                                 |   2 +-
 gcc/dojump.h                                  |   2 +-
 gcc/dumpfile.cc                               |  34 +--
 gcc/dumpfile.h                                |  18 +-
 gcc/dwarf2asm.cc                              |   2 +-
 gcc/dwarf2ctf.h                               |   4 +-
 gcc/dwarf2out.cc                              |  24 +--
 gcc/dwarf2out.h                               |   8 +-
 gcc/emit-rtl.cc                               |   6 +-
 gcc/emit-rtl.h                                |   6 +-
 gcc/errors.cc                                 |   8 +-
 gcc/et-forest.cc                              |   2 +-
 gcc/except.cc                                 |  18 +-
 gcc/explow.cc                                 |   4 +-
 gcc/explow.h                                  |   2 +-
 gcc/expmed.h                                  |   2 +-
 gcc/expr.cc                                   |  10 +-
 gcc/file-prefix-map.cc                        |   2 +-
 gcc/final.cc                                  |  10 +-
 gcc/fixed-value.h                             |   2 +-
 gcc/flag-types.h                              |  20 +-
 gcc/fold-const.cc                             |   8 +-
 gcc/fortran/check.cc                          |   4 +-
 gcc/fortran/class.cc                          |   4 +-
 gcc/fortran/config-lang.in                    |   2 +-
 gcc/fortran/cpp.cc                            |   4 +-
 gcc/fortran/data.cc                           |   8 +-
 gcc/fortran/decl.cc                           |  20 +-
 gcc/fortran/dependency.cc                     |   2 +-
 gcc/fortran/error.cc                          |   2 +-
 gcc/fortran/expr.cc                           |   8 +-
 gcc/fortran/f95-lang.cc                       |   2 +-
 gcc/fortran/gfc-internals.texi                |  12 +-
 gcc/fortran/gfortran.h                        |  86 ++++----
 gcc/fortran/gfortranspec.cc                   |   4 +-
 gcc/fortran/interface.cc                      |   2 +-
 gcc/fortran/intrinsic.cc                      |   4 +-
 gcc/fortran/iresolve.cc                       |   4 +-
 gcc/fortran/iso-c-binding.def                 |   2 +-
 gcc/fortran/lang-specs.h                      |   4 +-
 gcc/fortran/libgfortran.h                     |   2 +-
 gcc/fortran/match.cc                          |  16 +-
 gcc/fortran/match.h                           |  28 +--
 gcc/fortran/matchexp.cc                       |   2 +-
 gcc/fortran/mathbuiltins.def                  |   2 +-
 gcc/fortran/module.cc                         |   2 +-
 gcc/fortran/openmp.cc                         |   4 +-
 gcc/fortran/parse.cc                          |   6 +-
 gcc/fortran/resolve.cc                        |  22 +-
 gcc/fortran/simplify.cc                       |   2 +-
 gcc/fortran/symbol.cc                         |   4 +-
 gcc/fortran/target-memory.cc                  |   2 +-
 gcc/fortran/target-memory.h                   |   2 +-
 gcc/fortran/trans-array.cc                    |  12 +-
 gcc/fortran/trans-const.cc                    |   2 +-
 gcc/fortran/trans-decl.cc                     |  12 +-
 gcc/fortran/trans-expr.cc                     |  16 +-
 gcc/fortran/trans-intrinsic.cc                |   8 +-
 gcc/fortran/trans-io.cc                       |   2 +-
 gcc/fortran/trans-openmp.cc                   |   8 +-
 gcc/fortran/trans-stmt.cc                     |   4 +-
 gcc/fortran/trans-stmt.h                      |   8 +-
 gcc/fortran/trans-types.cc                    |   2 +-
 gcc/fortran/trans-types.h                     |   2 +-
 gcc/fortran/trans.cc                          |   4 +-
 gcc/fortran/trans.h                           |  14 +-
 gcc/fp-test.cc                                |   2 +-
 gcc/function.cc                               |   4 +-
 gcc/function.h                                |   2 +-
 gcc/fwprop.cc                                 |   2 +-
 gcc/gcc-main.cc                               |   4 +-
 gcc/gcc-rich-location.h                       |   2 +-
 gcc/gcc-symtab.h                              |   2 +-
 gcc/gcc.cc                                    |  16 +-
 gcc/gcc.h                                     |   6 +-
 gcc/gcov-dump.cc                              |   2 +-
 gcc/gcov.cc                                   |  10 +-
 gcc/gcse-common.cc                            |   2 +-
 gcc/gcse.cc                                   |   4 +-
 gcc/genattr-common.cc                         |   2 +-
 gcc/genattrtab.cc                             |   6 +-
 gcc/genautomata.cc                            |   2 +-
 gcc/genconditions.cc                          |   2 +-
 gcc/genconstants.cc                           |   2 +-
 gcc/genemit.cc                                |   4 +-
 gcc/generic-match-head.cc                     |   2 +-
 gcc/genextract.cc                             |   2 +-
 gcc/gengenrtl.cc                              |   2 +-
 gcc/gengtype-parse.cc                         |   2 +-
 gcc/gengtype-state.cc                         |   8 +-
 gcc/gengtype.cc                               |  48 ++---
 gcc/gengtype.h                                |   8 +-
 gcc/genmatch.cc                               |   4 +-
 gcc/genmddeps.cc                              |   2 +-
 gcc/genmodes.cc                               |   4 +-
 gcc/genpeep.cc                                |   2 +-
 gcc/genpreds.cc                               |   4 +-
 gcc/genrecog.cc                               |  18 +-
 gcc/gensupport.cc                             |   8 +-
 gcc/gensupport.h                              |  12 +-
 gcc/ggc-internal.h                            |   2 +-
 gcc/gimple-fold.cc                            |   6 +-
 gcc/gimple-fold.h                             |   2 +-
 gcc/gimple-low.cc                             |   2 +-
 gcc/gimple-match-head.cc                      |   4 +-
 gcc/gimple-pretty-print.h                     |   2 +-
 gcc/gimple-ssa-sprintf.cc                     |   4 +-
 gcc/gimple-streamer.h                         |   4 +-
 gcc/gimple.h                                  |   4 +-
 gcc/gimplify.cc                               |  12 +-
 gcc/go/config-lang.in                         |   2 +-
 gcc/go/go-backend.cc                          |   2 +-
 gcc/go/go-lang.cc                             |   2 +-
 gcc/go/gospec.cc                              |   2 +-
 gcc/go/lang-specs.h                           |   2 +-
 gcc/graphite-isl-ast-to-gimple.cc             |   2 +-
 gcc/haifa-sched.cc                            |  20 +-
 gcc/ifcvt.cc                                  |   4 +-
 gcc/inchash.h                                 |   2 +-
 gcc/incpath.cc                                |   2 +-
 gcc/input.cc                                  |  10 +-
 gcc/input.h                                   |   2 +-
 gcc/internal-fn.cc                            |   4 +-
 gcc/ipa-cp.cc                                 |   6 +-
 gcc/ipa-fnsummary.cc                          |   6 +-
 gcc/ipa-fnsummary.h                           |   6 +-
 gcc/ipa-free-lang-data.cc                     |   4 +-
 gcc/ipa-inline.cc                             |   4 +-
 gcc/ipa-inline.h                              |   6 +-
 gcc/ipa-modref.cc                             |   8 +-
 gcc/ipa-param-manipulation.cc                 |   4 +-
 gcc/ipa-prop.cc                               |   2 +-
 gcc/ipa-prop.h                                |   8 +-
 gcc/ipa-reference.cc                          |   2 +-
 gcc/ipa-reference.h                           |   2 +-
 gcc/ipa-split.cc                              |   2 +-
 gcc/ipa-sra.cc                                |   2 +-
 gcc/ipa-utils.h                               |   8 +-
 gcc/ira-build.cc                              |   6 +-
 gcc/ira-color.cc                              |   4 +-
 gcc/ira-conflicts.cc                          |   2 +-
 gcc/ira-int.h                                 |  20 +-
 gcc/ira-lives.cc                              |   2 +-
 gcc/ira.cc                                    |  32 +--
 gcc/ira.h                                     |   4 +-
 gcc/jit/config-lang.in                        |   2 +-
 gcc/jit/docs/_build/texinfo/libgccjit.texi    |  18 +-
 gcc/jit/docs/internals/index.rst              |  12 +-
 gcc/jit/jit-builtins.cc                       |   4 +-
 gcc/jit/jit-playback.cc                       |  68 +++---
 gcc/jit/jit-recording.cc                      |   2 +-
 gcc/jit/jit-recording.h                       |   2 +-
 gcc/jit/libgccjit.cc                          | 200 +++++++++---------
 gcc/jit/notes.txt                             |   6 +-
 gcc/langhooks.cc                              |   2 +-
 gcc/langhooks.h                               |  12 +-
 gcc/libfuncs.h                                |   2 +-
 gcc/loop-doloop.cc                            |   2 +-
 gcc/loop-init.cc                              |   2 +-
 gcc/loop-invariant.cc                         |   2 +-
 gcc/lower-subreg.h                            |   2 +-
 gcc/lra-constraints.cc                        |   2 +-
 gcc/lra-int.h                                 |  24 +--
 gcc/lra-spills.cc                             |   2 +-
 gcc/lra.cc                                    |   2 +-
 gcc/lto-compress.h                            |   2 +-
 gcc/lto-streamer-out.cc                       |   6 +-
 gcc/lto-streamer.h                            |  22 +-
 gcc/lto-wrapper.cc                            |   2 +-
 gcc/lto/config-lang.in                        |   2 +-
 gcc/lto/lang-specs.h                          |   2 +-
 gcc/lto/lto-common.cc                         |   2 +-
 gcc/lto/lto-common.h                          |   2 +-
 gcc/lto/lto-dump.cc                           |   2 +-
 gcc/lto/lto-lang.cc                           |   6 +-
 gcc/lto/lto.cc                                |   2 +-
 gcc/lto/lto.h                                 |   4 +-
 gcc/machmode.def                              |   2 +-
 gcc/machmode.h                                |   4 +-
 gcc/main.cc                                   |   2 +-
 gcc/objc/Make-lang.in                         |   2 +-
 gcc/objc/config-lang.in                       |   2 +-
 gcc/objc/lang-specs.h                         |   2 +-
 gcc/objc/objc-act.cc                          |  12 +-
 gcc/objc/objc-act.h                           |   4 +-
 gcc/objc/objc-gnu-runtime-abi-01.cc           |   2 +-
 gcc/objc/objc-lang.cc                         |   2 +-
 gcc/objc/objc-map.cc                          |   2 +-
 gcc/objc/objc-next-runtime-abi-01.cc          |   4 +-
 gcc/objc/objc-runtime-shared-support.cc       |   2 +-
 gcc/objc/objc-runtime-shared-support.h        |   2 +-
 gcc/objcp/Make-lang.in                        |  16 +-
 gcc/objcp/config-lang.in                      |  16 +-
 gcc/objcp/lang-specs.h                        |   2 +-
 gcc/objcp/objcp-decl.cc                       |   2 +-
 gcc/objcp/objcp-lang.cc                       |   2 +-
 gcc/omp-builtins.def                          |   4 +-
 gcc/omp-expand.cc                             |   4 +-
 gcc/omp-low.cc                                |   6 +-
 gcc/omp-oacc-neuter-broadcast.cc              |  12 +-
 gcc/omp-offload.cc                            |   6 +-
 gcc/optabs-query.cc                           |   2 +-
 gcc/optc-gen.awk                              |   2 +-
 gcc/optc-save-gen.awk                         |   2 +-
 gcc/optinfo-emit-json.cc                      |   4 +-
 gcc/opts-common.cc                            |   2 +-
 gcc/output.h                                  |  16 +-
 gcc/pass_manager.h                            |   2 +-
 gcc/plugin.cc                                 |   2 +-
 gcc/plugin.def                                |   2 +-
 gcc/plugin.h                                  |   2 +-
 gcc/po/EXCLUDES                               |  44 ++--
 gcc/pointer-query.cc                          |   2 +-
 gcc/postreload-gcse.cc                        |   2 +-
 gcc/predict.h                                 |   4 +-
 gcc/prefix.h                                  |   2 +-
 gcc/profile.h                                 |   2 +-
 gcc/read-md.cc                                |   2 +-
 gcc/read-md.h                                 |  10 +-
 gcc/read-rtl-function.cc                      |   8 +-
 gcc/read-rtl.cc                               |   2 +-
 gcc/real.cc                                   |   2 +-
 gcc/real.h                                    |   8 +-
 gcc/recog.cc                                  |  10 +-
 gcc/recog.h                                   |   8 +-
 gcc/reg-notes.def                             |   2 +-
 gcc/reg-stack.cc                              |   2 +-
 gcc/regs.h                                    |   2 +-
 gcc/regset.h                                  |   2 +-
 gcc/reload.cc                                 |  16 +-
 gcc/reload.h                                  |   8 +-
 gcc/reload1.cc                                |   4 +-
 gcc/reorg.cc                                  |  12 +-
 gcc/rtl.def                                   |  12 +-
 gcc/rtl.h                                     | 146 ++++++-------
 gcc/rtlanal.cc                                |  10 +-
 gcc/rtlanal.h                                 |   4 +-
 gcc/run-rtl-passes.cc                         |   4 +-
 gcc/sanitizer.def                             |   6 +-
 gcc/sched-deps.cc                             |   2 +-
 gcc/sched-ebb.cc                              |   6 +-
 gcc/sched-int.h                               |  28 +--
 gcc/sched-rgn.cc                              |   2 +-
 gcc/sel-sched-dump.cc                         |   2 +-
 gcc/sel-sched-dump.h                          |   2 +-
 gcc/sel-sched-ir.cc                           |  16 +-
 gcc/sel-sched-ir.h                            |   8 +-
 gcc/sel-sched.cc                              |  20 +-
 gcc/selftest-run-tests.cc                     |   4 +-
 gcc/shrink-wrap.cc                            |   2 +-
 gcc/shrink-wrap.h                             |   2 +-
 gcc/simplify-rtx.cc                           |   8 +-
 gcc/spellcheck-tree.h                         |   2 +-
 gcc/spellcheck.h                              |   2 +-
 gcc/statistics.h                              |   2 +-
 gcc/stmt.cc                                   |   4 +-
 gcc/stmt.h                                    |   2 +-
 gcc/stor-layout.h                             |   2 +-
 gcc/streamer-hooks.h                          |   2 +-
 gcc/stringpool.h                              |   2 +-
 gcc/symtab.cc                                 |   2 +-
 gcc/target.def                                |  24 +--
 gcc/target.h                                  |   6 +-
 gcc/targhooks.cc                              |   2 +-
 gcc/timevar.def                               |   2 +-
 gcc/timevar.h                                 |   2 +-
 gcc/toplev.h                                  |  10 +-
 gcc/trans-mem.cc                              |   4 +-
 gcc/tree-call-cdce.cc                         |   2 +-
 gcc/tree-cfg.cc                               |   8 +-
 gcc/tree-cfgcleanup.h                         |   2 +-
 gcc/tree-complex.cc                           |   4 +-
 gcc/tree-core.h                               |   6 +-
 gcc/tree-eh.cc                                |   2 +-
 gcc/tree-if-conv.cc                           |   2 +-
 gcc/tree-inline.cc                            |   2 +-
 gcc/tree-inline.h                             |   2 +-
 gcc/tree-nested.cc                            |   4 +-
 gcc/tree-object-size.h                        |   2 +-
 gcc/tree-outof-ssa.cc                         |   2 +-
 gcc/tree-parloops.cc                          |   2 +-
 gcc/tree-pretty-print.cc                      |   6 +-
 gcc/tree-profile.cc                           |   4 +-
 gcc/tree-sra.cc                               |   2 +-
 gcc/tree-ssa-address.cc                       |   2 +-
 gcc/tree-ssa-alias.cc                         |   2 +-
 gcc/tree-ssa-alias.h                          |   4 +-
 gcc/tree-ssa-ccp.cc                           |   2 +-
 gcc/tree-ssa-coalesce.h                       |   2 +-
 gcc/tree-ssa-live.cc                          |   2 +-
 gcc/tree-ssa-loop-manip.cc                    |   2 +-
 gcc/tree-ssa-loop-unswitch.cc                 |   2 +-
 gcc/tree-ssa-math-opts.cc                     |   2 +-
 gcc/tree-ssa-operands.cc                      |   2 +-
 gcc/tree-ssa-pre.cc                           |   4 +-
 gcc/tree-ssa-reassoc.cc                       |   4 +-
 gcc/tree-ssa-sccvn.cc                         |   2 +-
 gcc/tree-ssa-sccvn.h                          |   2 +-
 gcc/tree-ssa-scopedtables.cc                  |   4 +-
 gcc/tree-ssa-strlen.cc                        |   2 +-
 gcc/tree-ssa-strlen.h                         |   2 +-
 gcc/tree-ssa-tail-merge.cc                    |   2 +-
 gcc/tree-ssa-ter.h                            |   2 +-
 gcc/tree-ssa-threadupdate.h                   |   2 +-
 gcc/tree-streamer-in.cc                       |   2 +-
 gcc/tree-streamer-out.cc                      |   4 +-
 gcc/tree-streamer.h                           |   6 +-
 gcc/tree-vect-patterns.cc                     |   4 +-
 gcc/tree-vect-stmts.cc                        |   2 +-
 gcc/tree-vectorizer.cc                        |  20 +-
 gcc/tree-vectorizer.h                         |  20 +-
 gcc/tree.cc                                   |   6 +-
 gcc/tree.def                                  |   2 +-
 gcc/tree.h                                    |  10 +-
 gcc/value-prof.cc                             |   4 +-
 gcc/value-prof.h                              |   4 +-
 gcc/value-range.cc                            |   2 +-
 gcc/value-range.h                             |   2 +-
 gcc/var-tracking.cc                           |   2 +-
 gcc/varasm.cc                                 |  10 +-
 gcc/vec.h                                     |   2 +-
 gcc/vmsdbgout.cc                              |   2 +-
 gcc/vtable-verify.cc                          |   2 +-
 gcc/vtable-verify.h                           |   2 +-
 gcc/xcoffout.cc                               |   4 +-
 gcc/xcoffout.h                                |   8 +-
 790 files changed, 2631 insertions(+), 2631 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index c5aeb1af174..7dbda5fc40e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -189,7 +189,7 @@ scheduler (+ haifa)	Jeff Law		<jeffreyalaw@gmail.com>
 scheduler (+ haifa)	Vladimir Makarov	<vmakarov@redhat.com>
 modulo-scheduler	Roman Zhuykov		<zhroma@ispras.ru>
 reorg			Jeff Law		<jeffreyalaw@gmail.com>
-caller-save.c		Jeff Law		<jeffreyalaw@gmail.com>
+caller-save.cc		Jeff Law		<jeffreyalaw@gmail.com>
 callgraph		Jan Hubicka		<hubicka@ucw.cz>
 debugging code		Jim Wilson		<wilson@tuliptree.org>
 dwarf debugging code	Jason Merrill		<jason@redhat.com>
@@ -203,9 +203,9 @@ fixincludes		Bruce Korb		<bkorb@gnu.org>
 *gimpl*			Jakub Jelinek		<jakub@redhat.com>
 *gimpl*			Aldy Hernandez		<aldyh@redhat.com>
 *gimpl*			Jason Merrill		<jason@redhat.com>
-gcse.c			Jeff Law		<jeffreyalaw@gmail.com>
+gcse.cc			Jeff Law		<jeffreyalaw@gmail.com>
 global opt framework	Jeff Law		<jeffreyalaw@gmail.com>
-jump.c			David S. Miller		<davem@redhat.com>
+jump.cc			David S. Miller		<davem@redhat.com>
 web pages		Gerald Pfeifer		<gerald@pfeifer.com>
 config.sub/config.guess	Ben Elliston		<config-patches@gnu.org>
 i18n			Philipp Thomas		<pth@suse.de>
@@ -285,10 +285,10 @@ Fortran			Janus Weil		<janus@gcc.gnu.org>
 Graphite		Tobias Grosser		<grosser@fim.uni-passau.de>
 Graphite		Sebastian Pop		<sebpop@gmail.com>
 libcpp			Tom Tromey		<tromey@redhat.com>
-libsanitizer, asan.c	Jakub Jelinek		<jakub@redhat.com>
-libsanitizer, asan.c	Dodji Seketeli		<dodji@redhat.com>
-libsanitizer, asan.c	Kostya Serebryany	<kcc@google.com>
-libsanitizer, asan.c	Dmitry Vyukov		<dvyukov@google.com>
+libsanitizer, asan.cc	Jakub Jelinek		<jakub@redhat.com>
+libsanitizer, asan.cc	Dodji Seketeli		<dodji@redhat.com>
+libsanitizer, asan.cc	Kostya Serebryany	<kcc@google.com>
+libsanitizer, asan.cc	Dmitry Vyukov		<dvyukov@google.com>
 loop optimizer		Zdenek Dvorak		<ook@ucw.cz>
 LTO			Richard Biener		<rguenther@suse.de>
 LTO plugin		Cary Coutant		<ccoutant@gmail.com>
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 5b82dadedb3..43557c30eec 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -39,17 +39,17 @@ def skip_warning(filename, message):
                  '-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
                  '-Wformat-security', '-Wundefined-internal',
                  '-Wunknown-warning-option', '-Wc++20-extensions'],
-            'insn-modes.c': ['-Wshift-count-overflow'],
-            'insn-emit.c': ['-Wtautological-compare'],
-            'insn-attrtab.c': ['-Wparentheses-equality'],
-            'gimple-match.c': ['-Wunused-', '-Wtautological-compare'],
-            'generic-match.c': ['-Wunused-', '-Wtautological-compare'],
+            'insn-modes.cc': ['-Wshift-count-overflow'],
+            'insn-emit.cc': ['-Wtautological-compare'],
+            'insn-attrtab.cc': ['-Wparentheses-equality'],
+            'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
+            'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
             'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
                         '-Wtautological-overlap-compare'],
             'sse.md': ['-Wparentheses-equality', '-Wtautological-compare'],
             'mmx.md': ['-Wtautological-compare'],
-            'genautomata.c': ['-Wstring-plus-int'],
-            'fold-const-call.c': ['-Wreturn-type'],
+            'genautomata.cc': ['-Wstring-plus-int'],
+            'fold-const-call.cc': ['-Wreturn-type'],
             'gfortran.texi': [''],
             'libtool': ['']
     }
diff --git a/contrib/gcc_update b/contrib/gcc_update
index ce472545e25..1cf15f9b3c2 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -90,8 +90,8 @@ gcc/config/m68k/m68k-tables.opt: gcc/config/m68k/m68k-devices.def gcc/config/m68
 gcc/config/mips/mips-tables.opt: gcc/config/mips/mips-cpus.def gcc/config/mips/genopt.sh
 gcc/config/rs6000/rs6000-tables.opt: gcc/config/rs6000/rs6000-cpus.def gcc/config/rs6000/genopt.sh
 gcc/config/rs6000/fusion.md: gcc/config/rs6000/genfusion.pl
-gcc/config/tilegx/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
-gcc/config/tilepro/mul-tables.c: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilegx/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
+gcc/config/tilepro/mul-tables.cc: gcc/config/tilepro/gen-mul-tables.cc
 # And then, language-specific files
 gcc/cp/cfns.h: gcc/cp/cfns.gperf
 # testsuite
@@ -239,7 +239,7 @@ apply_patch () {
 }
 
 # Check whether this indeed looks like a local tree.
-if [ ! -f gcc/reload.c ]; then
+if [ ! -f gcc/reload.cc ]; then
     echo "This does not seem to be a GCC tree!"
     exit
 fi
diff --git a/contrib/header-tools/README b/contrib/header-tools/README
index 592af3ab60d..f4eee329b33 100644
--- a/contrib/header-tools/README
+++ b/contrib/header-tools/README
@@ -14,7 +14,7 @@ ie.:     tool -lfilename.h  target.h
 containing coretypes.h.  Typically that is in gcc/gcc from a source checkout.
 For these tools to work on files not in this directory, their path needs to be
 specified on the command line.
-ie.:     tool c/c-decl.c  lto/lto.c
+ie.:     tool c/c-decl.cc  lto/lto.cc
 
 - options can be intermixed with filenames anywhere on the command line
 ie.   tool ssa.h rtl.h -a   is equivalent to 
@@ -39,7 +39,7 @@ gcc-order-headers
   Any files which are changed are output, and the original is saved with a
   .bak extention.
 
-  ex.:     gcc-order-headers tree-ssa.c c/c-decl.c
+  ex.:     gcc-order-headers tree-ssa.cc c/c-decl.cc
 
   -s will list all of the known headers in their canonical order. It does not
   show which of those headers include other headers, just the final canonical
@@ -67,8 +67,8 @@ show-headers
 
   This tool must be run in the core gcc source directory.
 
-  ex.: show-headers -sansidecl.h tree-ssa.c
-	tree-ssa.c
+  ex.: show-headers -sansidecl.h tree-ssa.cc
+	tree-ssa.cc
 	  config.h
 	    auto-host.h
 	    ansidecl.h  (1)               <<-------
@@ -124,13 +124,13 @@ included-by
      check rather than performing the much slower find command.
 
   ex: included-by tree-vectorizer.h
-	config/aarch64/aarch64.c
-	config/i386/i386.c
-	config/rs6000/rs6000.c
-	tree-loop-distribution.c
-	tree-parloops.c
-	tree-ssa-loop-ivopts.c
-	tree-ssa-loop.c
+	config/aarch64/aarch64.cc
+	config/i386/i386.cc
+	config/rs6000/rs6000.cc
+	tree-loop-distribution.cc
+	tree-parloops.cc
+	tree-ssa-loop-ivopts.cc
+	tree-ssa-loop.cc
 
 
 
@@ -219,8 +219,8 @@ reduce-headers
   reduce-headers -b../../build -t../../targets -falias.h -fexpr.h tree*.c  (1)
        #  This will attempt to remove only alias.h and expr.h from tree*.c
 
-  reduce-headers -b../../build -t../../targets tree-ssa-live.c
-       #  This will attempt to remove all header files from tree-ssa-live.c
+  reduce-headers -b../../build -t../../targets tree-ssa-live.cc
+       #  This will attempt to remove all header files from tree-ssa-live.cc
   
 
   the tool will generate a number of log files:
@@ -240,14 +240,14 @@ reduce-headers
     $header.h.log: The same log is put into the relevant header log as well.
 
 
-a sample output from ira.c.log:
+a sample output from ira.cc.log:
 
 Compilation failed:
  for shrink-wrap.h:
 
  ============================================
- /gcc/2015-09-09/gcc/gcc/ira.c: In function ‘bool split_live_ranges_for_shrink_wrap()’:
- /gcc/2015-09-09/gcc/gcc/ira.c:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
+ /gcc/2015-09-09/gcc/gcc/ira.cc: In function ‘bool split_live_ranges_for_shrink_wrap()’:
+ /gcc/2015-09-09/gcc/gcc/ira.cc:4839:8: error: ‘SHRINK_WRAPPING_ENABLED’ was not declared in this scope
     if (!SHRINK_WRAPPING_ENABLED)
             ^
 	    make: *** [ira.o] Error 1
@@ -280,4 +280,4 @@ graph-include-web
   useful for finding cycles and redundancies, or simply to see what a single
   file looks like.
 
-  ex.: graph-include-web tree.c
+  ex.: graph-include-web tree.cc
diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc
index 8e8500e2389..a7821c42603 100644
--- a/contrib/paranoia.cc
+++ b/contrib/paranoia.cc
@@ -185,7 +185,7 @@ static int verbose_index = 0;
 
 /* ====================================================================== */
 /* The implementation of the abstract floating point class based on gcc's
-   real.c.  I.e. the object of this exercise.  Templated so that we can
+   real.cc.  I.e. the object of this exercise.  Templated so that we can
    all fp sizes.  */
 
 class real_c_float
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 37e35dcf9a8..e13bf66b040 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -889,7 +889,7 @@ PATCHLEVEL_c := \
   $(shell echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/')
 
 
-# For use in version.c - double quoted strings, with appropriate
+# For use in version.cc - double quoted strings, with appropriate
 # surrounding punctuation and spaces, and with the datestamp and
 # development phase collapsed to the empty string in release mode
 # (i.e. if DEVPHASE_c is empty and PATCHLEVEL_c is 0).  The space
@@ -1771,12 +1771,12 @@ TREECHECKING = @TREECHECKING@
 FULL_DRIVER_NAME=$(target_noncanonical)-gcc-$(version)$(exeext)
 
 MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
- insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
- insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
- insn-latencytab.c insn-opinit.c insn-opinit.h insn-preds.c insn-constants.h \
- tm-preds.h tm-constrs.h checksum-options gimple-match.c generic-match.c \
- tree-check.h min-insn-modes.c insn-modes.c insn-modes.h insn-modes-inline.h \
- genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
+ insn-output.cc insn-recog.cc insn-emit.cc insn-extract.cc insn-peep.cc \
+ insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+ insn-latencytab.cc insn-opinit.cc insn-opinit.h insn-preds.cc insn-constants.h \
+ tm-preds.h tm-constrs.h checksum-options gimple-match.cc generic-match.cc \
+ tree-check.h min-insn-modes.cc insn-modes.cc insn-modes.h insn-modes-inline.h \
+ genrtl.h gt-*.h gtype-*.h gtype-desc.cc gtyp-input.list \
  case-cfn-macros.h cfn-operators.pd \
  xgcc$(exeext) cpp$(exeext) $(FULL_DRIVER_NAME) \
  $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
@@ -2214,7 +2214,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
 
 srcextra: gcc.srcextra lang.srcextra
 
-gcc.srcextra: gengtype-lex.c
+gcc.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 
 AR_OBJS = file-find.o
@@ -2246,10 +2246,10 @@ CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \
 
 # ??? the implicit rules dont trigger if the source file has a different name
 # so copy instead
-gcc-ranlib.c: gcc-ar.c
+gcc-ranlib.cc: gcc-ar.cc
 	cp $^ $@
 
-gcc-nm.c: gcc-ar.c
+gcc-nm.cc: gcc-ar.cc
 	cp $^ $@
 
 COLLECT2_OBJS = collect2.o collect2-aix.o vec.o ggc-none.o \
@@ -2277,7 +2277,7 @@ CFLAGS-c-family/c-opts.o += @TARGET_SYSTEM_ROOT_DEFINE@
 CFLAGS-c-family/c-pch.o += -DHOST_MACHINE=\"$(host)\" \
 	-DTARGET_MACHINE=\"$(target)\"
 
-default-c.o: config/default-c.c
+default-c.o: config/default-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2288,7 +2288,7 @@ prefix.o: $(BASEVER)
 
 # Files used by the D language front end.
 
-default-d.o: config/default-d.c
+default-d.o: config/default-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
@@ -2329,13 +2329,13 @@ s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
 	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
 	$(STAMP) s-options
 
-options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-gen.awk \
 	       -v header_name="config.h system.h coretypes.h options.h tm.h" < $< > $@
 
-options-save.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
+options-save.cc: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
     $(srcdir)/optc-save-gen.awk
 	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opt-read.awk \
 	       -f $(srcdir)/optc-save-gen.awk \
@@ -2350,7 +2350,7 @@ s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opt-read.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
 	$(STAMP) $@
 
-dumpvers: dumpvers.c
+dumpvers: dumpvers.cc
 
 # lto-compress.o needs $(ZLIBINC) added to the include flags.
 CFLAGS-lto-compress.o += $(ZLIBINC) $(ZSTD_INC)
@@ -2386,9 +2386,9 @@ $(common_out_object_file): $(common_out_file)
 # and compile them.
 
 .PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-  insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-  insn-attr.h insn-attr-common.h insn-attrtab.c insn-dfatab.c \
-  insn-latencytab.c insn-preds.c gimple-match.c generic-match.c \
+  insn-emit.cc insn-recog.cc insn-extract.cc insn-output.cc insn-peep.cc \
+  insn-attr.h insn-attr-common.h insn-attrtab.cc insn-dfatab.cc \
+  insn-latencytab.cc insn-preds.cc gimple-match.cc generic-match.cc \
   insn-target-def.h
 
 # Dependencies for the md file.  The first time through, we just assume
@@ -2412,13 +2412,13 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext)
 simple_rtl_generated_h	= insn-attr.h insn-attr-common.h insn-codes.h \
 			  insn-config.h insn-flags.h insn-target-def.h
 
-simple_rtl_generated_c	= insn-automata.c insn-emit.c \
-			  insn-extract.c insn-output.c \
-			  insn-peep.c insn-recog.c
+simple_rtl_generated_c	= insn-automata.cc insn-emit.cc \
+			  insn-extract.cc insn-output.cc \
+			  insn-peep.cc insn-recog.cc
 
 simple_generated_h	= $(simple_rtl_generated_h) insn-constants.h
 
-simple_generated_c	= $(simple_rtl_generated_c) insn-enums.c
+simple_generated_c	= $(simple_rtl_generated_c) insn-enums.cc
 
 $(simple_generated_h:insn-%.h=s-%) \
 $(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS)
@@ -2450,30 +2450,30 @@ s-check : build/gencheck$(build_exeext)
 	$(STAMP) s-check
 
 # genattrtab produces three files: tmp-{attrtab.c,dfatab.c,latencytab.c}
-insn-attrtab.c insn-dfatab.c insn-latencytab.c: s-attrtab ; @true
+insn-attrtab.cc insn-dfatab.cc insn-latencytab.cc: s-attrtab ; @true
 s-attrtab : $(MD_DEPS) build/genattrtab$(build_exeext) \
   insn-conditions.md
 	$(RUN_GEN) build/genattrtab$(build_exeext) $(md_file) insn-conditions.md \
 		-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.c    insn-attrtab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.c     insn-dfatab.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.c insn-latencytab.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-attrtab.cc    insn-attrtab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-dfatab.cc     insn-dfatab.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-latencytab.cc insn-latencytab.cc
 	$(STAMP) s-attrtab
 
 # genopinit produces two files.
-insn-opinit.c insn-opinit.h: s-opinit ; @true
+insn-opinit.cc insn-opinit.h: s-opinit ; @true
 s-opinit: $(MD_DEPS) build/genopinit$(build_exeext) insn-conditions.md
 	$(RUN_GEN) build/genopinit$(build_exeext) $(md_file) \
 	  insn-conditions.md -htmp-opinit.h -ctmp-opinit.c
 	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.h insn-opinit.h
-	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.c insn-opinit.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-opinit.cc insn-opinit.cc
 	$(STAMP) s-opinit
 
 # gencondmd doesn't use the standard naming convention.
-build/gencondmd.c: s-conditions; @true
+build/gencondmd.cc: s-conditions; @true
 s-conditions: $(MD_DEPS) build/genconditions$(build_exeext)
 	$(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.cc
 	$(STAMP) s-conditions
 
 insn-conditions.md: s-condmd; @true
@@ -2493,14 +2493,14 @@ s-genrtl-h: build/gengenrtl$(build_exeext)
 	$(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h
 	$(STAMP) s-genrtl-h
 
-insn-modes.c: s-modes; @true
+insn-modes.cc: s-modes; @true
 insn-modes.h: s-modes-h; @true
 insn-modes-inline.h: s-modes-inline-h; @true
-min-insn-modes.c: s-modes-m; @true
+min-insn-modes.cc: s-modes-m; @true
 
 s-modes: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) > tmp-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-modes.c insn-modes.cc
 	$(STAMP) s-modes
 
 s-modes-h: build/genmodes$(build_exeext)
@@ -2516,10 +2516,10 @@ s-modes-inline-h: build/genmodes$(build_exeext)
 
 s-modes-m: build/genmodes$(build_exeext)
 	$(RUN_GEN) build/genmodes$(build_exeext) -m > tmp-min-modes.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.cc
 	$(STAMP) s-modes-m
 
-insn-preds.c: s-preds; @true
+insn-preds.cc: s-preds; @true
 tm-preds.h: s-preds-h; @true
 tm-constrs.h: s-constrs-h; @true
 
@@ -2529,7 +2529,7 @@ mddump: $(BUILD_RTL) $(MD_DEPS) build/genmddump$(build_exeext)
 
 s-preds: $(MD_DEPS) build/genpreds$(build_exeext)
 	$(RUN_GEN) build/genpreds$(build_exeext) $(md_file) > tmp-preds.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.c
+	$(SHELL) $(srcdir)/../move-if-change tmp-preds.c insn-preds.cc
 	$(STAMP) s-preds
 
 s-preds-h: $(MD_DEPS) build/genpreds$(build_exeext)
@@ -2631,25 +2631,25 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	  false; \
 	fi
 
-gimple-match.c: s-match gimple-match-head.c ; @true
-generic-match.c: s-match generic-match-head.c ; @true
+gimple-match.cc: s-match gimple-match-head.cc ; @true
+generic-match.cc: s-match generic-match-head.cc ; @true
 
 s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
 	$(RUN_GEN) build/genmatch$(build_exeext) --gimple $(srcdir)/match.pd \
-	    > tmp-gimple-match.c
+	    > tmp-gimple-match.cc
 	$(RUN_GEN) build/genmatch$(build_exeext) --generic $(srcdir)/match.pd \
-	    > tmp-generic-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.c \
-	    					gimple-match.c
-	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.c \
-	    					generic-match.c
+	    > tmp-generic-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-gimple-match.cc \
+	    					gimple-match.cc
+	$(SHELL) $(srcdir)/../move-if-change tmp-generic-match.cc \
+	    					generic-match.cc
 	$(STAMP) s-match
 
 GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(host_xm_file_list) \
   $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
   $(srcdir)/wide-int.h $(srcdir)/alias.h \
-  $(srcdir)/coverage.c  $(srcdir)/rtl.h \
+  $(srcdir)/coverage.cc  $(srcdir)/rtl.h \
   $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/tree-core.h \
   $(srcdir)/libfuncs.h $(SYMTAB_H) \
   $(srcdir)/real.h $(srcdir)/function.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
@@ -2659,70 +2659,70 @@ GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
   $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/ipa-ref.h $(srcdir)/cgraph.h \
   $(srcdir)/symtab-thunks.h $(srcdir)/symtab-thunks.cc \
   $(srcdir)/symtab-clones.h \
-  $(srcdir)/reload.h $(srcdir)/caller-save.c $(srcdir)/symtab.c \
-  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-utils.h \
-  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.c $(srcdir)/dbxout.c \
-  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.c \
+  $(srcdir)/reload.h $(srcdir)/caller-save.cc $(srcdir)/symtab.cc \
+  $(srcdir)/alias.cc $(srcdir)/bitmap.cc $(srcdir)/cselib.cc $(srcdir)/cgraph.cc \
+  $(srcdir)/ipa-prop.cc $(srcdir)/ipa-cp.cc $(srcdir)/ipa-utils.h \
+  $(srcdir)/ipa-param-manipulation.h $(srcdir)/ipa-sra.cc $(srcdir)/dbxout.cc \
+  $(srcdir)/ipa-modref.h $(srcdir)/ipa-modref.cc \
   $(srcdir)/ipa-modref-tree.h \
   $(srcdir)/signop.h \
-  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.c \
+  $(srcdir)/diagnostic-spec.h $(srcdir)/diagnostic-spec.cc \
   $(srcdir)/dwarf2out.h \
-  $(srcdir)/dwarf2asm.c \
-  $(srcdir)/dwarf2cfi.c \
-  $(srcdir)/dwarf2ctf.c \
-  $(srcdir)/dwarf2out.c \
+  $(srcdir)/dwarf2asm.cc \
+  $(srcdir)/dwarf2cfi.cc \
+  $(srcdir)/dwarf2ctf.cc \
+  $(srcdir)/dwarf2out.cc \
   $(srcdir)/ctfc.h \
-  $(srcdir)/ctfout.c \
-  $(srcdir)/btfout.c \
-  $(srcdir)/tree-vect-generic.c \
+  $(srcdir)/ctfout.cc \
+  $(srcdir)/btfout.cc \
+  $(srcdir)/tree-vect-generic.cc \
   $(srcdir)/gimple-isel.cc \
-  $(srcdir)/dojump.c $(srcdir)/emit-rtl.h \
-  $(srcdir)/emit-rtl.c $(srcdir)/except.h $(srcdir)/explow.c $(srcdir)/expr.c \
+  $(srcdir)/dojump.cc $(srcdir)/emit-rtl.h \
+  $(srcdir)/emit-rtl.cc $(srcdir)/except.h $(srcdir)/explow.cc $(srcdir)/expr.cc \
   $(srcdir)/expr.h \
-  $(srcdir)/function.c $(srcdir)/except.c \
-  $(srcdir)/ggc-tests.c \
-  $(srcdir)/gcse.c $(srcdir)/godump.c \
-  $(srcdir)/lists.c $(srcdir)/optabs-libfuncs.c \
-  $(srcdir)/profile.c $(srcdir)/mcf.c \
-  $(srcdir)/reg-stack.c $(srcdir)/cfgrtl.c \
-  $(srcdir)/stor-layout.c \
-  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
+  $(srcdir)/function.cc $(srcdir)/except.cc \
+  $(srcdir)/ggc-tests.cc \
+  $(srcdir)/gcse.cc $(srcdir)/godump.cc \
+  $(srcdir)/lists.cc $(srcdir)/optabs-libfuncs.cc \
+  $(srcdir)/profile.cc $(srcdir)/mcf.cc \
+  $(srcdir)/reg-stack.cc $(srcdir)/cfgrtl.cc \
+  $(srcdir)/stor-layout.cc \
+  $(srcdir)/stringpool.cc $(srcdir)/tree.cc $(srcdir)/varasm.cc \
   $(srcdir)/gimple.h \
   $(srcdir)/gimple-ssa.h \
-  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
-  $(srcdir)/tree-cfg.c $(srcdir)/tree-ssa-loop-ivopts.c \
-  $(srcdir)/tree-dfa.c \
-  $(srcdir)/tree-iterator.c $(srcdir)/gimple-expr.c \
+  $(srcdir)/tree-ssanames.cc $(srcdir)/tree-eh.cc $(srcdir)/tree-ssa-address.cc \
+  $(srcdir)/tree-cfg.cc $(srcdir)/tree-ssa-loop-ivopts.cc \
+  $(srcdir)/tree-dfa.cc \
+  $(srcdir)/tree-iterator.cc $(srcdir)/gimple-expr.cc \
   $(srcdir)/tree-chrec.h \
-  $(srcdir)/tree-scalar-evolution.c \
+  $(srcdir)/tree-scalar-evolution.cc \
   $(srcdir)/tree-ssa-operands.h \
-  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
+  $(srcdir)/tree-profile.cc $(srcdir)/tree-nested.cc \
   $(srcdir)/omp-offload.h \
-  $(srcdir)/omp-general.c \
-  $(srcdir)/omp-low.c \
-  $(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c \
-  $(srcdir)/cgraphclones.c \
-  $(srcdir)/tree-phinodes.c \
+  $(srcdir)/omp-general.cc \
+  $(srcdir)/omp-low.cc \
+  $(srcdir)/targhooks.cc $(out_file) $(srcdir)/passes.cc \
+  $(srcdir)/cgraphclones.cc \
+  $(srcdir)/tree-phinodes.cc \
   $(srcdir)/tree-ssa-alias.h \
   $(srcdir)/tree-ssanames.h \
   $(srcdir)/tree-vrp.h \
   $(srcdir)/value-range.h \
   $(srcdir)/ipa-prop.h \
-  $(srcdir)/trans-mem.c \
+  $(srcdir)/trans-mem.cc \
   $(srcdir)/lto-streamer.h \
   $(srcdir)/target-globals.h \
   $(srcdir)/ipa-predicate.h \
   $(srcdir)/ipa-fnsummary.h \
-  $(srcdir)/vtable-verify.c \
-  $(srcdir)/asan.c \
-  $(srcdir)/ubsan.c \
-  $(srcdir)/tsan.c \
-  $(srcdir)/sanopt.c \
-  $(srcdir)/sancov.c \
-  $(srcdir)/ipa-devirt.c \
+  $(srcdir)/vtable-verify.cc \
+  $(srcdir)/asan.cc \
+  $(srcdir)/ubsan.cc \
+  $(srcdir)/tsan.cc \
+  $(srcdir)/sanopt.cc \
+  $(srcdir)/sancov.cc \
+  $(srcdir)/ipa-devirt.cc \
   $(srcdir)/internal-fn.h \
-  $(srcdir)/calls.c \
+  $(srcdir)/calls.cc \
   $(srcdir)/omp-general.h \
   @all_gtfiles@
 
@@ -2745,7 +2745,7 @@ ALL_GTFILES_H := $(sort $(GTFILES_H) $(GTFILES_LANG_H))
 # write it out to a file (taking care not to do that in a way that
 # overflows a command line!) and then have gengtype read the file in.
 
-$(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gtype.state: s-gtype ; @true
+$(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h gtype.state: s-gtype ; @true
 
 ### Common flags to gengtype [e.g. -v or -B backupdir]
 GENGTYPE_FLAGS= 
@@ -2772,10 +2772,10 @@ generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
        $(simple_generated_h) specs.h \
        tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
        tm-preds.h tm-constrs.h \
-       $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h version.h \
+       $(ALL_GTFILES_H) gtype-desc.cc gtype-desc.h version.h \
        options.h target-hooks-def.h insn-opinit.h \
        common/common-target-hooks-def.h pass-instances.def \
-       gimple-match.c generic-match.c \
+       gimple-match.cc generic-match.cc \
        c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
        case-cfn-macros.h \
        cfn-operators.pd omp-device-properties.h
@@ -2789,77 +2789,77 @@ build/%.o :  # dependencies provided by explicit rule later
 
 # Header dependencies for the programs that generate source code.
 # These are library modules...
-build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) 		\
+build/errors.o : errors.cc $(BCONFIG_H) $(SYSTEM_H) errors.h
+build/gensupport.o: gensupport.cc $(BCONFIG_H) $(SYSTEM_H) 		\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h		\
   $(HASHTAB_H) $(READ_MD_H) $(GENSUPPORT_H) $(HASH_TABLE_H)
-build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
+build/ggc-none.o : ggc-none.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) 	\
   $(GGC_H)
-build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/min-insn-modes.o : min-insn-modes.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H)
-build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/print-rtl.o: print-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H)
-build/read-md.o: read-md.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-md.o: read-md.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) errors.h $(READ_MD_H)
-build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/read-rtl.o: read-rtl.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) $(READ_MD_H)		\
   $(GENSUPPORT_H)
-build/rtl.o: rtl.c $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
+build/rtl.o: rtl.cc $(BCONFIG_H) $(CORETYPES_H) $(GTM_H) $(SYSTEM_H)	\
   $(RTL_H) $(GGC_H) errors.h
-build/vec.o : vec.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
+build/vec.o : vec.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(VEC_H)	\
   $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H) $(HASH_TABLE_H)
-build/hash-table.o : hash-table.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/hash-table.o : hash-table.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(HASH_TABLE_H) $(GGC_H) toplev.h $(DIAGNOSTIC_CORE_H)
 build/sort.o : sort.cc $(BCONFIG_H) $(SYSTEM_H)
-build/inchash.o : inchash.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/inchash.o : inchash.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   $(HASHTAB_H) inchash.h
-build/gencondmd.o : build/gencondmd.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/gencondmd.o : build/gencondmd.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) $(GTM_H) insn-constants.h				\
   $(filter-out insn-flags.h, $(RTL_H) $(TM_P_H) $(FUNCTION_H) $(REGS_H) \
   $(RECOG_H) output.h $(FLAGS_H) $(RESOURCE_H) toplev.h $(DIAGNOSTIC_CORE_H) reload.h 	\
   $(EXCEPT_H) tm-constrs.h)
 # This pulls in tm-pred.h which contains inline functions wrapping up
 # predicates from the back-end so those functions must be discarded.
-# No big deal since gencondmd.c is a dummy file for non-GCC compilers.
+# No big deal since gencondmd.cc is a dummy file for non-GCC compilers.
 build/gencondmd.o : \
   BUILD_CFLAGS := $(filter-out -fkeep-inline-functions, $(BUILD_CFLAGS))
 
 # ...these are the programs themselves.
-build/genattr.o : genattr.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genattr.o : genattr.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattr-common.o : genattr-common.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genattr-common.o : genattr-common.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genattrtab.o : genattrtab.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(GGC_H)	\
   $(READ_MD_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)		\
+build/genautomata.o : genautomata.cc $(RTL_BASE_H) $(OBSTACK_H)		\
   $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(VEC_H)	\
   $(HASHTAB_H) $(GENSUPPORT_H) $(FNMATCH_H)
-build/gencheck.o : gencheck.c all-tree.def $(BCONFIG_H) $(GTM_H)	\
+build/gencheck.o : gencheck.cc all-tree.def $(BCONFIG_H) $(GTM_H)	\
 	$(SYSTEM_H) $(CORETYPES_H) tree.def c-family/c-common.def	\
 	$(lang_tree_files) gimple.def
-build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
-build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genchecksum.o : genchecksum.cc $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+build/gencodes.o : gencodes.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconditions.o : genconditions.c $(RTL_BASE_H) $(BCONFIG_H)	\
+build/genconditions.o : genconditions.cc $(RTL_BASE_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(HASHTAB_H)		\
   $(READ_MD_H) $(GENSUPPORT_H)
-build/genconfig.o : genconfig.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genconfig.o : genconfig.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
-build/genconstants.o : genconstants.c $(BCONFIG_H) $(SYSTEM_H)		\
+build/genconstants.o : genconstants.cc $(BCONFIG_H) $(SYSTEM_H)		\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genemit.o : genemit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genemit.o : genemit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) internal-fn.def
-build/genenums.o : genenums.c $(BCONFIG_H) $(SYSTEM_H)			\
+build/genenums.o : genenums.cc $(BCONFIG_H) $(SYSTEM_H)			\
   $(CORETYPES_H) errors.h $(READ_MD_H)
-build/genextract.o : genextract.c $(RTL_BASE_H) $(BCONFIG_H)		\
+build/genextract.o : genextract.cc $(RTL_BASE_H) $(BCONFIG_H)		\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genflags.o : genflags.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
+build/genflags.o : genflags.cc $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H)	\
   $(SYSTEM_H) $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/gentarget-def.o : gentarget-def.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gentarget-def.o : gentarget-def.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) $(RTL_BASE_H) errors.h $(READ_MD_H)		\
   $(GENSUPPORT_H) $(HASH_TABLE_H) target-insns.def
-build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
+build/gengenrtl.o : gengenrtl.cc $(BCONFIG_H) $(SYSTEM_H) rtl.def
 
 # The gengtype generator program is special: Two versions are built.
 # One is for the build machine, and one is for the host to allow
@@ -2872,21 +2872,21 @@ build/gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
 GENGTYPE_OBJS = gengtype.o gengtype-parse.o gengtype-state.o \
   gengtype-lex.o errors.o
 
-gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H)
+gengtype-lex.o build/gengtype-lex.o : gengtype-lex.cc gengtype.h $(SYSTEM_H)
 CFLAGS-gengtype-lex.o += -DHOST_GENERATOR_FILE
 build/gengtype-lex.o: $(BCONFIG_H)
 
-gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \
+gengtype-parse.o build/gengtype-parse.o : gengtype-parse.cc gengtype.h \
   $(SYSTEM_H)
 CFLAGS-gengtype-parse.o += -DHOST_GENERATOR_FILE
 build/gengtype-parse.o: $(BCONFIG_H)
 
-gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
+gengtype-state.o build/gengtype-state.o: gengtype-state.cc $(SYSTEM_H) \
   gengtype.h errors.h version.h $(HASHTAB_H) $(OBSTACK_H) \
   $(XREGEX_H)
 CFLAGS-gengtype-state.o += -DHOST_GENERATOR_FILE
 build/gengtype-state.o: $(BCONFIG_H)
-gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h 	\
+gengtype.o build/gengtype.o : gengtype.cc $(SYSTEM_H) gengtype.h 	\
   rtl.def insn-notes.def errors.h version.h     		\
   $(HASHTAB_H) $(OBSTACK_H) $(XREGEX_H)
 CFLAGS-gengtype.o += -DHOST_GENERATOR_FILE
@@ -2894,30 +2894,30 @@ build/gengtype.o: $(BCONFIG_H)
 
 CFLAGS-errors.o += -DHOST_GENERATOR_FILE
 
-build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
+build/genmddeps.o: genmddeps.cc $(BCONFIG_H) $(SYSTEM_H) $(CORETYPES_H)	\
   errors.h $(READ_MD_H)
-build/genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h		\
+build/genmodes.o : genmodes.cc $(BCONFIG_H) $(SYSTEM_H) errors.h		\
   $(HASHTAB_H) machmode.def $(extra_modes_file)
-build/genopinit.o : genopinit.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genopinit.o : genopinit.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) optabs.def
-build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genoutput.o : genoutput.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genpeep.o : genpeep.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpeep.o : genpeep.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) toplev.h		\
   $(DIAGNOSTIC_CORE_H)
-build/genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genpreds.o : genpreds.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) $(OBSTACK_H)
-build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genrecog.o : genrecog.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)		\
   $(HASH_TABLE_H) inchash.h
-build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF)		\
+build/genhooks.o : genhooks.cc $(TARGET_DEF) $(C_TARGET_DEF)		\
   $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
-build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
+build/genmddump.o : genmddump.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
-build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+build/genmatch.o : genmatch.cc $(BCONFIG_H) $(SYSTEM_H) \
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-map.h $(GGC_H) is-a.h \
   tree.def builtins.def internal-fn.def case-cfn-macros.h $(CPPLIB_H)
-build/gencfn-macros.o : gencfn-macros.c $(BCONFIG_H) $(SYSTEM_H)	\
+build/gencfn-macros.o : gencfn-macros.cc $(BCONFIG_H) $(SYSTEM_H)	\
   $(CORETYPES_H) errors.h $(HASH_TABLE_H) hash-set.h builtins.def	\
   internal-fn.def
 
@@ -3004,7 +3004,7 @@ s-omp-device-properties-h: @omp_device_property_deps@
 # Generated source files for gengtype.  Prepend inclusion of
 # config.h/bconfig.h because AIX requires _LARGE_FILES to be defined before
 # any system header is included.
-gengtype-lex.c : gengtype-lex.l
+gengtype-lex.cc : gengtype-lex.l
 	-$(FLEX) $(FLEXFLAGS) -o$@ $< && { \
 	  echo '#ifdef HOST_GENERATOR_FILE' > $@.tmp; \
 	  echo '#include "config.h"'       >> $@.tmp; \
@@ -3047,13 +3047,13 @@ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-# genversion.c is run on the build machine to generate version.h
+# genversion.cc is run on the build machine to generate version.h
 CFLAGS-build/genversion.o += -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
 	-DREVISION=$(REVISION_s) \
 	-DDEVPHASE=$(DEVPHASE_s) -DPKGVERSION=$(PKGVERSION_s) \
 	-DBUGURL=$(BUGURL_s)
 
-build/genversion.o: genversion.c $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
+build/genversion.o: genversion.cc $(BCONFIG_H) $(SYSTEM_H) $(srcdir)/DATESTAMP
 
 build/genversion$(build_exeext): build/genversion.o
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) \
@@ -3078,7 +3078,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
 		hash-table.o ggc-none.o\
 		$(LIBS) -o $@
 
-GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \
+GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.cc $(GCOV_IO_H) \
   $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \
   $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \
   $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H)
@@ -3513,7 +3513,7 @@ mostlyclean: lang.mostlyclean
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f specs.h options.c options.h options-save.c
+	-rm -f specs.h options.cc options.h options-save.cc
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
 	-rm -f */stamp-* */tmp-*
@@ -3547,7 +3547,7 @@ clean: mostlyclean lang.clean
 	-rm -f libgcc_s*
 	-rm -f libunwind*
 	-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-	-rm -f options.c options.h optionlist
+	-rm -f options.cc options.h optionlist
 	-rm -f cs-*
 	-rm -f doc/*.dvi
 	-rm -f doc/*.pdf
@@ -4313,7 +4313,7 @@ qmtest-gui: ${QMTEST_DIR}/context
 
 .PHONY: qmtest-g++
 
-# Run Paranoia on real.c.
+# Run Paranoia on real.cc.
 
 paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) $(TREE_H)
 	g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/gcc/ada/Make-generated.in b/gcc/ada/Make-generated.in
index 948fc508a56..6cdc6b4605e 100644
--- a/gcc/ada/Make-generated.in
+++ b/gcc/ada/Make-generated.in
@@ -53,7 +53,7 @@ ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada
 	touch ada/stamp-snames
 
 ada/sdefault.adb: ada/stamp-sdefault ; @true
-ada/stamp-sdefault : $(srcdir)/ada/version.c Makefile
+ada/stamp-sdefault : $(srcdir)/ada/version.cc Makefile
 	$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
 	$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
 	$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 68f187b1fe2..7ace1fb1048 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -172,7 +172,7 @@ extern "C" {
 
 #include "mingw32.h"
 
-/* Current code page and CCS encoding to use, set in initialize.c.  */
+/* Current code page and CCS encoding to use, set in initialize.cc.  */
 UINT __gnat_current_codepage;
 UINT __gnat_current_ccs_encoding;
 
diff --git a/gcc/ada/ctrl_c.c b/gcc/ada/ctrl_c.c
index ebb74ca6d75..d86486a90c3 100644
--- a/gcc/ada/ctrl_c.c
+++ b/gcc/ada/ctrl_c.c
@@ -61,7 +61,7 @@ void __gnat_uninstall_int_handler (void);
 void
 dummy_handler () {}
 
-/* Lives in init.c.  */
+/* Lives in init.cc.  */
 extern void (*__gnat_ctrl_c_handler) (void);
 #endif
 
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 53d0739470a..cf645df12f1 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -147,8 +147,8 @@ host_os=@host_os@
 target_cpu_default = @target_cpu_default@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
-#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
-#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
+#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.cc`
+#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.cc`
 
 # Directory where sources are, from where we are.
 VPATH = $(srcdir)/ada
@@ -222,7 +222,7 @@ endif
 all.indirect: Makefile ../gnat1$(exeext)
 
 # IN_GCC is meant to distinguish between code compiled into GCC itself, i.e.
-# for the host, and the rest.  But we also use it for the tools (link.c) and
+# for the host, and the rest.  But we also use it for the tools (link.cc) and
 # even break the host/target wall by using it for the library (targext.c).
 # autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross
 # compiler which does not use the native libraries and headers.
@@ -240,7 +240,7 @@ ALL_COMPILERFLAGS = $(ALL_CFLAGS)
 # This is where we get libiberty.a from.
 LIBIBERTY = ../../libiberty/libiberty.a
 
-# We need to link against libbacktrace because diagnostic.c in
+# We need to link against libbacktrace because diagnostic.cc in
 # libcommon.a uses it.
 LIBBACKTRACE = ../../libbacktrace/.libs/libbacktrace.a
 
@@ -303,7 +303,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 	$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
 # how to regenerate this file
-Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.c
+Makefile: ../config.status $(srcdir)/ada/gcc-interface/Makefile.in $(srcdir)/ada/Makefile.in $(srcdir)/ada/version.cc
 	cd ..; \
 	LANGUAGES="$(CONFIG_LANGUAGES)" \
 	CONFIG_HEADERS= \
@@ -903,44 +903,44 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
 # need to keep the frame pointer in tracebak.o to pop the stack properly on
 # some targets.
 
-tracebak.o  : tracebak.c
+tracebak.o  : tracebak.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
 	      $(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
 
-adadecode.o : adadecode.c adadecode.h
-aux-io.o  : aux-io.c
-argv.o    : argv.c
+adadecode.o : adadecode.cc adadecode.h
+aux-io.o  : aux-io.cc
+argv.o    : argv.cc
 cal.o     : cal.c
 deftarg.o : deftarg.c
 errno.o   : errno.c
-exit.o    : adaint.h exit.c
-expect.o  : expect.c
-final.o   : final.c
-rtfinal.o : rtfinal.c
-rtinit.o  : rtinit.c
-locales.o : locales.c
-mkdir.o   : mkdir.c
-socket.o  : socket.c gsocket.h
+exit.o    : adaint.h exit.cc
+expect.o  : expect.cc
+final.o   : final.cc
+rtfinal.o : rtfinal.cc
+rtinit.o  : rtinit.cc
+locales.o : locales.cc
+mkdir.o   : mkdir.cc
+socket.o  : socket.cc gsocket.h
 sysdep.o  : sysdep.c
-raise.o   : raise.c raise.h
-sigtramp-armdroid.o      : sigtramp-armdroid.c sigtramp.h
+raise.o   : raise.cc raise.h
+sigtramp-armdroid.o      : sigtramp-armdroid.cc sigtramp.h
 sigtramp-armvxworks.o    : sigtramp-armvxworks.c sigtramp.h
-sigtramp-ios.o           : sigtramp-ios.c sigtramp.h
-sigtramp-vxworks.o       : sigtramp-vxworks.c $(VX_SIGTRAMP_EXTRA_SRCS)
+sigtramp-ios.o           : sigtramp-ios.cc sigtramp.h
+sigtramp-vxworks.o       : sigtramp-vxworks.cc $(VX_SIGTRAMP_EXTRA_SRCS)
 sigtramp-vxworks-vxsim.o : sigtramp-vxworks-vxsim.c $(VX_SIGTRAMP_EXTRA_SRCS)
 terminals.o : terminals.c
-vx_stack_info.o : vx_stack_info.c
+vx_stack_info.o : vx_stack_info.cc
 
 raise-gcc.o : raise-gcc.c raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
 		$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-cio.o     : cio.c
+cio.o     : cio.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-init.o    : init.c adaint.h raise.h
+init.o    : init.cc adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -948,11 +948,11 @@ init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-initialize.o : initialize.c raise.h
+initialize.o : initialize.cc raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-link.o : link.c
+link.o : link.cc
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 		$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
 		$< $(OUTPUT_OPTION)
diff --git a/gcc/ada/gcc-interface/config-lang.in b/gcc/ada/gcc-interface/config-lang.in
index 8eacf7bb870..5f7297709cd 100644
--- a/gcc/ada/gcc-interface/config-lang.in
+++ b/gcc/ada/gcc-interface/config-lang.in
@@ -30,7 +30,7 @@ gcc_subdir="ada/gcc-interface"
 boot_language=yes
 compilers="gnat1\$(exeext)"
 
-gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.c \$(srcdir)/ada/gcc-interface/trans.c \$(srcdir)/ada/gcc-interface/utils.c \$(srcdir)/ada/gcc-interface/misc.c"
+gtfiles="\$(srcdir)/ada/gcc-interface/ada-tree.h \$(srcdir)/ada/gcc-interface/gigi.h \$(srcdir)/ada/gcc-interface/decl.cc \$(srcdir)/ada/gcc-interface/trans.cc \$(srcdir)/ada/gcc-interface/utils.cc \$(srcdir)/ada/gcc-interface/misc.cc"
 
 outputs="ada/gcc-interface/Makefile ada/Makefile"
 
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 39a90929d4c..1c7a716840e 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -10632,7 +10632,7 @@ concat_name (tree gnu_name, const char *suffix)
   return get_identifier_with_length (new_name, len);
 }
 
-/* Initialize the data structures of the decl.c module.  */
+/* Initialize the data structures of the decl.cc module.  */
 
 void
 init_gnat_decl (void)
@@ -10644,7 +10644,7 @@ init_gnat_decl (void)
   dummy_to_subprog_map = hash_table<dummy_type_hasher>::create_ggc (512);
 }
 
-/* Destroy the data structures of the decl.c module.  */
+/* Destroy the data structures of the decl.cc module.  */
 
 void
 destroy_gnat_decl (void)
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 4b4a14dd3c6..bd559d17678 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -203,10 +203,10 @@ extern tree create_concat_name (Entity_Id gnat_entity, const char *suffix);
    the name followed by "___" and the specified suffix.  */
 extern tree concat_name (tree gnu_name, const char *suffix);
 
-/* Initialize data structures of the decl.c module.  */
+/* Initialize data structures of the decl.cc module.  */
 extern void init_gnat_decl (void);
 
-/* Destroy data structures of the decl.c module.  */
+/* Destroy data structures of the decl.cc module.  */
 extern void destroy_gnat_decl (void);
 
 /* Highest number in the front-end node table.  */
@@ -563,10 +563,10 @@ extern tree convert_to_index_type (tree expr);
 /* Routines created solely for the tree translator's sake. Their prototypes
    can be changed as desired.  */
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 extern void init_gnat_utils (void);
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 extern void destroy_gnat_utils (void);
 
 /* GNAT_ENTITY is a GNAT tree node for a defining identifier.
@@ -904,7 +904,7 @@ extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
 				    tree index, tree first, tree last);
 
 /* Return a CONSTRUCTOR of TYPE whose elements are V.  This is not the
-   same as build_constructor in the language-independent tree.c.  */
+   same as build_constructor in the language-independent tree.cc.  */
 extern tree gnat_build_constructor (tree type, vec<constructor_elt, va_gc> *v);
 
 /* Return a COMPONENT_REF to access FIELD in RECORD, or NULL_EXPR and generate
@@ -943,7 +943,7 @@ extern tree build_allocator (tree type, tree init, tree result_type,
    should not be allocated in a register.  Returns true if successful.  */
 extern bool gnat_mark_addressable (tree t);
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 extern tree gnat_save_expr (tree exp);
 
@@ -952,7 +952,7 @@ extern tree gnat_save_expr (tree exp);
    its subsequent reuse(s) except through its potential reevaluation.  */
 extern tree gnat_protect_expr (tree exp);
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -965,7 +965,7 @@ typedef tree (*rewrite_fn) (tree, void *);
 extern tree gnat_rewrite_reference (tree ref, rewrite_fn func, void *data,
 				    tree *init);
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 extern tree get_inner_constant_reference (tree exp);
diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h
index d26cc8d0534..db1917befbb 100644
--- a/gcc/ada/gcc-interface/lang-specs.h
+++ b/gcc/ada/gcc-interface/lang-specs.h
@@ -27,7 +27,7 @@
    extensions to .ada in dump file names.  */
 #define ADA_DUMPS_OPTIONS DUMPS_OPTIONS ("%{!.adb:%{!.ads:.ada}}")
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    GNAT.  */
 
   {".ads", "@ada", 0, 0, 0},
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d5dd04a4fe7..049cf74eb9b 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -281,7 +281,7 @@ static GTY(()) vec<tree, va_gc> *builtin_decls;
 static GTY((deletable)) tree free_block_chain;
 
 /* A hash table of packable types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) packable_type_hash
 {
@@ -304,7 +304,7 @@ struct packable_type_hasher : ggc_cache_ptr_hash<packable_type_hash>
 static GTY ((cache)) hash_table<packable_type_hasher> *packable_type_hash_table;
 
 /* A hash table of padded types.  It is modelled on the generic type
-   hash table in tree.c, which must thus be used as a reference.  */
+   hash table in tree.cc, which must thus be used as a reference.  */
 
 struct GTY((for_user)) pad_type_hash
 {
@@ -367,7 +367,7 @@ add_deferred_decl_context (tree decl, Entity_Id gnat_scope, int force_global);
 static void add_deferred_type_context (struct deferred_decl_context_node *n,
 				       tree type);
 
-/* Initialize data structures of the utils.c module.  */
+/* Initialize data structures of the utils.cc module.  */
 
 void
 init_gnat_utils (void)
@@ -385,7 +385,7 @@ init_gnat_utils (void)
   pad_type_hash_table = hash_table<pad_type_hasher>::create_ggc (512);
 }
 
-/* Destroy data structures of the utils.c module.  */
+/* Destroy data structures of the utils.cc module.  */
 
 void
 destroy_gnat_utils (void)
diff --git a/gcc/ada/gcc-interface/utils2.cc b/gcc/ada/gcc-interface/utils2.cc
index 06d82035c67..a5444c5dc03 100644
--- a/gcc/ada/gcc-interface/utils2.cc
+++ b/gcc/ada/gcc-interface/utils2.cc
@@ -2529,7 +2529,7 @@ gnat_stable_expr_p (tree exp)
   return TREE_CONSTANT (exp) || code == NULL_EXPR || code == SAVE_EXPR;
 }
 
-/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.c
+/* Save EXP for later use or reuse.  This is equivalent to save_expr in tree.cc
    but we know how to handle our own nodes.  */
 
 tree
@@ -2628,7 +2628,7 @@ gnat_protect_expr (tree exp)
 		    save_expr (build_unary_op (ADDR_EXPR, NULL_TREE, exp)));
 }
 
-/* This is equivalent to stabilize_reference_1 in tree.c but we take an extra
+/* This is equivalent to stabilize_reference_1 in tree.cc but we take an extra
    argument to force evaluation of everything.  */
 
 static tree
@@ -2698,7 +2698,7 @@ gnat_stabilize_reference_1 (tree e, void *data)
   return result;
 }
 
-/* This is equivalent to stabilize_reference in tree.c but we know how to
+/* This is equivalent to stabilize_reference in tree.cc but we know how to
    handle our own nodes and we take extra arguments.  FORCE says whether to
    force evaluation of everything in REF.  INIT is set to the first arm of
    a COMPOUND_EXPR present in REF, if any.  */
@@ -2832,7 +2832,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
   return result;
 }
 
-/* This is equivalent to get_inner_reference in expr.c but it returns the
+/* This is equivalent to get_inner_reference in expr.cc but it returns the
    ultimate containing object only if the reference (lvalue) is constant,
    i.e. if it doesn't depend on the context in which it is evaluated.  */
 
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index a987594782b..15135581b42 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -246,7 +246,7 @@
  *                     mutual exclusion
  *
  * See "Handling of gethostbyname, gethostbyaddr, getservbyname and
- * getservbyport" in socket.c for details.
+ * getservbyport" in socket.cc for details.
  */
 
 #if defined (HAVE_GETxxxBYyyy_R)
diff --git a/gcc/ada/init.cc b/gcc/ada/init.cc
index 6c260fe7187..50661b46026 100644
--- a/gcc/ada/init.cc
+++ b/gcc/ada/init.cc
@@ -542,7 +542,7 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 	 before the faulting address is accessible.  Unfortunately, Linux
 	 seems to have no way of giving us the faulting address.
 
-	 In old versions of init.c, we had a test of the page before the
+	 In old versions of init.cc, we had a test of the page before the
 	 stack pointer:
 
 	   ((volatile char *)
@@ -1237,7 +1237,7 @@ __gnat_handle_vms_condition (int *sigargs, void *mechargs)
   if (__gnat_resignal_p (sigargs [1]))
     return SS$_RESIGNAL;
 #ifndef IN_RTS
-  /* toplev.c handles this for compiler.  */
+  /* toplev.cc handles this for compiler.  */
   if (sigargs [1] == SS$_HPARITH)
     return SS$_RESIGNAL;
 #endif
diff --git a/gcc/ada/libgnarl/s-intman.ads b/gcc/ada/libgnarl/s-intman.ads
index 663aed94ebc..38dcf37ad36 100644
--- a/gcc/ada/libgnarl/s-intman.ads
+++ b/gcc/ada/libgnarl/s-intman.ads
@@ -105,7 +105,7 @@ private
      (C, Adjust_Context_For_Raise, "__gnat_adjust_context_for_raise");
    --  Target specific hook performing adjustments to the signal's machine
    --  context, to be called before an exception may be raised from a signal
-   --  handler. This service is provided by init.c, together with the
+   --  handler. This service is provided by init.cc, together with the
    --  non-tasking signal handler.
 
 end System.Interrupt_Management;
diff --git a/gcc/ada/libgnarl/s-osinte__android.ads b/gcc/ada/libgnarl/s-osinte__android.ads
index 27f7d9d736f..81477a0bc8a 100644
--- a/gcc/ada/libgnarl/s-osinte__android.ads
+++ b/gcc/ada/libgnarl/s-osinte__android.ads
@@ -309,7 +309,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 16 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.ads b/gcc/ada/libgnarl/s-osinte__darwin.ads
index ac41d528094..ebe1a69e955 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.ads
+++ b/gcc/ada/libgnarl/s-osinte__darwin.ads
@@ -288,7 +288,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target. This
diff --git a/gcc/ada/libgnarl/s-osinte__hpux.ads b/gcc/ada/libgnarl/s-osinte__hpux.ads
index c94b84c1752..780b2839b47 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux.ads
+++ b/gcc/ada/libgnarl/s-osinte__hpux.ads
@@ -293,7 +293,7 @@ package System.OS_Interface is
    --  The alternate signal stack for stack overflows
 
    Alternate_Stack_Size : constant := 128 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 4f682e039f3..a4969f85a07 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -331,7 +331,7 @@ package System.OS_Interface is
    pragma Import (C, sigaltstack, "sigaltstack");
 
    Alternate_Stack_Size : constant := 32 * 1024;
-   --  This must be in keeping with init.c:__gnat_alternate_stack
+   --  This must be in keeping with init.cc:__gnat_alternate_stack
 
    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.ads b/gcc/ada/libgnarl/s-osinte__qnx.ads
index 28abfbe051a..02aaa699076 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.ads
+++ b/gcc/ada/libgnarl/s-osinte__qnx.ads
@@ -310,7 +310,7 @@ package System.OS_Interface is
    --  sigaltstack in QNX
 
    Alternate_Stack_Size : constant := 0;
-   --  This must be kept in sync with init.c:__gnat_alternate_stack
+   --  This must be kept in sync with init.cc:__gnat_alternate_stack
 
    Stack_Base_Available : constant Boolean := False;
    --  Indicates whether the stack base is available on this target
diff --git a/gcc/ada/libgnarl/s-taskin.ads b/gcc/ada/libgnarl/s-taskin.ads
index 0073c1979a5..a8d3f372760 100644
--- a/gcc/ada/libgnarl/s-taskin.ads
+++ b/gcc/ada/libgnarl/s-taskin.ads
@@ -776,7 +776,7 @@ package System.Tasking is
    Unspecified_Priority : constant Integer := -1;
    --  Indicates that a task has an unspecified priority. This is hardcoded as
    --  -1 rather than System.Priority'First - 1 as the value needs to be used
-   --  in init.c to specify that the main task has no specified priority.
+   --  in init.cc to specify that the main task has no specified priority.
 
    Priority_Not_Boosted : constant Integer := System.Priority'First - 1;
    --  Definition of Priority actually has to come from the RTS configuration
diff --git a/gcc/ada/rtfinal.cc b/gcc/ada/rtfinal.cc
index ac0efd00ef6..9f7f6233844 100644
--- a/gcc/ada/rtfinal.cc
+++ b/gcc/ada/rtfinal.cc
@@ -43,7 +43,7 @@ extern void __gnat_runtime_finalize (void);
    Note that __gnat_runtime_finalize() is called in adafinal()   */
 
 extern int __gnat_rt_init_count;
-/*  see initialize.c  */
+/*  see initialize.cc  */
 
 #if defined (__MINGW32__)
 #include "mingw32.h"
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 54fa2f1be0b..a42b71983e1 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1976,7 +1976,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  || defined(__DragonFly__) || defined(__QNX__)
 /** On these platforms use system provided monotonic clock instead of
  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
+ ** appropriately (see thread.cc).
  **
  ** Note that AIX 5.2 does not support CLOCK_MONOTONIC timestamps for
  ** pthread_cond_timedwait (and does not have pthread_condattr_setclock),
diff --git a/gcc/ada/set_targ.ads b/gcc/ada/set_targ.ads
index 4afd7b016af..1c71fb6d55b 100644
--- a/gcc/ada/set_targ.ads
+++ b/gcc/ada/set_targ.ads
@@ -25,7 +25,7 @@
 
 --  This package handles setting target dependent parameters. If the -gnatet
 --  switch is not set, then these values are taken from the back end (via the
---  routines in Get_Targ, and the enumerate_modes routine in misc.c). If the
+--  routines in Get_Targ, and the enumerate_modes routine in misc.cc). If the
 --  switch is set, then the values are read from the target.atp file in the
 --  current directory (usually written with the Write_Target_Dependent_Values
 --  procedure defined in this package).
@@ -88,7 +88,7 @@ package Set_Targ is
    -------------------------------------
 
    --  This table contains the list of modes supported by the back-end as
-   --  provided by the back end routine enumerate_modes in misc.c. Note that
+   --  provided by the back end routine enumerate_modes in misc.cc. Note that
    --  we only store floating-point modes (see Register_Float_Type).
 
    type FPT_Mode_Entry is record
diff --git a/gcc/alias.h b/gcc/alias.h
index 82ce785518a..b2596518ac9 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,4 +1,4 @@
-/* Exported functions from alias.c
+/* Exported functions from alias.cc
    Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/analyzer/analyzer.cc b/gcc/analyzer/analyzer.cc
index 0151be2495a..67844178833 100644
--- a/gcc/analyzer/analyzer.cc
+++ b/gcc/analyzer/analyzer.cc
@@ -241,7 +241,7 @@ is_special_named_call_p (const gcall *call, const char *funcname,
 /* Helper function for checkers.  Is FNDECL an extern fndecl at file scope
    that has the given FUNCNAME?
 
-   Compare with special_function_p in calls.c.  */
+   Compare with special_function_p in calls.cc.  */
 
 bool
 is_named_call_p (const_tree fndecl, const char *funcname)
@@ -271,7 +271,7 @@ is_named_call_p (const_tree fndecl, const char *funcname)
 }
 
 /* Return true if FNDECL is within the namespace "std".
-   Compare with cp/typeck.c: decl_in_std_namespace_p, but this doesn't
+   Compare with cp/typeck.cc: decl_in_std_namespace_p, but this doesn't
    rely on being the C++ FE (or handle inline namespaces inside of std).  */
 
 static inline bool
diff --git a/gcc/analyzer/region-model-asm.cc b/gcc/analyzer/region-model-asm.cc
index 2058bb0fa02..3bf2a02432c 100644
--- a/gcc/analyzer/region-model-asm.cc
+++ b/gcc/analyzer/region-model-asm.cc
@@ -126,7 +126,7 @@ deterministic_p (const gasm *asm_stmt)
 /* Update this model for the asm STMT, using CTXT to report any
    diagnostics.
 
-   Compare with cfgexpand.c: expand_asm_stmt.  */
+   Compare with cfgexpand.cc: expand_asm_stmt.  */
 
 void
 region_model::on_asm_stmt (const gasm *stmt, region_model_context *ctxt)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 161e7e1fb10..f5a2a0ba3df 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -1168,7 +1168,7 @@ field_region::dump_to_pp (pretty_printer *pp, bool simple) const
 bool
 field_region::get_relative_concrete_offset (bit_offset_t *out) const
 {
-  /* Compare with e.g. gimple-fold.c's
+  /* Compare with e.g. gimple-fold.cc's
      fold_nonarray_ctor_reference.  */
   tree byte_offset = DECL_FIELD_OFFSET (m_field);
   if (TREE_CODE (byte_offset) != INTEGER_CST)
diff --git a/gcc/analyzer/sm-malloc.cc b/gcc/analyzer/sm-malloc.cc
index 47184969ffe..2f7a387ca8a 100644
--- a/gcc/analyzer/sm-malloc.cc
+++ b/gcc/analyzer/sm-malloc.cc
@@ -945,7 +945,7 @@ method_p (tree fndecl)
 }
 
 /* Return a 1-based description of ARG_IDX (0-based) of FNDECL.
-   Compare with %P in the C++ FE  (implemented in cp/error.c: parm_to_string
+   Compare with %P in the C++ FE  (implemented in cp/error.cc: parm_to_string
    as called from cp_printer).  */
 
 static label_text
diff --git a/gcc/analyzer/supergraph.cc b/gcc/analyzer/supergraph.cc
index fc5bdaf7778..466f9245181 100644
--- a/gcc/analyzer/supergraph.cc
+++ b/gcc/analyzer/supergraph.cc
@@ -905,7 +905,7 @@ superedge::dump_dot (graphviz_out *gv, const dump_args_t &) const
       break;
     }
 
-  /* Adapted from graph.c:draw_cfg_node_succ_edges.  */
+  /* Adapted from graph.cc:draw_cfg_node_succ_edges.  */
   if (::edge cfg_edge = get_any_cfg_edge ())
     {
       if (cfg_edge->flags & EDGE_FAKE)
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 08c622ee7f6..b3471734905 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3.  If not see
        at the top of the variables of the stack.
 
    Note that the real variable layout is done in expand_used_vars in
-   cfgexpand.c.  As far as Address Sanitizer is concerned, it lays out
+   cfgexpand.cc.  As far as Address Sanitizer is concerned, it lays out
    stack variables as well as the different red zones, emits some
    prologue code to populate the shadow memory as to poison (mark as
    non-accessible) the regions of the red zones and mark the regions of
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 856eae5ade4..bf3f90f2fff 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,4 +1,4 @@
-/* auto-profile.h - Defines data exported from auto-profile.c
+/* auto-profile.h - Defines data exported from auto-profile.cc
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Dehao Chen (dehao@google.com)
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b794edb6333..e3fff1f6975 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -146,7 +146,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
   /* The index of this block.  */
   int index;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
 
   /* The discriminator for this block.  The discriminator distinguishes
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 88c4d00bc70..31af50521da 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file contains routines to output the BPF Type Format (BTF). The BTF
    debug format is very similar to CTF; as a result, the structure of this file
-   closely resembles that of ctfout.c, and the same CTF container objects are
+   closely resembles that of ctfout.cc, and the same CTF container objects are
    used.  */
 
 #include "config.h"
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 51d3635bd57..0ab67fd0448 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Legacy warning!  Please add no further builtin simplifications here
    (apart from pure constant folding) - builtin simplifications should go
-   to match.pd or gimple-fold.c instead.  */
+   to match.pd or gimple-fold.cc instead.  */
 
 #include "config.h"
 #include "system.h"
@@ -1038,7 +1038,7 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
       set_mem_alias_set (stack, setjmp_alias_set);
 
       /* Pick up FP, label, and SP from the block and jump.  This code is
-	 from expand_goto in stmt.c; see there for detailed comments.  */
+	 from expand_goto in stmt.cc; see there for detailed comments.  */
       if (targetm.have_nonlocal_goto ())
 	/* We have to pass a value to the nonlocal_goto pattern that will
 	   get copied into the static_chain pointer, but it does not matter
@@ -9628,7 +9628,7 @@ validate_arg (const_tree arg, enum tree_code code)
    VOID_TYPE.
 
    This is the GIMPLE version of validate_arglist.  Eventually we want to
-   completely convert builtins.c to work from GIMPLEs and the tree based
+   completely convert builtins.cc to work from GIMPLEs and the tree based
    validate_arglist will then be removed.  */
 
 bool
@@ -10987,7 +10987,7 @@ access_ref::offset_bounded () const
 }
 
 /* If CALLEE has known side effects, fill in INFO and return true.
-   See tree-ssa-structalias.c:find_func_aliases
+   See tree-ssa-structalias.cc:find_func_aliases
    for the list of builtins we might need to handle here.  */
 
 attr_fnspec
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index e3025e12a8d..149d336ee96 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1,7 +1,7 @@
 /* Print GENERIC declaration (functions, variables, types) trees coming from
    the C and C++ front-ends as well as macros in Ada syntax.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
-   Adapted from tree-pretty-print.c by Arnaud Charlet  <charlet@adacore.com>
+   Adapted from tree-pretty-print.cc by Arnaud Charlet  <charlet@adacore.com>
 
 This file is part of GCC.
 
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index e691b98d361..d3ba0f4a183 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "pretty-print.h"
 
-/* In c-ada-spec.c  */
+/* In c-ada-spec.cc  */
 
 enum cpp_operation {
   HAS_DEPENDENT_TEMPLATE_ARGS,
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 4a6a4edb763..3f003c5ca8b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -1324,7 +1324,7 @@ c_build_vec_convert (location_t loc1, tree expr, location_t loc2, tree type,
   return ret;
 }
 
-/* Like tree.c:get_narrower, but retain conversion from C++0x scoped enum
+/* Like tree.cc:get_narrower, but retain conversion from C++0x scoped enum
    to integral type.  */
 
 tree
@@ -1950,7 +1950,7 @@ warning_candidate_p (tree x)
   if (TREE_CODE (x) == BLOCK)
     return false;
 
-  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.c
+  /* VOID_TYPE_P (TREE_TYPE (x)) is workaround for cp/tree.cc
      (lvalue_p) crash on TRY/CATCH. */
   if (TREE_TYPE (x) == NULL_TREE || VOID_TYPE_P (TREE_TYPE (x)))
     return false;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8b7bf35e888..ee0c4de2a05 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,4 +1,4 @@
-/* Definitions for c-common.c.
+/* Definitions for c-common.cc.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -249,7 +249,7 @@ enum rid
      is for __int13.  */
 
   /* Note that the range to use is RID_FIRST_INT_N through
-     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.c has a list of
+     RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of
      all RID_INT_N_* in a case statement.  */
 
   RID_INT_N_0,
@@ -829,10 +829,10 @@ extern const struct attribute_spec c_common_format_attribute_table[];
 
 extern tree (*make_fname_decl) (location_t, tree, int);
 
-/* In c-decl.c and cp/tree.c.  FIXME.  */
+/* In c-decl.cc and cp/tree.cc.  FIXME.  */
 extern void c_register_addr_space (const char *str, addr_space_t as);
 
-/* In c-common.c.  */
+/* In c-common.cc.  */
 extern bool in_late_binary_op;
 extern const char *c_addr_space_name (addr_space_t as);
 extern tree identifier_global_value (tree);
@@ -1006,7 +1006,7 @@ extern tree build_stmt (location_t, enum tree_code, ...);
 extern tree build_real_imag_expr (location_t, enum tree_code, tree);
 
 /* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
+   a variant of the C language.  They are used in c-common.cc.  */
 
 extern tree build_unary_op (location_t, enum tree_code, tree, bool);
 extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool);
@@ -1044,7 +1044,7 @@ extern tree resolve_overloaded_builtin (location_t, tree, vec<tree, va_gc> *);
 extern tree finish_label_address_expr (tree, location_t);
 
 /* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
+   different implementations.  Used in c-common.cc.  */
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 extern bool lvalue_p (const_tree);
@@ -1141,7 +1141,7 @@ class substring_loc;
 extern const char *c_get_substring_location (const substring_loc &substr_loc,
 					     location_t *out_loc);
 
-/* In c-gimplify.c.  */
+/* In c-gimplify.cc.  */
 typedef struct bc_state
 {
   tree bc_label[2];
@@ -1154,11 +1154,11 @@ extern void c_genericize (tree);
 extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
 extern tree c_build_bind_expr (location_t, tree, tree);
 
-/* In c-lex.c.  */
+/* In c-lex.cc.  */
 extern enum cpp_ttype
 conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
 
-/* In c-pch.c  */
+/* In c-pch.cc  */
 extern void pch_init (void);
 extern void pch_cpp_save_state (void);
 extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
@@ -1171,7 +1171,7 @@ extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
 /* In *-checksum.c */
 extern const unsigned char executable_checksum[16];
 
-/* In c-cppbuiltin.c  */
+/* In c-cppbuiltin.cc  */
 extern void builtin_define_std (const char *macro);
 extern void builtin_define_with_value (const char *, const char *, int);
 extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT);
@@ -1181,14 +1181,14 @@ extern void fe_file_change (const line_map_ordinary *);
 extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char,
 			   rich_location *richloc);
 
-/* In c-ppoutput.c  */
+/* In c-ppoutput.cc  */
 extern void init_pp_output (FILE *);
 extern void preprocess_file (cpp_reader *);
 extern void pp_file_change (const line_map_ordinary *);
 extern void pp_dir_change (cpp_reader *, const char *);
 extern bool check_missing_format_attribute (tree, tree);
 
-/* In c-omp.c  */
+/* In c-omp.cc  */
 typedef wide_int_bitmask omp_clause_mask;
 
 #define OMP_CLAUSE_MASK_1 omp_clause_mask (1)
@@ -1400,7 +1400,7 @@ extern bool valid_array_size_p (location_t, const_tree, tree, bool = true);
 extern void invalid_array_size_error (location_t, cst_size_error,
 				      const_tree, const_tree);
 
-/* In c-warn.c.  */
+/* In c-warn.cc.  */
 extern void constant_expression_warning (tree);
 extern void constant_expression_error (tree);
 extern void overflow_warning (location_t, tree, tree = NULL_TREE);
@@ -1466,7 +1466,7 @@ extern tree do_warn_duplicated_branches_r (tree *, int *, void *);
 extern void warn_for_multistatement_macros (location_t, location_t,
 					    location_t, enum rid);
 
-/* In c-attribs.c.  */
+/* In c-attribs.cc.  */
 extern bool attribute_takes_identifier_p (const_tree);
 extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *);
 extern tree handle_unused_attribute (tree *, tree, tree, int, bool *);
@@ -1481,7 +1481,7 @@ extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *);
 extern bool has_attribute (location_t, tree, tree, tree (*)(tree));
 extern tree build_attr_access_from_parms (tree, bool);
 
-/* In c-format.c.  */
+/* In c-format.cc.  */
 extern bool valid_format_string_type_p (tree);
 
 /* A bitmap of flags to positional_argument.  */
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 35c080419a2..528211cf50e 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -938,7 +938,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define_formatted (pfile, "__GNUG__=%d", major);
   }
 
-  /* For stddef.h.  They require macros defined in c-common.c.  */
+  /* For stddef.h.  They require macros defined in c-common.cc.  */
   c_stddef_cpp_builtins ();
 
   if (c_dialect_cxx ())
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index afa77810a5c..d7878b7880c 100644
--- a/gcc/c-family/c-format.cc
+++ b/gcc/c-family/c-format.cc
@@ -544,7 +544,7 @@ static const format_length_info strfmon_length_specs[] =
 };
 
 
-/* Length modifiers used by the fortran/error.c routines.  */
+/* Length modifiers used by the fortran/error.cc routines.  */
 static const format_length_info gcc_gfc_length_specs[] =
 {
   { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89, 0 },
diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc
index 496895a9cad..a00b0a02dcc 100644
--- a/gcc/c-family/c-gimplify.cc
+++ b/gcc/c-family/c-gimplify.cc
@@ -705,7 +705,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
       }
 
     case DECL_EXPR:
-      /* This is handled mostly by gimplify.c, but we have to deal with
+      /* This is handled mostly by gimplify.cc, but we have to deal with
 	 not warning about int x = x; as it is a GCC extension to turn off
 	 this warning but only if warn_init_self is zero.  */
       if (VAR_P (DECL_EXPR_DECL (*expr_p))
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 2d276d81221..a344e9d706f 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,4 +1,4 @@
-/* Definitions for c-indentation.c.
+/* Definitions for c-indentation.cc.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index eb0bface755..da0ab3c9ee4 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -99,7 +99,7 @@ extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid);
 /* Objective-C / Objective-C++ entry points.  */
 
 /* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
+   front-ends; they all must have corresponding stubs in stub-objc.cc.  */
 extern void objc_write_global_declarations (void);
 extern tree objc_is_class_name (tree);
 extern tree objc_is_object_ptr (tree);
diff --git a/gcc/c-family/c-omp.cc b/gcc/c-family/c-omp.cc
index 400fd4e6e3c..0251aec5348 100644
--- a/gcc/c-family/c-omp.cc
+++ b/gcc/c-family/c-omp.cc
@@ -2993,8 +2993,8 @@ c_omp_predetermined_mapping (tree decl)
 /* For OpenACC, the OMP_CLAUSE_MAP_KIND of an OMP_CLAUSE_MAP is used internally
    to distinguish clauses as seen by the user.  Return the "friendly" clause
    name for error messages etc., where possible.  See also
-   c/c-parser.c:c_parser_oacc_data_clause and
-   cp/parser.c:cp_parser_oacc_data_clause.  */
+   c/c-parser.cc:c_parser_oacc_data_clause and
+   cp/parser.cc:cp_parser_oacc_data_clause.  */
 
 const char *
 c_omp_map_clause_name (tree clause, bool oacc)
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index aa6801fa811..21ff22d1b4f 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -895,7 +895,7 @@ c_common_post_options (const char **pfilename)
     warn_enum_compare = c_dialect_cxx () ? 1 : 0;
 
   /* -Wpacked-bitfield-compat is on by default for the C languages.  The
-     warning is issued in stor-layout.c which is not part of the front-end so
+     warning is issued in stor-layout.cc which is not part of the front-end so
      we need to selectively turn it on here.  */
   if (warn_packed_bitfield_compat == -1)
     warn_packed_bitfield_compat = 1;
@@ -1819,7 +1819,7 @@ set_std_cxx23 (int iso)
 }
 
 /* Args to -d specify what to dump.  Silently ignore
-   unrecognized options; they may be aimed at toplev.c.  */
+   unrecognized options; they may be aimed at toplev.cc.  */
 static void
 handle_OPT_d (const char *arg)
 {
diff --git a/gcc/c-family/c-pragma.cc b/gcc/c-family/c-pragma.cc
index 8dde5b841b2..9004b04c613 100644
--- a/gcc/c-family/c-pragma.cc
+++ b/gcc/c-family/c-pragma.cc
@@ -556,7 +556,7 @@ handle_pragma_redefine_extname (cpp_reader * ARG_UNUSED (dummy))
     add_to_renaming_pragma_list (oldname, newname);
 }
 
-/* This is called from here and from ia64-c.c.  */
+/* This is called from here and from ia64-c.cc.  */
 void
 add_to_renaming_pragma_list (tree oldname, tree newname)
 {
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index ae89e14720f..ba7624dab1f 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -46,7 +46,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C syntax can derive from this datatype and reuse
    facilities provided here.  A derived pretty-printer can override
    any function listed in the vtable below.  See cp/cxx-pretty-print.h
-   and cp/cxx-pretty-print.c for an example of derivation.  */
+   and cp/cxx-pretty-print.cc for an example of derivation.  */
 class c_pretty_printer : public pretty_printer
 {
 public:
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b0e9994b3f8..1367a10cee6 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -71,15 +71,15 @@ endif
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(C_OBJS) $(BACKEND) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	  cp ../prev-gcc/cc1-checksum.c cc1-checksum.c; \
+	  cp ../prev-gcc/cc1-checksum.cc cc1-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
-                     checksum-options > cc1-checksum.c.tmp && 		 \
-	  $(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c; \
+                     checksum-options > cc1-checksum.cc.tmp && 		 \
+	  $(srcdir)/../move-if-change cc1-checksum.cc.tmp cc1-checksum.cc; \
 	fi
 
 cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
@@ -106,7 +106,7 @@ c.all.cross:
 c.start.encap:
 c.rest.encap:
 c.srcinfo:
-c.srcextra: gengtype-lex.c
+c.srcextra: gengtype-lex.cc
 	-cp -p $^ $(srcdir)
 c.tags: force
 	cd $(srcdir)/c; $(ETAGS) -o TAGS.sub *.c *.h; \
diff --git a/gcc/c/c-convert.cc b/gcc/c/c-convert.cc
index 5e927599aaf..18083d59618 100644
--- a/gcc/c/c-convert.cc
+++ b/gcc/c/c-convert.cc
@@ -45,12 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer.
-     In c-typeck.c, build_binary_op (boolean ops), and
+     In convert.cc, convert_to_integer.
+     In c-typeck.cc, build_binary_op (boolean ops), and
 	c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.  */
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.  */
 \f
 /* Subroutines of `convert'.  */
 
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 29a79eba841..c701f07befe 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -225,7 +225,7 @@ struct GTY(()) lang_identifier {
   struct c_binding *label_binding;  /* labels */
 };
 
-/* Validate c-lang.c's assumptions.  */
+/* Validate c-lang.cc's assumptions.  */
 extern char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate
 [(sizeof(struct lang_identifier) == C_SIZEOF_STRUCT_LANG_IDENTIFIER) ? 1 : -1];
 
@@ -1367,7 +1367,7 @@ pop_scope (void)
 	  gcc_fallthrough ();
 	  /* Parameters go in DECL_ARGUMENTS, not BLOCK_VARS, and have
 	     already been put there by store_parm_decls.  Unused-
-	     parameter warnings are handled by function.c.
+	     parameter warnings are handled by function.cc.
 	     error_mark_node obviously does not go in BLOCK_VARS and
 	     does not get unused-variable warnings.  */
 	case PARM_DECL:
@@ -5527,7 +5527,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (TREE_PUBLIC (decl))
 	c_determine_visibility (decl);
 
-      /* This is a no-op in c-lang.c or something real in objc-act.c.  */
+      /* This is a no-op in c-lang.cc or something real in objc-act.cc.  */
       if (c_dialect_objc ())
 	objc_check_decl (decl);
 
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index d23bdeae1d8..0b60df9750f 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_C_OBJC_COMMON
 
 /* Lang hooks that are shared between C and ObjC are defined here.  Hooks
-   specific to C or ObjC go in c-lang.c and objc/objc-lang.c, respectively.  */
+   specific to C or ObjC go in c-lang.cc and objc/objc-lang.cc, respectively.  */
 
 #undef LANG_HOOKS_IDENTIFIER_SIZE
 #define LANG_HOOKS_IDENTIFIER_SIZE C_SIZEOF_STRUCT_LANG_IDENTIFIER
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 6ada0048f5a..25d009ca1c0 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -1413,7 +1413,7 @@ c_parser_skip_to_end_of_block_or_statement (c_parser *parser)
   parser->error = false;
 }
 
-/* CPP's options (initialized by c-opts.c).  */
+/* CPP's options (initialized by c-opts.cc).  */
 extern cpp_options *cpp_opts;
 
 /* Save the warning flags which are controlled by __extension__.  */
diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
index 8d5fc3089b4..3d256b688b4 100644
--- a/gcc/c/c-parser.h
+++ b/gcc/c/c-parser.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_C_PARSER_H
 #define GCC_C_PARSER_H
 
-/* The C lexer intermediates between the lexer in cpplib and c-lex.c
+/* The C lexer intermediates between the lexer in cpplib and c-lex.cc
    and the C parser.  Unlike the C++ lexer, the parser structure
    stores the lexer information instead of using a separate structure.
    Identifiers are separated into ordinary identifiers, type names,
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index df03fd27a7d..c70f0ba5ab6 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "c-family/c-common.h"
 #include "diagnostic.h"
 
-/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
-   know how big it is.  This is sanity-checked in c-decl.c.  */
+/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to
+   know how big it is.  This is sanity-checked in c-decl.cc.  */
 #define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
   (sizeof (struct c_common_identifier) + 3 * sizeof (void *))
 
@@ -538,14 +538,14 @@ enum c_inline_static_type {
 };
 
 \f
-/* in c-parser.c */
+/* in c-parser.cc */
 extern void c_parse_init (void);
 extern bool c_keyword_starts_typename (enum rid keyword);
 
-/* in c-aux-info.c */
+/* in c-aux-info.cc */
 extern void gen_aux_info_record (tree, int, int, int);
 
-/* in c-decl.c */
+/* in c-decl.cc */
 struct c_spot_bindings;
 class c_struct_parse_info;
 extern struct obstack parser_obstack;
@@ -660,7 +660,7 @@ extern struct c_declspecs *declspecs_add_alignas (location_t,
 						  struct c_declspecs *, tree);
 extern struct c_declspecs *finish_declspecs (struct c_declspecs *);
 
-/* in c-objc-common.c */
+/* in c-objc-common.cc */
 extern bool c_objc_common_init (void);
 extern bool c_missing_noreturn_ok_p (tree);
 extern bool c_warn_unused_global_decl (const_tree);
@@ -668,7 +668,7 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 extern bool c_vla_unspec_p (tree x, tree fn);
 extern alias_set_type c_get_alias_set (tree);
 
-/* in c-typeck.c */
+/* in c-typeck.cc */
 extern int in_alignof;
 extern int in_sizeof;
 extern int in_typeof;
@@ -783,7 +783,7 @@ extern int current_function_returns_null;
 
 extern int current_function_returns_abnormally;
 
-/* In c-decl.c */
+/* In c-decl.cc */
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
 
@@ -798,7 +798,7 @@ enum c_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -816,7 +816,7 @@ extern void c_pushtag (location_t, tree, tree);
 extern void c_bind (location_t, tree, bool);
 extern bool tag_exists_p (enum tree_code, tree);
 
-/* In c-errors.c */
+/* In c-errors.cc */
 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
     ATTRIBUTE_GCC_DIAG(3,4);
 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
@@ -832,7 +832,7 @@ extern void
 set_c_expr_source_range (c_expr *expr,
 			 source_range src_range);
 
-/* In c-fold.c */
+/* In c-fold.cc */
 extern vec<tree> incomplete_record_decls;
 
 #if CHECKING_P
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index 8b492cf5bed..d7f4e653f48 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1009,7 +1009,7 @@ c_common_type (tree t1, tree t2)
     return t2;
 }
 \f
-/* Wrapper around c_common_type that is used by c-common.c and other
+/* Wrapper around c_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  ENUMERAL_TYPEs
    are allowed here and are converted to their compatible integer types.
    BOOLEAN_TYPEs are allowed here and return either boolean_type_node or
@@ -14995,7 +14995,7 @@ c_finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  while (TREE_CODE (t) == INDIRECT_REF
 		 || TREE_CODE (t) == ARRAY_REF)
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index cb697e843f3..4526f634b5b 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -29,4 +29,4 @@ compilers="cc1\$(exeext)"
 
 target_libs=
 
-gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"
+gtfiles="\$(srcdir)/c/c-lang.cc \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.cc \$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.cc \$(srcdir)/c-family/c-format.cc \$(srcdir)/c/c-objc-common.cc \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.cc \$(srcdir)/c/c-lang.h"
diff --git a/gcc/caller-save.cc b/gcc/caller-save.cc
index 5ef1b63e852..9e28ec31d2b 100644
--- a/gcc/caller-save.cc
+++ b/gcc/caller-save.cc
@@ -173,7 +173,7 @@ reg_restore_code (int reg, machine_mode mode)
 /* Initialize for caller-save.
 
    Look at all the hard registers that are used by a call and for which
-   reginfo.c has not already excluded from being used across a call.
+   reginfo.cc has not already excluded from being used across a call.
 
    Ensure that we can find a mode to save the register and that there is a
    simple insn to save and restore the register.  This latter check avoids
@@ -520,7 +520,7 @@ setup_save_areas (void)
 	  CLEAR_HARD_REG_SET (this_insn_sets);
 	  note_stores (insn, mark_set_regs, &this_insn_sets);
 	  /* Sibcalls are considered to set the return value,
-	     compare df-scan.c:df_get_call_refs.  */
+	     compare df-scan.cc:df_get_call_refs.  */
 	  if (SIBLING_CALL_P (insn) && crtl->return_rtx)
 	    mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
 
diff --git a/gcc/calls.cc b/gcc/calls.cc
index e0d0101fc84..e64a937ea33 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1351,7 +1351,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 	 if args[i].reg is nonzero.
 
 	 These decisions are driven by the FUNCTION_... macros and must agree
-	 with those made by function.c.  */
+	 with those made by function.cc.  */
 
       /* See if this argument should be passed by invisible reference.  */
       function_arg_info arg (type, argpos < n_named_args);
@@ -1548,7 +1548,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
 
       /* ??? Traditionally we've passed TYPE_MODE here, instead of the
 	 promoted_mode used for function_arg above.  However, the
-	 corresponding handling of incoming arguments in function.c
+	 corresponding handling of incoming arguments in function.cc
 	 does pass the promoted mode.  */
       arg.mode = TYPE_MODE (type);
       targetm.calls.function_arg_advance (args_so_far, arg);
@@ -3669,7 +3669,7 @@ expand_call (tree exp, rtx target, int ignore)
 	}
 
       /* For calls to `setjmp', etc., inform
-	 function.c:setjmp_warnings that it should complain if
+	 function.cc:setjmp_warnings that it should complain if
 	 nonvolatile values are live.  For functions that cannot
 	 return, inform flow that control does not fall through.  */
 
@@ -4526,7 +4526,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
 	  NO_DEFER_POP;
 
-	  /* Indicate argument access so that alias.c knows that these
+	  /* Indicate argument access so that alias.cc knows that these
 	     values are live.  */
 	  if (argblock)
 	    use = plus_constant (Pmode, argblock,
@@ -4535,7 +4535,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 	    continue;
 	  else
 	    {
-	      /* When arguments are pushed, trying to tell alias.c where
+	      /* When arguments are pushed, trying to tell alias.cc where
 		 exactly this argument is won't work, because the
 		 auto-increment causes confusion.  So we merely indicate
 		 that we access something with a known mode somewhere on
@@ -4685,7 +4685,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
 
   targetm.calls.end_call_args ();
 
-  /* For calls to `setjmp', etc., inform function.c:setjmp_warnings
+  /* For calls to `setjmp', etc., inform function.cc:setjmp_warnings
      that it should complain if nonvolatile values are live.  For
      functions that cannot return, inform flow that control does not
      fall through.  */
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index aced6e695d6..a2c06765187 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -74,7 +74,7 @@ DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8)
 DEF_BASIC_BLOCK_FLAG(RTL, 9) 
 
 /* Set on blocks that are forwarder blocks.
-   Only used in cfgcleanup.c.  */
+   Only used in cfgcleanup.cc.  */
 DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10)
 
 /* Set on blocks that cannot be threaded through.
@@ -163,11 +163,11 @@ DEF_EDGE_FLAG(CROSSING, 11)
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(SIBCALL, 12)
 
-/* Candidate for straight line flow.  Only used in bb-reorder.c.
+/* Candidate for straight line flow.  Only used in bb-reorder.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(CAN_FALLTHRU, 13)
 
-/* Exit of a loop.  This is only used in ifcvt.c.
+/* Exit of a loop.  This is only used in ifcvt.cc.
    This flag is only used for the RTL CFG.  */
 DEF_EDGE_FLAG(LOOP_EXIT, 14)
 
diff --git a/gcc/cfganal.cc b/gcc/cfganal.cc
index 19307e233f8..e570d27768b 100644
--- a/gcc/cfganal.cc
+++ b/gcc/cfganal.cc
@@ -701,7 +701,7 @@ post_order_compute (int *post_order, bool include_entry_exit,
 
 /* Helper routine for inverted_post_order_compute
    flow_dfs_compute_reverse_execute, and the reverse-CFG
-   deapth first search in dominance.c.
+   deapth first search in dominance.cc.
    BB has to belong to a region of CFG
    unreachable by inverted traversal from the exit.
    i.e. there's no control flow path from ENTRY to EXIT
diff --git a/gcc/cfgcleanup.cc b/gcc/cfgcleanup.cc
index 3d98ddb7925..335af4911bb 100644
--- a/gcc/cfgcleanup.cc
+++ b/gcc/cfgcleanup.cc
@@ -147,7 +147,7 @@ try_simplify_condjump (basic_block cbranch_block)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (jump_block) != BB_PARTITION (jump_dest_block)
       || (cbranch_jump_edge->flags & EDGE_CROSSING))
@@ -628,7 +628,7 @@ merge_blocks_move_predecessor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -674,7 +674,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return;
@@ -734,7 +734,7 @@ merge_blocks_move (edge e, basic_block b, basic_block c, int mode)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (b) != BB_PARTITION (c))
     return NULL;
@@ -1180,7 +1180,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2)
 
   /* If this is a CALL_INSN, compare register usage information.
      If we don't check this on stack register machines, the two
-     CALL_INSNs might be merged leaving reg-stack.c with mismatching
+     CALL_INSNs might be merged leaving reg-stack.cc with mismatching
      numbers of stack registers in the same basic block.
      If we don't check this on machines with delay slots, a delay slot may
      be filled that clobbers a parameter expected by the subroutine.
@@ -2194,7 +2194,7 @@ try_crossjump_bb (int mode, basic_block bb)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (EDGE_PRED (bb, 0)->src) !=
 					BB_PARTITION (EDGE_PRED (bb, 1)->src)
diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
index f6de41ca330..d51af2e3084 100644
--- a/gcc/cfgexpand.cc
+++ b/gcc/cfgexpand.cc
@@ -4056,7 +4056,7 @@ expand_gimple_stmt (gimple *stmt)
 /* A subroutine of expand_gimple_basic_block.  Expand one GIMPLE_CALL
    that has CALL_EXPR_TAILCALL set.  Returns non-null if we actually
    generated a tail call (something that might be denied by the ABI
-   rules governing the call; see calls.c).
+   rules governing the call; see calls.cc).
 
    Sets CAN_FALLTHRU if we generated a *conditional* tail call, and
    can still reach the rest of BB.  The case here is __builtin_sqrt,
diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc
index dcec51d06e0..e435891fac6 100644
--- a/gcc/cfghooks.cc
+++ b/gcc/cfghooks.cc
@@ -1455,7 +1455,7 @@ split_block_before_cond_jump (basic_block bb)
   return cfg_hooks->split_block_before_cond_jump (bb);
 }
 
-/* Work-horse for passes.c:check_profile_consistency.
+/* Work-horse for passes.cc:check_profile_consistency.
    Do book-keeping of the CFG for the profile consistency checker.
    Store the counting in RECORD.  */
 
@@ -1539,7 +1539,7 @@ profile_record_check_consistency (profile_record *record)
    }
 }
 
-/* Work-horse for passes.c:acount_profile.
+/* Work-horse for passes.cc:acount_profile.
    Do book-keeping of the CFG for the profile accounting.
    Store the counting in RECORD.  */
 
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index 56220070875..0982d70035e 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -25,14 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
-   in passes.c.  The structure is defined here so that different CFG modes
+   in passes.cc.  The structure is defined here so that different CFG modes
    can do their book-keeping via CFG hooks.
 
    For every field[2], field[0] is the count before the pass runs, and
    field[1] is the post-pass count.  This allows us to monitor the effect
    of each individual pass on the profile consistency.
    
-   This structure is not supposed to be used by anything other than passes.c
+   This structure is not supposed to be used by anything other than passes.cc
    and one CFG hook per CFG mode.  */
 struct profile_record
 {
diff --git a/gcc/cfgrtl.cc b/gcc/cfgrtl.cc
index 12614794dbe..9ccc65b0a2e 100644
--- a/gcc/cfgrtl.cc
+++ b/gcc/cfgrtl.cc
@@ -490,7 +490,7 @@ public:
 unsigned int
 pass_free_cfg::execute (function *)
 {
-  /* The resource.c machinery uses DF but the CFG isn't guaranteed to be
+  /* The resource.cc machinery uses DF but the CFG isn't guaranteed to be
      valid at that point so it would be too late to call df_analyze.  */
   if (DELAY_SLOTS && optimize > 0 && flag_delayed_branch)
     {
@@ -954,7 +954,7 @@ rtl_can_merge_blocks (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
@@ -1043,7 +1043,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (src) != BB_PARTITION (target))
     return NULL;
@@ -3755,7 +3755,7 @@ make_pass_outof_cfg_layout_mode (gcc::context *ctxt)
    bits are the STAY_IN_CFGLAYOUT_MODE bits.  The tracer pass was moved
    to GIMPLE a long time ago, but it doesn't relink the basic block
    chain.  It could do that (to give better initial RTL) if this function
-   is made IR-agnostic (and moved to cfganal.c or cfg.c while at it).  */
+   is made IR-agnostic (and moved to cfganal.cc or cfg.cc while at it).  */
 
 void
 relink_block_chain (bool stay_in_cfglayout_mode)
@@ -4744,7 +4744,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
      be optimizable (or blocks that appear to be mergeable), but which really
      must be left untouched (they are required to make it safely across
      partition boundaries).  See  the comments at the top of
-     bb-reorder.c:partition_hot_cold_basic_blocks for complete details.  */
+     bb-reorder.cc:partition_hot_cold_basic_blocks for complete details.  */
 
   if (BB_PARTITION (a) != BB_PARTITION (b))
     return false;
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 1bbca9d909c..ea8db2f4b8c 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -1821,7 +1821,7 @@ release_function_body (tree decl)
 /* Release memory used to represent body of function.
    Use this only for functions that are released before being translated to
    target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-   are free'd in final.c via free_after_compilation().
+   are free'd in final.cc via free_after_compilation().
    KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk.  */
 
 void
@@ -4073,7 +4073,7 @@ cgraph_node::get_fun () const
   return fun;
 }
 
-/* Reset all state within cgraph.c so that we can rerun the compiler
+/* Reset all state within cgraph.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 0107051af63..a265107de58 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -504,7 +504,7 @@ public:
 	 declarations). In this case the assembler names compare via
 	 assembler_names_equal_p and weakref is false
        - aliases that are renamed at a time being output to final file
-	 by varasm.c. For those DECL_ASSEMBLER_NAME have
+	 by varasm.cc. For those DECL_ASSEMBLER_NAME have
 	 IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler
 	 name must be unique.
 	 Weakrefs belong to this category when we target assembler without
@@ -1106,7 +1106,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
   /* Release memory used to represent body of function.
      Use this only for functions that are released before being translated to
      target code (i.e. RTL).  Functions that are compiled to RTL and beyond
-     are free'd in final.c via free_after_compilation().  */
+     are free'd in final.cc via free_after_compilation().  */
   void release_body (bool keep_arguments = false);
 
   /* Return the DECL_STRUCT_FUNCTION of the function.  */
@@ -1415,7 +1415,7 @@ struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
 
   struct cgraph_rtl_info *rtl;
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   /* How to scale counts at materialization time; used to merge
      LTO units with different number of profile runs.  */
@@ -1883,7 +1883,7 @@ public:
   /* Return num_speculative_targets of this edge.  */
   int num_speculative_call_targets_p (void);
 
-  /* Expected number of executions: calculated in profile.c.  */
+  /* Expected number of executions: calculated in profile.cc.  */
   profile_count count;
   cgraph_node *caller;
   cgraph_node *callee;
@@ -2567,7 +2567,7 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-/* In cgraph.c  */
+/* In cgraph.cc  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
 cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
@@ -2578,7 +2578,7 @@ bool cgraph_function_possibly_inlined_p (tree);
 const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
 cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t);
 
-/* In cgraphunit.c  */
+/* In cgraphunit.cc  */
 void cgraphunit_c_finalize (void);
 int tp_first_run_node_cmp (const void *pa, const void *pb);
 
@@ -2591,7 +2591,7 @@ basic_block init_lowered_empty_function (tree, bool, profile_count);
 
 tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree,
 		   HOST_WIDE_INT);
-/* In cgraphclones.c  */
+/* In cgraphclones.cc  */
 
 tree clone_function_name_numbered (const char *name, const char *suffix);
 tree clone_function_name_numbered (tree decl, const char *suffix);
@@ -2608,18 +2608,18 @@ void tree_function_versioning (tree, tree, vec<ipa_replace_map *, va_gc> *,
 void dump_callgraph_transformation (const cgraph_node *original,
 				    const cgraph_node *clone,
 				    const char *suffix);
-/* In cgraphbuild.c  */
+/* In cgraphbuild.cc  */
 int compute_call_stmt_bb_frequency (tree, basic_block bb);
 void record_references_in_initializer (tree, bool);
 
-/* In ipa.c  */
+/* In ipa.cc  */
 void cgraph_build_static_cdtor (char which, tree body, int priority);
 bool ipa_discover_variable_flags (void);
 
-/* In varpool.c  */
+/* In varpool.cc  */
 tree ctor_for_folding (tree);
 
-/* In ipa-inline-analysis.c  */
+/* In ipa-inline-analysis.cc  */
 void initialize_inline_failed (struct cgraph_edge *);
 bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining);
 
diff --git a/gcc/cgraphclones.cc b/gcc/cgraphclones.cc
index 9967862a6c1..60da1e867c8 100644
--- a/gcc/cgraphclones.cc
+++ b/gcc/cgraphclones.cc
@@ -469,7 +469,7 @@ static GTY(()) hash_map<const char *, unsigned> *clone_fn_ids;
    each NAME) unspecified number.  If clone numbering is not needed
    then the two argument clone_function_name should be used instead.
    Should not be called directly except for by
-   lto-partition.c:privatize_symbol_name_1.  */
+   lto-partition.cc:privatize_symbol_name_1.  */
 
 tree
 clone_function_name_numbered (const char *name, const char *suffix)
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc
index 8404ac334e7..e043f9f12bc 100644
--- a/gcc/cgraphunit.cc
+++ b/gcc/cgraphunit.cc
@@ -2531,7 +2531,7 @@ symbol_table::finalize_compilation_unit (void)
   timevar_pop (TV_CGRAPH);
 }
 
-/* Reset all state within cgraphunit.c so that we can rerun the compiler
+/* Reset all state within cgraphunit.cc so that we can rerun the compiler
    within the same process.  For use by toplev::finalize.  */
 
 void
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 04ba0ddca72..98cacea0e58 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_COLLECT_UTILS_H
 #define GCC_COLLECT_UTILS_H
 
-/* Provided in collect-utils.c.  */
+/* Provided in collect-utils.cc.  */
 extern void notice (const char *, ...)
   __attribute__ ((format (printf, 1, 2)));
 extern void fatal_signal (int);
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a804fae7416..7efbca54ea2 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #ifndef GCC_COLLECT2_AIX_H
 #define GCC_COLLECT2_AIX_H
-/* collect2-aix.c requires mmap support.  It should otherwise be
+/* collect2-aix.cc requires mmap support.  It should otherwise be
    fairly portable.  */
 #if defined(CROSS_DIRECTORY_STRUCTURE) \
     && defined(TARGET_AIX_VERSION) \
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index dd5022fbe85..0185b9d9e82 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -739,7 +739,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
   else
     post_ld_pass (false); /* No LTO objects were found, no temp file.  */
 }
-/* Entry point for linker invoation.  Called from main in collect2.c.
+/* Entry point for linker invoation.  Called from main in collect2.cc.
    LD_ARGV is an array of arguments for the linker.  */
 
 static void
diff --git a/gcc/combine-stack-adj.cc b/gcc/combine-stack-adj.cc
index d360656eb73..e8ba2717063 100644
--- a/gcc/combine-stack-adj.cc
+++ b/gcc/combine-stack-adj.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
    targets that define PREFERRED_STACK_BOUNDARY more aligned than
    STACK_BOUNDARY (e.g. x86), or if not all registers can be pushed
    (e.g. x86 fp regs) which would ordinarily have to be implemented
-   as a sub/mov pair due to restrictions in calls.c.
+   as a sub/mov pair due to restrictions in calls.cc.
 
    Propagation stops when any of the insns that need adjusting are
    (a) no longer valid because we've exceeded their range, (b) a
diff --git a/gcc/combine.cc b/gcc/combine.cc
index fb4a27aa48b..2d406354735 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -1514,7 +1514,7 @@ setup_incoming_promotions (rtx_insn *first)
       uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
 
       /* The mode and signedness of the argument as it is actually passed,
-         see assign_parm_setup_reg in function.c.  */
+         see assign_parm_setup_reg in function.cc.  */
       mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
 				     TREE_TYPE (cfun->decl), 0);
 
@@ -5907,7 +5907,7 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
 	  return gen_int_mode (c, mode);
       }
 
-      /* Similarly to what we do in simplify-rtx.c, a truncate of a register
+      /* Similarly to what we do in simplify-rtx.cc, a truncate of a register
 	 whose value is a comparison can be replaced with a subreg if
 	 STORE_FLAG_VALUE permits.  */
       if (HWI_COMPUTABLE_MODE_P (mode)
@@ -13043,7 +13043,7 @@ count_rtxs (rtx x)
 \f
 /* Utility function for following routine.  Called when X is part of a value
    being stored into last_set_value.  Sets last_set_table_tick
-   for each register mentioned.  Similar to mention_regs in cse.c  */
+   for each register mentioned.  Similar to mention_regs in cse.cc  */
 
 static void
 update_table_tick (rtx x)
diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc
index 140e3e78d09..dfda5b8372a 100644
--- a/gcc/common/config/aarch64/aarch64-common.cc
+++ b/gcc/common/config/aarch64/aarch64-common.cc
@@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] =
    -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU.
    If either of -march or -mtune is given, they override their
    respective component of -mcpu.  This logic is implemented
-   in config/aarch64/aarch64.c:aarch64_override_options.  */
+   in config/aarch64/aarch64.cc:aarch64_override_options.  */
 
 bool
 aarch64_handle_option (struct gcc_options *opts,
diff --git a/gcc/common/config/arm/arm-common.cc b/gcc/common/config/arm/arm-common.cc
index e7e19400263..a9303414f83 100644
--- a/gcc/common/config/arm/arm-common.cc
+++ b/gcc/common/config/arm/arm-common.cc
@@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv)
   bitmap_and (fpubits, fpubits, target_isa);
 
   /* The logic below is essentially identical to that in
-     arm.c:arm_identify_fpu_from_isa(), but that only works in the main
+     arm.cc:arm_identify_fpu_from_isa(), but that only works in the main
      part of the compiler.  */
 
   /* If there are no FPU capability bits, we just pass -mfpu=softvfp.  */
diff --git a/gcc/common/config/avr/avr-common.cc b/gcc/common/config/avr/avr-common.cc
index bc61ac06154..f4e3f550b07 100644
--- a/gcc/common/config/avr/avr-common.cc
+++ b/gcc/common/config/avr/avr-common.cc
@@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] =
 
 /* Implement `TARGET_HANDLE_OPTION'.  */
 
-/* This is the same logic that driver-avr.c:avr_double_lib() applies
+/* This is the same logic that driver-avr.cc:avr_double_lib() applies
    during DRIVER_SELF_SPECS, but this time we complain about -mdouble=
    and -mlong-double= that are not provided by --with-double= resp.
    --with-long-double=  */
diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h
index e819ed00221..2d0646a68f8 100644
--- a/gcc/common/config/i386/i386-isas.h
+++ b/gcc/common/config/i386/i386-isas.h
@@ -27,9 +27,9 @@ struct _isa_names_table
   const char *const option;
 };
 
-/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and
+/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and
    gcc.target/i386/builtin_target.c.  isa_names_table is a static const
-   array in i386-builtins.c and driver-i386.c.  But it is a list of
+   array in i386-builtins.cc and driver-i386.cc.  But it is a list of
    assert statements in gcc.target/i386/builtin_target.c.  */
 
 #ifndef ISA_NAMES_TABLE_START
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 5e964c89f88..435d7ad64b3 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,4 +1,4 @@
-/* Definitions for condition code handling in final.c and output routines.
+/* Definitions for condition code handling in final.cc and output routines.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 89e0992fda5..73ad94ec75f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -330,7 +330,7 @@ aarch64*-*-*)
 	cxx_target_objs="aarch64-c.o"
 	d_target_objs="aarch64-d.o"
 	extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o aarch64-cc-fusion.o"
-	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.cc \$(srcdir)/config/aarch64/aarch64-sve-builtins.h \$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -360,7 +360,7 @@ arm*-*-*)
 	cxx_target_objs="arm-c.o"
 	d_target_objs="arm-d.o"
 	extra_options="${extra_options} arm/arm-tables.opt"
-	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
+	target_gtfiles="\$(srcdir)/config/arm/arm-builtins.cc \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc"
 	;;
 avr-*-*)
 	cpu_type=avr
@@ -393,7 +393,7 @@ i[34567]86-*-* | x86_64-*-*)
 	cxx_target_objs="i386-c.o"
 	d_target_objs="i386-d.o"
 	extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o"
-	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c \$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
+	target_gtfiles="\$(srcdir)/config/i386/i386-builtins.cc \$(srcdir)/config/i386/i386-expand.cc \$(srcdir)/config/i386/i386-options.cc"
 	extra_options="${extra_options} fused-madd.opt"
 	extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
 		       pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
@@ -500,8 +500,8 @@ powerpc*-*-*)
 		;;
 	esac
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	target_gtfiles="$target_gtfiles ./rs6000-builtins.h"
 	;;
 pru-*-*)
@@ -516,8 +516,8 @@ rs6000*-*-*)
 	extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
 	extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
 	extra_objs="${extra_objs} rs6000-call.o rs6000-pcrel-opt.o"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c \$(srcdir)/config/rs6000/rs6000-call.c"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.cc \$(srcdir)/config/rs6000/rs6000-call.cc"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-pcrel-opt.cc"
 	;;
 sparc*-*-*)
 	cpu_type=sparc
@@ -726,7 +726,7 @@ case ${target} in
   tm_defines="$tm_defines DEF_LD64=\\\"${def_ld64}\\\""
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.cc"
   extra_options="${extra_options} rpath.opt darwin.opt"
   c_target_objs="${c_target_objs} darwin-c.o"
   cxx_target_objs="${cxx_target_objs} darwin-c.o"
@@ -991,7 +991,7 @@ case ${target} in
   xmake_file=vms/x-vms
   tmake_file="vms/t-vms t-slibgcc"
   extra_objs="vms.o"
-  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
+  target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.cc"
   tm_p_file="${tm_p_file} vms/vms-protos.h"
   xm_file="vms/xm-vms.h"
   c_target_objs="vms-c.o"
@@ -1542,7 +1542,7 @@ bpf-*-*)
         extra_headers="bpf-helpers.h"
         use_gcc_stdint=provide
         extra_objs="coreout.o"
-        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.c"
+        target_gtfiles="$target_gtfiles \$(srcdir)/config/bpf/coreout.cc"
         ;;
 cr16-*-elf)
         tm_file="elfos.h ${tm_file} newlib-stdint.h"
@@ -1577,7 +1577,7 @@ csky-*-*)
 	fi
 	tm_file="csky/csky.h"
 	md_file="csky/csky.md"
-	out_file="csky/csky.c"
+	out_file="csky/csky.cc"
 	tm_p_file="${tm_p_file} csky/csky-protos.h"
 	extra_options="${extra_options} csky/csky_tables.opt"
 
@@ -2112,7 +2112,7 @@ i[34567]86-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2130,7 +2130,7 @@ x86_64-*-cygwin*)
 	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
 	xm_file=i386/xm-cygwin.h
 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
 	extra_objs="${extra_objs} winnt.o winnt-stubs.o"
 	c_target_objs="${c_target_objs} msformat-c.o"
@@ -2202,7 +2202,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 			;;
 	esac
         native_system_header_dir=/mingw/include
-	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+	target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
 	extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
 	case ${target} in
 		*-w64-*)
@@ -2294,7 +2294,7 @@ ia64-hp-*vms*)
 	;;
 iq2000*-*-elf*)
         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
-        out_file=iq2000/iq2000.c
+        out_file=iq2000/iq2000.cc
         md_file=iq2000/iq2000.md
         ;;
 lm32-*-elf*)
@@ -3168,7 +3168,7 @@ s390x-*-linux*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
 	;;
 s390x-ibm-tpf*)
@@ -3178,7 +3178,7 @@ s390x-ibm-tpf*)
 	cxx_target_objs="${cxx_target_objs} s390-c.o"
 	md_file=s390/s390.md
 	extra_modes=s390/s390-modes.def
-	out_file=s390/s390.c
+	out_file=s390/s390.cc
 	thread_file='tpf'
 	extra_options="${extra_options} s390/tpf.opt"
 	tmake_file="${tmake_file} s390/t-s390"
@@ -3532,7 +3532,7 @@ xstormy16-*-elf)
 	tm_p_file=stormy16/stormy16-protos.h
 	tm_d_file="elfos.h stormy16/stormy16.h"
 	md_file=stormy16/stormy16.md
-	out_file=stormy16/stormy16.c
+	out_file=stormy16/stormy16.cc
 	extra_options=stormy16/stormy16.opt
 	tmake_file="stormy16/t-stormy16"
 	;;
@@ -3622,9 +3622,9 @@ fi
 
 if [ "$common_out_file" = "" ]; then
   if [ "$target_has_targetm_common" = "yes" ]; then
-    common_out_file="$cpu_type/$cpu_type-common.c"
+    common_out_file="$cpu_type/$cpu_type-common.cc"
   else
-    common_out_file="default-common.c"
+    common_out_file="default-common.cc"
   fi
 fi
 
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index 58bcbd9875f..215de1c09c8 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -3177,7 +3177,7 @@ aarch64_resolve_overloaded_memtag (location_t loc,
   return NULL_TREE;
 }
 
-/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.c.  */
+/* Called at aarch64_resolve_overloaded_builtin in aarch64-c.cc.  */
 tree
 aarch64_resolve_overloaded_builtin_general (location_t loc, tree function,
 					    void *pass_params)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 7a8604bf52e..26368538a55 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1012,7 +1012,7 @@ extern bool aarch64_classify_address (struct aarch64_address_info *, rtx,
 				      machine_mode, bool,
 				      aarch64_addr_query_type = ADDR_QUERY_M);
 
-/* Defined in common/config/aarch64-common.c.  */
+/* Defined in common/config/aarch64-common.cc.  */
 bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
 			     const struct cl_decoded_option *, location_t);
 const char *aarch64_rewrite_selected_cpu (const char *name);
@@ -1022,7 +1022,7 @@ enum aarch64_parse_opt_result aarch64_parse_extension (const char *,
 void aarch64_get_all_extension_candidates (auto_vec<const char *> *candidates);
 std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
 
-/* Defined in aarch64-d.c  */
+/* Defined in aarch64-d.cc  */
 extern void aarch64_d_target_versions (void);
 extern void aarch64_d_register_target_info (void);
 
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index 6d8f2f0649f..3381726027d 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -1009,7 +1009,7 @@ function_builder::add_function (const function_instance &instance,
      consistent numbering scheme for function codes between the C and C++
      frontends, so that everything ties up in LTO.
 
-     Currently, tree-streamer-in.c:unpack_ts_function_decl_value_fields
+     Currently, tree-streamer-in.cc:unpack_ts_function_decl_value_fields
      validates that tree nodes returned by TARGET_BUILTIN_DECL are non-NULL and
      some node other than error_mark_node. This is a holdover from when builtin
      decls were streamed by code rather than by value.
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 5920b29880a..a88702dde5b 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -3622,7 +3622,7 @@ aarch64_regmode_natural_size (machine_mode mode)
      and similarly for predicates.  We can't independently modify
      anything smaller than that.  */
   /* ??? For now, only do this for variable-width SVE registers.
-     Doing it for constant-sized registers breaks lower-subreg.c.  */
+     Doing it for constant-sized registers breaks lower-subreg.cc.  */
   /* ??? And once that's fixed, we should probably have similar
      code for Advanced SIMD.  */
   if (!aarch64_sve_vg.is_constant ())
@@ -13909,7 +13909,7 @@ cost_plus:
     /* We can expand signed mod by power of 2 using a NEGS, two parallel
        ANDs and a CSNEG.  Assume here that CSNEG is the same as the cost of
        an unconditional negate.  This case should only ever be reached through
-       the set_smod_pow2_cheap check in expmed.c.  */
+       the set_smod_pow2_cheap check in expmed.cc.  */
       if (CONST_INT_P (XEXP (x, 1))
 	  && exact_log2 (INTVAL (XEXP (x, 1))) > 0
 	  && (mode == SImode || mode == DImode))
@@ -14699,7 +14699,7 @@ aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
 
 
 /* Implement TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD as
-   autopref_multipass_dfa_lookahead_guard from haifa-sched.c.  It only
+   autopref_multipass_dfa_lookahead_guard from haifa-sched.cc.  It only
    has an effect if PARAM_SCHED_AUTOPREF_QUEUE_DEPTH > 0.  */
 
 static int
@@ -18010,7 +18010,7 @@ aarch64_option_valid_attribute_p (tree fndecl, tree, tree args, int)
 
   /* If what we're processing is the current pragma string then the
      target option node is already stored in target_option_current_node
-     by aarch64_pragma_target_parse in aarch64-c.c.  Use that to avoid
+     by aarch64_pragma_target_parse in aarch64-c.cc.  Use that to avoid
      having to re-parse the string.  This is especially useful to keep
      arm_neon.h compile times down since that header contains a lot
      of intrinsics enclosed in pragmas.  */
@@ -19340,7 +19340,7 @@ aarch64_short_vector_p (const_tree type,
 
    Note that MODE itself is not sufficient in determining whether a type
    is such a composite type or not.  This is because
-   stor-layout.c:compute_record_mode may have already changed the MODE
+   stor-layout.cc:compute_record_mode may have already changed the MODE
    (BLKmode) of a RECORD_TYPE TYPE to some other mode.  For example, a
    structure with only one field may have its MODE set to the mode of the
    field.  Also an integer mode whose size matches the size of the
@@ -22205,7 +22205,7 @@ aarch64_float_const_representable_p (rtx x)
   gcc_assert (mantissa <= 15);
 
   /* GCC internally does not use IEEE754-like encoding (where normalized
-     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.c).
+     significands are in the range [1, 2).  GCC uses [0.5, 1) (see real.cc).
      Our mantissa values are shifted 4 places to the left relative to
      normalized IEEE754 so we must modify the exponent returned by REAL_EXP
      by 5 places to correct for GCC's representation.  */
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 52ecfca4da5..dddf133cc4a 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -636,7 +636,7 @@ extern unsigned aarch64_architecture_version;
 #define DBX_REGISTER_NUMBER(REGNO)	aarch64_dbx_register_number (REGNO)
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REGNO)	DBX_REGISTER_NUMBER (REGNO)
 
@@ -1293,12 +1293,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
 
 /* This type is the user-visible __fp16, and a pointer to that type.  We
-   need it in many places in the backend.  Defined in aarch64-builtins.c.  */
+   need it in many places in the backend.  Defined in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_fp16_type_node;
 extern GTY(()) tree aarch64_fp16_ptr_type_node;
 
 /* This type is the user-visible __bf16, and a pointer to that type.  Defined
-   in aarch64-builtins.c.  */
+   in aarch64-builtins.cc.  */
 extern GTY(()) tree aarch64_bf16_type_node;
 extern GTY(()) tree aarch64_bf16_ptr_type_node;
 
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.cc b/gcc/config/aarch64/cortex-a57-fma-steering.cc
index f7bb1eac473..2d96fc4b736 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.cc
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.cc
@@ -49,7 +49,7 @@
    of FMUL or FMADD/FMSUB.
 
    This pass ensure that registers are renamed so that these conditions hold.
-   We reuse the existing register renaming facility from regrename.c to build
+   We reuse the existing register renaming facility from regrename.cc to build
    dependency chains and expose candidate registers for renaming.
 
 
@@ -241,7 +241,7 @@ private:
 
 /* Rename the register HEAD->regno in all the insns in the chain HEAD to any
    register not in the set UNAVAILABLE.  Adapted from rename_chains in
-   regrename.c.  */
+   regrename.cc.  */
 
 static bool
 rename_single_chain (du_head_p head, HARD_REG_SET *unavailable)
diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc
index c27270d9c4d..8073a0786d9 100644
--- a/gcc/config/aarch64/driver-aarch64.cc
+++ b/gcc/config/aarch64/driver-aarch64.cc
@@ -228,7 +228,7 @@ contains_core_p (unsigned *arr, unsigned core)
   return false;
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index efa9e25ac12..75b463d2f03 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -34,7 +34,7 @@ s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \
 		$(srcdir)/config/aarch64/aarch64-tune.md
 	$(STAMP) s-aarch64-tune-md
 
-aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
+aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -42,7 +42,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \
   $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \
   aarch64-builtin-iterators.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-builtins.c
+		$(srcdir)/config/aarch64/aarch64-builtins.cc
 
 aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
   $(srcdir)/config/aarch64/aarch64-sve-builtins.def \
@@ -104,30 +104,30 @@ aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \
 		$(srcdir)/config/aarch64/iterators.md > \
 		aarch64-builtin-iterators.h
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \
+aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-c.c
+		$(srcdir)/config/aarch64/aarch64-c.cc
 
-aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
+aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
 
-cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+		$(srcdir)/config/aarch64/cortex-a57-fma-steering.cc
 
 aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
     $(CONFIG_H) \
@@ -140,23 +140,23 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
 	  $(srcdir)/config/aarch64/aarch64-speculation.cc
 
 falkor-tag-collision-avoidance.o: \
-    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \
+    $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c
+		$(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc
 
-aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
+aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \
     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
     $(CONTEXT_H) $(TREE_PASS_H) regrename.h \
     $(srcdir)/config/aarch64/aarch64-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/aarch64/aarch64-bti-insert.c
+		$(srcdir)/config/aarch64/aarch64-bti-insert.cc
 
 aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
     $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \
diff --git a/gcc/config/aarch64/x-aarch64 b/gcc/config/aarch64/x-aarch64
index 8c09e042a5d..3cf701a0a01 100644
--- a/gcc/config/aarch64/x-aarch64
+++ b/gcc/config/aarch64/x-aarch64
@@ -1,3 +1,3 @@
-driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.c \
+driver-aarch64.o: $(srcdir)/config/aarch64/driver-aarch64.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin
index 6d788d5e89c..1e0bad2648a 100644
--- a/gcc/config/aarch64/x-darwin
+++ b/gcc/config/aarch64/x-darwin
@@ -1,3 +1,3 @@
-host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 7d8f2f0376a..0c832bf039c 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for alpha.c functions used in the md file & elsewhere.
+/* Prototypes for alpha.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 252f823e145..3db53374c9e 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -702,7 +702,7 @@ alpha_scalar_mode_supported_p (scalar_mode mode)
     case E_HImode:
     case E_SImode:
     case E_DImode:
-    case E_TImode: /* via optabs.c */
+    case E_TImode: /* via optabs.cc */
       return true;
 
     case E_SFmode:
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index e6a9a09042d..c01353a3bf2 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -203,7 +203,7 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 #define	WCHAR_TYPE "unsigned int"
@@ -636,7 +636,7 @@ enum reg_class {
 
 /* Provide a definition of DWARF_FRAME_REGNUM here so that fallback unwinders
    can use DWARF_ALT_FRAME_RETURN_COLUMN defined below.  This is just the same
-   as the default definition in dwarf2out.c.  */
+   as the default definition in dwarf2out.cc.  */
 #undef DWARF_FRAME_REGNUM
 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
 
@@ -661,7 +661,7 @@ enum reg_class {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 0
@@ -723,7 +723,7 @@ enum reg_class {
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_L,WIN)		     \
 do {									     \
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 19fa34283e7..87514330c22 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4667,7 +4667,7 @@
   DONE;
 })
 
-;; Block move/clear, see alpha.c for more details.
+;; Block move/clear, see alpha.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -4920,7 +4920,7 @@
 ;; an lda/ldah pair and we want to align them properly.  So we have two
 ;; unspec_volatile insns, the first of which emits the ldgp assembler macro
 ;; and the second of which emits nothing.  However, both are marked as type
-;; IADD (the default) so the alignment code in alpha.c does the right thing
+;; IADD (the default) so the alignment code in alpha.cc does the right thing
 ;; with them.
 
 (define_expand "prologue_ldgp"
diff --git a/gcc/config/alpha/driver-alpha.cc b/gcc/config/alpha/driver-alpha.cc
index 2868e549852..fe17f86b5ea 100644
--- a/gcc/config/alpha/driver-alpha.cc
+++ b/gcc/config/alpha/driver-alpha.cc
@@ -41,7 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #define AMASK_LOCKPFTCHOK  0x1000       /* Safe to prefetch lock cache
 					   block.  */
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/alpha/x-alpha b/gcc/config/alpha/x-alpha
index 2b22e5e3253..60fa4a1f74a 100644
--- a/gcc/config/alpha/x-alpha
+++ b/gcc/config/alpha/x-alpha
@@ -1,3 +1,3 @@
-driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.c
+driver-alpha.o: $(srcdir)/config/alpha/driver-alpha.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index edad053e87b..db542f04ae5 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -97,7 +97,7 @@ extern bool arc_text_label (rtx_insn *insn);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
-/* insn-attrtab.c doesn't include reload.h, which declares regno_clobbered_p. */
+/* insn-attrtab.cc doesn't include reload.h, which declares regno_clobbered_p. */
 extern int regno_clobbered_p (unsigned int, rtx_insn *, machine_mode, int);
 extern bool arc_legitimize_reload_address (rtx *, machine_mode, int, int);
 extern void arc_secondary_reload_conv (rtx, rtx, rtx, bool);
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 6de364e9ce0..df3bc3a5c68 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -1391,7 +1391,7 @@ arc_override_options (void)
 #undef ARC_OPT
 
   /* Set cpu flags accordingly to architecture/selected cpu.  The cpu
-     specific flags are set in arc-common.c.  The architecture forces
+     specific flags are set in arc-common.cc.  The architecture forces
      the default hardware configurations in, regardless what command
      line options are saying.  The CPU optional hw options can be
      turned on or off.  */
@@ -4473,7 +4473,7 @@ static int output_sdata = 0;
 /* Print operand X (an rtx) in assembler syntax to file FILE.
    CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
    For `%' followed by punctuation, CODE is the punctuation and X is null.  */
-/* In final.c:output_asm_insn:
+/* In final.cc:output_asm_insn:
     'l' : label
     'a' : address
     'c' : constant address if CONSTANT_ADDRESS_P
@@ -5456,7 +5456,7 @@ arc_ccfsm_advance (rtx_insn *insn, struct arc_ccfsm *state)
 	}
 
       /* Restore recog_operand.  Getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call; since the insn has been recognized already we
 	 call insn_extract direct.  */
       extract_insn_cached (insn);
@@ -6543,7 +6543,7 @@ arc_arg_partial_bytes (cumulative_args_t cum_v, const function_arg_info &arg)
   arg_num = ROUND_ADVANCE_CUM (arg_num, arg.mode, arg.type);
   ret = GPR_REST_ARG_REGS (arg_num);
 
-  /* ICEd at function.c:2361, and ret is copied to data->partial */
+  /* ICEd at function.cc:2361, and ret is copied to data->partial */
     ret = (ret >= words ? 0 : ret * UNITS_PER_WORD);
 
   return ret;
@@ -9518,12 +9518,12 @@ conditionalize_nonjump (rtx pat, rtx cond, rtx insn, bool annulled)
 	}
     }
 
-  /* dwarf2out.c:dwarf2out_frame_debug_expr doesn't know
+  /* dwarf2out.cc:dwarf2out_frame_debug_expr doesn't know
      what to do with COND_EXEC.  */
   if (RTX_FRAME_RELATED_P (insn))
     {
       /* If this is the delay slot insn of an anulled branch,
-	 dwarf2out.c:scan_trace understands the anulling semantics
+	 dwarf2out.cc:scan_trace understands the anulling semantics
 	 without the COND_EXEC.  */
       gcc_assert (annulled);
       rtx note = alloc_reg_note (REG_FRAME_RELATED_EXPR, pat,
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 98510ee8b29..d4e22a4b2d9 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -4042,7 +4042,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
    (set_attr_alternative "length"
      [(cond
 	[(eq_attr "iscompact" "false") (const_int 4)
-	; We have to mention (match_dup 3) to convince genattrtab.c that this
+	; We have to mention (match_dup 3) to convince genattrtab.cc that this
 	; is a varying length insn.
 	 (eq (symbol_ref "1+1") (const_int 2)) (const_int 2)
 	 (gt (minus (match_dup 3) (pc)) (const_int 42)) (const_int 4)]
@@ -4663,7 +4663,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
       return \"trap_s %0\";
     }
 
-  /* Keep this message in sync with the one in arc.c:arc_expand_builtin,
+  /* Keep this message in sync with the one in arc.cc:arc_expand_builtin,
      because *.md files do not get scanned by exgettext.  */
   fatal_error (input_location,
 	       \"operand to trap_s should be an unsigned 6-bit value\");
@@ -4844,7 +4844,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
   "arc_can_use_return_insn ()"
   "")
 
- ;; Comment in final.c (insn_current_reference_address) says
+ ;; Comment in final.cc (insn_current_reference_address) says
  ;; forward branch addresses are calculated from the next insn after branch
  ;; and for backward branches, it is calculated from the branch insn start.
  ;; The shortening logic here is tuned to accomodate this behavior
@@ -5223,7 +5223,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 ;; subdf alternative that matches a zero operand 1, which then can allow
 ;; to use bxor to flip the high bit of an integer register.
 ;; ??? we actually can't use the floating point hardware for neg, because
-;; this would not work right for -0.  OTOH optabs.c has already code
+;; this would not work right for -0.  OTOH optabs.cc has already code
 ;; to synthesyze negate by flipping the sign bit.
 
 ;;V2 instructions
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
index 4604633d0d8..06d30e49a93 100644
--- a/gcc/config/arc/builtins.def
+++ b/gcc/config/arc/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_arc_name' will be the user-level name of the builtin.
             `ARC_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+            set to -1 and handle it by hand, see arc.cc:arc_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in arc.c
+   ICODE:   Name of attached insn or expander.  If special treatment in arc.cc
             is needed to expand the built-in, use `nothing'.
    MASK:    CPU selector mask.  */
 
diff --git a/gcc/config/arc/t-arc b/gcc/config/arc/t-arc
index 9f95c7a66e3..9af2d2f3910 100644
--- a/gcc/config/arc/t-arc
+++ b/gcc/config/arc/t-arc
@@ -19,14 +19,14 @@
 
 TM_H += $(srcdir)/config/arc/arc-c.def
 
-driver-arc.o: $(srcdir)/config/arc/driver-arc.c \
+driver-arc.o: $(srcdir)/config/arc/driver-arc.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-arc-c.o: $(srcdir)/config/arc/arc-c.c $(CONFIG_H) $(SYSTEM_H) \
+arc-c.o: $(srcdir)/config/arc/arc-c.cc $(CONFIG_H) $(SYSTEM_H) \
 $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arc/arc-c.c
+		$(srcdir)/config/arc/arc-c.cc
 
 #Run `arc-cpus` if you changed something in arc-cpus.def
 
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index 5d5697f530b..a8697b8c62f 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -162,7 +162,7 @@ arm_resolve_overloaded_builtin (location_t loc, tree fndecl, void *arglist)
 }
 
 /* Output C specific EABI object attributes.  These cannot be done in
-   arm.c because they require information from the C frontend.  */
+   arm.cc because they require information from the C frontend.  */
 
 static void
 arm_output_c_attributes (void)
@@ -486,7 +486,7 @@ arm_pragma_target_parse (tree args, tree pop_target)
 }
 
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in arm.c since it will pull in various preprocessor
+   option here rather than in arm.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index fb365ac5268..cd55a9f6ca5 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in arm.c and pe.c
+/* Prototypes for exported functions defined in arm.cc and pe.c
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rearnsha@arm.com)
    Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -391,15 +391,15 @@ extern void arm_emit_eabi_attribute (const char *, int, int);
 extern void arm_reset_previous_fndecl (void);
 extern void save_restore_target_globals (tree);
 
-/* Defined in gcc/common/config/arm-common.c.  */
+/* Defined in gcc/common/config/arm-common.cc.  */
 extern const char *arm_rewrite_selected_cpu (const char *name);
 
-/* Defined in gcc/common/config/arm-c.c.  */
+/* Defined in gcc/common/config/arm-c.cc.  */
 extern void arm_lang_object_attributes_init (void);
 extern void arm_register_target_pragmas (void);
 extern void arm_cpu_cpp_builtins (struct cpp_reader *);
 
-/* Defined in arm-d.c  */
+/* Defined in arm-d.cc  */
 extern void arm_d_target_versions (void);
 extern void arm_d_register_target_info (void);
 
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index bb75921f32d..f21df8f16d0 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -12643,7 +12643,7 @@ vfp3_const_double_index (rtx x)
   /* The value of 5 here would be 4 if GCC used IEEE754-like encoding (where
      normalized significands are in the range [1, 2). (Our mantissa is shifted
      left 4 places at this point relative to normalized IEEE754 values).  GCC
-     internally uses [0.5, 1) (see real.c), so the exponent returned from
+     internally uses [0.5, 1) (see real.cc), so the exponent returned from
      REAL_EXP must be altered.  */
   exponent = 5 - exponent;
 
@@ -20801,7 +20801,7 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
    is) or not (and must be printed with an octal escape) must be made
    with reference to the *host* character set -- the situation is
    similar to that discussed in the comments above pp_c_char in
-   c-pretty-print.c.  */
+   c-pretty-print.cc.  */
 
 #define MAX_ASCII_LEN 51
 
@@ -24969,7 +24969,7 @@ thumb2_final_prescan_insn (rtx_insn *insn)
 	break;
     }
   /* Restore recog_data (getting the attributes of other insns can
-     destroy this array, but final.c assumes that it remains intact
+     destroy this array, but final.cc assumes that it remains intact
      across this call).  */
   extract_constrain_insn_cached (first_insn);
 }
@@ -25258,7 +25258,7 @@ arm_final_prescan_insn (rtx_insn *insn)
 	}
 
       /* Restore recog_data (getting the attributes of other insns can
-	 destroy this array, but final.c assumes that it remains intact
+	 destroy this array, but final.cc assumes that it remains intact
 	 across this call.  */
       extract_constrain_insn_cached (insn);
     }
@@ -28039,7 +28039,7 @@ arm_asm_output_labelref (FILE *stream, const char *name)
    the tag name in a comment so that anyone reading the assembler output
    will know which tag is being set.
 
-   This function is not static because arm-c.c needs it too.  */
+   This function is not static because arm-c.cc needs it too.  */
 
 void
 arm_emit_eabi_attribute (const char *name, int num, int val)
@@ -29326,7 +29326,7 @@ arm_small_register_classes_for_mode_p (machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Implement TARGET_SHIFT_TRUNCATION_MASK.  SImode shifts use normal
    ARM insns and therefore guarantee that the shift count is modulo 256.
-   DImode shifts (those implemented by lib1funcs.S or by optabs.c)
+   DImode shifts (those implemented by lib1funcs.S or by optabs.cc)
    guarantee no particular behavior for out-of-range counts.  */
 
 static unsigned HOST_WIDE_INT
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index dacce2b7f08..f52724d01ad 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -79,11 +79,11 @@ extern GTY(()) rtx arm_target_insn;
 extern void (*arm_lang_output_object_attributes_hook)(void);
 
 /* This type is the user-visible __fp16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_fp16_type_node;
 
 /* This type is the user-visible __bf16.  We need it in a few places in
-   the backend.  Defined in arm-builtins.c.  */
+   the backend.  Defined in arm-builtins.cc.  */
 extern tree arm_bf16_type_node;
 extern tree arm_bf16_ptr_type_node;
 
@@ -1715,7 +1715,7 @@ typedef struct
 		bl	mcount
 		.word	LP1
 
-   profile_function() in final.c outputs the .data section, FUNCTION_PROFILER
+   profile_function() in final.cc outputs the .data section, FUNCTION_PROFILER
    will output the .text section.
 
    The ``mov ip,lr'' seems like a good idea to stick with cc convention.
@@ -2228,7 +2228,7 @@ extern int making_const_table;
    that ASM_OUTPUT_REG_PUSH will be matched with ASM_OUTPUT_REG_POP, and
    that r7 isn't used by the function profiler, so we can use it as a
    scratch reg.  WARNING: This isn't safe in the general case!  It may be
-   sensitive to future changes in final.c:profile_function.  */
+   sensitive to future changes in final.cc:profile_function.  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO)		\
   do							\
     {							\
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8a3ee0650f7..90756fbfa3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6553,7 +6553,7 @@
 ;; This pattern will be split into one of the pic_load_addr_* patterns
 ;; and a move after GCSE optimizations.
 ;;
-;; Note: Update arm.c: legitimize_pic_address() when changing this pattern.
+;; Note: Update arm.cc: legitimize_pic_address() when changing this pattern.
 (define_expand "calculate_pic_address"
   [(set (match_operand:SI 0 "register_operand")
 	(mem:SI (plus:SI (match_operand:SI 1 "register_operand")
diff --git a/gcc/config/arm/driver-arm.cc b/gcc/config/arm/driver-arm.cc
index f49e3a3054e..b10c1fef378 100644
--- a/gcc/config/arm/driver-arm.cc
+++ b/gcc/config/arm/driver-arm.cc
@@ -40,7 +40,7 @@ struct vendor
 
 #include "arm-native.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch", "cpu" or "tune" as argument depending on if
    -march=native, -mcpu=native or -mtune=native is to be substituted.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index e0015247de9..7df39170180 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -22,7 +22,7 @@
    "__builtin").  Symbian OS code relies on properties of the standard
    library that go beyond those guaranteed by the ANSI/ISO standard.
    For example, "memcpy" works even with overlapping memory, like
-   "memmove".  We cannot simply set flag_no_builtin in arm.c because
+   "memmove".  We cannot simply set flag_no_builtin in arm.cc because
    (a) flag_no_builtin is not declared in language-independent code,
    and (b) that would prevent users from explicitly overriding the
    default with -fbuiltin, which may sometimes be useful.
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index 7133b43c7a9..041cc6ec045 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -121,12 +121,12 @@ s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
 	$(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
 	$(STAMP) s-arm-native
 
-aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/aarch-common.c
+		$(srcdir)/config/arm/aarch-common.cc
 
-arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
@@ -140,7 +140,7 @@ arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(srcdir)/config/arm/arm_vfp_builtins.def \
   $(srcdir)/config/arm/arm_mve_builtins.def
 
-arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
+arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
@@ -151,7 +151,7 @@ arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
   $(srcdir)/config/arm/arm_mve_builtins.def \
   $(srcdir)/config/arm/arm-simd-builtin-types.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-builtins.c
+		$(srcdir)/config/arm/arm-builtins.cc
 
 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
@@ -163,12 +163,12 @@ arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/arm/arm-mve-builtins.cc
 
-arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
+arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/arm/arm-c.c
+		$(srcdir)/config/arm/arm-c.cc
 
-arm-d.o: $(srcdir)/config/arm/arm-d.c
+arm-d.o: $(srcdir)/config/arm/arm-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3bcb7fa5385..30b8fb9ad29 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -57,7 +57,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic additions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn_and_split "*thumb1_addsi3"
   [(set (match_operand:SI          0 "register_operand" "=l,l,l,*rk,*hk,l,k,l,l,l")
@@ -137,7 +137,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic subtractions in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "thumb1_subsi3_insn"
   [(set (match_operand:SI           0 "register_operand" "=l")
@@ -183,7 +183,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic bitwise ANDs and NANDs in sync.md and to the logic for bind_old_new
-;; in arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; in arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_andsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -241,7 +241,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic inclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_iorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
@@ -255,7 +255,7 @@
 
 ;; Changes to the constraints of this pattern must be propagated to those of
 ;; atomic exclusive ORs in sync.md and to the logic for bind_old_new in
-;; arm_split_atomic_op in arm.c.  These must be at least as strict as the
+;; arm_split_atomic_op in arm.cc.  These must be at least as strict as the
 ;; constraints here and aim to be as permissive.
 (define_insn "*thumb1_xorsi3_insn"
   [(set (match_operand:SI         0 "register_operand" "=l")
diff --git a/gcc/config/arm/x-arm b/gcc/config/arm/x-arm
index 51cff1ed48b..0fc9381250d 100644
--- a/gcc/config/arm/x-arm
+++ b/gcc/config/arm/x-arm
@@ -1,3 +1,3 @@
-driver-arm.o: $(srcdir)/config/arm/driver-arm.c \
+driver-arm.o: $(srcdir)/config/arm/driver-arm.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/avr/avr-c.cc b/gcc/config/avr/avr-c.cc
index 4f0273af866..00daa2e82dc 100644
--- a/gcc/config/avr/avr-c.cc
+++ b/gcc/config/avr/avr-c.cc
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Not included in avr.c since this requires C front end.  */
+/* Not included in avr.cc since this requires C front end.  */
 
 #define IN_TARGET_CODE 1
 
@@ -254,7 +254,7 @@ avr_register_target_pragmas (void)
   gcc_assert (ADDR_SPACE_GENERIC == ADDR_SPACE_RAM);
 
   /* Register address spaces.  The order must be the same as in the respective
-     enum from avr.h (or designated initializers must be used in avr.c).
+     enum from avr.h (or designated initializers must be used in avr.cc).
      We always register all address spaces even if some of them make no
      sense for some targets.  Diagnose for non-supported spaces will be
      emit by TARGET_ADDR_SPACE_DIAGNOSE_USAGE.  */
@@ -457,7 +457,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 #if defined (WITH_DOUBLE_COMPARISON)
 #if WITH_DOUBLE_COMPARISON == 2 || WITH_DOUBLE_COMPARISON == 3
   /* The number of states a DFmode comparison libcall might take and
-     reflects what avr.c:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
+     reflects what avr.cc:FLOAT_LIB_COMPARE_RETURNS_BOOL returns for
      DFmode.  GCC's default is 3-state, but some libraries like LibF7
      implement true / false (2-state).  */
   cpp_define_formatted (pfile, "__WITH_DOUBLE_COMPARISON__=%d",
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index 00c85bb0124..542d92e1c13 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -170,7 +170,7 @@
 ;** Saturated Negation and Absolute Value
 ;******************************************************************************
 
-;; Fixme: This will always result in 0.  Dunno why simplify-rtx.c says
+;; Fixme: This will always result in 0.  Dunno why simplify-rtx.cc says
 ;;   "unknown" on how to optimize this.  libgcc call would be in order,
 ;;   but the performance is *PLAIN* *HORROR* because the optimizers don't
 ;;   manage to optimize out MEMCPY that's sprincled all over fixed-bit.c  */
diff --git a/gcc/config/avr/avr-log.cc b/gcc/config/avr/avr-log.cc
index 19983cbcb7e..4c2e92aa65b 100644
--- a/gcc/config/avr/avr-log.cc
+++ b/gcc/config/avr/avr-log.cc
@@ -273,7 +273,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
 }
 
 
-/* Called from avr.c:avr_option_override().
+/* Called from avr.cc:avr_option_override().
    Parse argument of -mlog= and set respective fields in avr_log.  */
 
 void
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 489f42cacf5..1e12ab30170 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -40,7 +40,7 @@
    where the arguments are the fields of avr_mcu_t:
    
 	NAME	Name of the device as specified by -mmcu=<NAME>.  Also
-		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for
+		used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.cc for
 		- the name of the device specific specs file
 		  in -specs=device-specs/spec-<NAME>
 		- the name of the startup file crt<NAME>.o
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index 992f8c88e3e..0e7117300b0 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -20,7 +20,7 @@ FRACTIONAL_INT_MODE (PSI, 24, 3);
 
 /* Make TA and UTA 64 bits wide.
    128 bit wide modes would be insane on a 8-bit machine.
-   This needs special treatment in avr.c and avr-lib.h.  */
+   This needs special treatment in avr.cc and avr-lib.h.  */
 
 ADJUST_BYTESIZE  (TA, 8);
 ADJUST_ALIGNMENT (TA, 1);
diff --git a/gcc/config/avr/avr-passes.def b/gcc/config/avr/avr-passes.def
index 066d9703e7d..d8630151090 100644
--- a/gcc/config/avr/avr-passes.def
+++ b/gcc/config/avr/avr-passes.def
@@ -24,7 +24,7 @@
 INSERT_PASS_BEFORE (pass_thread_prologue_and_epilogue, 1, avr_pass_pre_proep);
 
 /* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
-   notes which are used by `avr.c::reg_unused_after' and branch offset
+   notes which are used by `avr.cc::reg_unused_after' and branch offset
    computations.  These notes must be correct, i.e. there must be no
    dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
 
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 1ffd2f43861..6023b33bcfe 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in avr.c
+/* Prototypes for exported functions defined in avr.cc
    
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
@@ -161,7 +161,7 @@ extern rtl_opt_pass *make_avr_pass_pre_proep (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_recompute_notes (gcc::context *);
 extern rtl_opt_pass *make_avr_pass_casesi (gcc::context *);
 
-/* From avr-log.c */
+/* From avr-log.cc */
 
 #define avr_dump(...) avr_vdump (NULL, __FUNCTION__, __VA_ARGS__)
 #define avr_edump(...) avr_vdump (stderr, __FUNCTION__, __VA_ARGS__)
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 62973927fdc..9eec991e10a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for ATMEL AVR micro controllers
+/* Subroutines for insn-output.cc for ATMEL AVR micro controllers
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Contributed by Denis Chertykov (chertykov@gmail.com)
 
@@ -734,7 +734,7 @@ avr_set_core_architecture (void)
 static void
 avr_option_override (void)
 {
-  /* caller-save.c looks for call-clobbered hard registers that are assigned
+  /* caller-save.cc looks for call-clobbered hard registers that are assigned
      to pseudos that cross calls and tries so save-restore them around calls
      in order to reduce the number of stack slots needed.
 
@@ -746,7 +746,7 @@ avr_option_override (void)
     flag_caller_saves = 0;
 
   /* Unwind tables currently require a frame pointer for correctness,
-     see toplev.c:process_options().  */
+     see toplev.cc:process_options().  */
 
   if ((flag_unwind_tables
        || flag_non_call_exceptions
@@ -772,7 +772,7 @@ avr_option_override (void)
   if (!avr_set_core_architecture())
     return;
 
-  /* Sould be set by avr-common.c */
+  /* Sould be set by avr-common.cc */
   gcc_assert (avr_long_double >= avr_double && avr_double >= 32);
 
   /* RAM addresses of some SFRs common to all devices in respective arch. */
@@ -1284,8 +1284,8 @@ avr_build_builtin_va_list (void)
      which is auto-generated by genmodes, but the compiler assigns [U]DAmode
      to the long long accum modes instead of the desired [U]TAmode.
 
-     Fix this now, right after node setup in tree.c:build_common_tree_nodes().
-     This must run before c-cppbuiltin.c:builtin_define_fixed_point_constants()
+     Fix this now, right after node setup in tree.cc:build_common_tree_nodes().
+     This must run before c-cppbuiltin.cc:builtin_define_fixed_point_constants()
      which built-in defines macros like __ULLACCUM_FBIT__ that are used by
      libgcc to detect IBIT and FBIT.  */
 
@@ -2324,7 +2324,7 @@ avr_mode_dependent_address_p (const_rtx addr ATTRIBUTE_UNUSED, addr_space_t as)
   /* FIXME:  Non-generic addresses are not mode-dependent in themselves.
        This hook just serves to hack around PR rtl-optimization/52543 by
        claiming that non-generic addresses were mode-dependent so that
-       lower-subreg.c will skip these addresses.  lower-subreg.c sets up fake
+       lower-subreg.cc will skip these addresses.  lower-subreg.cc sets up fake
        RTXes to probe SET and MEM costs and assumes that MEM is always in the
        generic address space which is not true.  */
 
@@ -3284,7 +3284,7 @@ avr_function_arg_advance (cumulative_args_t cum_v,
       && !call_used_or_fixed_reg_p (cum->regno))
     {
       /* FIXME: We ship info on failing tail-call in struct machine_function.
-         This uses internals of calls.c:expand_call() and the way args_so_far
+         This uses internals of calls.cc:expand_call() and the way args_so_far
          is used.  targetm.function_ok_for_sibcall() needs to be extended to
          pass &args_so_far, too.  At present, CUMULATIVE_ARGS is target
          dependent so that such an extension is not wanted.  */
@@ -10049,7 +10049,7 @@ avr_asm_output_aligned_decl_common (FILE * stream,
       return;
     }
 
-  /* __gnu_lto_slim is just a marker for the linker injected by toplev.c.
+  /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc.
      There is no need to trigger __do_clear_bss code for them.  */
 
   if (!startswith (name, "__gnu_lto"))
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index c132bda0d38..1b948c6130c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -321,7 +321,7 @@ enum reg_class {
 
 #define RETURN_ADDR_RTX(count, tem) avr_return_addr_rtx (count, tem)
 
-/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+/* Don't use Push rounding. expr.cc: emit_single_push_insn is broken 
    for POST_DEC targets (PR27386).  */
 /*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
@@ -399,7 +399,7 @@ typedef struct avr_args
 #define SUPPORTS_INIT_PRIORITY 0
 
 /* We pretend jump tables are in text section because otherwise,
-   final.c will switch to .rodata before jump tables and thereby
+   final.cc will switch to .rodata before jump tables and thereby
    triggers __do_copy_data.  As we implement ASM_OUTPUT_ADDR_VEC,
    we still have full control over the jump tables themselves.  */
 #define JUMP_TABLES_IN_TEXT_SECTION 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 30cf705b7cb..efae7efb69b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -148,7 +148,7 @@
                        (const_int 2))]
         (const_int 2)))
 
-;; Lengths of several insns are adjusted in avr.c:adjust_insn_length().
+;; Lengths of several insns are adjusted in avr.cc:adjust_insn_length().
 ;; Following insn attribute tells if and how the adjustment has to be
 ;; done:
 ;;     no     No adjustment needed; attribute "length" is fine.
@@ -328,7 +328,7 @@
 ;; This avoids creating add/sub offsets in frame_pointer save/resore.
 ;; The 'null' receiver also avoids  problems with optimisation
 ;; not recognising incoming jmp and removing code that resets frame_pointer.
-;; The code derived from builtins.c.
+;; The code derived from builtins.cc.
 
 (define_expand "nonlocal_goto_receiver"
   [(set (reg:HI REG_Y)
@@ -346,7 +346,7 @@
 
 
 ;; Defining nonlocal_goto_receiver means we must also define this
-;; even though its function is identical to that in builtins.c
+;; even though its function is identical to that in builtins.cc
 
 (define_expand "nonlocal_goto"
   [(use (match_operand 0 "general_operand"))
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 3bb29f6cfe2..8ed70c45d18 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -25,9 +25,9 @@
    NAME:    `__builtin_avr_name' will be the user-level name of the builtin.
             `AVR_BUILTIN_NAME' will be the internal builtin's id.
    N_ARGS:  Number of input arguments.  If special treatment is needed,
-            set to -1 and handle it by hand, see avr.c:avr_expand_builtin().
+            set to -1 and handle it by hand, see avr.cc:avr_expand_builtin().
    TYPE:    A tree node describing the prototype of the built-in.
-   ICODE:   Name of attached insn or expander.  If special treatment in avr.c
+   ICODE:   Name of attached insn or expander.  If special treatment in avr.cc
             is needed to expand the built-in, use `nothing'.
    LIBNAME: Name of the attached implementation in libgcc which is used if
             the builtin cannot be folded away and there is no insn.  */
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.cc b/gcc/config/avr/gen-avr-mmcu-specs.cc
index 6e48cb952d0..bf9aa2c46e2 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.cc
+++ b/gcc/config/avr/gen-avr-mmcu-specs.cc
@@ -27,7 +27,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 // Get rid of "defaults.h".  We just need tm.h for `WITH_AVRLIBC' and
 // and `WITH_RTEMS'.  */
@@ -53,8 +53,8 @@
 
 static const char header[] =
   "#\n"
-  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.c\n"
-  "# Generated from : ./gcc/config/gcc.c\n"
+  "# Generated by   : ./gcc/config/avr/gen-avr-mmcu-specs.cc\n"
+  "# Generated from : ./gcc/config/gcc.cc\n"
   "#                  ./gcc/config/avr/specs.h\n"
 #if defined (WITH_AVRLIBC)
   "#                  ./gcc/config/avr/avrlibc.h\n"
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.cc b/gcc/config/avr/gen-avr-mmcu-texi.cc
index 05b81dd3cb5..d9c3a30877d 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.cc
+++ b/gcc/config/avr/gen-avr-mmcu-texi.cc
@@ -23,7 +23,7 @@
 
 #define IN_GEN_AVR_MMCU_TEXI
 
-#include "avr-devices.c"
+#include "avr-devices.cc"
 
 static const avr_mcu_t*
 mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]];
@@ -166,9 +166,9 @@ int main (void)
 	  "gcc/doc/include/fdl.texi.\n\n");
 
   printf ("@c This file is generated automatically using\n");
-  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n");
+  printf ("@c gcc/config/avr/gen-avr-mmcu-texi.cc from:\n");
   printf ("@c	 gcc/config/avr/avr-arch.h\n");
-  printf ("@c	 gcc/config/avr/avr-devices.c\n");
+  printf ("@c	 gcc/config/avr/avr-devices.cc\n");
   printf ("@c	 gcc/config/avr/avr-mcus.def\n\n");
 
   printf ("@c Please do not edit manually.\n\n");
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 17540fc39fc..82f58dc6768 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -40,22 +40,22 @@ endif
 
 PASSES_EXTRA += $(srcdir)/config/avr/avr-passes.def
 
-driver-avr.o: $(srcdir)/config/avr/driver-avr.c \
+driver-avr.o: $(srcdir)/config/avr/driver-avr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-devices.o: $(srcdir)/config/avr/avr-devices.c \
+avr-devices.o: $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-mcus.def \
   $(srcdir)/config/avr/avr-arch.h \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-c.o: $(srcdir)/config/avr/avr-c.c \
+avr-c.o: $(srcdir)/config/avr/avr-c.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-avr-log.o: $(srcdir)/config/avr/avr-log.c \
+avr-log.o: $(srcdir)/config/avr/avr-log.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(INPUT_H) dumpfile.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
@@ -81,13 +81,13 @@ AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 avr-mcus: $(srcdir)/doc/avr-mmcu.texi ; @true
 
 # Make sure that native -mmcu= support is in sync with -mmcu= documentation.
-gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-texi$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-texi.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h
 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
 
-gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.c \
-  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c \
+gen-avr-mmcu-specs$(build_exeext): $(srcdir)/config/avr/gen-avr-mmcu-specs.cc \
+  $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.cc \
   $(srcdir)/config/avr/avr-arch.h $(TM_H)
 	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ $(INCLUDES)
 
diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc
index a7ae41ef1f4..a89a1b48028 100644
--- a/gcc/config/bfin/bfin.cc
+++ b/gcc/config/bfin/bfin.cc
@@ -708,7 +708,7 @@ frame_related_constant_load (rtx reg, HOST_WIDE_INT constant, bool related)
     insn = emit_move_insn (reg, cst);
   else
     {
-      /* We don't call split_load_immediate here, since dwarf2out.c can get
+      /* We don't call split_load_immediate here, since dwarf2out.cc can get
 	 confused about some of the more clever sequences it can generate.  */
       insn = emit_insn (gen_movsi_high (reg, cst));
       if (related)
diff --git a/gcc/config/bpf/bpf-protos.h b/gcc/config/bpf/bpf-protos.h
index 0d45558b035..5ee3248b18c 100644
--- a/gcc/config/bpf/bpf-protos.h
+++ b/gcc/config/bpf/bpf-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_BPF_PROTOS_H
 #define GCC_BPF_PROTOS_H
 
-/* Routines implemented in bpf.c.  */
+/* Routines implemented in bpf.cc.  */
 
 extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
 extern const char *bpf_output_call (rtx);
diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h
index 1d5d7601e8f..5b3f4a58763 100644
--- a/gcc/config/bpf/bpf.h
+++ b/gcc/config/bpf/bpf.h
@@ -276,7 +276,7 @@ enum reg_class
 /*** Passing Function Arguments on the Stack.  */
 
 /* The eBPF ABI doesn't support passing arguments on the stack.  Only
-   in the first five registers.  Code in bpf.c assures the stack is
+   in the first five registers.  Code in bpf.cc assures the stack is
    never used when passing arguments.  However, we still have to
    define the constants below.  */
 
diff --git a/gcc/config/bpf/t-bpf b/gcc/config/bpf/t-bpf
index b37bf858d8f..3f3cf8daf8f 100644
--- a/gcc/config/bpf/t-bpf
+++ b/gcc/config/bpf/t-bpf
@@ -1,7 +1,7 @@
 
 TM_H += $(srcdir)/config/bpf/coreout.h
 
-coreout.o: $(srcdir)/config/bpf/coreout.c
+coreout.o: $(srcdir)/config/bpf/coreout.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index 9ee291bf4f4..9cbe281c10e 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in c6x.c.
+/* Prototypes for exported functions defined in c6x.cc.
    Copyright (C) 2010-2022 Free Software Foundation, Inc.
    Contributed by CodeSourcery.
 
@@ -21,7 +21,7 @@
 #ifndef GCC_C6X_PROTOS_H
 #define GCC_C6X_PROTOS_H
 
-/* Functions defined in c6x.c.  */
+/* Functions defined in c6x.cc.  */
 
 #ifdef RTX_CODE
 extern void c6x_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, int);
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b717dea86b..300bb31ad84 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in cr16.c
+/* Prototypes for exported functions defined in cr16.cc
    Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems Limited.
 
diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index eff58435789..866f6c302cb 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -2022,7 +2022,7 @@ cris_address_cost (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
      The metric used here is (the number of cycles needed) / 2,
      where we consider equal a cycle for a word of code and a cycle to
      read memory.  FIXME: Adding "+ 1" to all values would avoid
-     returning 0, as tree-ssa-loop-ivopts.c as of r128272 "normalizes"
+     returning 0, as tree-ssa-loop-ivopts.cc as of r128272 "normalizes"
      0 to 1, thereby giving equal costs to [rN + rM] and [rN].
      Unfortunately(?) such a hack would expose other pessimizations,
      at least with g++.dg/tree-ssa/ivopts-1.C, adding insns to the
@@ -2217,7 +2217,7 @@ cris_side_effect_mode_ok (enum rtx_code code, rtx *ops,
 }
 
 /* Queue an .ident string in the queue of top-level asm statements.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 cris_asm_output_ident (const char *string)
@@ -2441,7 +2441,7 @@ cris_init_machine_status (void)
 }
 
 /* Split a 2 word move (DI or presumably DF) into component parts.
-   Originally a copy of gen_split_move_double in m32r.c.  */
+   Originally a copy of gen_split_move_double in m32r.cc.  */
 
 rtx
 cris_split_movdx (rtx *operands)
@@ -3270,7 +3270,7 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment,
 
   insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, vec));
 
-  /* Because dwarf2out.c handles the insns in a parallel as a sequence,
+  /* Because dwarf2out.cc handles the insns in a parallel as a sequence,
      we need to keep the stack adjustment separate, after the
      MEM-setters.  Else the stack-adjustment in the second component of
      the parallel would be mishandled; the offsets for the SETs that
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index c4d635ba0ae..9d6cd59d874 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -317,7 +317,7 @@ extern int cris_cpu_version;
     Note that to make this macro affect the alignment of stack
    locals, a fix was required, and special precautions when handling
    the stack pointer in various other macros (TARGET_ASM_FUNCTION_PROLOGUE
-   et al) were required.  See file "function.c".  If you would just define
+   et al) were required.  See file "function.cc".  If you would just define
    this macro, it would only affect the builtin alloca and variable
    local data (non-ANSI, non-K&R, Gnu C extension).  */
 #define STACK_BOUNDARY \
@@ -493,7 +493,7 @@ enum reg_class
 #define INDEX_REG_CLASS GENERAL_REGS
 
 /* Since it uses reg_renumber, it is safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)					\
  ((REGNO) <= CRIS_LAST_GENERAL_REGISTER					\
@@ -572,7 +572,7 @@ enum reg_class
    number and dwarf frame register, we would either need to include all
    registers in the gcc description (with some marked fixed of course), or
    an inverse mapping from dwarf register to gcc register.  There is one
-   need in dwarf2out.c:expand_builtin_init_dwarf_reg_sizes.  Right now, I
+   need in dwarf2out.cc:expand_builtin_init_dwarf_reg_sizes.  Right now, I
    don't see that we need exact correspondence between DWARF *frame*
    registers and DBX_REGISTER_NUMBER, so map them onto GCC registers.  */
 #define DWARF_FRAME_REGNUM(REG) (REG)
@@ -657,7 +657,7 @@ struct cum_args {int regs;};
 
 /* Node: Function entry */
 
-/* See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See cris.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* Node: Profiling */
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 798bafce4a1..ec4212ae73d 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -185,7 +185,7 @@
 
 ;; This pattern is more-or-less assumed to always exist if any of the
 ;; other atomic patterns exist (see e.g.  comment at the
-;; can_compare_and_swap_p call in omp-low.c, 4.8 era).  We'd slightly
+;; can_compare_and_swap_p call in omp-low.cc, 4.8 era).  We'd slightly
 ;; prefer atomic_exchange<mode> over this, but having both would be
 ;; redundant.
 ;; FIXME: handle memory without side-effects for operand[3].
diff --git a/gcc/config/csky/csky.cc b/gcc/config/csky/csky.cc
index 08e4f3eaa67..e315e09a8fe 100644
--- a/gcc/config/csky/csky.cc
+++ b/gcc/config/csky/csky.cc
@@ -5694,7 +5694,7 @@ csky_expand_prologue (void)
 
       /* If we have a parameter passed partially in regs and partially
 	 in memory, the registers will have been stored to memory already
-	 in function.c.  So we only need to copy varargs from registers
+	 in function.cc.  So we only need to copy varargs from registers
 	 to stack.  */
       if (cfun->machine->uses_anonymous_args)
 	{
diff --git a/gcc/config/darwin-c.cc b/gcc/config/darwin-c.cc
index 9f46924408a..3770857aa42 100644
--- a/gcc/config/darwin-c.cc
+++ b/gcc/config/darwin-c.cc
@@ -831,7 +831,7 @@ EXPORTED_CONST format_kind_info darwin_additional_format_types[] = {
 /* Support routines to dump the class references for NeXT ABI v1, aka
    32-bits ObjC-2.0, as top-level asms.
    The following two functions should only be called from
-   objc/objc-next-runtime-abi-01.c.  */
+   objc/objc-next-runtime-abi-01.cc.  */
 
 static void
 darwin_objc_declare_unresolved_class_reference (const char *name)
diff --git a/gcc/config/darwin-f.cc b/gcc/config/darwin-f.cc
index c447491d6a2..e1efc581217 100644
--- a/gcc/config/darwin-f.cc
+++ b/gcc/config/darwin-f.cc
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
    However, we can define do-nothing stubs of said hooks as
    we are not interested in objc include files in Fortran.
 
-   The hooks original purpose (see also darwin-c.c):
+   The hooks original purpose (see also darwin-c.cc):
     * darwin_register_objc_includes
       Register the GNU objective-C runtime include path if STDINC.
 
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 8b300ff0a2e..394ea165880 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -17,7 +17,7 @@ along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 /* Since Darwin's ld will not allow zero-sized objects, and gcc wants them,
-   we emit one byte (in darwin.c) when such an object is encountered.
+   we emit one byte (in darwin.cc) when such an object is encountered.
 
    This messes up section anchoring because the emitted byte is not counted
    outside the port.  To cope with this, we set aside sections for zero-sized
@@ -25,9 +25,9 @@ along with GCC; see the file COPYING3.  If not see
    ("zobj_" sections, below).
    
    Items that might be coalesced by the linker are prevented from participating,
-   (and those in mergeable sections are disallowed in varasm.c).  */
+   (and those in mergeable sections are disallowed in varasm.cc).  */
 
-/* The .text section is generated in varasm.c  */
+/* The .text section is generated in varasm.cc  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
 	     ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
 
@@ -62,7 +62,7 @@ DEF_SECTION (const_coal_section, SECTION_NO_ANCHOR,
 DEF_SECTION (zobj_const_section, SECTION_NO_ANCHOR, 
 	     ".section\t__DATA,__zobj_const", 0)
 
-/* Write-able data.  '.data'  handled in varasm.c  */
+/* Write-able data.  '.data'  handled in varasm.cc  */
 DEF_SECTION (static_data_section, SECTION_WRITE, ".static_data", 0)
 DEF_SECTION (data_coal_section, SECTION_WRITE|SECTION_NO_ANCHOR,
 	     ".section __DATA,__datacoal_nt,coalesced", 0)
diff --git a/gcc/config/darwin.cc b/gcc/config/darwin.cc
index 380574382fd..783fe3cb443 100644
--- a/gcc/config/darwin.cc
+++ b/gcc/config/darwin.cc
@@ -212,7 +212,7 @@ output_objc_section_asm_op (const char *directive)
       else
 	for (i = 0; i < ARRAY_SIZE (tomarkv2); i++)
 	  switch_to_section (darwin_sections[tomarkv2[i]]);
-      /* Make sure we don't get varasm.c out of sync with us.  */
+      /* Make sure we don't get varasm.cc out of sync with us.  */
       switch_to_section (saved_in_section);
     }
   output_section_asm_op (directive);
@@ -2346,7 +2346,7 @@ fprintf (file, "# dadon: %s %s (%llu, %u) local %d weak %d"
      They must be made at least one byte, and the section containing must be
      marked as unsuitable for section-anchors (see storage allocators below).
 
-     For non-zero objects this output is handled by varasm.c.
+     For non-zero objects this output is handled by varasm.cc.
   */
   if (!size)
     {
@@ -2605,7 +2605,7 @@ fprintf (fp, "# albss: %s (%lld,%d) ro %d cst %d stat %d com %d"
 	pub, weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2730,7 +2730,7 @@ fprintf (fp, "# adcom: %s (%lld,%d) ro %d cst %d stat %d com %d pub %d"
 	TREE_PUBLIC (decl), weak, one, (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
@@ -2806,7 +2806,7 @@ fprintf (fp, "# adloc: %s (%lld,%d) ro %d cst %d stat %d one %d pub %d"
 	weak , (unsigned long)DECL_INITIAL (decl));
 #endif
 
-  /* ObjC metadata can get put in BSS because varasm.c decides it's BSS
+  /* ObjC metadata can get put in BSS because varasm.cc decides it's BSS
      before the target has a chance to comment.  */
   if ((meta = is_objc_metadata (decl)))
     {
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index a78476a300f..ceb043a81ea 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -323,7 +323,7 @@ extern GTY(()) int darwin_ms_struct;
   } while (0)
 
 /* Machine dependent cpp options.  Don't add more options here, add
-   them to darwin_cpp_builtins in darwin-c.c.  */
+   them to darwin_cpp_builtins in darwin-c.cc.  */
 
 #undef	CPP_SPEC
 #define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
@@ -586,7 +586,7 @@ extern GTY(()) int darwin_ms_struct;
 #endif
 
 #if HAVE_GNU_AS
-/* The options are added in gcc.c for this case.  */
+/* The options are added in gcc.cc for this case.  */
 #define ASM_OPTIONS ""
 #else
 /* When we detect that we're cctools or llvm as, we need to insert the right
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 2e0c709e585..acb376283cf 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -466,7 +466,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   default_elf_asm_output_ascii ((FILE), (STR), (LENGTH))
 
 /* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
+   elf_record_gcc_switches function defined in varasm.cc.  */
 #undef  TARGET_ASM_RECORD_GCC_SWITCHES
 #define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
 
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d7fa0fb4958..d347ce6adea 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -77,7 +77,7 @@
   "issue,issue+int,issue+int,issue+int,int")
 
 ;; Loads have a latency of two.
-;; Note that we fix up the latency of post_modify in epiphany.c:epiphany_adjust_cost
+;; Note that we fix up the latency of post_modify in epiphany.cc:epiphany_adjust_cost
 
 (define_insn_reservation "load" 3
   (and (eq_attr "pipe_model" "epiphany")
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index a2743436f38..eb168d32df0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -1510,7 +1510,7 @@ epiphany_function_value (const_tree ret_type,
   /* We must change the mode like PROMOTE_MODE does.
      ??? PROMOTE_MODE is ignored for non-scalar types.
      The set of types tested here has to be kept in sync
-     with the one in explow.c:promote_mode.  */
+     with the one in explow.cc:promote_mode.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
       && GET_MODE_SIZE (mode) < 4
       && (TREE_CODE (ret_type) == INTEGER_TYPE
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 2bedaac9466..8c723845ae3 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -378,7 +378,7 @@ extern enum reg_class epiphany_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
 ((REGNO) < FIRST_PSEUDO_REGISTER || (unsigned) reg_renumber[REGNO] < FIRST_PSEUDO_REGISTER)
@@ -551,7 +551,7 @@ typedef struct GTY (()) machine_function
     && epiphany_is_interrupt_p (current_function_decl)) \
    ? IRET_REGNUM : GPR_LR)
 /* This is not only for dwarf unwind info, but also for the benefit of
-   df-scan.c to tell it that LR is live at the function start.  */
+   df-scan.cc to tell it that LR is live at the function start.  */
 #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, EPIPHANY_RETURN_REGNO)
 
 /* However, we haven't implemented the rest needed for dwarf2 unwind info.  */
@@ -662,7 +662,7 @@ typedef struct GTY (()) machine_function
 #define NO_FUNCTION_CSE 1
 \f
 /* Section selection.  */
-/* WARNING: These section names also appear in dwarf2out.c.  */
+/* WARNING: These section names also appear in dwarf2out.cc.  */
 
 #define TEXT_SECTION_ASM_OP	"\t.section .text"
 #define DATA_SECTION_ASM_OP	"\t.section .data"
diff --git a/gcc/config/epiphany/mode-switch-use.cc b/gcc/config/epiphany/mode-switch-use.cc
index 5d5058e68c9..887550a3340 100644
--- a/gcc/config/epiphany/mode-switch-use.cc
+++ b/gcc/config/epiphany/mode-switch-use.cc
@@ -1,5 +1,5 @@
 /* Insert USEs in instructions that require mode switching.
-   This should probably be merged into mode-switching.c .
+   This should probably be merged into mode-switching.cc .
    Copyright (C) 2011-2022 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 2d25ba89cba..5504e29bcef 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -246,7 +246,7 @@
       return REGNO (cc) == CC_REGNUM;
     /* From combiner.  */
     case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
-    /* From cse.c:dead_libcall_p.  */
+    /* From cse.cc:dead_libcall_p.  */
     case E_DFmode:
       return 0;
     default:
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index 4baaee215d9..27a8052402c 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -17,13 +17,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.c \
+mode-switch-use.o : $(srcdir)/config/epiphany/mode-switch-use.cc \
    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) \
    $(TREE_PASS_H) $(INSN_ATTR_H) $(EMIT_RTL_H) $(FUNCTION_H) $(RECOG_H) \
    insn-config.h $(DF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $<
 
-resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \
+resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) $(TM_H) hard-reg-set.h \
   $(TM_P_H) $(VEC_H) sbitmap.h $(BASIC_BLOCK_H) $(DF_H) $(RTL_H) \
   insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 97529b69d57..80d949808a2 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for fr30.c functions used in the md file & elsewhere.
+/* Prototypes for fr30.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index cd2c2ec939a..bc07111d61a 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Define functions defined in frv.c */
+/* Define functions defined in frv.cc */
 extern void frv_expand_prologue			(void);
 extern void frv_expand_epilogue			(bool);
 extern frv_stack_t *frv_stack_info		(void);
diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc
index 088a9e0a644..d6c399304a1 100644
--- a/gcc/config/frv/frv.cc
+++ b/gcc/config/frv/frv.cc
@@ -9434,7 +9434,7 @@ frv_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
 
 #define TLS_BIAS (2048 - 16)
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index ad0a0f8b0c0..8cd67f75b09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1525,7 +1525,7 @@ do {									\
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 /* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index f9d8e20101f..6cc777e5bb3 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for ft32.c functions used in the md file & elsewhere.
+/* Prototypes for ft32.cc functions used in the md file & elsewhere.
    Copyright (C) 2015-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h
index d43f429fb9d..9b5fee9f7d4 100644
--- a/gcc/config/gcn/gcn-hsa.h
+++ b/gcc/config/gcn/gcn-hsa.h
@@ -71,7 +71,7 @@ extern unsigned int gcn_local_sym_hash (const char *name);
 #define ASM_APP_ON  ""
 #define ASM_APP_OFF ""
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for gcn.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index e29f95e51d8..74819c6e4d7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3755,7 +3755,7 @@ static void
 gcn_init_libfuncs (void)
 {
   /* BITS_PER_UNIT * 2 is 64 bits, which causes
-     optabs-libfuncs.c:gen_int_libfunc to omit TImode (i.e 128 bits)
+     optabs-libfuncs.cc:gen_int_libfunc to omit TImode (i.e 128 bits)
      libcalls that we need to support operations for that type.  Initialise
      them here instead.  */
   set_optab_libfunc (udiv_optab, TImode, "__udivti3");
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 92c46899786..94ba7ffa5af 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -307,7 +307,7 @@ copy_early_debug_info (const char *infile, const char *outfile)
   int err;
 
   /* The simple_object code can handle extracting the debug sections.
-     This code is based on that in lto-wrapper.c.  */
+     This code is based on that in lto-wrapper.cc.  */
   int infd = open (infile, O_RDONLY | O_BINARY);
   if (infd == -1)
     return false;
diff --git a/gcc/config/gcn/t-gcn-hsa b/gcc/config/gcn/t-gcn-hsa
index c8d3af3ce49..10e31f3d266 100644
--- a/gcc/config/gcn/t-gcn-hsa
+++ b/gcc/config/gcn/t-gcn-hsa
@@ -16,13 +16,13 @@
 
 GTM_H += $(HASH_TABLE_H)
 
-driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.c
+driver-gcn.o: $(srcdir)/config/gcn/driver-gcn.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/gcn/mkoffload.c
+mkoffload.o: $(srcdir)/config/gcn/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
@@ -34,7 +34,7 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a \
 
 CFLAGS-gcn-run.o += -DVERSION_STRING=$(PKGVERSION_s)
 COMPILE-gcn-run.o = $(filter-out -fno-rtti,$(COMPILE))
-gcn-run.o: $(srcdir)/config/gcn/gcn-run.c
+gcn-run.o: $(srcdir)/config/gcn/gcn-run.cc
 	$(COMPILE-gcn-run.o) -x c -std=gnu11 -Wno-error=pedantic $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-run.o
@@ -45,7 +45,7 @@ gcn-run$(exeext): gcn-run.o
 MULTILIB_OPTIONS = march=gfx900/march=gfx906/march=gfx908
 MULTILIB_DIRNAMES = gfx900 gfx906 gfx908
 
-gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.c
+gcn-tree.o: $(srcdir)/config/gcn/gcn-tree.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += gcn-tree.o
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 8461c432ca9..cd56e2f8a68 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
+omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.cc
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
 	echo isa: fiji gfx900 gfx906 gfx908 >> $@
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index a8d6bca0b55..e9d434c0d5a 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_H8300_PROTOS_H
 #define GCC_H8300_PROTOS_H
 
-/* Declarations for functions used in insn-output.c.  */
+/* Declarations for functions used in insn-output.cc.  */
 #ifdef RTX_CODE
 extern unsigned int compute_mov_length (rtx *);
 extern const char *output_plussi (rtx *, bool);
@@ -59,7 +59,7 @@ extern int byte_accesses_mergeable_p (rtx, rtx);
 extern int same_cmp_preceding_p (rtx_insn *);
 extern int same_cmp_following_p (rtx_insn *);
 
-/* Used in builtins.c */
+/* Used in builtins.cc */
 extern rtx h8300_return_addr_rtx (int, rtx);
 
 /* Classifies an h8sx shift operation.
diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc
index 0fc6a87e4af..78cf15f15c7 100644
--- a/gcc/config/h8300/h8300.cc
+++ b/gcc/config/h8300/h8300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Renesas H8/300.
+/* Subroutines for insn-output.cc for Renesas H8/300.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain (sac@cygnus.com),
    Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -496,7 +496,7 @@ F (rtx_insn *x, bool set_it)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 static rtx
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 9218874349d..9a6c78cf2d5 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 
 extern int cpu_type;
 
-/* Various globals defined in h8300.c.  */
+/* Various globals defined in h8300.cc.  */
 
 extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
 extern const char * const *h8_reg_names;
@@ -447,7 +447,7 @@ struct cum_arg
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno) 0
@@ -564,7 +564,7 @@ struct cum_arg
 
 #define BRANCH_COST(speed_p, predictable_p) 0
 
-/* Tell final.c how to eliminate redundant test instructions.  */
+/* Tell final.cc how to eliminate redundant test instructions.  */
 
 /* Here we define machine-dependent flags and fields in cc_status
    (see `conditions.h').  No extra ones are needed for the h8300.  */
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 8ace0983745..45150458cc5 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -151,7 +151,7 @@ along with GCC; see the file COPYING3.  If not see
   }									\
   while (0)
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -381,7 +381,7 @@ do {						\
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 /* MSVC returns aggregate types of up to 8 bytes via registers.
-   See i386.c:ix86_return_in_memory.  */
+   See i386.cc:ix86_return_in_memory.  */
 #undef MS_AGGREGATE_RETURN
 #define MS_AGGREGATE_RETURN 1
 
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index a4adb232dd9..909821e953b 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -166,7 +166,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  TARGET_ASM_LTO_END
 #define TARGET_ASM_LTO_END i386_djgpp_asm_lto_end
 
-/* Function protypes for gcc/i386/djgpp.c */
+/* Function protypes for gcc/i386/djgpp.cc */
 
 void
 i386_djgpp_asm_named_section(const char *name, unsigned int flags,
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index bb57d3de903..39bd280d2b8 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index b0782365534..9e0ae0b2baa 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -369,7 +369,7 @@ detect_caches_intel (bool xeon_mp, unsigned max_level,
   return describe_cache (level1, level2);
 }
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be
    called with either "arch [32|64]" or "tune [32|64]" as argument
    depending on if -march=native or -mtune=native is to be substituted.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 2e81c5d9003..120e24c81f3 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef  NO_PROFILE_COUNTERS
 #define NO_PROFILE_COUNTERS	1
 
-/* Tell final.c that we don't need a label passed to mcount.  */
+/* Tell final.cc that we don't need a label passed to mcount.  */
 
 #undef  MCOUNT_NAME
 #define MCOUNT_NAME ".mcount"
diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc
index 1e1d2e94d08..c73c1b1f594 100644
--- a/gcc/config/i386/i386-c.cc
+++ b/gcc/config/i386/i386-c.cc
@@ -798,7 +798,7 @@ ix86_target_macros (void)
 
 \f
 /* Register target pragmas.  We need to add the hook for parsing #pragma GCC
-   option here rather than in i386.c since it will pull in various preprocessor
+   option here rather than in i386.cc since it will pull in various preprocessor
    functions, and those are not present in languages like fortran without a
    preprocessor.  */
 
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 95bba254daf..8bbd903acdb 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -14796,7 +14796,7 @@ ix86_vector_duplicate_value (machine_mode mode, rtx target, rtx val)
 static machine_mode
 get_mode_wider_vector (machine_mode o)
 {
-  /* ??? Rely on the ordering that genmodes.c gives to vectors.  */
+  /* ??? Rely on the ordering that genmodes.cc gives to vectors.  */
   machine_mode n = GET_MODE_WIDER_MODE (o).require ();
   gcc_assert (GET_MODE_NUNITS (o) == GET_MODE_NUNITS (n) * 2);
   gcc_assert (GET_MODE_SIZE (o) == GET_MODE_SIZE (n));
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index 4a8997934a2..715d9a15ff5 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -3074,7 +3074,7 @@ ix86_set_func_type (tree fndecl)
 
 	  ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
 
-	  /* Only dwarf2out.c can handle -WORD(AP) as a pointer argument.  */
+	  /* Only dwarf2out.cc can handle -WORD(AP) as a pointer argument.  */
 	  if (write_symbols != NO_DEBUG && write_symbols != DWARF2_DEBUG)
 	    sorry ("only DWARF debug format is supported for interrupt "
 		   "service routine");
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 6d14a406bdb..5232461d747 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In i386-common.c.  */
+/* In i386-common.cc.  */
 extern bool ix86_handle_option (struct gcc_options *opts,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Functions in i386.c */
+/* Functions in i386.cc */
 extern bool ix86_target_stack_probe (void);
 extern bool ix86_can_use_return_insn_p (void);
 extern bool ix86_function_ms_hook_prologue (const_tree fn);
@@ -266,16 +266,16 @@ extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx,
 					       rtx);
 extern bool ix86_extract_perm_from_pool_constant (int*, rtx);
 
-/* In i386-c.c  */
+/* In i386-c.cc  */
 extern void ix86_target_macros (void);
 extern void ix86_register_pragmas (void);
 
-/* In i386-d.c  */
+/* In i386-d.cc  */
 extern void ix86_d_target_versions (void);
 extern void ix86_d_register_target_info (void);
 extern bool ix86_d_has_stdcall_convention (unsigned int *, unsigned int *);
 
-/* In winnt.c  */
+/* In winnt.cc  */
 extern void i386_pe_unique_section (tree, int);
 extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
@@ -308,7 +308,7 @@ extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *);
 extern void i386_pe_seh_emit_except_personality (rtx);
 extern void i386_pe_seh_init_sections (void);
 
-/* In winnt-cxx.c and winnt-stubs.c  */
+/* In winnt-cxx.cc and winnt-stubs.cc  */
 extern void i386_pe_adjust_class_at_definition (tree);
 extern bool i386_pe_type_dllimport_p (tree);
 extern bool i386_pe_type_dllexport_p (tree);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fb9b626ebea..af828868205 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -1438,7 +1438,7 @@ ix86_function_arg_regno_p (int regno)
 		 && regno < FIRST_MMX_REG + MMX_REGPARM_MAX));
 
   /* TODO: The function should depend on current function ABI but
-     builtins.c would need updating then. Therefore we use the
+     builtins.cc would need updating then. Therefore we use the
      default ABI.  */
   call_abi = ix86_cfun_abi ();
 
@@ -3648,7 +3648,7 @@ ix86_function_value_regno_p (const unsigned int regno)
     case ST0_REG:
     case ST1_REG:
       /* TODO: The function should depend on current function ABI but
-       builtins.c would need updating then. Therefore we use the
+       builtins.cc would need updating then. Therefore we use the
        default ABI.  */
       if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
 	return false;
@@ -6854,7 +6854,7 @@ ix86_compute_frame_layout (void)
   if (TARGET_SEH)
     {
       /* Force the frame pointer to point at or below the lowest register save
-	 area, see the SEH code in config/i386/winnt.c for the rationale.  */
+	 area, see the SEH code in config/i386/winnt.cc for the rationale.  */
       frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
 
       /* If we can leave the frame pointer where it is, do so; however return
@@ -11974,7 +11974,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -11988,7 +11988,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg)
    nothing needs to be done because REG can certainly go in a general reg.
 
    When -fpic is used, special handling is needed for symbolic references.
-   See comments by legitimize_pic_address in i386.c for details.  */
+   See comments by legitimize_pic_address in i386.cc for details.  */
 
 static rtx
 ix86_legitimize_address (rtx x, rtx, machine_mode mode)
@@ -12334,7 +12334,7 @@ output_pic_addr_const (FILE *file, rtx x, int code)
     }
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void ATTRIBUTE_UNUSED
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 3ac0f698ae2..3eaefa5fbfb 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -549,9 +549,9 @@ extern GTY(()) tree x86_mfence;
 
 /* -march=native handling only makes sense with compiler running on
    an x86 or x86_64 chip.  If changing this condition, also change
-   the condition in driver-i386.c.  */
+   the condition in driver-i386.cc.  */
 #if defined(__i386__) || defined(__x86_64__)
-/* In driver-i386.c.  */
+/* In driver-i386.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -871,7 +871,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 \f
 /* Standard register usage.  */
 
-/* This processor has special stack-like registers.  See reg-stack.c
+/* This processor has special stack-like registers.  See reg-stack.cc
    for details.  */
 
 #define STACK_REGS
@@ -1660,7 +1660,7 @@ typedef struct ix86_args {
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) 					\
@@ -1722,7 +1722,7 @@ typedef struct ix86_args {
    The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P,
    except for CONSTANT_ADDRESS_P which is usually machine-independent.
 
-   See legitimize_pic_address in i386.c for details as to what
+   See legitimize_pic_address in i386.cc for details as to what
    constitutes a legitimate address when -fpic is used.  */
 
 #define MAX_REGS_PER_ADDRESS 2
@@ -1730,7 +1730,7 @@ typedef struct ix86_args {
 #define CONSTANT_ADDRESS_P(X)  constant_address_p (X)
 
 /* If defined, a C expression to determine the base term of address X.
-   This macro is used in only one place: `find_base_term' in alias.c.
+   This macro is used in only one place: `find_base_term' in alias.cc.
 
    It is always safe for this macro to not be defined.  It exists so
    that alias analysis can understand machine-dependent addresses.
@@ -2202,7 +2202,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
 #define DEFAULT_LARGE_SECTION_THRESHOLD 65536
 \f
 /* Which processor to tune code generation for.  These must be in sync
-   with processor_target_table in i386.c.  */ 
+   with processor_target_table in i386.cc.  */ 
 
 enum processor_type
 {
@@ -2600,7 +2600,7 @@ struct GTY(()) machine_frame_state
   HOST_WIDE_INT sp_realigned_offset;
 };
 
-/* Private to winnt.c.  */
+/* Private to winnt.cc.  */
 struct seh_frame_state;
 
 enum function_type
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 376df1d51d1..97791f78599 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -463,7 +463,7 @@
    (ABI_UNKNOWN		2)])
 
 ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
-;; from i386.c.
+;; from i386.cc.
 
 ;; In C guard expressions, put expressions which may be compile-time
 ;; constants first.  This allows for better optimization.  For
@@ -5206,7 +5206,7 @@
 ;; of the machinery. Please note the clobber of FLAGS_REG. In i387 control
 ;; word calculation (inserted by LCM in mode switching pass) a FLAGS_REG
 ;; clobbering insns can be used. Look at emit_i387_cw_initialization ()
-;; function in i386.c.
+;; function in i386.cc.
 (define_insn_and_split "*fix_trunc<mode>_i387_1"
   [(set (match_operand:SWI248x 0 "nonimmediate_operand")
 	(fix:SWI248x (match_operand 1 "register_operand")))
@@ -15180,7 +15180,7 @@
 
 ;; Insn emitted into the body of a function to return from a function.
 ;; This is only done if the function's epilogue is known to be simple.
-;; See comments for ix86_can_use_return_insn_p in i386.c.
+;; See comments for ix86_can_use_return_insn_p in i386.cc.
 
 (define_expand "return"
   [(simple_return)]
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index 7918cac031f..baa62c14986 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_OUTPUT_ALIGN
 
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
+/* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
    HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
    TLS is detected by configure.  We undefine it here.  */
 
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 4fc3e00f100..32f7b0c1454 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1522,7 +1522,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2sf_0"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=x, m,y ,m,f,r")
 	(vec_select:SF
@@ -1537,7 +1537,7 @@
   [(set_attr "mmx_isa" "*,*,native,native,*,*")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2sf_1"
   [(set (match_operand:SF 0 "nonimmediate_operand"     "=y,x,x,y,x,f,r")
 	(vec_select:SF
@@ -3749,7 +3749,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn_and_split "*vec_extractv2si_0"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=x,m,y, m,r,r")
 	(vec_select:SI
@@ -3806,7 +3806,7 @@
   "operands[1] = gen_lowpart (SImode, operands[1]);")
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "*vec_extractv2si_1"
   [(set (match_operand:SI 0 "nonimmediate_operand"     "=y,rm,x,x,y,x,r")
 	(vec_select:SI
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index d8f303511c1..ff3edd015c6 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -10453,7 +10453,7 @@
    (set_attr "mode" "DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "vec_set<mode>_0"
   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
 	  "=Yr,*x,v,v,v,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
@@ -12979,7 +12979,7 @@
    (set_attr "mode" "V2DF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storehpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,Yv,x,*f,r")
 	(vec_select:DF
@@ -13028,7 +13028,7 @@
    (set_attr "mode" "V2SF,V4SF,V2SF")])
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_storelpd"
   [(set (match_operand:DF 0 "nonimmediate_operand"     "=m,x,x,*f,r")
 	(vec_select:DF
@@ -13093,7 +13093,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadhpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=x,v,x,v ,o,o ,o")
@@ -13152,7 +13152,7 @@
 })
 
 ;; Avoid combining registers from different units in a single alternative,
-;; see comment above inline_secondary_memory_needed function in i386.c
+;; see comment above inline_secondary_memory_needed function in i386.cc
 (define_insn "sse2_loadlpd"
   [(set (match_operand:V2DF 0 "nonimmediate_operand"
 	  "=v,x,v,x,v,x,x,v,m,m ,m")
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 2e954cd80fc..d4803dea401 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -20,33 +20,33 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt.c
+	$(srcdir)/config/i386/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-cxx.c
+	$(srcdir)/config/i386/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/winnt-stubs.c
+	$(srcdir)/config/i386/winnt-stubs.cc
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.c
+winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/msformat-c.c
+	$(srcdir)/config/i386/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
index dd3b32ac351..140f763c09d 100644
--- a/gcc/config/i386/t-djgpp
+++ b/gcc/config/i386/t-djgpp
@@ -1,8 +1,8 @@
 
 EXTRA_OBJS += djgpp.o
 
-djgpp.o:    $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+djgpp.o:    $(srcdir)/config/i386/djgpp.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/djgpp.c
+	$(srcdir)/config/i386/djgpp.cc
diff --git a/gcc/config/i386/t-gnu-property b/gcc/config/i386/t-gnu-property
index e5add0cc75f..fc5c6f997bc 100644
--- a/gcc/config/i386/t-gnu-property
+++ b/gcc/config/i386/t-gnu-property
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-gnu-property.o: $(srcdir)/config/i386/gnu-property.c
+gnu-property.o: $(srcdir)/config/i386/gnu-property.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 6f99b70f0f9..4e2a0efc615 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -22,43 +22,43 @@ TM_H += $(srcdir)/config/i386/x86-tune.def \
 	$(srcdir)/config/i386/i386-isa.def
 PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
 
-i386-c.o: $(srcdir)/config/i386/i386-c.c
+i386-c.o: $(srcdir)/config/i386/i386-c.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.c
+x86-tune-sched.o: $(srcdir)/config/i386/x86-tune-sched.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.c
+x86-tune-sched-bd.o: $(srcdir)/config/i386/x86-tune-sched-bd.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.c
+x86-tune-sched-atom.o: $(srcdir)/config/i386/x86-tune-sched-atom.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.c
+x86-tune-sched-core.o: $(srcdir)/config/i386/x86-tune-sched-core.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
 
-i386-d.o: $(srcdir)/config/i386/i386-d.c
+i386-d.o: $(srcdir)/config/i386/i386-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-options.o: $(srcdir)/config/i386/i386-options.c
+i386-options.o: $(srcdir)/config/i386/i386-options.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-builtins.o: $(srcdir)/config/i386/i386-builtins.c
+i386-builtins.o: $(srcdir)/config/i386/i386-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-expand.o: $(srcdir)/config/i386/i386-expand.c
+i386-expand.o: $(srcdir)/config/i386/i386-expand.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-i386-features.o: $(srcdir)/config/i386/i386-features.c
+i386-features.o: $(srcdir)/config/i386/i386-features.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/i386/t-intelmic b/gcc/config/i386/t-intelmic
index 9de4b76e310..95d7e532315 100644
--- a/gcc/config/i386/t-intelmic
+++ b/gcc/config/i386/t-intelmic
@@ -1,6 +1,6 @@
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) -DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
 
-mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.c
+mkoffload.o: $(srcdir)/config/i386/intelmic-mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 29350a1d80b..cfb41ed71ce 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
-omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.cc
 	echo kind: cpu > $@
 	echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
 	echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-	  $(srcdir)/config/i386/i386-options.c | \
+	  $(srcdir)/config/i386/i386-options.cc | \
 	  sed -n 's/",.*$$//;s/^  { "-m//p'` >> $@
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/i386/winnt-cxx.cc
index 1ea047d78d8..788c85c8097 100644
--- a/gcc/config/i386/winnt-cxx.cc
+++ b/gcc/config/i386/winnt-cxx.cc
@@ -47,7 +47,7 @@ i386_pe_type_dllimport_p (tree decl)
     return false;
   
   /* Overrides of the class dllimport decls by out-of-class definitions are 
-     handled by tree.c:merge_dllimport_decl_attributes.   */
+     handled by tree.cc:merge_dllimport_decl_attributes.   */
   return true;
 }
 
@@ -144,7 +144,7 @@ i386_pe_adjust_class_at_definition (tree t)
 	 that signals that the address of this symbol is not a compile-time
 	 constant.   Any subsequent out-of-class declaration of members wil
 	 cause the DECL_DLLIMPORT_P flag to be unset.
-	 (See  tree.c: merge_dllimport_decl_attributes).
+	 (See  tree.cc: merge_dllimport_decl_attributes).
 	 That is just right since out-of class declarations can only be a
 	 definition.   */
 
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/i386/winnt.cc
index 3d5eaeb5ef9..cd71369c0f8 100644
--- a/gcc/config/i386/winnt.cc
+++ b/gcc/config/i386/winnt.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Windows NT.
+/* Subroutines for insn-output.cc for Windows NT.
    Contributed by Douglas Rupp (drupp@cs.washington.edu)
    Copyright (C) 1995-2022 Free Software Foundation, Inc.
 
@@ -194,7 +194,7 @@ gen_stdcall_or_fastcall_suffix (tree decl, tree id, bool fastcall)
 	return NULL_TREE;
 
       /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
+	 by convert_arguments in c-typeck.cc or cp/typeck.cc.  */
       FOREACH_FUNCTION_ARGS(type, arg, args_iter)
 	{
 	  HOST_WIDE_INT parm_size;
@@ -278,7 +278,7 @@ i386_pe_mangle_decl_assembler_name (tree decl, tree id)
   return (new_id ? new_id : id);
 }
 
-/* This hook behaves the same as varasm.c/assemble_name(), but
+/* This hook behaves the same as varasm.cc/assemble_name(), but
    generates the name into memory rather than outputting it to
    a file stream.  */
 
@@ -319,7 +319,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
     }
 
   /* Mark the decl so we can tell from the rtl whether the object is
-     dllexport'd or dllimport'd.  tree.c: merge_dllimport_decl_attributes
+     dllexport'd or dllimport'd.  tree.cc: merge_dllimport_decl_attributes
      handles dllexport/dllimport override semantics.  */
   flags = (SYMBOL_REF_FLAGS (symbol) &
 	   ~(SYMBOL_FLAG_DLLIMPORT | SYMBOL_FLAG_DLLEXPORT));
diff --git a/gcc/config/i386/x-cygwin b/gcc/config/i386/x-cygwin
index 752af76ef6a..d9b909117e0 100644
--- a/gcc/config/i386/x-cygwin
+++ b/gcc/config/i386/x-cygwin
@@ -1,4 +1,4 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
+host-cygwin.o : $(srcdir)/config/i386/host-cygwin.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c
+		$(srcdir)/config/i386/host-cygwin.cc
diff --git a/gcc/config/i386/x-darwin b/gcc/config/i386/x-darwin
index 4967d695ce9..08b6ce58bcf 100644
--- a/gcc/config/i386/x-darwin
+++ b/gcc/config/i386/x-darwin
@@ -1,3 +1,3 @@
-host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.c
+host-i386-darwin.o : $(srcdir)/config/i386/host-i386-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-i386 b/gcc/config/i386/x-i386
index 1f3db1d19cf..29868e94e61 100644
--- a/gcc/config/i386/x-i386
+++ b/gcc/config/i386/x-i386
@@ -1,3 +1,3 @@
-driver-i386.o : $(srcdir)/config/i386/driver-i386.c
+driver-i386.o : $(srcdir)/config/i386/driver-i386.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index 85c74104ef2..d481fc3b946 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -25,10 +25,10 @@ local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|
 # code does not handle that, so we have to disable checking here.
 WERROR_FLAGS += -Wno-format
 
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
+host-mingw32.o : $(srcdir)/config/i386/host-mingw32.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c
+		$(srcdir)/config/i386/host-mingw32.cc
 
-driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H)
+driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.cc $(CONFIG_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/i386/x86-tune-sched-core.cc b/gcc/config/i386/x86-tune-sched-core.cc
index 0fe7c84a131..44968e837d0 100644
--- a/gcc/config/i386/x86-tune-sched-core.cc
+++ b/gcc/config/i386/x86-tune-sched-core.cc
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 
 
 /* Model decoder of Core 2/i7.
-   Below hooks for multipass scheduling (see haifa-sched.c:max_issue)
+   Below hooks for multipass scheduling (see haifa-sched.cc:max_issue)
    track the instruction fetch block boundaries and make sure that long
    (9+ bytes) instructions are assigned to D0.  */
 
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index 0d3fd078068..24ea00c24e1 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -22,8 +22,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     - adding new CPU into:
 	- adding PROCESSOR_XXX to processor_type (in i386.h)
 	- possibly adding XXX into CPU attribute in i386.md
-	- adding XXX to processor_alias_table (in i386.c)
-    - introducing ix86_XXX_cost in i386.c
+	- adding XXX to processor_alias_table (in i386.cc)
+    - introducing ix86_XXX_cost in i386.cc
 	- Stringop generation table can be build based on test_stringop
 	- script (once rest of tuning is complete)
     - designing a scheduler model in
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 8926524c943..1aff35ff87c 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
 /* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
-   to avoid gcc.c redefining it to /usr/lib */
+   to avoid gcc.cc redefining it to /usr/lib */
 #undef STANDARD_STARTFILE_PREFIX_2
 #define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
 
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  If not see
       } \
   } while (0)
 
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
+/* Canonicalize paths containing '/dev/env/'; used in prefix.cc.
    _fixpath is a djgpp-specific function to canonicalize a path.
    "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
    example.  It removes any trailing '/', so add it back.  */
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index 7c978f2edfd..e3ab57e28ce 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -37,8 +37,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index fb196a0843a..fa705d75924 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -131,7 +131,7 @@ do {								\
 #define REGISTER_TARGET_PRAGMAS() \
   c_register_pragma (0, "builtin", ia64_hpux_handle_builtin_pragma)
 
-/* Tell ia64.c that we are using the HP linker and we should delay output of
+/* Tell ia64.cc that we are using the HP linker and we should delay output of
    function extern declarations so that we don't output them for functions
    which are never used (and may not be defined).  */
 
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 21957c418e5..77e0cf7c72b 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Shared between the driver and cc1.  */
 extern enum unwind_info_type ia64_except_unwind_info (struct gcc_options *);
 
-/* Functions defined in ia64.c */
+/* Functions defined in ia64.cc */
 
 extern int bundling_p;
 #ifdef RTX_CODE
diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 829cf7335f3..f9fb681a36c 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -5319,7 +5319,7 @@ ia64_function_value_regno_p (const unsigned int regno)
           || (regno >= FR_RET_FIRST && regno <= FR_RET_LAST));
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
@@ -5936,7 +5936,7 @@ ia64_secondary_reload_class (enum reg_class rclass,
 	 enabled, because paradoxical subregs are not accepted by
 	 register_operand when INSN_SCHEDULING is defined.  Or alternatively,
 	 stop the paradoxical subreg stupidity in the *_operand functions
-	 in recog.c.  */
+	 in recog.cc.  */
       if (GET_CODE (x) == MEM
 	  && (GET_MODE (x) == SImode || GET_MODE (x) == HImode
 	      || GET_MODE (x) == QImode))
@@ -9226,7 +9226,7 @@ bundling (FILE *dump, int verbose, rtx_insn *prev_head_insn, rtx_insn *tail)
 	if (verbose >= 2 && dump)
 	  {
 	    /* This structure is taken from generated code of the
-	       pipeline hazard recognizer (see file insn-attrtab.c).
+	       pipeline hazard recognizer (see file insn-attrtab.cc).
 	       Please don't forget to change the structure if a new
 	       automaton is added to .md file.  */
 	    struct DFA_chip
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 5615951b14b..bd0ef35e9a4 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1335,7 +1335,7 @@ do {									\
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  */
+   `%I' options of `asm_fprintf' (see `final.cc').  */
 
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 48e8aa60e8d..5d1d47da55b 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -549,7 +549,7 @@
 
 ;; Define register predicate prefix.
 ;; We can generate speculative loads only for general and fp registers - this
-;; is constrained in ia64.c: ia64_speculate_insn ().
+;; is constrained in ia64.cc: ia64_speculate_insn ().
 (define_mode_attr reg_pred_prefix [(BI "gr") (QI "gr") (HI "gr") (SI "gr") (DI "grfr") (SF "grfr") (DF "grfr") (XF "fr") (TI "fr")])
 
 (define_mode_attr ld_class [(BI "ld") (QI "ld") (HI "ld") (SI "ld") (DI "ld,fld") (SF "fld,ld") (DF "fld,ld") (XF "fld") (TI "fldp")])
@@ -1420,7 +1420,7 @@
       if (width == 32 && shift == 0)
 	{
 	  /* Directly generating the mix4left instruction confuses
-	     optimize_bit_field in function.c.  Since this is performing
+	     optimize_bit_field in function.cc.  Since this is performing
 	     a useful optimization, we defer generation of the complicated
 	     mix4left RTL to the first splitting phase.  */
 	  rtx tmp = gen_reg_rtx (DImode);
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 157a01cf723..6364d2e3645 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -653,7 +653,7 @@
 
 ;; True if OP is valid as a base register in a reg + offset address.
 ;; ??? Should I copy the flag_omit_frame_pointer and cse_not_expected
-;; checks from pa.c basereg_operand as well?  Seems to be OK without them
+;; checks from pa.cc basereg_operand as well?  Seems to be OK without them
 ;; in test runs.
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 119c53fda77..045752af012 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -59,10 +59,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    the Intel simulator.  So we must explicitly put variables in .bss
    instead.  This matters only if we care about the Intel assembler.  */
 
-/* This is asm_output_aligned_bss from varasm.c without the
+/* This is asm_output_aligned_bss from varasm.cc without the
    (*targetm.asm_out.globalize_label) call at the beginning.  */
 
-/* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
+/* This is for final.cc, because it is used by ASM_DECLARE_OBJECT_NAME.  */
 extern int size_directive_output;
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index fc3a9bd1397..3fedb7b21c1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -16,13 +16,13 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
+ia64-c.o: $(srcdir)/config/ia64/ia64-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/ia64/ia64-c.c
+		$(srcdir)/config/ia64/ia64-c.cc
 
 # genattrtab generates very long string literals.
 insn-attrtab.o-warn = -Wno-error
 
-ia64.o: $(srcdir)/config/ia64/ia64.c debug.h $(PARAMS_H) sel-sched.h reload.h \
+ia64.o: $(srcdir)/config/ia64/ia64.cc debug.h $(PARAMS_H) sel-sched.h reload.h \
 	$(OPTS_H) dumpfile.h $(HASH_TABLE_H)
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 58a26cff1ab..3327f14b831 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -525,7 +525,7 @@ while (0)
 
 #define FUNCTION_MODE SImode
 
-/* IQ2000 external variables defined in iq2000.c.  */
+/* IQ2000 external variables defined in iq2000.cc.  */
 
 /* Comparison type.  */
 enum cmp_type
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 10f49bc8177..fdb346f43ef 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1495,7 +1495,7 @@
 ;;
 ;;  ....................
 
-;; calls.c now passes a third argument, make saber happy
+;; calls.cc now passes a third argument, make saber happy
 
 (define_expand "call"
   [(parallel [(call (match_operand 0 "memory_operand" "m")
@@ -1565,7 +1565,7 @@
   [(set_attr "type"	"call")
    (set_attr "mode"	"none")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index f394404e95e..2e888e3b176 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -126,7 +126,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
 /* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
+ * Unfortunately, this is mostly duplicated from cppdefault.cc */
 #if DEFAULT_LIBC == LIBC_MUSL
 #define INCLUDE_DEFAULTS_MUSL_GPP			\
     { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,		\
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
-   linux.c, linux-protos.h, linux.opt, etc.  We could, alternatively, add
+   linux.cc, linux-protos.h, linux.opt, etc.  We could, alternatively, add
    these files to *uclinux* targets, but that would only pollute option list
    (add -mglibc, etc.) without adding any useful support.  */
 
diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc
index a004790d074..11ca9a43a0b 100644
--- a/gcc/config/m32c/m32c.cc
+++ b/gcc/config/m32c/m32c.cc
@@ -4044,7 +4044,7 @@ m32c_function_needs_enter (void)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  So this function is handy for
    marking up 'enter' instructions.  */
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index c419cf33867..af99103fd64 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -522,7 +522,7 @@ typedef struct m32c_cumulative_args
 #define MAX_REGS_PER_ADDRESS 1
 
 /* This is passed to the macros below, so that they can be implemented
-   in m32c.c.  */
+   in m32c.cc.  */
 #ifdef REG_OK_STRICT
 #define REG_OK_STRICT_V 1
 #else
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 22995fd003d..870260888f0 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -31,7 +31,7 @@ md : $(MD_FILES:%=$(srcdir)/config/m32c/%.md) $(srcdir)/config/m32c/t-m32c
 	  echo "(include \"$(srcdir)/config/m32c/$$md.md\")"; \
 	done > md
 
-m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+m32c-pragma.o: $(srcdir)/config/m32c/m32c-pragma.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # We support four CPU series, but R8C and M16C share one multilib, and
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index ac6c2d05d71..dd07a99a71c 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for m32r.c functions used in the md file & elsewhere.
+/* Prototypes for m32r.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index e40a8f5805e..bca768172b7 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -2098,7 +2098,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
 	  fprintf (file, "@(");
 	  /* Handle possible auto-increment.  Since it is pre-increment and
 	     we have already done it, we can just use an offset of four.  */
-	  /* ??? This is taken from rs6000.c I think.  I don't think it is
+	  /* ??? This is taken from rs6000.cc I think.  I don't think it is
 	     currently necessary, but keep it around.  */
 	  if (GET_CODE (XEXP (x, 0)) == PRE_INC
 	      || GET_CODE (XEXP (x, 0)) == PRE_DEC)
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 9eb964df293..b96eec8fe3f 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -464,7 +464,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   ((REGNO) < FIRST_PSEUDO_REGISTER			\
@@ -801,7 +801,7 @@ L2:     .word STATIC
 }
 
 /* If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These
    are useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently.  */
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index 26d4af42f5a..1eb6859d19e 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -2195,7 +2195,7 @@
 )
 
 \f
-;; Block moves, see m32r.c for more details.
+;; Block moves, see m32r.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 6cb9785c728..ea9579288c5 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -17,7 +17,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* Define ISAs for the -march option, used both in m68k.c and to
+/* Define ISAs for the -march option, used both in m68k.cc and to
    generate m68k-tables.opt.  Before including this file, define a
    macro:
 
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index aa2a5ff6c58..e488a936cc9 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* Define microarchitectures for the -mtune option, used both in
-   m68k.c and to generate m68k-tables.opt.  Before including this
+   m68k.cc and to generate m68k-tables.opt.  Before including this
    file, define a macro:
 
    M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS)
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a1458bfc616..3139eb8e6e8 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -63,7 +63,7 @@ extern int floating_exact_log2 (rtx);
 extern bool strict_low_part_peephole_ok (machine_mode mode,
 					 rtx_insn *first_insn, rtx target);
 
-/* Functions from m68k.c used in macros.  */
+/* Functions from m68k.cc used in macros.  */
 extern int standard_68881_constant_p (rtx);
 extern void print_operand_address (FILE *, rtx);
 extern void print_operand (FILE *, rtx, int);
@@ -85,10 +85,10 @@ extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern bool m68k_epilogue_uses (int);
 
-/* Functions from m68k.c used in constraints.md.  */
+/* Functions from m68k.cc used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
 
-/* Functions from m68k.c used in genattrtab.  */
+/* Functions from m68k.cc used in genattrtab.  */
 #ifdef HAVE_ATTR_cpu
 extern enum attr_cpu m68k_sched_cpu;
 extern enum attr_mac m68k_sched_mac;
diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index 872b97ab8c1..1d5ef02f8de 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Motorola 68000 family.
+/* Subroutines for insn-output.cc for Motorola 68000 family.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -2706,7 +2706,7 @@ m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
      optimizations, sometimes cannot later fix this.  As a consequence,
      additional register may be allocated resulting in a spill.
      For reference, see args processing loops in
-     calls.c:emit_library_call_value_1.
+     calls.cc:emit_library_call_value_1.
      For testcase, see gcc.target/m68k/tls-{gd, ld}.c  */
   x = m68k_wrap_symbol (x, reloc, m68k_get_gp (), NULL_RTX);
 
@@ -6494,7 +6494,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
   if (sched_cfv4_bypass_data.scale == 1)
     /* Handle ColdFire V4 bypass for indexed address with 1x scale.  */
     {
-      /* haifa-sched.c: insn_cost () calls bypass_p () just before
+      /* haifa-sched.cc: insn_cost () calls bypass_p () just before
 	 targetm.sched.adjust_cost ().  Hence, we can be relatively sure
 	 that the data in sched_cfv4_bypass_data is up to date.  */
       gcc_assert (sched_cfv4_bypass_data.pro == def_insn
@@ -6517,7 +6517,7 @@ m68k_sched_adjust_cost (rtx_insn *insn, int, rtx_insn *def_insn, int cost,
      as their true dependence (default) latency is better to be set to 0
      to workaround alias analysis limitations.
      This is, in fact, a machine independent tweak, so, probably,
-     it should be moved to haifa-sched.c: insn_cost ().  */
+     it should be moved to haifa-sched.cc: insn_cost ().  */
   delay = min_insn_conflict_delay (sched_adjust_cost_state, def_insn, insn);
   if (delay > cost)
     cost = delay;
@@ -6798,7 +6798,7 @@ m68k_sched_md_init (FILE *sched_dump ATTRIBUTE_UNUSED,
     }
 
   if (sched_ib.enabled_p)
-    /* haifa-sched.c: schedule_block () calls advance_cycle () just before
+    /* haifa-sched.cc: schedule_block () calls advance_cycle () just before
        the first cycle.  Workaround that.  */
     sched_ib.filled = -2;
 }
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index c302121a2c7..cd353db41a6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -865,7 +865,7 @@ __transfer_from_trampoline ()					\
    || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?')
 
 
-/* See m68k.c for the m68k specific codes.  */
+/* See m68k.cc for the m68k specific codes.  */
 #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE)
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
@@ -888,7 +888,7 @@ enum m68k_function_kind
   m68k_fk_interrupt_thread
 };
 
-/* Variables in m68k.c; see there for details.  */
+/* Variables in m68k.cc; see there for details.  */
 extern enum target_device m68k_cpu;
 extern enum uarch_type m68k_tune;
 extern enum fpu_type m68k_fpu;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index e14255f050b..e4208cf323f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -193,7 +193,7 @@
 (define_attr "opy" "" (const_int 1))
 
 ;; Type of the Y operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opy_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ext,fbcc,ftst,neg_l,bcc,bra,bsr,clr,clr_l,ib,ignore,
@@ -204,7 +204,7 @@
 	(symbol_ref "m68k_sched_attr_opy_type (insn, 0)")))
 
 ;; Type of the X operand.
-;; See m68k.c: enum attr_op_type.
+;; See m68k.cc: enum attr_op_type.
 (define_attr "opx_type"
   "none,Rn,FPn,mem1,mem234,mem5,mem6,mem7,imm_q,imm_w,imm_l"
   (cond [(eq_attr "type" "ib,ignore,nop,rts,trap,unlk,
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index 129245490c7..ee55faf6912 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -39,7 +39,7 @@
     }						\
   while (0)
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 
 #undef  LIB_SPEC
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index 3027bf3b20f..e438b6e5375 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
-/* Override the default LIB_SPEC from gcc.c.  We don't currently support
+/* Override the default LIB_SPEC from gcc.cc.  We don't currently support
    profiling, or libg.a.  */
 #undef LIB_SPEC
 #define LIB_SPEC \
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index 1a6ffc622a9..52e0b7dabe9 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mcore.c
+/* Prototypes for exported functions defined in mcore.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Nick Clifton (nickc@redhat.com)
 
diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc
index 11cf500881d..28e707496d1 100644
--- a/gcc/config/mcore/mcore.cc
+++ b/gcc/config/mcore/mcore.cc
@@ -1463,7 +1463,7 @@ mcore_expand_insv (rtx operands[])
   int mask;
   rtx mreg, sreg, ereg;
 
-  /* To get width 1 insv, the test in store_bit_field() (expmed.c, line 191)
+  /* To get width 1 insv, the test in store_bit_field() (expmed.cc, line 191)
      for width==1 must be removed.  Look around line 368.  This is something
      we really want the md part to do.  */
   if (width == 1 && GET_CODE (operands[3]) == CONST_INT)
@@ -2021,7 +2021,7 @@ mcore_expand_prolog (void)
   output_stack_adjust (-1, fi.growth[growth++]);	/* Grows it.  */
 
   /* If we have a parameter passed partially in regs and partially in memory,
-     the registers will have been stored to memory already in function.c.  So
+     the registers will have been stored to memory already in function.cc.  So
      we only need to do something here for varargs functions.  */
   if (fi.arg_size != 0 && crtl->args.pretend_args_size == 0)
     {
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 01e1674b522..c905c4024f3 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -29,7 +29,7 @@
 /* Run-time Target Specification.  */
 #define TARGET_MCORE
 
-/* Get tree.c to declare a target-specific specialization of
+/* Get tree.cc to declare a target-specific specialization of
    merge_decl_attributes.  */
 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
@@ -482,7 +482,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
   ((REGNO) < AP_REG || (unsigned) reg_renumber[(REGNO)] < AP_REG)
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c977a48dc4c..ede545c66c8 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -2642,7 +2642,7 @@
 
 ; note: in the following patterns, use mcore_is_dead() to ensure that the
 ; reg we may be trashing really is dead.  reload doesn't always mark
-; deaths, so mcore_is_dead() (see mcore.c) scans forward to find its death.  BRC
+; deaths, so mcore_is_dead() (see mcore.cc) scans forward to find its death.  BRC
 
 ;;; A peephole to convert the 3 instruction sequence generated by reload
 ;;; to load a FP-offset address into a 2 instruction sequence.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 702c528ed64..d67355697b5 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -61,7 +61,7 @@ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
 extern void microblaze_eh_return (rtx op0);
 #endif  /* RTX_CODE */
 
-/* Declare functions in microblaze-c.c.  */
+/* Declare functions in microblaze-c.cc.  */
 extern void microblaze_cpp_define (struct cpp_reader *); 
 
 #endif  /* GCC_MICROBLAZE_PROTOS_H */
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 75767d8d69e..f32effecfb6 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -964,7 +964,7 @@ microblaze_legitimate_pic_operand (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -2767,7 +2767,7 @@ microblaze_function_prologue (FILE * file)
   const char *fnname;
   long fsiz = current_frame_info.total_size;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3069,7 +3069,7 @@ microblaze_function_epilogue (FILE *file)
 {
   const char *fnname;
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -3271,7 +3271,7 @@ microblaze_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
 /*
   Encode info about sections into the RTL based on a symbol's declaration.
   The default definition of this hook, default_encode_section_info in 
-  `varasm.c', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
+  `varasm.cc', sets a number of commonly-useful bits in SYMBOL_REF_FLAGS. */
 
 static void
 microblaze_encode_section_info (tree decl, rtx rtl, int first)
@@ -3357,7 +3357,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   emit_insn (gen_indirect_jump (temp2));
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from rs6000.c.  */
+     "borrowed" from rs6000.cc.  */
   insn = get_insns ();
   shorten_branches (insn);
   assemble_start_function (thunk_fndecl, fnname);
@@ -3511,7 +3511,7 @@ microblaze_eh_return (rtx op0)
 
 /* Queue an .ident string in the queue of top-level asm statements.
    If the string size is below the threshold, put it into .sdata2.
-   If the front-end is done, we must be being called from toplev.c.
+   If the front-end is done, we must be being called from toplev.cc.
    In that case, do nothing.  */
 void 
 microblaze_asm_output_ident (const char *string)
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 01737df74dc..d28bc766de8 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -21,7 +21,7 @@
 
 /* Standard GCC variables that we reference.  */
 
-/* MicroBlaze external variables defined in microblaze.c.  */
+/* MicroBlaze external variables defined in microblaze.cc.  */
 
 /* Which pipeline to schedule for.  */
 enum pipeline_type
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 7a6146c8e52..0765ff930c6 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1138,7 +1138,7 @@
   (set_attr "mode"	"QI")
   (set_attr "length"	"4,4,8,4,8,4,8")])
 
-;; Block moves, see microblaze.c for more details.
+;; Block moves, see microblaze.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
@@ -2147,7 +2147,7 @@
   (set_attr "mode"	"none")
   (set_attr "length"	"4")])
 
-;; calls.c now passes a fourth argument, make saber happy
+;; calls.cc now passes a fourth argument, make saber happy
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "register_operand" "=d")
diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
index 41fa9a92081..7e2fc5dcef8 100644
--- a/gcc/config/microblaze/t-microblaze
+++ b/gcc/config/microblaze/t-microblaze
@@ -5,8 +5,8 @@ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
 MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
 
 # Extra files
-microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.cc \
     $(srcdir)/config/microblaze/microblaze-protos.h \
     $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) $(TM_P_H) $(TREE_H) errors.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/microblaze/microblaze-c.c
+	$(srcdir)/config/microblaze/microblaze-c.cc
diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc
index 7cfa381a1e5..47627f85ce1 100644
--- a/gcc/config/mips/driver-native.cc
+++ b/gcc/config/mips/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 0038ddea28a..793f208c084 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -96,7 +96,7 @@
 
 ;; The following 4 instructions each subscribe one of
 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
-;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
+;; These instructions are used in mips.cc: sched_ls2_dfa_post_advance_cycle.
 
 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
   (const_string "unknown"))
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 877de78375f..9d0f4d90fd9 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -388,7 +388,7 @@ extern void mips_register_frame_header_opt (void);
 extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
 extern void mips_expand_vec_cmp_expr (rtx *);
 
-/* Routines implemented in mips-d.c  */
+/* Routines implemented in mips-d.cc  */
 extern void mips_d_target_versions (void);
 extern void mips_d_register_target_info (void);
 
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 8c7d6692337..6c0da2bb90c 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -4456,7 +4456,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
 	  /* It is our responsibility to make division by a power of 2
 	     as cheap as 2 register additions if we want the division
 	     expanders to be used for such operations; see the setting
-	     of sdiv_pow2_cheap in optabs.c.  Using (D)DIV for MIPS16
+	     of sdiv_pow2_cheap in optabs.cc.  Using (D)DIV for MIPS16
 	     should always produce shorter code than using
 	     expand_sdiv2_pow2.  */
 	  if (TARGET_MIPS16
@@ -9466,7 +9466,7 @@ mips_output_filename (FILE *stream, const char *name)
       output_quoted_string (stream, name);
       putc ('\n', stream);
     }
-  /* If we are emitting stabs, let dbxout.c handle this (except for
+  /* If we are emitting stabs, let dbxout.cc handle this (except for
      the mips_output_filename_first_time case).  */
   else if (write_symbols == DBX_DEBUG)
     return;
@@ -11799,7 +11799,7 @@ mips_output_function_prologue (FILE *file)
       && crtl->args.info.fp_code != 0)
     mips16_build_function_stub ();
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -11897,7 +11897,7 @@ mips_output_function_epilogue (FILE *)
       mips_pop_asm_switch (&mips_noreorder);
     }
 
-  /* Get the function name the same way that toplev.c does before calling
+  /* Get the function name the same way that toplev.cc does before calling
      assemble_start_function.  This is needed so that the name used here
      exactly matches the name used in ASM_DECLARE_FUNCTION_NAME.  */
   fnname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
@@ -19620,7 +19620,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
     }
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   mips16_lay_out_constants (true);
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 30e6e2bee9a..bf5c1d5a709 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  If not see
 extern int target_flags_explicit;
 #endif
 
-/* MIPS external variables defined in mips.c.  */
+/* MIPS external variables defined in mips.cc.  */
 
 /* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
    ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index cc412b1396b..e0f0a582732 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5657,7 +5657,7 @@
   "cache\t0x14,0(%$)"
   [(set_attr "can_delay" "no")])
 \f
-;; Block moves, see mips.c for more details.
+;; Block moves, see mips.cc for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source
 ;; Argument 2 is the length
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 9920fb432c1..d7a934f438c 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -21,10 +21,10 @@ $(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
 	$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
 		$(srcdir)/config/mips/mips-tables.opt
 
-frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-mips-d.o: $(srcdir)/config/mips/mips-d.c
+mips-d.o: $(srcdir)/config/mips/mips-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/mips/x-native b/gcc/config/mips/x-native
index 5e31121ede1..cf286369716 100644
--- a/gcc/config/mips/x-native
+++ b/gcc/config/mips/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/mips/driver-native.c \
+driver-native.o : $(srcdir)/config/mips/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9ee84a289b8..d9a40d3b941 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in mmix.c
+/* Prototypes for exported functions defined in mmix.cc
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 6e2bccdc3ec..18053d453be 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -332,7 +332,7 @@ mmix_option_override (void)
      mixed-syntax assembly output already looks too ugly for the
      intent of being readable, and the resulting mix certainly fails
      the intent of being compatible with mmixal.  See
-     varasm.c:default_file_start for this triple.  See also
+     varasm.cc:default_file_start for this triple.  See also
      mmix_assemble_integer.  */
   if (flag_verbose_asm || flag_debug_asm || flag_dump_rtl_in_asm)
     {
@@ -1966,7 +1966,7 @@ mmix_dbx_register_number (unsigned regno)
    Now the MMIX port's own functions.  First the exported ones.  */
 
 /* Wrapper for get_hard_reg_initial_val since integrate.h isn't included
-   from insn-emit.c.  */
+   from insn-emit.cc.  */
 
 rtx
 mmix_get_hard_reg_initial_val (machine_mode mode, int regno)
@@ -2195,7 +2195,7 @@ mmix_expand_prologue (void)
 	 the register stack at landing pads.  FIXME: It's a kludge because
 	 we can't describe the effect of the PUSHJ and PUSHGO insns on the
 	 register stack at the moment.  Best thing would be to handle it
-	 like stack-pointer offsets.  Better: some hook into dwarf2out.c
+	 like stack-pointer offsets.  Better: some hook into dwarf2out.cc
 	 to produce DW_CFA_expression:s that specify the increment of rO,
 	 and unwind it at eh_return (preferred) or at the landing pad.
 	 Then saves to $0..$G-1 could be specified through that register.  */
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1e3018c5be5..0fc45db6d74 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -529,7 +529,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 /* Node: Function Entry */
 
-/* See mmix.c for TARGET_ASM_FUNCTION_PROLOGUE and
+/* See mmix.cc for TARGET_ASM_FUNCTION_PROLOGUE and
    TARGET_ASM_FUNCTION_EPILOGUE.  */
 
 /* We need to say that the epilogue uses the return address, so the
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 18e2164cd5d..8bafb1a10c6 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -904,7 +904,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
   ""
   "
 {
-  /* The head comment of optabs.c:can_compare_p says we're required to
+  /* The head comment of optabs.cc:can_compare_p says we're required to
      implement this, so we have to clean up the mess here.  */
   if (GET_CODE (operands[0]) == LE || GET_CODE (operands[0]) == GE)
     {
@@ -1036,7 +1036,7 @@ DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\;CSNN %0,$255,%2")
 ;; Don't use 'p' here.  A 'p' must stand first in constraints, or reload
 ;; messes up, not registering the address for reload.  Several C++
 ;; testcases, including g++.brendan/crash40.C.  FIXME: This is arguably a
-;; bug in gcc.  Note line ~2612 in reload.c, that does things on the
+;; bug in gcc.  Note line ~2612 in reload.cc, that does things on the
 ;; condition <<else if (constraints[i][0] == 'p')>> and the comment on
 ;; ~3017 that says:
 ;; <<   case 'p':
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index 40c6317aee6..96b214c86e0 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -49,7 +49,7 @@
 })
 
 ;; Like comparison_operator, but only true if this comparison operator is
-;; applied to a valid mode.  Needed to avoid jump.c generating invalid
+;; applied to a valid mode.  Needed to avoid jump.cc generating invalid
 ;; code with -ffast-math (gcc.dg/20001228-1.c).
 
 (define_predicate "mmix_comparison_operator"
diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc
index d375c70ab5c..2a58dd9256d 100644
--- a/gcc/config/mn10300/mn10300.cc
+++ b/gcc/config/mn10300/mn10300.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Matsushita MN10300 series
+/* Subroutines for insn-output.cc for Matsushita MN10300 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -1787,7 +1787,7 @@ mn10300_symbolic_operand (rtx op,
 
 /* Try machine dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -1928,7 +1928,7 @@ mn10300_legitimate_pic_operand_p (rtx x)
 
    Note it is still possible to use reg+reg addressing modes,
    it's just much more difficult.  For a discussion of a possible
-   workaround and solution, see the comments in pa.c before the
+   workaround and solution, see the comments in pa.cc before the
    function record_unscaled_index_insn_codes.  */
 
 static bool
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 815d50c4494..bc57f4b176c 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -318,7 +318,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #ifndef REG_OK_STRICT
@@ -546,7 +546,7 @@ do {									     \
 
 #define NO_FUNCTION_CSE 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the MN10300 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -624,7 +624,7 @@ do {									     \
 }
 
 /* Print an instruction operand X on file FILE.
-   look in mn10300.c for details */
+   look in mn10300.cc for details */
 
 #define PRINT_OPERAND(FILE, X, CODE) \
   mn10300_print_operand (FILE, X, CODE)
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index 288d68fb35e..0a6c6cfd095 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for moxie.c functions used in the md file & elsewhere.
+/* Prototypes for moxie.cc functions used in the md file & elsewhere.
    Copyright (C) 2009-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 3b3fdc656bf..b84d53294ec 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 
-/* Like the definition in gcc.c, but for purposes of uClinux, every link is
+/* Like the definition in gcc.cc, but for purposes of uClinux, every link is
    static.  */
 #define MFWRAP_SPEC " %{fmudflap|fmudflapth: \
  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc\
diff --git a/gcc/config/msp430/msp430-devices.cc b/gcc/config/msp430/msp430-devices.cc
index 85a2ad1b5be..95288e525c2 100644
--- a/gcc/config/msp430/msp430-devices.cc
+++ b/gcc/config/msp430/msp430-devices.cc
@@ -98,7 +98,7 @@ extract_devices_dir_from_exec_prefix (char **devices_loc)
   char *gcc_exec_prefix = *devices_loc;
   int len = strlen (gcc_exec_prefix);
 
-  /* Copied from gcc.c.  */
+  /* Copied from gcc.cc.  */
   if (len > (int) sizeof ("/lib/gcc/") - 1
       && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
     {
diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc
index 136f0143a5e..18673ff6fd3 100644
--- a/gcc/config/msp430/msp430.cc
+++ b/gcc/config/msp430/msp430.cc
@@ -848,7 +848,7 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
   if (boundary > align
       && !integer_zerop (TYPE_SIZE (type)))
     {
-      /* FIXME: This is where this function diverts from targhooks.c:
+      /* FIXME: This is where this function diverts from targhooks.cc:
 	 std_gimplify_va_arg_expr().  It works, but I do not know why...  */
       if (! POINTER_TYPE_P (type))
 	{
@@ -4426,7 +4426,7 @@ msp430_incoming_return_addr_rtx (void)
 
 /* If the path to the MSP430-GCC support files has been found by examining
    an environment variable (see msp430_check_env_var_for_devices in
-   msp430-devices.c), or -mdevices-csv-loc=, register this path as an include
+   msp430-devices.cc), or -mdevices-csv-loc=, register this path as an include
    directory so the user can #include msp430.h without needing to specify the
    path to the support files with -I.  */
 void
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index 846478451d9..39667655c43 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -103,7 +103,7 @@ extern const char * msp430_check_path_for_devices (int, const char **);
 extern const char *msp430_propagate_region_opt (int, const char **);
 extern const char *msp430_get_linker_devices_include_path (int, const char **);
 
-/* There must be a trailing comma after the last item, see gcc.c
+/* There must be a trailing comma after the last item, see gcc.cc
    "static_spec_functions".  */
 # define EXTRA_SPEC_FUNCTIONS				\
   { "msp430_hwmult_lib", msp430_select_hwmult_lib },	\
@@ -128,7 +128,7 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **);
    reason that a spec function is used.  There are so many possible
    values of FOO that a table is used to look up the name and map
    it to a hardware multiply library.  This table (in device-msp430.c)
-   must be kept in sync with the same table in msp430.c.  */
+   must be kept in sync with the same table in msp430.cc.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "					\
 --start-group						\
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 94720d878c1..bc7df122f74 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -18,11 +18,11 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
+driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
+msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.cc \
 	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) -DTARGET_SUBDIR=$(target_subdir) $(INCLUDES) $<
 
@@ -49,5 +49,5 @@ MULTILIB_REQUIRED += mlarge/mdata-region=none/fno-exceptions
 
 MULTILIB_EXTRA_OPTS =
 
-msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+msp430-c.o: $(srcdir)/config/msp430/msp430-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/nds32/nds32-cost.cc b/gcc/config/nds32/nds32-cost.cc
index eccbbe53b10..af6ae075240 100644
--- a/gcc/config/nds32/nds32-cost.cc
+++ b/gcc/config/nds32/nds32-cost.cc
@@ -66,7 +66,7 @@ nds32_rtx_costs_speed_prefer (rtx x ATTRIBUTE_UNUSED,
   switch (code)
     {
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       return true;
 
@@ -418,7 +418,7 @@ nds32_rtx_costs_size_prefer (rtx x,
       return false;
 
     case USE:
-      /* Used in combine.c as a marker.  */
+      /* Used in combine.cc as a marker.  */
       *total = 0;
       break;
 
@@ -506,7 +506,7 @@ nds32_init_rtx_costs (void)
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 bool
 nds32_rtx_costs_impl (rtx x,
 		      machine_mode mode ATTRIBUTE_UNUSED,
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index 3ce9c6c3946..19d4be374a2 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -150,7 +150,7 @@
   /* Construct highpart rtx.  */
   /* Note that operands[1] can be VOIDmode constant,
      so we need to use gen_highpart_mode().
-     Refer to gcc/emit-rtl.c for more information.  */
+     Refer to gcc/emit-rtl.cc for more information.  */
   operands[4] = gen_highpart (SImode, operands[0]);
   operands[5] = gen_highpart_mode (SImode,
 				   GET_MODE (operands[0]), operands[1]);
diff --git a/gcc/config/nds32/nds32.cc b/gcc/config/nds32/nds32.cc
index 7cf060b7c97..aab02ff2ae9 100644
--- a/gcc/config/nds32/nds32.cc
+++ b/gcc/config/nds32/nds32.cc
@@ -3052,7 +3052,7 @@ nds32_memory_move_cost (machine_mode mode ATTRIBUTE_UNUSED,
 /* This target hook describes the relative costs of RTL expressions.
    Return 'true' when all subexpressions of x have been processed.
    Return 'false' to sum the costs of sub-rtx, plus cost of this operation.
-   Refer to gcc/rtlanal.c for more information.  */
+   Refer to gcc/rtlanal.cc for more information.  */
 static bool
 nds32_rtx_costs (rtx x,
 		 machine_mode mode,
@@ -4219,7 +4219,7 @@ nds32_init_builtins (void)
 static tree
 nds32_builtin_decl (unsigned code, bool initialize_p)
 {
-  /* Implement in nds32-intrinsic.c.  */
+  /* Implement in nds32-intrinsic.cc.  */
   return nds32_builtin_decl_impl (code, initialize_p);
 }
 
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index d5662c164ef..18ef8ae9ee8 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -22,7 +22,7 @@
 /* ------------------------------------------------------------------------ */
 
 /* The following are auxiliary macros or structure declarations
-   that are used all over the nds32.c and nds32.h.  */
+   that are used all over the nds32.cc and nds32.h.  */
 
 #define ADJUST_INSN_LENGTH(INSN, LENGTH) \
   (LENGTH = nds32_adjust_insn_length (INSN, LENGTH))
@@ -147,7 +147,7 @@ enum nds32_16bit_address_type
 
 /* Determine whether we would like to have code generation strictly aligned.
    We set it strictly aligned when -malways-align is enabled.
-   Check gcc/common/config/nds32/nds32-common.c for the optimizations that
+   Check gcc/common/config/nds32/nds32-common.cc for the optimizations that
    apply -malways-align.  */
 #define NDS32_ALIGN_P() (TARGET_ALWAYS_ALIGN)
 
@@ -342,7 +342,7 @@ typedef struct
    0 for reset handler,
    1-8 for exception handler,
    and 9-72 for interrupt handler.
-   We use an array, which is defined in nds32.c, to record
+   We use an array, which is defined in nds32.cc, to record
    essential information for each vector.  */
 #define NDS32_N_ISR_VECTORS 73
 
@@ -373,7 +373,7 @@ enum nds32_isr_nested_type
 
 /* Define structure to record isr information.
    The isr vector array 'isr_vectors[]' with this structure
-   is defined in nds32.c.  */
+   is defined in nds32.cc.  */
 struct nds32_isr_info
 {
   /* The field to identify isr category.
@@ -1411,7 +1411,7 @@ enum reg_class
 	  chain_value
 	  nested function address
 
-   Please check nds32.c implementation for more information.  */
+   Please check nds32.cc implementation for more information.  */
 #define TRAMPOLINE_SIZE 24
 
 /* Because all instructions/data in trampoline template are 4-byte size,
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 954573f08e6..e09ff027f2f 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -215,7 +215,7 @@
   (match_code "parallel")
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, false);
 })
 
@@ -224,7 +224,7 @@
 {
   /* To verify 'load' operation, pass 'true' for the second argument.
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, true, true);
 })
 
@@ -232,7 +232,7 @@
   (match_code "parallel")
 {
   /* To verify 'store' operation, pass 'false' for the second argument.
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, false);
 })
 
@@ -241,7 +241,7 @@
 {
   /* To verify 'store' operation, pass 'false' for the second argument,
      to verify 'update address' operation, pass 'true' for the third argument
-     See the implementation in nds32.c for details.  */
+     See the implementation in nds32.cc for details.  */
   return nds32_valid_multiple_load_store_p (op, false, true);
 })
 
@@ -249,7 +249,7 @@
   (match_code "parallel")
 {
   /* To verify 'push' operation, pass 'true' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, true);
 })
 
@@ -257,7 +257,7 @@
   (match_code "parallel")
 {
   /* To verify 'pop' operation, pass 'false' for the second argument.
-     See the implementation in nds32-predicates.c for details.  */
+     See the implementation in nds32-predicates.cc for details.  */
   return nds32_valid_stack_push_pop_p (op, false);
 })
 
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index 1eb9de6e606..3833f3daceb 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -19,7 +19,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -29,9 +29,9 @@ nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-md-auxiliary.c
+		$(srcdir)/config/nds32/nds32-md-auxiliary.cc
 
-nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c \
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -41,9 +41,9 @@ nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-memory-manipulation.c
+		$(srcdir)/config/nds32/nds32-memory-manipulation.cc
 
-nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -53,9 +53,9 @@ nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-predicates.c
+		$(srcdir)/config/nds32/nds32-predicates.cc
 
-nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -65,10 +65,10 @@ nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-intrinsic.c
+		$(srcdir)/config/nds32/nds32-intrinsic.cc
 
 nds32-pipelines-auxiliary.o: \
-  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c \
+  $(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -78,10 +78,10 @@ nds32-pipelines-auxiliary.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+		$(srcdir)/config/nds32/nds32-pipelines-auxiliary.cc
 
 nds32-isr.o: \
-  $(srcdir)/config/nds32/nds32-isr.c \
+  $(srcdir)/config/nds32/nds32-isr.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -91,10 +91,10 @@ nds32-isr.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-isr.c
+		$(srcdir)/config/nds32/nds32-isr.cc
 
 nds32-cost.o: \
-  $(srcdir)/config/nds32/nds32-cost.c \
+  $(srcdir)/config/nds32/nds32-cost.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -104,10 +104,10 @@ nds32-cost.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-cost.c
+		$(srcdir)/config/nds32/nds32-cost.cc
 
 nds32-fp-as-gp.o: \
-  $(srcdir)/config/nds32/nds32-fp-as-gp.c \
+  $(srcdir)/config/nds32/nds32-fp-as-gp.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -117,10 +117,10 @@ nds32-fp-as-gp.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-fp-as-gp.c
+		$(srcdir)/config/nds32/nds32-fp-as-gp.cc
 
 nds32-relax-opt.o: \
-  $(srcdir)/config/nds32/nds32-relax-opt.c \
+  $(srcdir)/config/nds32/nds32-relax-opt.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -130,10 +130,10 @@ nds32-relax-opt.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-relax-opt.c
+		$(srcdir)/config/nds32/nds32-relax-opt.cc
 
 nds32-utils.o: \
-  $(srcdir)/config/nds32/nds32-utils.c \
+  $(srcdir)/config/nds32/nds32-utils.cc \
   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
   insn-config.h conditions.h output.h dumpfile.h \
@@ -143,4 +143,4 @@ nds32-utils.o: \
   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/nds32/nds32-utils.c
+		$(srcdir)/config/nds32/nds32-utils.cc
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc
index 8c539fc1935..f193cde5a34 100644
--- a/gcc/config/nios2/nios2.cc
+++ b/gcc/config/nios2/nios2.cc
@@ -4462,7 +4462,7 @@ nios2_pragma_target_parse (tree args, tree pop_target)
    We are just using this hook to add some additional error checking to
    the default behavior.  GCC does not provide a target hook for merging
    the target options, and only correctly handles merging empty vs non-empty
-   option data; see merge_decls() in c-decl.c.
+   option data; see merge_decls() in c-decl.cc.
    So here we require either that at least one of the decls has empty
    target options, or that the target options/data be identical.  */
 static tree
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index ef236159004..3d6ad148cb4 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for exported functions defined in nvptx.c.
+/* Prototypes for exported functions defined in nvptx.cc.
    Copyright (C) 2014-2022 Free Software Foundation, Inc.
    Contributed by Bernd Schmidt <bernds@codesourcery.com>
 
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index 5cc5e011137..20fd8938f2d 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -6793,7 +6793,7 @@ nvptx_goacc_expand_var_decl (tree var)
 		    var, "gang");
 	  if (dump_file && (dump_flags & TDF_DETAILS))
 	    {
-	      /* 'dumpfile.c:dump_loc' */
+	      /* 'dumpfile.cc:dump_loc' */
 	      fprintf (dump_file, "%s:%d:%d: ", LOCATION_FILE (loc),
 		       LOCATION_LINE (loc), LOCATION_COLUMN (loc));
 	      fprintf (dump_file, "%s: ", "note");
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index d61bd70c364..9fda2f0d86c 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -36,7 +36,7 @@
 
 #define TARGET_CPU_CPP_BUILTINS() nvptx_cpu_cpp_builtins ()
 
-/* Avoid the default in ../../gcc.c, which adds "-pthread", which is not
+/* Avoid the default in ../../gcc.cc, which adds "-pthread", which is not
    supported for nvptx.  */
 #define GOMP_SELF_SPECS ""
 
diff --git a/gcc/config/nvptx/t-nvptx b/gcc/config/nvptx/t-nvptx
index d33bacd785d..b1707665a9f 100644
--- a/gcc/config/nvptx/t-nvptx
+++ b/gcc/config/nvptx/t-nvptx
@@ -1,10 +1,10 @@
-nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.c
+nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
 	-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
-mkoffload.o: $(srcdir)/config/nvptx/mkoffload.c
+mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 ALL_HOST_OBJS += mkoffload.o
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
index 6d03b434ffc..8765d9f1881 100644
--- a/gcc/config/nvptx/t-omp-device
+++ b/gcc/config/nvptx/t-omp-device
@@ -1,4 +1,4 @@
-omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc
 	echo kind: gpu > $@
 	echo arch: nvptx >> $@
 	echo isa: sm_30 sm_35 >> $@
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 2c2f24968e7..b58659cde18 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #define OBJ_ELF
 
 #define ENDFILE_SPEC "crtend.o%s"
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index ea7157d273f..5af11a1df80 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently).  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-netbsd.h b/gcc/config/pa/pa-netbsd.h
index d52c4d5ec51..f5eaec6899d 100644
--- a/gcc/config/pa/pa-netbsd.h
+++ b/gcc/config/pa/pa-netbsd.h
@@ -95,7 +95,7 @@ along with GCC; see the file COPYING3.  If not see
 #define GLOBAL_ASM_OP ".globl "
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 6145298e558..455294fe247 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
 /* FIXME: Hacked from the <elfos.h> one so that we avoid multiple
-   labels in a function declaration (since pa.c seems determined to do
+   labels in a function declaration (since pa.cc seems determined to do
    it differently)  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index fcbffa7e800..d474d9efc91 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for pa.c functions used in the md file & elsewhere.
+/* Prototypes for pa.cc functions used in the md file & elsewhere.
    Copyright (C) 2000-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Prototype function used in various macros.  */
 extern rtx pa_eh_return_handler_rtx (void);
 
-/* Define functions in pa.c and used in insn-output.c.  */
+/* Define functions in pa.cc and used in insn-output.cc.  */
 
 extern const char *pa_output_and (rtx *);
 extern const char *pa_output_64bit_and (rtx *);
@@ -67,7 +67,7 @@ extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, machine_mode,
 					 int, int, int);
 
-/* Declare functions defined in pa.c and used in templates.  */
+/* Declare functions defined in pa.cc and used in templates.  */
 
 extern rtx pa_return_addr_rtx (int, rtx);
 
@@ -89,7 +89,7 @@ extern void pa_expand_prologue (void);
 extern void pa_expand_epilogue (void);
 extern bool pa_can_use_return_insn (void);
 
-/* Miscellaneous functions in pa.c.  */
+/* Miscellaneous functions in pa.cc.  */
 #ifdef TREE_CODE
 extern int pa_reloc_needed (tree);
 extern bool pa_return_in_memory (const_tree, const_tree);
@@ -112,6 +112,6 @@ extern void hppa_profile_hook (int);
 
 extern const int pa_magic_milli[];
 
-/* Routines implemented in pa-d.c  */
+/* Routines implemented in pa-d.cc  */
 extern void pa_d_target_versions (void);
 extern void pa_d_register_target_info (void);
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index b334518bff4..54ab486a02d 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -1,6 +1,6 @@
-/* Subroutines for insn-output.c for HPPA.
+/* Subroutines for insn-output.cc for HPPA.
    Copyright (C) 1992-2022 Free Software Foundation, Inc.
-   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
+   Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.cc
 
 This file is part of GCC.
 
@@ -1026,7 +1026,7 @@ mem_shadd_or_shadd_rtx_p (rtx x)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
@@ -10038,7 +10038,7 @@ som_output_text_section_asm_op (const char *data ATTRIBUTE_UNUSED)
 	     function has been completed.  So, we are changing to the
 	     text section to output debugging information.  Thus, we
 	     need to forget that we are in the text section so that
-	     varasm.c will call us when text_section is selected again.  */
+	     varasm.cc will call us when text_section is selected again.  */
 	  gcc_assert (!cfun || !cfun->machine
 		      || cfun->machine->in_nsubspa == 2);
 	  in_section = NULL;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 26a2d43f92a..92d3d1841a9 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -142,7 +142,7 @@ extern unsigned long total_code_bytes;
 /* This used to be zero (no max length), but big enums and such can
    cause huge strings which killed gas.
 
-   We also have to avoid lossage in dbxout.c -- it does not compute the
+   We also have to avoid lossage in dbxout.cc -- it does not compute the
    string size accurately, so we are real conservative here.  */
 #undef DBX_CONTIN_LENGTH
 #define DBX_CONTIN_LENGTH 3000
@@ -680,7 +680,7 @@ struct hppa_args {int words, nargs_prototype, incoming, indirect; };
 /* The profile counter if emitted must come before the prologue.  */
 #define PROFILE_BEFORE_PROLOGUE 1
 
-/* We never want final.c to emit profile counters.  When profile
+/* We never want final.cc to emit profile counters.  When profile
    counters are required, we have to defer emitting them to the end
    of the current file.  */
 #define NO_PROFILE_COUNTERS 1
@@ -730,7 +730,7 @@ extern int may_call_alloca;
    They give nonzero only if X is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(X) \
@@ -919,7 +919,7 @@ extern int may_call_alloca;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND_L, WIN) 	     \
 do {									     \
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index aacb403ea7f..76ae35d4cfa 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3261,7 +3261,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -3449,7 +3449,7 @@
 ;; If the count is run-time determined, the register with the byte count
 ;; is clobbered by the copying code, and therefore it is forced to operand 2.
 ;;
-;; We used to clobber operands 0 and 1.  However, a change to regrename.c
+;; We used to clobber operands 0 and 1.  However, a change to regrename.cc
 ;; broke this semantic for pseudo registers.  We can't use match_scratch
 ;; as this requires two registers in the class R1_REGS when the MEMs for
 ;; operands 0 and 1 are both equivalent to symbolic MEMs.  Thus, we are
@@ -6663,7 +6663,7 @@
 	      DONE;
 	    }
 	}
-      /* Fallback to using optabs.c's expand_doubleword_shift.  */
+      /* Fallback to using optabs.cc's expand_doubleword_shift.  */
       FAIL;
     }
   if (GET_CODE (operands[2]) != CONST_INT)
@@ -6713,7 +6713,7 @@
 	  DONE;
 	}
     }
-  /* Fallback to using optabs.c's expand_doubleword_shift.  */
+  /* Fallback to using optabs.cc's expand_doubleword_shift.  */
   FAIL;
 })
 
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 586326cdf03..d2510e9b90a 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* So we can conditionalize small amounts of code in pa.c or pa.md.  */
+/* So we can conditionalize small amounts of code in pa.cc or pa.md.  */
 #undef TARGET_SOM
 #define TARGET_SOM 1
 
diff --git a/gcc/config/pa/t-pa b/gcc/config/pa/t-pa
index fbd05d26129..2428280fbc8 100644
--- a/gcc/config/pa/t-pa
+++ b/gcc/config/pa/t-pa
@@ -1,4 +1,4 @@
-pa-d.o: $(srcdir)/config/pa/pa-d.c
+pa-d.o: $(srcdir)/config/pa/pa-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc
index 63f4642f861..f7482df186b 100644
--- a/gcc/config/pdp11/pdp11.cc
+++ b/gcc/config/pdp11/pdp11.cc
@@ -66,7 +66,7 @@ static void decode_pdp11_d (const struct real_format *,
 			    REAL_VALUE_TYPE *, const long *);
 
 /* These two are taken from the corresponding vax descriptors
-   in real.c, changing only the encode/decode routine pointers.  */
+   in real.cc, changing only the encode/decode routine pointers.  */
 const struct real_format pdp11_f_format =
   {
     encode_pdp11_f,
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 22bede63a62..b7d66c3bc39 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -416,7 +416,7 @@ extern int current_first_parm_offset;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_BASE_P(REGNO)  \
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index d9c769fd3b9..a46efc1ef78 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -2154,7 +2154,7 @@
 
 ;; Note that there is no corresponding CC setter pattern.
 ;; The reason is that it won't be generated, because
-;; compare-elim.c only does the transformation on input
+;; compare-elim.cc only does the transformation on input
 ;; insns that have a two-element PARALLEL, as opposed to
 ;; the three-element one we have here.     
 (define_insn "divmodhi4_nocc"
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 8e8e24d5b27..25cfbb58d55 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -22,7 +22,7 @@ MULTILIB_OPTIONS = msoft-float
 LIBGCC2_CFLAGS = -Os
 CRTSTUFF_T_CFLAGS = -Os
 
-# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
+# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/pru/pru.md b/gcc/config/pru/pru.md
index a61255b2cd7..68dcab234b0 100644
--- a/gcc/config/pru/pru.md
+++ b/gcc/config/pru/pru.md
@@ -432,7 +432,7 @@
 ;; We define it solely to allow combine to choose SImode
 ;; for word mode when trying to match our cbranch_qbbx_* insn.
 ;;
-;; Check how combine.c:make_extraction() uses
+;; Check how combine.cc:make_extraction() uses
 ;; get_best_reg_extraction_insn() to select the op size.
 (define_insn "extzv<mode>"
   [(set (match_operand:QISI 0 "register_operand"	"=r")
diff --git a/gcc/config/pru/t-pru b/gcc/config/pru/t-pru
index a635b914461..86b1d7a5705 100644
--- a/gcc/config/pru/t-pru
+++ b/gcc/config/pru/t-pru
@@ -22,10 +22,10 @@
 # Unfortunately mabi=ti is not feature-complete enough to build newlib.
 # Hence we cannot present mabi=gnu/ti as a multilib option.
 
-pru-pragma.o: $(srcdir)/config/pru/pru-pragma.c $(RTL_H) $(TREE_H) \
+pru-pragma.o: $(srcdir)/config/pru/pru-pragma.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-pru-passes.o: $(srcdir)/config/pru/pru-passes.c $(RTL_H) $(TREE_H) \
+pru-passes.o: $(srcdir)/config/pru/pru-passes.cc $(RTL_H) $(TREE_H) \
 		$(CONFIG_H) $(TM_H) $(srcdir)/config/pru/pru-protos.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index 6bca84c1c70..20c2381c21a 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -35,7 +35,7 @@ enum riscv_symbol_type {
 };
 #define NUM_SYMBOL_TYPES (SYMBOL_TLS_GD + 1)
 
-/* Routines implemented in riscv.c.  */
+/* Routines implemented in riscv.cc.  */
 extern enum riscv_symbol_type riscv_classify_symbolic_expression (rtx);
 extern bool riscv_symbolic_constant_p (rtx, enum riscv_symbol_type *);
 extern int riscv_regno_mode_ok_for_base_p (int, machine_mode, bool);
@@ -75,20 +75,20 @@ extern bool riscv_store_data_bypass_p (rtx_insn *, rtx_insn *);
 extern rtx riscv_gen_gpr_save_insn (struct riscv_frame_info *);
 extern bool riscv_gpr_save_operation_p (rtx);
 
-/* Routines implemented in riscv-c.c.  */
+/* Routines implemented in riscv-c.cc.  */
 void riscv_cpu_cpp_builtins (cpp_reader *);
 
-/* Routines implemented in riscv-d.c  */
+/* Routines implemented in riscv-d.cc  */
 extern void riscv_d_target_versions (void);
 extern void riscv_d_register_target_info (void);
 
-/* Routines implemented in riscv-builtins.c.  */
+/* Routines implemented in riscv-builtins.cc.  */
 extern void riscv_atomic_assign_expand_fenv (tree *, tree *, tree *);
 extern rtx riscv_expand_builtin (tree, rtx, rtx, machine_mode, int);
 extern tree riscv_builtin_decl (unsigned int, bool);
 extern void riscv_init_builtins (void);
 
-/* Routines implemented in riscv-common.c.  */
+/* Routines implemented in riscv-common.cc.  */
 extern std::string riscv_arch_str (bool version_p = true);
 
 extern bool riscv_hard_regno_rename_ok (unsigned, unsigned);
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d9dadaabbe0..7c806780883 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -4933,7 +4933,7 @@ riscv_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
   SIBLING_CALL_P (insn) = 1;
 
   /* Run just enough of rest_of_compilation.  This sequence was
-     "borrowed" from alpha.c.  */
+     "borrowed" from alpha.cc.  */
   insn = get_insns ();
   split_all_insns_noflow ();
   shorten_branches (insn);
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 7c0473c0d27..695668424c3 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -147,7 +147,7 @@ ASM_MISA_SPEC
 #define MIN_UNITS_PER_WORD 4
 #endif
 
-/* Allows SImode op in builtin overflow pattern, see internal-fn.c.  */
+/* Allows SImode op in builtin overflow pattern, see internal-fn.cc.  */
 #undef TARGET_MIN_ARITHMETIC_PRECISION
 #define TARGET_MIN_ARITHMETIC_PRECISION riscv_min_arithmetic_precision
 
@@ -996,7 +996,7 @@ extern unsigned riscv_stack_boundary;
    offset (an unsigned 5-bit value scaled by 4).  */
 #define CSW_MAX_OFFSET (((4LL << C_S_BITS) - 1) & ~3)
 
-/* Called from RISCV_REORG, this is defined in riscv-sr.c.  */
+/* Called from RISCV_REORG, this is defined in riscv-sr.cc.  */
 
 extern void riscv_remove_unneeded_save_restore_calls (void);
 
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 1215ea8b734..096d70e3c91 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -1,25 +1,25 @@
-riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.c $(CONFIG_H) \
+riscv-builtins.o: $(srcdir)/config/riscv/riscv-builtins.cc $(CONFIG_H) \
   $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(RECOG_H) langhooks.h \
   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) $(srcdir)/config/riscv/riscv-ftypes.def \
   $(srcdir)/config/riscv/riscv-modes.def
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-builtins.c
+		$(srcdir)/config/riscv/riscv-builtins.cc
 
-riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.c $(CONFIG_H) \
+riscv-sr.o: $(srcdir)/config/riscv/riscv-sr.cc $(CONFIG_H) \
   $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-sr.c
+		$(srcdir)/config/riscv/riscv-sr.cc
 
-riscv-c.o: $(srcdir)/config/riscv/riscv-c.c $(CONFIG_H) $(SYSTEM_H) \
+riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \
     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/riscv/riscv-c.c
+		$(srcdir)/config/riscv/riscv-c.cc
 
-riscv-d.o: $(srcdir)/config/riscv/riscv-d.c
+riscv-d.o: $(srcdir)/config/riscv/riscv-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.c
+riscv-shorten-memrefs.o: $(srcdir)/config/riscv/riscv-shorten-memrefs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index a2bd788b8dd..b3727c0a81d 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4778,7 +4778,7 @@ rl78_asm_ctor_dtor (rtx symbol, int priority, bool is_ctor)
   if (priority != DEFAULT_INIT_PRIORITY)
     {
       /* This section of the function is based upon code copied
-	 from: gcc/varasm.c:get_cdtor_priority_section().  */
+	 from: gcc/varasm.cc:get_cdtor_priority_section().  */
       char buf[18];
 
       sprintf (buf, "%s.%.5u", is_ctor ? ".ctors" : ".dtors",
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index cadd632a147..cd2a5084a79 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -18,7 +18,7 @@
 # License along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
+rl78-c.o: $(srcdir)/config/rl78/rl78-c.cc $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
 # Enable multilibs:
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 954c98e8836..ad3238bf09a 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -65,10 +65,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
    RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()		\
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index afc506ccab0..57e07bcc65e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 2a92048f39d..ca73acbb2c8 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 2bc42ec6c57..8baa27e54c0 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -73,7 +73,7 @@ do {									\
 #define ASM_SPEC_COMMON "-u %(asm_cpu)"
 
 /* Common ASM definitions used by ASM_SPEC amongst the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them there also.  */
 #undef ASM_CPU_SPEC
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1ec9c20f3f3..b5cef42610f 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -246,10 +246,10 @@
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 
 #undef STACK_DYNAMIC_OFFSET
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
@@ -306,7 +306,7 @@
 #define GLOBAL_ASM_OP "\t.globl "
 #undef TARGET_ASM_GLOBALIZE_LABEL
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 /* Not really used for Darwin?  */
 
diff --git a/gcc/config/rs6000/driver-rs6000.cc b/gcc/config/rs6000/driver-rs6000.cc
index 631054dcfb1..ec890e0db3a 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -534,7 +534,7 @@ static const struct asm_name asm_names[] = {
 #endif
 };
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index c248aee6e5c..29ada25eaef 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -51,8 +51,8 @@
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 #undef  SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index 5de20f1118e..a73752a18f5 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -239,8 +239,8 @@ extern int dot_symbols;
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 
 #undef  SIZE_TYPE
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index f6e7d237da6..dcf5fc40e90 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -81,7 +81,7 @@
 #undef SIZE_TYPE
 #undef ASM_OUTPUT_ALIGN
 
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
+/* The file rs6000.cc defines TARGET_HAVE_TLS unconditionally to the
    value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
    is detected by configure.  Override the definition to false.  */
 
diff --git a/gcc/config/rs6000/rbtree.cc b/gcc/config/rs6000/rbtree.cc
index 00ab9e993cf..065e8fc723a 100644
--- a/gcc/config/rs6000/rbtree.cc
+++ b/gcc/config/rs6000/rbtree.cc
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rbtree.h b/gcc/config/rs6000/rbtree.h
index 4ba88a0f4d3..9ee0f914251 100644
--- a/gcc/config/rs6000/rbtree.h
+++ b/gcc/config/rs6000/rbtree.h
@@ -1,4 +1,4 @@
-/* Partial red-black tree implementation for rs6000-gen-builtins.c.
+/* Partial red-black tree implementation for rs6000-gen-builtins.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
    Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
 
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index 24a081ced37..145421ab8f2 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -358,7 +358,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags,
      flags are enabled or disabled implicitly, based on compiler
      defaults, configuration choices, and on the presence of certain
      related command-line options.  Many, but not all, of these
-     implicit behaviors can be found in file "rs6000.c", the
+     implicit behaviors can be found in file "rs6000.cc", the
      rs6000_option_override_internal() function.
 
      In general, each of the flags may be automatically enabled in
diff --git a/gcc/config/rs6000/rs6000-call.cc b/gcc/config/rs6000/rs6000-call.cc
index c78b8b08c40..8968929eccf 100644
--- a/gcc/config/rs6000/rs6000-call.cc
+++ b/gcc/config/rs6000/rs6000-call.cc
@@ -3335,7 +3335,7 @@ rs6000_invalid_builtin (enum rs6000_gen_builtins fncode)
 }
 
 /* Target hook for early folding of built-ins, shamelessly stolen
-   from ia64.c.  */
+   from ia64.cc.  */
 
 tree
 rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
@@ -5493,7 +5493,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx /* subtarget */,
      IBM extended double (KFmode) or long double is IEEE 128-bit (TFmode).
      It is simpler if we only define one variant of the built-in function,
      and switch the code when defining it, rather than defining two built-
-     ins and using the overload table in rs6000-c.c to switch between the
+     ins and using the overload table in rs6000-c.cc to switch between the
      two.  If we don't have the proper assembler, don't do this switch
      because CODE_FOR_*kf* and CODE_FOR_*tf* will be CODE_FOR_nothing.  */
   if (FLOAT128_IEEE_P (TFmode))
@@ -6122,7 +6122,7 @@ rs6000_init_builtins (void)
      format is IBM extended double.
 
      For IEEE 128-bit floating point, always create the type __ieee128.  If the
-     user used -mfloat128, rs6000-c.c will create a define from __float128 to
+     user used -mfloat128, rs6000-c.cc will create a define from __float128 to
      __ieee128.  */
   if (TARGET_FLOAT128_TYPE)
     {
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 50719f4b9f3..325b21967c4 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -44,7 +44,7 @@
 				 | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  Do not set power8
-   fusion here, instead set it in rs6000.c if we are tuning for a power8
+   fusion here, instead set it in rs6000.cc if we are tuning for a power8
    system.  */
 #define ISA_2_7_MASKS_SERVER	(ISA_2_6_MASKS_SERVER			\
 				 | OPTION_MASK_P8_VECTOR		\
diff --git a/gcc/config/rs6000/rs6000-gen-builtins.cc b/gcc/config/rs6000/rs6000-gen-builtins.cc
index 7dd7ab3f4c5..6a0858add32 100644
--- a/gcc/config/rs6000/rs6000-gen-builtins.cc
+++ b/gcc/config/rs6000/rs6000-gen-builtins.cc
@@ -2823,7 +2823,7 @@ write_init_ovld_table (void)
     }
 }
 
-/* Write everything to the initialization file (rs6000-builtins.c).
+/* Write everything to the initialization file (rs6000-builtins.cc).
    Return 1 if successful, 0 otherwise.  */
 static int
 write_init_file (void)
diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h
index fa06fa75c95..2d1090e27d5 100644
--- a/gcc/config/rs6000/rs6000-internal.h
+++ b/gcc/config/rs6000/rs6000-internal.h
@@ -78,8 +78,8 @@ extern const char *rs6000_machine;
 #define ALTIVEC_REG_BIT(REGNO) (0x80000000 >> ((REGNO) - FIRST_ALTIVEC_REGNO))
 
 
-/* Declare functions in rs6000-logue.c or called in rs6000.c
-   from rs6000-logue.c  */
+/* Declare functions in rs6000-logue.cc or called in rs6000.cc
+   from rs6000-logue.cc  */
 
 extern int uses_TOC (void);
 extern bool rs6000_global_entry_point_needed_p (void);
@@ -113,7 +113,7 @@ quad_address_offset_p (HOST_WIDE_INT offset)
   return (IN_RANGE (offset, -32768, 32767) && ((offset) & 0xf) == 0);
 }
 
-/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.c.  */
+/* Mach-O (Darwin) support for longcalls, emitted from  rs6000-logue.cc.  */
 
 #if TARGET_MACHO
 
@@ -127,8 +127,8 @@ extern vec<branch_island, va_gc> *branch_islands;
 
 #endif
 
-/* Declare functions in rs6000-call.c or called in rs6000.c
-   from rs6000-call.c  */
+/* Declare functions in rs6000-call.cc or called in rs6000.cc
+   from rs6000-call.cc  */
 extern int rs6000_darwin64_struct_check_p (machine_mode mode, const_tree type);
 extern bool rs6000_discover_homogeneous_aggregate (machine_mode mode,
 						   const_tree type,
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
index 2727afb2a3c..59fe1c8cb8b 100644
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -1931,7 +1931,7 @@ interesting_frame_related_regno (unsigned int regno)
 {
   /* Saves apparently of r0 are actually saving LR.  It doesn't make
      sense to substitute the regno here to test save_reg_p (LR_REGNO).
-     We *know* LR needs saving, and dwarf2cfi.c is able to deduce that
+     We *know* LR needs saving, and dwarf2cfi.cc is able to deduce that
      (set (mem) (r0)) is saving LR from a prior (set (r0) (lr)) marked
      as frame related.  */
   if (regno == 0)
@@ -4922,7 +4922,7 @@ rs6000_emit_epilogue (enum epilogue_type epilogue_type)
 	 a REG_CFA_DEF_CFA note.  This must happen on the insn that
 	 restores the frame pointer, r31.  We may have already emitted
 	 a REG_CFA_DEF_CFA note, but that's OK;  A duplicate is
-	 discarded by dwarf2cfi.c/dwarf2out.c, and in any case would
+	 discarded by dwarf2cfi.cc/dwarf2out.cc, and in any case would
 	 be harmless if emitted.  */
       if (frame_pointer_needed)
 	{
diff --git a/gcc/config/rs6000/rs6000-overload.def b/gcc/config/rs6000/rs6000-overload.def
index 93ce6506069..e2791539e6e 100644
--- a/gcc/config/rs6000/rs6000-overload.def
+++ b/gcc/config/rs6000/rs6000-overload.def
@@ -1516,7 +1516,7 @@
     VEXPTEFP
 
 ; There are no actual builtins for vec_extract.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_extract to be registered with the front end so this can
 ; happen.
@@ -1733,7 +1733,7 @@
     VGNB
 
 ; There are no actual builtins for vec_insert.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by "pointer tricks."  The single overload here causes
 ; __builtin_vec_insert to be registered with the front end so this can happen.
 [VEC_INSERT, vec_insert, __builtin_vec_insert]
@@ -2480,7 +2480,7 @@
   void __builtin_vec_mtvscr (vui);
     MTVSCR  MTVSCR_VUI
 
-; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.c:
+; Note that the entries for VEC_MUL are currently ignored.  See rs6000-c.cc:
 ; altivec_resolve_overloaded_builtin, where there is special-case code for
 ; VEC_MUL.  TODO: Is this really necessary?  Investigate.  Seven missing
 ; prototypes here...no corresponding builtins.  Also added "vmulld" in P10
@@ -3017,7 +3017,7 @@
     VPRTYBQ  VPRTYBQ_U
 
 ; There are no actual builtins for vec_promote.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_promote to be registered with the front end so that can happen.
 [VEC_PROMOTE, vec_promote, __builtin_vec_promote]
@@ -3587,7 +3587,7 @@
     VXXSPLTI32DX_V4SF
 
 ; There are no actual builtins for vec_splats.  There is special handling for
-; this in altivec_resolve_overloaded_builtin in rs6000-c.c, where the call
+; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call
 ; is replaced by a constructor.  The single overload here causes
 ; __builtin_vec_splats to be registered with the front end so that can happen.
 [VEC_SPLATS, vec_splats, __builtin_vec_splats]
diff --git a/gcc/config/rs6000/rs6000-p8swap.cc b/gcc/config/rs6000/rs6000-p8swap.cc
index 0517ee45423..d301bc3fe59 100644
--- a/gcc/config/rs6000/rs6000-p8swap.cc
+++ b/gcc/config/rs6000/rs6000-p8swap.cc
@@ -66,7 +66,7 @@
    and stores may be removed.
 
    This pass uses some of the infrastructure and logical ideas from
-   the "web" pass in web.c.  We create maximal webs of computations
+   the "web" pass in web.cc.  We create maximal webs of computations
    fitting the description above using union-find.  Each such web is
    then optimized by removing its unnecessary xxswapdi instructions.
 
@@ -142,7 +142,7 @@
    constant pool, we can replace M with M' as above at no cost
    beyond adding a constant pool entry.  */
 
-/* This is based on the union-find logic in web.c.  web_entry_base is
+/* This is based on the union-find logic in web.cc.  web_entry_base is
    defined in df.h.  */
 class swap_web_entry : public web_entry_base
 {
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index 55e082e7d92..767e1423924 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -21,7 +21,7 @@
 #ifndef GCC_RS6000_PROTOS_H
 #define GCC_RS6000_PROTOS_H
 
-/* Declare functions in rs6000.c */
+/* Declare functions in rs6000.cc */
 
 #ifdef RTX_CODE
 
@@ -312,7 +312,7 @@ extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size,
 					     const char *label);
 extern long rs6000_const_f32_to_i32 (rtx operand);
 
-/* Declare functions in rs6000-c.c */
+/* Declare functions in rs6000-c.cc */
 
 extern void rs6000_pragma_longcall (struct cpp_reader *);
 extern void rs6000_cpu_cpp_builtins (struct cpp_reader *);
@@ -324,7 +324,7 @@ extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
 						HOST_WIDE_INT);
 
-/* Declare functions in rs6000-d.c  */
+/* Declare functions in rs6000-d.cc  */
 extern void rs6000_d_target_versions (void);
 extern void rs6000_d_register_target_info (void);
 
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 319182e94d9..5914c47b598 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -293,9 +293,9 @@ const char *tcb_verification_symbol = "__parse_hwcap_and_convert_at_platform";
 /* True if we have expanded a CPU builtin.  */
 bool cpu_builtin_p = false;
 
-/* Pointer to function (in rs6000-c.c) that can define or undefine target
+/* Pointer to function (in rs6000-c.cc) that can define or undefine target
    macros that have changed.  Languages that don't support the preprocessor
-   don't link in rs6000-c.c, so we can't call it directly.  */
+   don't link in rs6000-c.cc, so we can't call it directly.  */
 void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT);
 
 /* Simplfy register classes into simpler classifications.  We assume
@@ -9082,7 +9082,7 @@ legitimate_lo_sum_address_p (machine_mode mode, rtx x, int strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This is used from only one place: `memory_address' in explow.c.
+   This is used from only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was
    called.  In some cases it is useful to look at this to decide what
@@ -9267,7 +9267,7 @@ rs6000_debug_legitimize_address (rtx x, rtx oldx, machine_mode mode)
   return ret;
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void rs6000_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -10006,7 +10006,7 @@ rs6000_mode_dependent_address (const_rtx addr)
 	 all bytes have the same high part address.  */
       return !legitimate_constant_pool_address_p (addr, QImode, false);
 
-    /* Auto-increment cases are now treated generically in recog.c.  */
+    /* Auto-increment cases are now treated generically in recog.cc.  */
     case PRE_MODIFY:
       return TARGET_UPDATE;
 
@@ -18339,12 +18339,12 @@ rs6000_adjust_priority (rtx_insn *insn ATTRIBUTE_UNUSED, int priority)
 	 dispatch slot.  */
       if (rs6000_sched_restricted_insns_priority == 1)
 	/* Attach highest priority to insn. This means that in
-	   haifa-sched.c:ready_sort(), dispatch-slot restriction considerations
+	   haifa-sched.cc:ready_sort(), dispatch-slot restriction considerations
 	   precede 'priority' (critical path) considerations.  */
 	return current_sched_info->sched_max_insns_priority;
       else if (rs6000_sched_restricted_insns_priority == 2)
 	/* Increase priority of insn by a minimal amount. This means that in
-	   haifa-sched.c:ready_sort(), only 'priority' (critical path)
+	   haifa-sched.cc:ready_sort(), only 'priority' (critical path)
 	   considerations precede dispatch-slot restriction considerations.  */
 	return (priority + 1);
     }
@@ -23984,7 +23984,7 @@ rs6000_c_mode_for_suffix (char suffix)
       /* At the moment, we are not defining a suffix for IBM extended double.
 	 If/when the default for -mabi=ieeelongdouble is changed, and we want
 	 to support __ibm128 constants in legacy library code, we may need to
-	 re-evalaute this decision.  Currently, c-lex.c only supports 'w' and
+	 re-evalaute this decision.  Currently, c-lex.cc only supports 'w' and
 	 'q' as machine dependent suffixes.  The x86_64 port uses 'w' for
 	 __float80 constants.  */
     }
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index a02dbbda458..5fdb8f2c82c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -98,7 +98,7 @@
 #endif
 
 /* Common ASM definitions used by ASM_SPEC among the various targets for
-   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.c to
+   handling -mcpu=xxx switches.  There is a parallel list in driver-rs6000.cc to
    provide the default assembler options if the user uses -mcpu=native, so if
    you make changes here, make them also there.  PR63177: Do not pass -mpower8
    to the assembler if -mpower9-vector was also used.  */
@@ -195,9 +195,9 @@ ASM_OPT_ANY
 
 /* -mcpu=native handling only makes sense with compiler running on
    an PowerPC chip.  If changing this condition, also change
-   the condition in driver-rs6000.c.  */
+   the condition in driver-rs6000.cc.  */
 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
-/* In driver-rs6000.c.  */
+/* In driver-rs6000.cc.  */
 extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define EXTRA_SPEC_FUNCTIONS \
   { "local_cpu_detect", host_detect_local_cpu },
@@ -753,7 +753,7 @@ extern unsigned char rs6000_recip_bits[];
    machine.  If you don't define this, the default is two words.  */
 #define LONG_DOUBLE_TYPE_SIZE rs6000_long_double_type_size
 
-/* Work around rs6000_long_double_type_size dependency in ada/targtyps.c.  */
+/* Work around rs6000_long_double_type_size dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* Width in bits of a pointer.
@@ -1358,10 +1358,10 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
    The default value for this macro is `STACK_POINTER_OFFSET' plus the
    length of the outgoing arguments.  The default is correct for most
-   machines.  See `function.c' for details.
+   machines.  See `function.cc' for details.
 
    This value must be a multiple of STACK_BOUNDARY (hard coded in
-   `emit-rtl.c').  */
+   `emit-rtl.cc').  */
 #define STACK_DYNAMIC_OFFSET(FUNDECL)					\
   RS6000_ALIGN (crtl->outgoing_args_size.to_constant ()			\
 		+ STACK_POINTER_OFFSET,					\
@@ -1607,7 +1607,7 @@ typedef struct rs6000_args
 /* #define RETURN_ADDR_IN_PREVIOUS_FRAME */
 
 /* Number of bytes into the frame return addresses can be found.  See
-   rs6000_stack_info in rs6000.c for more information on how the different
+   rs6000_stack_info in rs6000.cc for more information on how the different
    abi's store the return address.  */
 #define RETURN_ADDRESS_OFFSET \
   ((DEFAULT_ABI == ABI_V4 ? 4 : 8) << (TARGET_64BIT ? 1 : 0))
@@ -1661,7 +1661,7 @@ typedef struct rs6000_args
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO)				\
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 6ecb0bd6142..b855356aa74 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5108,7 +5108,7 @@
    (set_attr "isa" "*,p8v")])
 
 ;; This expander is here to avoid FLOAT_WORDS_BIGENDIAN tests in
-;; builtins.c and optabs.c that are not correct for IBM long double
+;; builtins.cc and optabs.cc that are not correct for IBM long double
 ;; when little-endian.
 (define_expand "signbit<mode>2"
   [(set (match_dup 2)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 9522a462662..7e2519de5d4 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -309,7 +309,7 @@ do {									\
    in bits).  This macro must evaluate to a value equal to or larger
    than STACK_BOUNDARY.
    For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
+   is usually controlled manually in rs6000.cc. However, to maintain
    alignment across alloca () in all circumstances,
    PREFERRED_STACK_BOUNDARY needs to be set as well.
    This has the additional advantage of allowing a bigger maximum
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index aeb7440c492..4e371255533 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -14,6 +14,6 @@ MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
 endif
 endif
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 94aebeba9e5..47e0efd5764 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -31,6 +31,6 @@ MULTILIB_EXTRA_OPTS :=
 MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
 MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
 
-rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index d08deb1e002..90079ced168 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -23,28 +23,28 @@ TM_H += $(srcdir)/config/rs6000/rs6000-modes.h
 PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def
 EXTRA_GTYPE_DEPS += $(srcdir)/config/rs6000/rs6000-builtins.def
 
-rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c
+rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c
+rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c
+rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
+rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
+rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc
 
 build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 					  build/rbtree.o $(BUILD_LIBDEPS)
@@ -53,34 +53,34 @@ build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
 
 # TODO: Whenever GNU make 4.3 is the minimum required, we should use
 # grouped targets on this:
-#    rs6000-builtins.c rs6000-builtins.h rs6000-vecdefines.h &: <deps>
+#    rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: <deps>
 #       <recipe>
-# For now, the header files depend on rs6000-builtins.c, which avoids
-# races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
+# For now, the header files depend on rs6000-builtins.cc, which avoids
+# races because the .c file is closed last in rs6000-gen-builtins.cc.
+rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \
 		   $(srcdir)/config/rs6000/rs6000-builtins.def \
 		   $(srcdir)/config/rs6000/rs6000-overload.def
 	$(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
 		$(srcdir)/config/rs6000/rs6000-builtins.def \
 		$(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
-		rs6000-builtins.c rs6000-vecdefines.h
+		rs6000-builtins.cc rs6000-vecdefines.h
 
-rs6000-builtins.h: rs6000-builtins.c
+rs6000-builtins.h: rs6000-builtins.cc
 
 rs6000.o: rs6000-builtins.h
 
 EXTRA_HEADERS += rs6000-vecdefines.h
-rs6000-vecdefines.h: rs6000-builtins.c
+rs6000-vecdefines.h: rs6000-builtins.cc
 
-rs6000-builtins.o: rs6000-builtins.c
+rs6000-builtins.o: rs6000-builtins.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h
+rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c rs6000-builtins.h
+rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/rs6000/x-darwin b/gcc/config/rs6000/x-darwin
index 9d92ef547c8..908c60ebc44 100644
--- a/gcc/config/rs6000/x-darwin
+++ b/gcc/config/rs6000/x-darwin
@@ -1,3 +1,3 @@
-host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.c
+host-ppc-darwin.o : $(srcdir)/config/rs6000/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-darwin64 b/gcc/config/rs6000/x-darwin64
index 093277147bc..5e9655c5932 100644
--- a/gcc/config/rs6000/x-darwin64
+++ b/gcc/config/rs6000/x-darwin64
@@ -1,3 +1,3 @@
-host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.c
+host-ppc64-darwin.o : $(srcdir)/config/rs6000/host-ppc64-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/rs6000/x-rs6000 b/gcc/config/rs6000/x-rs6000
index 9e31f24cd64..afd39ce8c84 100644
--- a/gcc/config/rs6000/x-rs6000
+++ b/gcc/config/rs6000/x-rs6000
@@ -1,3 +1,3 @@
-driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.c \
+driver-rs6000.o : $(srcdir)/config/rs6000/driver-rs6000.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 74715176cbf..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -30,7 +30,7 @@
 /* Define the magic numbers that we recognize as COFF.
  
     AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
+    U64_TOCMAGIC (0767), but collect2.cc does not include files in the
     correct order to conditionally define the symbolic name in this macro.
  
     The AIX linker accepts import/export files as object files,
@@ -184,7 +184,7 @@
 #define ASM_OUTPUT_LABELREF(FILE,NAME)	\
   asm_fprintf ((FILE), "%U%s", rs6000_xcoff_strip_dollar (NAME))
 
-/* This is how to output an internal label prefix.  rs6000.c uses this
+/* This is how to output an internal label prefix.  rs6000.cc uses this
    when generating traceback tables.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc
index 585542ca3ad..ba82482b664 100644
--- a/gcc/config/rx/rx.cc
+++ b/gcc/config/rx/rx.cc
@@ -2671,7 +2671,7 @@ rx_expand_builtin (tree exp,
 }
 \f
 /* Place an element into a constructor or destructor section.
-   Like default_ctor_section_asm_out_constructor in varasm.c
+   Like default_ctor_section_asm_out_constructor in varasm.cc
    except that it uses .init_array (or .fini_array) and it
    handles constructor priorities.  */
 
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 70bc9d14b86..4854f342dd6 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,7 +1,7 @@
 ;; Constraints definitions belonging to the gcc backend for IBM S/390.
 ;; Copyright (C) 2006-2022 Free Software Foundation, Inc.
 ;; Written by Wolfgang Gellerich, using code and information found in
-;; files s390.md, s390.h, and s390.c.
+;; files s390.md, s390.h, and s390.cc.
 ;;
 ;; This file is part of GCC.
 ;;
@@ -595,11 +595,11 @@
 
 ;; This constraint must behave like "i", in particular, the matching values
 ;; must never be placed into registers or memory by
-;; cfgexpand.c:expand_asm_stmt.  It could be straightforward to start its name
-;; with a letter from genpreds.c:const_int_constraints, however it would
+;; cfgexpand.cc:expand_asm_stmt.  It could be straightforward to start its name
+;; with a letter from genpreds.cc:const_int_constraints, however it would
 ;; require using (match_code "const_int"), which is infeasible.  To achieve the
 ;; same effect, that is, setting maybe_allows_reg and maybe_allows_mem to false
-;; in genpreds.c:add_constraint, we explicitly exclude reg, subreg and mem
+;; in genpreds.cc:add_constraint, we explicitly exclude reg, subreg and mem
 ;; codes.
 (define_constraint "jdd"
   "A constant operand that fits into the data section.
diff --git a/gcc/config/s390/driver-native.cc b/gcc/config/s390/driver-native.cc
index 3d9fb6cbdbe..48524c49251 100644
--- a/gcc/config/s390/driver-native.cc
+++ b/gcc/config/s390/driver-native.cc
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "arch" or "tune" as argument depending on if -march=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index e5ac912dedd..51d0b5579d7 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -36,7 +36,7 @@ extern "C" {
 /* FIXME: __TM_simple_begin and __TM_begin should be marked
    __always_inline__ as well but this currently produces an error
    since the tbegin builtins are "returns_twice" and setjmp_call_p
-   (calls.c) therefore identifies the functions as calling setjmp.
+   (calls.cc) therefore identifies the functions as calling setjmp.
    The tree inliner currently refuses to inline functions calling
    setjmp.  */
 
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index dd8915692c5..c7e893b8e22 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -412,7 +412,7 @@ B_DEF      (s390_vec_splat_s32,         vec_splatsv4si,     0,
 B_DEF      (s390_vec_splat_u64,         vec_splatsv2di,     0,                  B_VX,               O1_U16,             BT_FN_UV2DI_USHORT)
 B_DEF      (s390_vec_splat_s64,         vec_splatsv2di,     0,                  B_VX,               O1_S16,             BT_FN_V2DI_SHORT)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_insert,            s390_vec_insert_s8, s390_vec_insert_dbl,B_VX,               BT_FN_OV4SI_INT_OV4SI_INT)
 OB_DEF_VAR (s390_vec_insert_s8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_V16QI_SCHAR_V16QI_INT)
 OB_DEF_VAR (s390_vec_insert_u8,         s390_vlvgb,         0,                  O3_ELEM,            BT_OV_UV16QI_UCHAR_UV16QI_INT)
@@ -497,7 +497,7 @@ B_DEF      (s390_vllezf_flt,            vec_insert_and_zerov4sf,0,
 B_DEF      (s390_vllezg,                vec_insert_and_zerov2di,0,              B_VX,               0,                  BT_FN_UV2DI_ULONGLONGCONSTPTR)
 B_DEF      (s390_vllezg_dbl,            vec_insert_and_zerov2df,0,              B_INT | B_VX,       0,                  BT_FN_V2DF_DBLCONSTPTR)
 
-/* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
+/* The 2nd operand will by translated in s390-c.cc from 64, 128, 256, ... to 0, 1, 2, ... */
 OB_DEF     (s390_vec_load_bndry,        s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX,        BT_FN_OV4SI_INTCONSTPTR_INT)
 OB_DEF_VAR (s390_vec_load_bndry_s8,     s390_vlbb,          0,                  O2_U16,             BT_OV_V16QI_SCHARCONSTPTR_USHORT)
 OB_DEF_VAR (s390_vec_load_bndry_u8,     s390_vlbb,          0,                  O2_U16,             BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
@@ -516,7 +516,7 @@ OB_DEF     (s390_vec_load_pair,         s390_vec_load_pair_s64,s390_vec_load_pai
 OB_DEF_VAR (s390_vec_load_pair_s64,     MAX,                0,                  0,                  BT_OV_V2DI_LONGLONG_LONGLONG)            /* vlvgp */
 OB_DEF_VAR (s390_vec_load_pair_u64,     MAX,                0,                  0,                  BT_OV_UV2DI_ULONGLONG_ULONGLONG)         /* vlvgp */
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_load_len,          s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX,            BT_FN_OV4SI_INTCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_s8,       s390_vll,           0,                  0,                  BT_OV_V16QI_SCHARCONSTPTR_UINT)
 OB_DEF_VAR (s390_vec_load_len_u8,       s390_vll,           0,                  0,                  BT_OV_UV16QI_UCHARCONSTPTR_UINT)
@@ -702,7 +702,7 @@ OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg,        0,
 B_DEF      (s390_vscef,                 vec_scatter_elementv4si,0,              B_VX,               O4_U2,              BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
 B_DEF      (s390_vsceg,                 vec_scatter_elementv2di,0,              B_VX,               O4_U1,              BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
 
-/* First two operands are swapped in s390-c.c */
+/* First two operands are swapped in s390-c.cc */
 OB_DEF     (s390_vec_sel,               s390_vec_sel_b8_a,  s390_vec_sel_dbl_b, B_VX,               BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
 OB_DEF_VAR (s390_vec_sel_b8_a,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
 OB_DEF_VAR (s390_vec_sel_b8_b,          s390_vselb,         0,                  0,                  BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index 091d69099a7..8809f0ee852 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -20,7 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* This files contains data structure definitions which can be used by
-   s390-builtins.c as well as s390-c.c.  Since the latter is
+   s390-builtins.cc as well as s390-c.cc.  Since the latter is
    considered to be part of the front-end we have to be careful not
    to use any of tree and rtx like data structures.  */
 
diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc
index 600018421df..569c4a4508c 100644
--- a/gcc/config/s390/s390-c.cc
+++ b/gcc/config/s390/s390-c.cc
@@ -20,7 +20,7 @@
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.
 
-   Based on gcc/config/rs6000/rs6000-c.c.
+   Based on gcc/config/rs6000/rs6000-c.cc.
 
    In GCC terms this file belongs to the frontend.  It will be
    compiled with -DIN_GCC_FRONTEND.  With that rtl.h cannot be
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index a374329d1ec..1ec84631a5f 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Which processor to generate code or schedule for. The `cpu' attribute
    defines a list that mirrors this list, so changes to s390.md must be
    made at the same time.  The enumeration must also be kept in sync with
-   `processor_table' and `processor_flags_table' in s390.c (the enumeration
+   `processor_table' and `processor_flags_table' in s390.cc (the enumeration
    values are used as indices into these tables).  */
 
 enum processor_type
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a9d21c39f17..e6251595870 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -31,13 +31,13 @@ extern int s390_float_const_zero_p (rtx value);
 extern bool s390_check_symref_alignment (rtx addr, HOST_WIDE_INT alignment);
 
 
-/* In s390-common.c.  */
+/* In s390-common.cc.  */
 extern bool s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED,
 				struct gcc_options *opts_set ATTRIBUTE_UNUSED,
 				const struct cl_decoded_option *decoded,
 				location_t loc);
 
-/* Declare functions in s390.c.  */
+/* Declare functions in s390.cc.  */
 
 extern HOST_WIDE_INT s390_initial_elimination_offset (int, int);
 extern void s390_emit_prologue (void);
@@ -168,14 +168,14 @@ extern void s390_indirect_branch_via_thunk (unsigned int regno,
 extern void s390_indirect_branch_via_inline_thunk (rtx execute_target);
 #endif /* RTX_CODE */
 
-/* s390-c.c routines */
+/* s390-c.cc routines */
 extern void s390_cpu_cpp_builtins (struct cpp_reader *);
 extern void s390_register_target_pragmas (void);
 
-/* Routines for s390-c.c */
+/* Routines for s390-c.cc */
 extern bool s390_const_operand_ok (tree, int, int, tree);
 
-/* s390-d.c routines */
+/* s390-d.cc routines */
 extern void s390_d_target_versions (void);
 extern void s390_d_register_target_info (void);
 
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index 056002e4a4a..7fc1901a7f3 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -651,9 +651,9 @@ s390_init_builtins (void)
   tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
   tree c_uint64_type_node;
 
-  /* The uint64_type_node from tree.c is not compatible to the C99
+  /* The uint64_type_node from tree.cc is not compatible to the C99
      uint64_t data type.  What we want is c_uint64_type_node from
-     c-common.c.  But since backend code is not supposed to interface
+     c-common.cc.  But since backend code is not supposed to interface
      with the frontend we recreate it here.  */
   if (TARGET_64BIT)
     c_uint64_type_node = long_unsigned_type_node;
@@ -4769,7 +4769,7 @@ s390_expand_plus_operand (rtx target, rtx src,
 	}
 
       /* According to the way these invalid addresses are generated
-	 in reload.c, it should never happen (at least on s390) that
+	 in reload.cc, it should never happen (at least on s390) that
 	 *neither* of the PLUS components, after find_replacements
 	 was applied, is an address register.  */
       if (sum1 == scratch && sum2 == scratch)
@@ -7509,7 +7509,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
 					       NULL_RTX, 1, OPTAB_DIRECT), 1);
 }
 
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void s390_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -15812,7 +15812,7 @@ s390_valid_target_attribute_inner_p (tree args,
       int num_pragma_values;
       int i;
 
-      /* Note: attribs.c:decl_attributes prepends the values from
+      /* Note: attribs.cc:decl_attributes prepends the values from
 	 current_target_pragma to the list of target attributes.  To determine
 	 whether we're looking at a value of the attribute or the pragma we
 	 assume that the first [list_length (current_target_pragma)] values in
@@ -15933,7 +15933,7 @@ s390_valid_target_attribute_inner_p (tree args,
 	  if (cl_options[opt].cl_uinteger)
 	    {
 	      /* Unsigned integer argument.  Code based on the function
-		 decode_cmdline_option () in opts-common.c.  */
+		 decode_cmdline_option () in opts-common.cc.  */
 	      value = integral_argument (p + opt_len);
 	    }
 	  else
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 85733c39b99..5a64048a5a1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -404,7 +404,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
 
-/* Work around target_flags dependency in ada/targtyps.c.  */
+/* Work around target_flags dependency in ada/targtyps.cc.  */
 #define WIDEST_HARDWARE_FP_SIZE 64
 
 /* We use "unsigned char" as default.  */
@@ -817,7 +817,7 @@ CUMULATIVE_ARGS;
 
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(AD, MODE, OPNUM, TYPE, IND, WIN)	\
   do {									\
     rtx new_rtx = legitimize_reload_address ((AD), (MODE),		\
@@ -829,7 +829,7 @@ CUMULATIVE_ARGS;
       }									\
   } while (0)
 
-/* Helper macro for s390.c and s390.md to check for symbolic constants.  */
+/* Helper macro for s390.cc and s390.md to check for symbolic constants.  */
 #define SYMBOLIC_CONST(X)						\
   (GET_CODE (X) == SYMBOL_REF						\
    || GET_CODE (X) == LABEL_REF						\
@@ -1213,7 +1213,7 @@ struct GTY(()) machine_function
 #define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
 
 #ifdef GENERATOR_FILE
-/* gencondmd.c is built before insn-flags.h.  Use an arbitrary opaque value
+/* gencondmd.cc is built before insn-flags.h.  Use an arbitrary opaque value
    that cannot be optimized away by gen_insn.  */
 #define HAVE_TF(icode) TARGET_HARD_FLOAT
 #else
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4d2566693a1..e3ccbac58c0 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1949,7 +1949,7 @@
 
 ; Splitters for loading TLS pointer from UNSPEC_GET_TP.
 ; UNSPEC_GET_TP is used instead of %a0:P, since the latter is a hard register,
-; and those are not handled by Partial Redundancy Elimination (gcse.c), which
+; and those are not handled by Partial Redundancy Elimination (gcse.cc), which
 ; results in generation of redundant thread pointer loads.
 
 (define_insn_and_split "*get_tp_31"
@@ -11031,7 +11031,7 @@
   [(set_attr "op_type" "RSY")
    (set_attr "type" "sem")])
 
-;; For SImode and larger, the optabs.c code will do just fine in
+;; For SImode and larger, the optabs.cc code will do just fine in
 ;; expanding a compare-and-swap loop.  For QI/HImode, we can do
 ;; better by expanding our own loop.
 
@@ -11978,7 +11978,7 @@
    (clobber (reg:TI 30)) (clobber (reg:TI 52))
    (clobber (reg:TI 31)) (clobber (reg:TI 53))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_VX && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
@@ -12006,7 +12006,7 @@
    (clobber (reg:DF 30))
    (clobber (reg:DF 31))]
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
-; not supposed to be used for immediates (see genpreds.c).
+; not supposed to be used for immediates (see genpreds.cc).
   "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
   "tbegin\t%1,%x0"
   [(set_attr "op_type" "SIL")])
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 07896eb259e..767df107ccc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -20,13 +20,13 @@ TM_H += $(srcdir)/config/s390/s390-builtins.def
 TM_H += $(srcdir)/config/s390/s390-builtin-types.def
 PASSES_EXTRA += $(srcdir)/config/s390/s390-passes.def
 
-s390-c.o: $(srcdir)/config/s390/s390-c.c \
+s390-c.o: $(srcdir)/config/s390/s390-c.cc \
   $(srcdir)/config/s390/s390-protos.h $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(TREE_H) $(TM_P_H) $(FLAGS_H) $(C_COMMON_H) $(GGC_H) \
   $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/s390/s390-c.c
+		$(srcdir)/config/s390/s390-c.cc
 
-s390-d.o: $(srcdir)/config/s390/s390-d.c
+s390-d.o: $(srcdir)/config/s390/s390-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index caee41718da..d5130799804 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -514,7 +514,7 @@
 ; implemented as: op0 = (op1 & op3) | (op2 & ~op3)
 
 ; Used to expand the vec_sel builtin. Operands op1 and op2 already got
-; swapped in s390-c.c when we get here.
+; swapped in s390-c.cc when we get here.
 
 (define_insn "vsel<mode>"
   [(set (match_operand:V_HW                      0 "register_operand" "=v")
diff --git a/gcc/config/s390/x-native b/gcc/config/s390/x-native
index b33c8b6fa2f..d4c950d9b6b 100644
--- a/gcc/config/s390/x-native
+++ b/gcc/config/s390/x-native
@@ -1,3 +1,3 @@
-driver-native.o : $(srcdir)/config/s390/driver-native.c \
+driver-native.o : $(srcdir)/config/s390/driver-native.cc \
   $(CONFIG_H) $(SYSTEM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/sh/divtab-sh4-300.cc b/gcc/config/sh/divtab-sh4-300.cc
index 4026fb1063d..d9af737364e 100644
--- a/gcc/config/sh/divtab-sh4-300.cc
+++ b/gcc/config/sh/divtab-sh4-300.cc
@@ -33,7 +33,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   for (i = -128; i < 128; i++)
     {
diff --git a/gcc/config/sh/divtab-sh4.cc b/gcc/config/sh/divtab-sh4.cc
index 0700faeaaa4..2c6d1f242bc 100644
--- a/gcc/config/sh/divtab-sh4.cc
+++ b/gcc/config/sh/divtab-sh4.cc
@@ -32,7 +32,7 @@ main ()
   int i, j;
   double q, r, err, max_err = 0, max_s_err = 0;
 
-  puts("/* This table has been generated by divtab-sh4.c.  */");
+  puts("/* This table has been generated by divtab-sh4.cc.  */");
   puts ("\t.balign 4");
   puts ("LOCAL(div_table_clz):");
   /* output some dummy number for 1/0.  */
diff --git a/gcc/config/sh/divtab.cc b/gcc/config/sh/divtab.cc
index 10f7429b1e0..30d57f2a1dd 100644
--- a/gcc/config/sh/divtab.cc
+++ b/gcc/config/sh/divtab.cc
@@ -167,7 +167,7 @@ main ()
       calc_defect (x_med, constant, factor);
       calc_defect (x_high, constant, factor);
     }
-    printf ("/* This table has been generated by divtab.c .\n");
+    printf ("/* This table has been generated by divtab.cc .\n");
     printf ("Defects for bias %d:\n", BIAS);
     printf ("   Max defect: %e at %e\n", max_defect, max_defect_x);
     printf ("   Min defect: %e at %e\n", min_defect, min_defect_x);
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index ffddd8dc4a1..afb3bc353cc 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Let sh.c know this is ELF.  */
+/* Let sh.cc know this is ELF.  */
 #undef TARGET_ELF
 #define TARGET_ELF 1
 
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 0fc37a96d6d..44a4bdfe202 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -39,7 +39,7 @@ enum sh_function_kind {
 extern rtx sh_fsca_sf2int (void);
 extern rtx sh_fsca_int2sf (void);
 
-/* Declare functions defined in sh.c and used in templates.  */
+/* Declare functions defined in sh.cc and used in templates.  */
 extern bool sh_lra_p (void);
 
 extern const char *output_branch (int, rtx_insn *, rtx *);
diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
index ca096adc3eb..dd8bce4aa3b 100644
--- a/gcc/config/sh/sh.cc
+++ b/gcc/config/sh/sh.cc
@@ -640,7 +640,7 @@ static const struct attribute_spec sh_attribute_table[] =
 #define SYMBOL_FLAG_FUNCVEC_FUNCTION	(SYMBOL_FLAG_MACH_DEP << 0)
 
 /* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
-   is used by optabs.c atomic op expansion code as well as in sync.md.  */
+   is used by optabs.cc atomic op expansion code as well as in sync.md.  */
 #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
 #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
 
@@ -8123,7 +8123,7 @@ sh_struct_value_rtx (tree fndecl, int incoming ATTRIBUTE_UNUSED)
    mode like PROMOTE_MODE does.
    ??? PROMOTE_MODE is ignored for non-scalar types.  The set of types
    tested here has to be kept in sync with the one in
-   explow.c:promote_mode.  */
+   explow.cc:promote_mode.  */
 static rtx
 sh_function_value (const_tree valtype,
 		   const_tree fn_decl_or_type,
@@ -11823,7 +11823,7 @@ sh_remove_reg_dead_or_unused_notes (rtx_insn* i, int regno)
 
 /* Given an insn check if it contains any post/pre inc/dec mem operands and
    add the REG_INC notes accordingly.
-   FIXME: This function is very similar to lra.c (add_auto_inc_notes).
+   FIXME: This function is very similar to lra.cc (add_auto_inc_notes).
    FIXME: This function is currently used by peephole2 patterns because
 	  the peephole2 pass does not preserve REG_INC notes.  If the notes
 	  are dropped the following passes will do wrong things.  */
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index a2497ab7a81..4f209d2319f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "config/vxworks-dummy.h"
 
-/* Unfortunately, insn-attrtab.c doesn't include insn-codes.h.  We can't
-   include it here, because bconfig.h is also included by gencodes.c .  */
+/* Unfortunately, insn-attrtab.cc doesn't include insn-codes.h.  We can't
+   include it here, because bconfig.h is also included by gencodes.cc .  */
 /* ??? No longer true.  */
 extern int code_for_indirect_jump_scratch;
 
@@ -433,7 +433,7 @@ extern const sh_atomic_model& selected_atomic_model (void);
 #define MIN_UNITS_PER_WORD 4
 
 /* Scaling factor for Dwarf data offsets for CFI information.
-   The dwarf2out.c default would use -UNITS_PER_WORD.  */
+   The dwarf2out.cc default would use -UNITS_PER_WORD.  */
 #define DWARF_CIE_DATA_ALIGNMENT -4
 
 /* Width in bits of a pointer.
@@ -1284,7 +1284,7 @@ extern bool current_function_interrupt;
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 #define REGNO_OK_FOR_BASE_P(REGNO) \
   (GENERAL_OR_AP_REGISTER_P (REGNO) \
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 37de2bbb93e..dd5652e11bf 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -20,10 +20,10 @@ sh-mem.o: $(srcdir)/config/sh/sh-mem.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-sh-c.o: $(srcdir)/config/sh/sh-c.c \
+sh-c.o: $(srcdir)/config/sh/sh-c.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/sh/sh-c.c
+		$(srcdir)/config/sh/sh-c.cc
 
 sh_treg_combine.o: $(srcdir)/config/sh/sh_treg_combine.cc \
   $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index b81b25bbe62..6307e137af7 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* In sol2.c.  */
+/* In sol2.cc.  */
 extern void solaris_assemble_visibility (tree, int);
 extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
 extern void solaris_file_end (void);
@@ -26,8 +26,8 @@ extern void solaris_insert_attributes (tree, tree *);
 extern void solaris_output_init_fini (FILE *, tree);
 extern void solaris_override_options (void);
 
-/* In sol2-c.c.  */
+/* In sol2-c.cc.  */
 extern void solaris_register_pragmas (void);
 
-/* In sol2-cxx.c.  */
+/* In sol2-cxx.cc.  */
 extern tree solaris_cxx_decl_mangling_context (const_tree);
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 53399567678..e22c70c45ae 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -449,7 +449,7 @@ along with GCC; see the file COPYING3.  If not see
   "%{no-pie:} %{pie:%e-pie is not supported in this configuration} "
 #endif
 
-/* collect2.c can only parse GNU nm -n output.  Solaris nm needs -png to
+/* collect2.cc can only parse GNU nm -n output.  Solaris nm needs -png to
    produce the same format.  */
 #define NM_FLAGS "-png"
 \f
@@ -466,7 +466,7 @@ along with GCC; see the file COPYING3.  If not see
   { "fini",      0, 0, true,  false,  false, false, NULL, NULL }
 
 /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
+   the bits from config/sol2.cc.  */
 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
 
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index 719427b721a..73088e9a776 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -89,7 +89,7 @@ static const struct cpu_names {
 #include <kstat.h>
 #endif
 
-/* This will be called by the spec parser in gcc.c when it sees
+/* This will be called by the spec parser in gcc.cc when it sees
    a %:local_cpu_detect(args) construct.  Currently it will be called
    with either "cpu" or "tune" as argument depending on if -mcpu=native
    or -mtune=native is to be substituted.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index fabfd68a89f..98319c52875 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -56,8 +56,8 @@ along with GCC; see the file COPYING3.  If not see
 /************************[  Target stuff  ]***********************************/
 
 /* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
+   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.cc,
+   c-common.cc, and config/<arch>/<arch>.h.  */
 
 /* Earlier headers may get this wrong for FreeBSD.
    We use the GCC defaults instead.  */
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 6819f6d0550..f9e1c74554d 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -112,7 +112,7 @@ unsigned int sparc_regmode_natural_size (machine_mode);
 
 extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
 
-/* Routines implemented in sparc-d.c  */
+/* Routines implemented in sparc-d.cc  */
 extern void sparc_d_target_versions (void);
 extern void sparc_d_register_target_info (void);
 
diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc
index 5331824753e..bb4ce886785 100644
--- a/gcc/config/sparc/sparc.cc
+++ b/gcc/config/sparc/sparc.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for SPARC.
+/* Subroutines for insn-output.cc for SPARC.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
@@ -12376,7 +12376,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
 	 output_sibcall that we are in a leaf function.  */
       sparc_leaf_function_p = crtl->uses_only_leaf_regs = 1;
 
-      /* This will cause final.c to invoke leaf_renumber_regs so we
+      /* This will cause final.cc to invoke leaf_renumber_regs so we
 	 must behave as if we were in a not-yet-leafified function.  */
       int_arg_first = SPARC_INCOMING_INT_ARG_FIRST;
     }
@@ -12581,7 +12581,7 @@ sparc_asan_shadow_offset (void)
   return TARGET_ARCH64 ? (HOST_WIDE_INT_1 << 43) : (HOST_WIDE_INT_1 << 29);
 }
 \f
-/* This is called from dwarf2out.c via TARGET_ASM_OUTPUT_DWARF_DTPREL.
+/* This is called from dwarf2out.cc via TARGET_ASM_OUTPUT_DWARF_DTPREL.
    We need to emit DTP-relative relocations.  */
 
 static void
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e8242d8fe04..2e17fca197a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1322,7 +1322,7 @@ do {									\
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(REGNO) \
@@ -1366,7 +1366,7 @@ do {									\
 \f
 /* Try a machine-dependent way of reloading an illegitimate address
    operand.  If we find one, push the reload and jump to WIN.  This
-   macro is used in only one place: `find_reloads_address' in reload.c.  */
+   macro is used in only one place: `find_reloads_address' in reload.cc.  */
 #define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN)	   \
 do {									   \
   int win;								   \
@@ -1513,7 +1513,7 @@ do {									   \
 /* On Sun 4, this limit is 2048.  We use 1000 to be safe, since the length
    can run past this up to a continuation point.  Once we used 1500, but
    a single entry in C++ can run more than 500 bytes, due to the length of
-   mangled symbol names.  dbxout.c should really be fixed to do
+   mangled symbol names.  dbxout.cc should really be fixed to do
    continuations when they are actually needed instead of trying to
    guess...  */
 #define DBX_CONTIN_LENGTH 1000
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 62b7b53c27c..691e707863a 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1935,7 +1935,7 @@ visl")
   "or\t%1, %%lo(%a3-(%a2-.)), %0")
 
 ;; SPARC-v9 code model support insns.  See sparc_emit_set_symbolic_const64
-;; in sparc.c to see what is going on here... PIC stuff comes first.
+;; in sparc.cc to see what is going on here... PIC stuff comes first.
 
 (define_insn "movdi_lo_sum_pic"
   [(set (match_operand:DI 0 "register_operand" "=r")
@@ -2810,7 +2810,7 @@ visl")
 ;; it simple and only allow those constants supported by all flavors.
 ;; Note that emit_conditional_move canonicalizes operands 2,3 so that operand
 ;; 3 contains the constant if one is present, but we handle either for
-;; generality (sparc.c puts a constant in operand 2).
+;; generality (sparc.cc puts a constant in operand 2).
 ;;
 ;; Our instruction patterns, on the other hand, canonicalize such that
 ;; operand 3 must be the set destination.
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 65b131327f6..2dd06c94ece 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -20,11 +20,11 @@
 
 PASSES_EXTRA += $(srcdir)/config/sparc/sparc-passes.def
 
-sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+sparc-c.o: $(srcdir)/config/sparc/sparc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
+sparc-d.o: $(srcdir)/config/sparc/sparc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/sparc/x-sparc b/gcc/config/sparc/x-sparc
index 5fc65be683e..a1b4ac305a4 100644
--- a/gcc/config/sparc/x-sparc
+++ b/gcc/config/sparc/x-sparc
@@ -1,4 +1,4 @@
-driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.c
+driver-sparc.o: $(srcdir)/config/sparc/driver-sparc.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc
index f41c0dabcba..36fb97eb2e5 100644
--- a/gcc/config/stormy16/stormy16.cc
+++ b/gcc/config/stormy16/stormy16.cc
@@ -702,7 +702,7 @@ xstormy16_mode_dependent_address_p (const_rtx x,
       && ! LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 6))
     return true;
 
-  /* Auto-increment addresses are now treated generically in recog.c.  */
+  /* Auto-increment addresses are now treated generically in recog.cc.  */
   return false;
 }
 
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index ffdd09c2ada..879539e9b87 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -18,22 +18,22 @@
 
 TM_H += $(srcdir)/config/darwin-sections.def
 
-darwin.o: $(srcdir)/config/darwin.c config/darwin-sections.def
+darwin.o: $(srcdir)/config/darwin.cc config/darwin-sections.def
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-c.o: $(srcdir)/config/darwin-c.c
+darwin-c.o: $(srcdir)/config/darwin-c.cc
 	$(COMPILE) $(PREPROCESSOR_DEFINES) $<
 	$(POSTCOMPILE)
 
-darwin-d.o: $(srcdir)/config/darwin-d.c
+darwin-d.o: $(srcdir)/config/darwin-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-f.o: $(srcdir)/config/darwin-f.c
+darwin-f.o: $(srcdir)/config/darwin-f.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-darwin-driver.o: $(srcdir)/config/darwin-driver.c
+darwin-driver.o: $(srcdir)/config/darwin-driver.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-dragonfly b/gcc/config/t-dragonfly
index 0610f2d929d..a282579dbea 100644
--- a/gcc/config/t-dragonfly
+++ b/gcc/config/t-dragonfly
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-dragonfly-d.o: $(srcdir)/config/dragonfly-d.c
+dragonfly-d.o: $(srcdir)/config/dragonfly-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index 9f24c3b2ad3..37049f71fc8 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-freebsd-d.o: $(srcdir)/config/freebsd-d.c
+freebsd-d.o: $(srcdir)/config/freebsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 5e3338a3595..c8b7d4e524b 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-glibc-c.o: config/glibc-c.c
+glibc-c.o: config/glibc-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-glibc-d.o: config/glibc-d.c
+glibc-d.o: config/glibc-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 58d92432c3a..d9bc9b8c9bf 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -16,6 +16,6 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-linux.o: $(srcdir)/config/linux.c
+linux.o: $(srcdir)/config/linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/t-netbsd b/gcc/config/t-netbsd
index 5fec4d6bab7..77f850fed2a 100644
--- a/gcc/config/t-netbsd
+++ b/gcc/config/t-netbsd
@@ -16,10 +16,10 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-netbsd.o: $(srcdir)/config/netbsd.c
+netbsd.o: $(srcdir)/config/netbsd.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-netbsd-d.o: $(srcdir)/config/netbsd-d.c
+netbsd-d.o: $(srcdir)/config/netbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-openbsd b/gcc/config/t-openbsd
index 27a419d6093..69643f521fb 100644
--- a/gcc/config/t-openbsd
+++ b/gcc/config/t-openbsd
@@ -2,6 +2,6 @@
 USER_H = $(EXTRA_HEADERS)
 
 # OpenBSD-specific D support.
-openbsd-d.o: $(srcdir)/config/openbsd-d.c
+openbsd-d.o: $(srcdir)/config/openbsd-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 5290578b6ed..1727a82a069 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -18,7 +18,7 @@
 # <http://www.gnu.org/licenses/>.
 
 
-# Because POINTER_SIZE is only 16, in dwarf2out.c,
+# Because POINTER_SIZE is only 16, in dwarf2out.cc,
 # DWARF_ARANGES_PAD_SIZE is 0, thus a loop in output_aranges that checks
 # (i < (unsigned) DWARF_ARANGES_PAD_SIZE) elicits a warning that the
 # comparison is always false.
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f0ee7d8c4a0..8732e2e55a8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -17,27 +17,27 @@
 # <http://www.gnu.org/licenses/>.
 
 # Solaris-specific format checking and pragmas.
-sol2-c.o: $(srcdir)/config/sol2-c.c
+sol2-c.o: $(srcdir)/config/sol2-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific C++ mangling.
-sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
+sol2-cxx.o: $(srcdir)/config/sol2-cxx.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific D support.
-sol2-d.o: $(srcdir)/config/sol2-d.c
+sol2-d.o: $(srcdir)/config/sol2-d.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Corresponding stub routines.
-sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
+sol2-stubs.o: $(srcdir)/config/sol2-stubs.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Solaris-specific attributes
-sol2.o: $(srcdir)/config/sol2.c
+sol2.o: $(srcdir)/config/sol2.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index cf90fcdff2f..40c6cc4185b 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -16,11 +16,11 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-vxworks.o: $(srcdir)/config/vxworks.c
+vxworks.o: $(srcdir)/config/vxworks.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-vxworks-c.o: $(srcdir)/config/vxworks-c.c
+vxworks-c.o: $(srcdir)/config/vxworks-c.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index 752bc53d1a3..c44e9bfe822 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -16,7 +16,7 @@
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-winnt-c.o: config/winnt-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt-c.o: config/winnt-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(C_TARGET_H) $(C_TARGET_DEF_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
 	  $< $(OUTPUT_OPTION)
diff --git a/gcc/config/tilegx/t-tilegx b/gcc/config/tilegx/t-tilegx
index 20ee6d39e89..f35719494aa 100644
--- a/gcc/config/tilegx/t-tilegx
+++ b/gcc/config/tilegx/t-tilegx
@@ -5,17 +5,17 @@ MULTILIB_OSDIRNAMES = ../lib ../lib32
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
-tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.c \
+tilegx-c.o: $(srcdir)/config/tilegx/tilegx-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilegx/mul-tables.c: \
+$(srcdir)/config/tilegx/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilegx/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilegx/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilegx/tilegx-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilegx/tilegx-c.cc b/gcc/config/tilegx/tilegx-c.cc
index 627a5acedce..6ef68081e00 100644
--- a/gcc/config/tilegx/tilegx-c.cc
+++ b/gcc/config/tilegx/tilegx-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 291d7003bd5..72635242a7a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -68,7 +68,7 @@ extern void tilegx_final_prescan_insn (rtx_insn *);
 extern const char *tilegx_asm_output_opcode (FILE *, const char *);
 extern void tilegx_function_profiler (FILE *, int);
 
-/* Declare functions in tilegx-c.c */
+/* Declare functions in tilegx-c.cc */
 
 extern void tilegx_cpu_cpp_builtins (struct cpp_reader *);
 
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index a98f4a76019..7f89ae5e935 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2421,7 +2421,7 @@
 
 \f
 ;;
-;; Divide stubs.  These exist to work around a bug in expmed.c, which
+;; Divide stubs.  These exist to work around a bug in expmed.cc, which
 ;; will not attempt to convert a divide by constant into a multiply
 ;; unless there is a pattern for a divide of the same mode.  The end
 ;; result is a 32-bit divide turns into 64-bit multiply.
diff --git a/gcc/config/tilepro/t-tilepro b/gcc/config/tilepro/t-tilepro
index 859331b0575..f64fd129d9b 100644
--- a/gcc/config/tilepro/t-tilepro
+++ b/gcc/config/tilepro/t-tilepro
@@ -1,15 +1,15 @@
-tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.c \
+tilepro-c.o: $(srcdir)/config/tilepro/tilepro-c.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(MACHMODE_H) \
     $(TM_H) $(TM_P_H) $(CPPLIB_H) $(TREE_H) $(C_COMMON_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
 
-$(srcdir)/config/tilepro/mul-tables.c: \
+$(srcdir)/config/tilepro/mul-tables.cc: \
     $(srcdir)/config/tilepro/gen-mul-tables.cc
 	$(CXX_FOR_BUILD) $(BUILD_CPPFLAGS) -O2 -DTILEPRO \
 	  -o gen-mul-tables $<;
 	./gen-mul-tables > $@
 
-mul-tables.o: $(srcdir)/config/tilepro/mul-tables.c \
+mul-tables.o: $(srcdir)/config/tilepro/mul-tables.cc \
     $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EXPR_H) $(OPTABS_H) \
     $(srcdir)/config/tilepro/tilepro-multiply.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
diff --git a/gcc/config/tilepro/tilepro-c.cc b/gcc/config/tilepro/tilepro-c.cc
index 14b08ea3f11..ed91e710854 100644
--- a/gcc/config/tilepro/tilepro-c.cc
+++ b/gcc/config/tilepro/tilepro-c.cc
@@ -26,7 +26,7 @@
 #include "tm.h"
 #include "c-family/c-common.h"
 
-/* copy defines in c-cppbuiltin.c */
+/* copy defines in c-cppbuiltin.cc */
 # define builtin_define(TXT) cpp_define (pfile, TXT)
 # define builtin_assert(TXT) cpp_assert (pfile, TXT)
 
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 27d9842241f..275ee8fccb3 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -25,10 +25,10 @@ MULTILIB_DIRNAMES +=  v850e3v5
 
 TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
 
-v850-c.o: $(srcdir)/config/v850/v850-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+v850-c.o: $(srcdir)/config/v850/v850-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) $(C_PRAGMA_H) $(GGC_H) $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/v850/v850-c.c 
+		$(srcdir)/config/v850/v850-c.cc 
 
 # Local Variables:
 # mode: Makefile
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index e64c6590e7d..890552b20d9 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,4 +1,4 @@
-/* Prototypes for v850.c functions used in the md file & elsewhere.
+/* Prototypes for v850.cc functions used in the md file & elsewhere.
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
 
    This file is part of GCC.
diff --git a/gcc/config/v850/v850.cc b/gcc/config/v850/v850.cc
index bb282b087b2..c7d432990ab 100644
--- a/gcc/config/v850/v850.cc
+++ b/gcc/config/v850/v850.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for NEC V850 series
+/* Subroutines for insn-output.cc for NEC V850 series
    Copyright (C) 1996-2022 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
@@ -89,7 +89,7 @@ F (rtx x)
 /* Mark all the subexpressions of the PARALLEL rtx PAR as
    frame-related.  Return PAR.
 
-   dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
+   dwarf2out.cc:dwarf2out_frame_debug_expr ignores sub-expressions of a
    PARALLEL rtx other than the first if they do not have the
    FRAME_RELATED flag set on them.  */
 
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 544fbb3056e..328926eab1d 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -351,7 +351,7 @@ enum reg_class
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
  
 #define REGNO_OK_FOR_BASE_P(regno)             \
@@ -569,7 +569,7 @@ struct cum_arg { int nbytes; };
    than accessing full words.  */
 #define SLOW_BYTE_ACCESS 1
 
-/* According expr.c, a value of around 6 should minimize code size, and
+/* According expr.cc, a value of around 6 should minimize code size, and
    for the V850 series, that's our primary concern.  */
 #define MOVE_RATIO(speed) 6
 
@@ -766,7 +766,7 @@ typedef enum
 /* enum GHS_SECTION_KIND is an enumeration of the kinds of sections that
    can appear in the "ghs section" pragma.  These names are used to index
    into the GHS_default_section_names[] and GHS_current_section_names[]
-   that are defined in v850.c, and so the ordering of each must remain
+   that are defined in v850.cc, and so the ordering of each must remain
    consistent. 
 
    These arrays give the default and current names for each kind of 
diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc
index a5ad10d1cfb..20c4d529b91 100644
--- a/gcc/config/vax/vax.cc
+++ b/gcc/config/vax/vax.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for VAX.
+/* Subroutines for insn-output.cc for VAX.
    Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1948,7 +1948,7 @@ vax_mode_dependent_address_p (const_rtx x, addr_space_t as ATTRIBUTE_UNUSED)
 {
   rtx xfoo0, xfoo1;
 
-  /* Auto-increment cases are now dealt with generically in recog.c.  */
+  /* Auto-increment cases are now dealt with generically in recog.cc.  */
   if (GET_CODE (x) != PLUS)
     return false;
 
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0a5da6768f5..45c0e75634e 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -359,7 +359,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
    They give nonzero only if REGNO is a hard reg of the suitable class
    or a pseudo reg currently allocated to a suitable hard reg.
    Since they use reg_renumber, they are safe only once reg_renumber
-   has been allocated, which happens in reginfo.c during register
+   has been allocated, which happens in reginfo.cc during register
    allocation.  */
 
 #define REGNO_OK_FOR_INDEX_P(regno)	\
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 5f2af49c19d..2ce362073d5 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1261,7 +1261,7 @@
 ;; The following used to be needed because constant propagation can
 ;; create them starting from the bic insn patterns above.  This is no
 ;; longer a problem.  However, having these patterns allows optimization
-;; opportunities in combine.c.
+;; opportunities in combine.cc.
 
 (define_insn_and_split "*and<mode>3_const_int"
   [(set (match_operand:VAXint 0 "nonimmediate_operand" "=g,g")
diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc
index d7a460ebd91..03c1a33e1b9 100644
--- a/gcc/config/visium/visium.cc
+++ b/gcc/config/visium/visium.cc
@@ -1850,7 +1850,7 @@ visium_legitimate_address_p (machine_mode mode, rtx x, bool strict)
 
 /* Try machine-dependent ways of modifying an illegitimate address
    to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
+   This macro is used in only one place: `memory_address' in explow.cc.
 
    OLDX is the address as it was before break_out_memory_refs was called.
    In some cases it is useful to look at this to decide what needs to be done.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index d502e7ded9b..e9819243728 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -376,7 +376,7 @@
    with spaces, and write first any length keyword, then `unsigned' if
    appropriate, and finally `int'.  The string must exactly match one
    of the data type names defined in the function
-   `init_decl_processing' in the file `c-decl.c'.  You may not omit
+   `init_decl_processing' in the file `c-decl.cc'.  You may not omit
    `int' or change the order--that would cause the compiler to crash
    on startup.
 
@@ -1234,7 +1234,7 @@ do									\
 
    `EXTRA_SECTION_FUNCTIONS'
 
-   One or more functions to be defined in `varasm.c'.  These functions
+   One or more functions to be defined in `varasm.cc'.  These functions
    should do jobs analogous to those of `text_section' and
    `data_section', for your additional sections.  Do not define this
    macro if you do not define `EXTRA_SECTIONS'.
@@ -1344,7 +1344,7 @@ do									\
    `IMMEDIATE_PREFIX'
 
    If defined, C string expressions to be used for the `%R', `%L',
-   `%U', and `%I' options of `asm_fprintf' (see `final.c').  These are
+   `%U', and `%I' options of `asm_fprintf' (see `final.cc').  These are
    useful when a single `md' file must support multiple assembler
    formats.  In that case, the various `tm.h' files can define these
    macros differently. */
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 5cb97732a64..f099b48b82d 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -23,18 +23,18 @@ vms-crtlmap.h: $(srcdir)/config/vms/vms-crtlmap.map  \
 	$(AWK) -f $(srcdir)/config/vms/make-crtlmap.awk \
 	  $(srcdir)/config/vms/vms-crtlmap.map > $@
 
-vms.o: $(srcdir)/config/vms/vms.c $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
+vms.o: $(srcdir)/config/vms/vms.cc $(TREE_H) $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h $(TM_P_H) vms-crtlmap.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 	  $< -o $@
 
-vms-c.o: $(srcdir)/config/vms/vms-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-c.o: $(srcdir)/config/vms/vms-c.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(CPPLIB_H) $(TREE_H) c-family/c-pragma.h toplev.h $(GGC_H) \
   $(TM_P_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
 
-vms-f.o: $(srcdir)/config/vms/vms-f.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+vms-f.o: $(srcdir)/config/vms/vms-f.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
           $(PREPROCESSOR_DEFINES) $< -o $@
diff --git a/gcc/config/vms/t-vmsnative b/gcc/config/vms/t-vmsnative
index e018f7a0458..6b29b104508 100644
--- a/gcc/config/vms/t-vmsnative
+++ b/gcc/config/vms/t-vmsnative
@@ -21,13 +21,13 @@ version:=$(shell echo $(BASEVER_c) | sed -e 's/\./_/g')
 
 # Wrappers around native VMS tools for ld and ar.
 
-vms-ld.o: $(srcdir)/config/vms/vms-ld.c
+vms-ld.o: $(srcdir)/config/vms/vms-ld.cc
 	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
 ld$(exeext): vms-ld.o $(LIBIBERTY)
 	$(CC) -o $@ vms-ld.o $(LIBIBERTY)
 
-vms-ar.o: $(srcdir)/config/vms/vms-ar.c
+vms-ar.o: $(srcdir)/config/vms/vms-ar.cc
 	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
 ar$(exeext): vms-ar.o $(LIBIBERTY)
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 72607c4b545..b47aa83d886 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* vms-c.c  */
+/* vms-c.cc  */
 extern void vms_c_register_pragma (void);
 extern void vms_c_common_override_options (void);
 extern int vms_c_get_crtl_ver (void);
 extern int vms_c_get_vms_ver (void);
 
-/* vms.c  */
+/* vms.cc  */
 void vms_patch_builtins (void);
 
 #ifdef TREE_CODE
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index 03f33169019..aaae4f78b45 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  If not see
    to be used in port-specific vxworks.h.  */
 
 /* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
-   handled in gcc.c.  */
+   handled in gcc.cc.  */
 #undef REAL_LIBGCC_SPEC
 #define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
diff --git a/gcc/config/x-darwin b/gcc/config/x-darwin
index c6226c04883..8be4ce377dd 100644
--- a/gcc/config/x-darwin
+++ b/gcc/config/x-darwin
@@ -1,3 +1,3 @@
-host-darwin.o : $(srcdir)/config/host-darwin.c
+host-darwin.o : $(srcdir)/config/host-darwin.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/x-hpux b/gcc/config/x-hpux
index e9f2f18f1b8..86295f0163d 100644
--- a/gcc/config/x-hpux
+++ b/gcc/config/x-hpux
@@ -1,4 +1,4 @@
-host-hpux.o : $(srcdir)/config/host-hpux.c $(CONFIG_H) $(SYSTEM_H) \
+host-hpux.o : $(srcdir)/config/host-hpux.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-hpux.c
+		$(srcdir)/config/host-hpux.cc
diff --git a/gcc/config/x-linux b/gcc/config/x-linux
index dba21a666e3..dd5b3a5a4bc 100644
--- a/gcc/config/x-linux
+++ b/gcc/config/x-linux
@@ -1,3 +1,3 @@
-host-linux.o : $(srcdir)/config/host-linux.c
+host-linux.o : $(srcdir)/config/host-linux.cc
 	  $(COMPILE) $<
 	  $(POSTCOMPILE)
diff --git a/gcc/config/x-netbsd b/gcc/config/x-netbsd
index beef7451264..c489bd79c46 100644
--- a/gcc/config/x-netbsd
+++ b/gcc/config/x-netbsd
@@ -1,4 +1,4 @@
-host-netbsd.o : $(srcdir)/config/host-netbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-netbsd.o : $(srcdir)/config/host-netbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-netbsd.c
+		$(srcdir)/config/host-netbsd.cc
diff --git a/gcc/config/x-openbsd b/gcc/config/x-openbsd
index 18e3f659a15..afec6375af3 100644
--- a/gcc/config/x-openbsd
+++ b/gcc/config/x-openbsd
@@ -1,4 +1,4 @@
-host-openbsd.o : $(srcdir)/config/host-openbsd.c $(CONFIG_H) $(SYSTEM_H) \
+host-openbsd.o : $(srcdir)/config/host-openbsd.cc $(CONFIG_H) $(SYSTEM_H) \
   coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/host-openbsd.c
+		$(srcdir)/config/host-openbsd.cc
diff --git a/gcc/config/x-solaris b/gcc/config/x-solaris
index d50b4f59a18..c67b3e58fbd 100644
--- a/gcc/config/x-solaris
+++ b/gcc/config/x-solaris
@@ -1,3 +1,3 @@
-host-solaris.o: $(srcdir)/config/host-solaris.c
+host-solaris.o: $(srcdir)/config/host-solaris.cc
 	$(COMPILE) $<
 	$(POSTCOMPILE)
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 357dba0e972..4bc42da2320 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -30,7 +30,7 @@ extern bool xtensa_b4constu (HOST_WIDE_INT);
 extern bool xtensa_mask_immediate (HOST_WIDE_INT);
 extern bool xtensa_mem_offset (unsigned, machine_mode);
 
-/* Functions within xtensa.c that we reference.  */
+/* Functions within xtensa.cc that we reference.  */
 #ifdef RTX_CODE
 extern int xt_true_regnum (rtx);
 extern int xtensa_valid_move (machine_mode, rtx *);
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index e115b0997ac..198bd3c08a0 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1,4 +1,4 @@
-/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
+/* Subroutines for insn-output.cc for Tensilica's Xtensa architecture.
    Copyright (C) 2001-2022 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
@@ -2243,7 +2243,7 @@ xtensa_option_override (void)
 
   /* Use CONST16 in the absence of L32R.
      Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
-     configuration in the xtensa-common.c  */
+     configuration in the xtensa-common.cc  */
 
   if (!TARGET_L32R)
     target_flags |= MASK_CONST16;
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index ea1fca29004..00e2930b30a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Get Xtensa configuration settings */
 #include "xtensa-config.h"
 
-/* External variables defined in xtensa.c.  */
+/* External variables defined in xtensa.cc.  */
 
 /* Macros used in the machine description to select various Xtensa
    configuration options.  */
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 247371e6537..3dd210a8f8c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -24,7 +24,7 @@
 # --------------------------------
 
 AC_INIT
-AC_CONFIG_SRCDIR(tree.c)
+AC_CONFIG_SRCDIR(tree.cc)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
 gcc_version=`cat $srcdir/BASE-VER`
@@ -1188,7 +1188,7 @@ AC_PROG_MAKE_SET
 
 # Find some useful tools
 AC_PROG_AWK
-# We need awk to create options.c and options.h.
+# We need awk to create options.cc and options.h.
 # Bail out if it's missing.
 case ${AWK} in
   "") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
@@ -1603,7 +1603,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 
 # On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
 # FREAD and FWRITE macros.  Fortunately, for GCC's single usage of ldgetname
-# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
+# in collect2.cc, <fcntl.h> isn't visible, but the configure test below needs
 # to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
 gcc_AC_CHECK_DECLS(ldgetname, , ,[
 #include "ansidecl.h"
@@ -7556,7 +7556,7 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_URLS_DEFAULT, $DIAGNOSTICS_URLS_DEFAULT,
 		   [The default for -fdiagnostics-urls option])
 
 # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
-# of jit/jit-playback.c.
+# of jit/jit-playback.cc.
 gcc_driver_version=`eval "${get_gcc_base_ver} $srcdir/BASE-VER"`
 echo "gcc_driver_version: ${gcc_driver_version}"
 cat > gcc-driver-name.h <<EOF
diff --git a/gcc/context.cc b/gcc/context.cc
index 4f7cab0f89b..401c2f3ae24 100644
--- a/gcc/context.cc
+++ b/gcc/context.cc
@@ -1,4 +1,4 @@
-/* context.c - Holder for global state
+/* context.cc - Holder for global state
    Copyright (C) 2013-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/convert.h b/gcc/convert.h
index d4be79b88c2..323b4af6f72 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,4 +1,4 @@
-/* Definition of functions in convert.c.
+/* Definition of functions in convert.cc.
    Copyright (C) 1993-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index f3559373433..08b9ac9094c 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -463,7 +463,7 @@ typedef unsigned char uchar;
 /* On targets that don't need polynomial offsets, target-specific code
    should be able to treat poly_int like a normal constant, with a
    conversion operator going from the former to the latter.  We also
-   allow this for gencondmd.c for all targets, so that we can treat
+   allow this for gencondmd.cc for all targets, so that we can treat
    machine_modes as enums without causing build failures.  */
 #if (defined (IN_TARGET_CODE) \
      && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 03852f268f4..8ece5db680e 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "file-prefix-map.h"
 
-#include "gcov-io.c"
+#include "gcov-io.cc"
 
 struct GTY((chain_next ("%h.next"))) coverage_data
 {
diff --git a/gcc/coverage.h b/gcc/coverage.h
index ca2542fbe8d..0ac046c88d5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,4 +1,4 @@
-/* coverage.h - Defines data exported from coverage.c
+/* coverage.h - Defines data exported from coverage.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 98eca812042..2de4e47c659 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -120,15 +120,15 @@ cp-warn = $(STRICT_WARN)
 # compute checksum over all object files and the options
 # re-use the checksum from the prev-final stage so it passes
 # the bootstrap comparison and allows comparing of the cc1 binary
-cc1plus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
 	$(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) 
 	if [ -f ../stage_final ] \
 	   && cmp -s ../stage_current ../stage_final; then \
-	   cp ../prev-gcc/cc1plus-checksum.c cc1plus-checksum.c; \
+	   cp ../prev-gcc/cc1plus-checksum.cc cc1plus-checksum.cc; \
 	else \
 	  build/genchecksum$(build_exeext) $(CXX_OBJS) $(BACKEND) $(CODYLIB) $(LIBDEPS) \
-                     checksum-options > cc1plus-checksum.c.tmp &&	   \
-	  $(srcdir)/../move-if-change cc1plus-checksum.c.tmp cc1plus-checksum.c; \
+                     checksum-options > cc1plus-checksum.cc.tmp &&	   \
+	  $(srcdir)/../move-if-change cc1plus-checksum.cc.tmp cc1plus-checksum.cc; \
 	fi
 
 cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 46696b2df39..9ac3dee72f4 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -36,22 +36,22 @@ gtfiles="\
 \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \
 \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \
 \$(srcdir)/cp/parser.h \
-\$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \
-\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \
-\$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \
+\$(srcdir)/c-family/c-common.cc \$(srcdir)/c-family/c-format.cc \
+\$(srcdir)/c-family/c-cppbuiltin.cc \$(srcdir)/c-family/c-pragma.cc \
+\$(srcdir)/cp/call.cc \$(srcdir)/cp/class.cc \$(srcdir)/cp/constexpr.cc \
 \$(srcdir)/cp/constraint.cc \$(srcdir)/cp/coroutines.cc \
-\$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \
-\$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \
-\$(srcdir)/cp/except.c \
-\$(srcdir)/cp/friend.c \
-\$(srcdir)/cp/init.c \
-\$(srcdir)/cp/lambda.c \$(srcdir)/cp/lex.c \$(srcdir)/cp/logic.cc \
-\$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/module.cc \
-\$(srcdir)/cp/name-lookup.c \
-\$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \
-\$(srcdir)/cp/rtti.c \
-\$(srcdir)/cp/semantics.c \
-\$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \
-\$(srcdir)/cp/vtable-class-hierarchy.c \
+\$(srcdir)/cp/cp-gimplify.cc \
+\$(srcdir)/cp/cp-lang.cc \$(srcdir)/cp/cp-objcp-common.cc \
+\$(srcdir)/cp/decl.cc \$(srcdir)/cp/decl2.cc \
+\$(srcdir)/cp/except.cc \
+\$(srcdir)/cp/friend.cc \
+\$(srcdir)/cp/init.cc \
+\$(srcdir)/cp/lambda.cc \$(srcdir)/cp/lex.cc \$(srcdir)/cp/logic.cc \
+\$(srcdir)/cp/mangle.cc \$(srcdir)/cp/method.cc \$(srcdir)/cp/module.cc \
+\$(srcdir)/cp/name-lookup.cc \
+\$(srcdir)/cp/parser.cc \$(srcdir)/cp/pt.cc \
+\$(srcdir)/cp/rtti.cc \
+\$(srcdir)/cp/semantics.cc \
+\$(srcdir)/cp/tree.cc \$(srcdir)/cp/typeck2.cc \
+\$(srcdir)/cp/vtable-class-hierarchy.cc \
 " 
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index af6a4a729e9..8e6ec752856 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -6536,7 +6536,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
 	}
       /* fall through */
     case CONST_DECL:
-      /* We used to not check lval for CONST_DECL, but darwin.c uses
+      /* We used to not check lval for CONST_DECL, but darwin.cc uses
 	 CONST_DECL for aggregate constants.  */
       if (lval)
 	return t;
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index f9a8af8e2c2..1792bf62a49 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -4387,7 +4387,7 @@ morph_fn_to_coro (tree orig, tree *resumer, tree *destroyer)
      If we encounter a fatal error we might return a now-empty body.
 
      Note, the returned ramp body is not 'popped', to be compatible with
-     the way that decl.c handles regular functions, the scope pop is done
+     the way that decl.cc handles regular functions, the scope pop is done
      in the caller.  */
 
   tree newbody = push_stmt_list ();
diff --git a/gcc/cp/cp-gimplify.cc b/gcc/cp/cp-gimplify.cc
index 8b097c46158..b2921f539d3 100644
--- a/gcc/cp/cp-gimplify.cc
+++ b/gcc/cp/cp-gimplify.cc
@@ -1,4 +1,4 @@
-/* C++-specific tree lowering bits; see also c-gimplify.c and gimple.c.
+/* C++-specific tree lowering bits; see also c-gimplify.cc and gimple.cc.
 
    Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Contributed by Jason Merrill <jason@redhat.com>
@@ -546,7 +546,7 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
 	   gimplify_modify_expr gimplifies the RHS before the LHS, but that
 	   isn't quite strong enough in two cases:
 
-	   1) gimplify.c wants to leave a CALL_EXPR on the RHS, which would
+	   1) gimplify.cc wants to leave a CALL_EXPR on the RHS, which would
 	   mean it's evaluated after the LHS.
 
 	   2) the value calculation of the RHS is also sequenced before the
diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc
index f35e325c423..7861f93ff21 100644
--- a/gcc/cp/cp-lang.cc
+++ b/gcc/cp/cp-lang.cc
@@ -103,7 +103,7 @@ static void cxx_omp_finish_decl_inits (void);
 /* Each front end provides its own lang hook initializer.  */
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
+/* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.cc;
    there should be very few routines below.  */
 
 /* The following function does something real, but only in Objective-C++.  */
@@ -226,7 +226,7 @@ get_template_argument_pack_elems_folded (const_tree t)
 }
 
 /* The C++ version of the enum_underlying_base_type langhook.
-   See also cp/semantics.c (finish_underlying_type).  */
+   See also cp/semantics.cc (finish_underlying_type).  */
 
 static
 tree cxx_enum_underlying_base_type (const_tree type)
diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc
index fd6fe17e7da..ea9baa7280a 100644
--- a/gcc/cp/cp-objcp-common.cc
+++ b/gcc/cp/cp-objcp-common.cc
@@ -100,7 +100,7 @@ cp_tree_size (enum tree_code code)
 /* Returns true if T is a variably modified type, in the sense of C99.
    FN is as passed to variably_modified_p.
    This routine needs only check cases that cannot be handled by the
-   language-independent logic in tree.c.  */
+   language-independent logic in tree.cc.  */
 
 bool
 cp_var_mod_type_p (tree type, tree fn)
@@ -280,7 +280,7 @@ cp_unit_size_without_reusable_padding (tree type)
   return TYPE_SIZE_UNIT (type);
 }
 
-/* Stubs to keep c-opts.c happy.  */
+/* Stubs to keep c-opts.cc happy.  */
 void
 push_file_scope (void)
 {
@@ -291,7 +291,7 @@ pop_file_scope (void)
 {
 }
 
-/* c-pragma.c needs to query whether a decl has extern "C" linkage.  */
+/* c-pragma.cc needs to query whether a decl has extern "C" linkage.  */
 bool
 has_c_linkage (const_tree decl)
 {
@@ -349,7 +349,7 @@ cp_pushdecl (tree decl)
 }
 
 /* Get the global value binding of NAME.  Called directly from
-   c-common.c, not via a hook. */
+   c-common.cc, not via a hook. */
 
 tree
 identifier_global_value (tree name)
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 6c53bdfac47..4c137313525 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CP_OBJCP_COMMON
 #define GCC_CP_OBJCP_COMMON
 
-/* In cp/objcp-common.c, cp/cp-lang.c and objcp/objcp-lang.c.  */
+/* In cp/objcp-common.c, cp/cp-lang.cc and objcp/objcp-lang.cc.  */
 
 extern tree cp_get_debug_type (const_tree);
 extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
@@ -43,7 +43,7 @@ extern tree cxx_simulate_record_decl (location_t, const char *,
 				      array_slice<const tree>);
 
 /* Lang hooks that are shared between C++ and ObjC++ are defined here.  Hooks
-   specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
+   specific to C++ or ObjC++ go in cp/cp-lang.cc and objcp/objcp-lang.cc,
    respectively.  */
 
 #undef LANG_HOOKS_FREE_LANG_DATA
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f8225c18a48..e428df06ea2 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2027,7 +2027,7 @@ make_temp_override (T& var, type_identity_t<T> overrider)
 
 #define cp_noexcept_operand scope_chain->noexcept_operand
 
-struct named_label_entry; /* Defined in decl.c.  */
+struct named_label_entry; /* Defined in decl.cc.  */
 
 struct named_label_hash : ggc_remove <named_label_entry *>
 {
@@ -2160,7 +2160,7 @@ struct GTY(()) language_function {
 #define current_function_return_value \
   (cp_function_chain->x_return_value)
 
-/* In parser.c.  */
+/* In parser.cc.  */
 extern tree cp_literal_operator_id (const char *);
 
 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE))
@@ -5277,7 +5277,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
 
 /* A language-specific token attached to the OpenMP data clauses to
    hold code (or code fragments) related to ctors, dtors, and op=.
-   See semantics.c for details.  */
+   See semantics.cc for details.  */
 #define CP_OMP_CLAUSE_INFO(NODE) \
   TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
 				     OMP_CLAUSE__CONDTEMP_))
@@ -5587,7 +5587,7 @@ extern int comparing_specializations;
    FIXME we should always do this except during deduction/ordering.  */
 extern int comparing_dependent_aliases;
 
-/* In parser.c.  */
+/* In parser.cc.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
    sizeof, typeof, or alignof.  This is a count since operands to
@@ -5622,7 +5622,7 @@ public:
     c_inhibit_evaluation_warnings = inhibit; }
 };
 
-/* in pt.c  */
+/* in pt.cc  */
 
 /* These values are used for the `STRICT' parameter to type_unification and
    fn_type_unification.  Their meanings are described with the
@@ -5655,11 +5655,11 @@ struct GTY((for_user)) spec_entry
   tree spec;  /* The specialization itself.  */
 };
 
-/* in class.c */
+/* in class.cc */
 
 extern int current_class_depth;
 
-/* in decl.c */
+/* in decl.cc */
 
 /* An array of static vars & fns.  */
 extern GTY(()) vec<tree, va_gc> *static_decls;
@@ -6029,7 +6029,7 @@ const unsigned int STF_STRIP_DEPENDENT = 1U << 1;
    ? TYPE_TI_TEMPLATE (NODE)				\
    : TYPE_NAME (NODE))
 
-/* in lex.c  */
+/* in lex.cc  */
 
 extern void init_reswords (void);
 
@@ -6477,7 +6477,7 @@ extern int class_dump_id;
 extern int module_dump_id;
 extern int raw_dump_id;
 
-/* in call.c */
+/* in call.cc */
 extern bool check_dtor_name			(tree, tree);
 int magic_varargs_p				(tree);
 
@@ -6621,7 +6621,7 @@ extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warni
 extern void cp_warn_deprecated_use_scopes	(tree);
 extern tree get_function_version_dispatcher	(tree);
 
-/* in class.c */
+/* in class.cc */
 extern tree build_vfield_ref			(tree, tree);
 extern tree build_if_in_charge			(tree true_stmt, tree false_stmt = void_node);
 extern tree build_base_path			(enum tree_code, tree,
@@ -6707,7 +6707,7 @@ extern bool uniquely_derived_from_p             (tree, tree);
 extern bool publicly_uniquely_derived_p         (tree, tree);
 extern tree common_enclosing_class		(tree, tree);
 
-/* in cvt.c */
+/* in cvt.cc */
 extern tree convert_to_reference		(tree, tree, int, int, tree,
 						 tsubst_flags_t);
 extern tree convert_from_reference		(tree);
@@ -6734,12 +6734,12 @@ extern tree tx_unsafe_fn_variant		(tree);
 extern bool fnptr_conv_p			(tree, tree);
 extern tree strip_fnptr_conv			(tree);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern void maybe_push_cleanup_level		(tree);
 extern tree maybe_push_decl			(tree);
 extern tree current_decl_namespace		(void);
 
-/* decl.c */
+/* decl.cc */
 extern tree poplevel				(int, int, int);
 extern void cxx_init_decl_processing		(void);
 enum cp_tree_node_structure_enum cp_tree_node_structure
@@ -6854,7 +6854,7 @@ extern tree build_explicit_specifier		(tree, tsubst_flags_t);
 extern void do_push_parm_decls			(tree, tree, tree *);
 extern tree do_aggregate_paren_init		(tree, tree);
 
-/* in decl2.c */
+/* in decl2.cc */
 extern void record_mangling			(tree, bool);
 extern void overwrite_mangling			(tree, tree);
 extern void note_mangling_alias			(tree, tree);
@@ -6922,7 +6922,7 @@ extern bool cp_omp_mappable_type		(tree);
 extern bool cp_omp_emit_unmappable_type_notes	(tree);
 extern void cp_check_const_attributes (tree);
 
-/* in error.c */
+/* in error.cc */
 extern const char *type_as_string		(tree, int);
 extern const char *type_as_string_translate	(tree, int);
 extern const char *decl_as_string		(tree, int);
@@ -6942,7 +6942,7 @@ extern location_t location_of                   (tree);
 extern void qualified_name_lookup_error		(tree, tree, tree,
 						 location_t);
 
-/* in except.c */
+/* in except.cc */
 extern void init_exception_processing		(void);
 extern tree expand_start_catch_block		(tree);
 extern void expand_end_catch_block		(void);
@@ -6971,7 +6971,7 @@ extern tree template_parms_to_args		(tree);
 extern tree template_parms_level_to_args	(tree);
 extern tree generic_targs_for			(tree);
 
-/* in expr.c */
+/* in expr.cc */
 extern tree cplus_expand_constant		(tree);
 extern tree mark_use (tree expr, bool rvalue_p, bool read_p,
 		      location_t = UNKNOWN_LOCATION,
@@ -6985,7 +6985,7 @@ extern tree mark_type_use			(tree);
 extern tree mark_discarded_use			(tree);
 extern void mark_exp_read			(tree);
 
-/* friend.c */
+/* friend.cc */
 extern int is_friend				(tree, tree);
 extern void make_friend_class			(tree, tree, bool);
 extern void add_friend				(tree, tree, bool);
@@ -6995,7 +6995,7 @@ extern tree do_friend				(tree, tree, tree,
 extern void set_global_friend			(tree);
 extern bool is_global_friend			(tree);
 
-/* in init.c */
+/* in init.cc */
 extern tree expand_member_init			(tree);
 extern void emit_mem_initializers		(tree);
 extern tree build_aggr_init			(tree, tree, int,
@@ -7035,7 +7035,7 @@ extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool);
 extern tree build_vtbl_address                  (tree);
 extern bool maybe_reject_flexarray_init		(tree, tree);
 
-/* in lex.c */
+/* in lex.cc */
 extern void cxx_dup_lang_specific_decl		(tree);
 extern tree unqualified_name_lookup_error	(tree,
 						 location_t = UNKNOWN_LOCATION);
@@ -7061,7 +7061,7 @@ extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t);
 extern uintptr_t module_token_lang (int type, int keyword, tree value,
 				    location_t, uintptr_t);
 
-/* in method.c */
+/* in method.cc */
 extern void init_method				(void);
 extern tree make_thunk				(tree, bool, tree, tree);
 extern void finish_thunk			(tree);
@@ -7191,10 +7191,10 @@ extern void module_begin_main_file (cpp_reader *, line_maps *,
 extern void module_preprocess_options (cpp_reader *);
 extern bool handle_module_option (unsigned opt, const char *arg, int value);
 
-/* In optimize.c */
+/* In optimize.cc */
 extern bool maybe_clone_body			(tree);
 
-/* In parser.c */
+/* In parser.cc */
 extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool,
 				  unsigned short);
 extern void cp_convert_omp_range_for (tree &, vec<tree, va_gc> *, tree &,
@@ -7208,7 +7208,7 @@ extern location_t defparse_location (tree);
 extern void maybe_show_extern_c_location (void);
 extern bool literal_integer_zerop (const_tree);
 
-/* in pt.c */
+/* in pt.cc */
 extern tree canonical_type_parameter		(tree);
 extern void push_access_scope			(tree);
 extern void pop_access_scope			(tree);
@@ -7406,7 +7406,7 @@ extern tree add_outermost_template_args		(tree, tree);
 extern tree add_extra_args			(tree, tree, tsubst_flags_t, tree);
 extern tree build_extra_args			(tree, tree, tsubst_flags_t);
 
-/* in rtti.c */
+/* in rtti.cc */
 /* A vector of all tinfo decls that haven't been emitted yet.  */
 extern GTY(()) vec<tree, va_gc> *unemitted_tinfo_decls;
 
@@ -7424,7 +7424,7 @@ extern unsigned get_pseudo_tinfo_index		(tree);
 extern tree get_pseudo_tinfo_type		(unsigned);
 extern tree build_if_nonnull			(tree, tree, tsubst_flags_t);
 
-/* in search.c */
+/* in search.cc */
 extern tree get_parent_with_private_access 	(tree decl, tree binfo);
 extern bool accessible_base_p			(tree, tree, bool);
 extern tree lookup_base                         (tree, tree, base_access,
@@ -7468,7 +7468,7 @@ extern bool shared_member_p			(tree);
 extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ());
 extern bool maybe_check_overriding_exception_spec (tree, tree);
 
-/* in semantics.c */
+/* in semantics.cc */
 extern void push_deferring_access_checks	(deferring_kind);
 extern void resume_deferring_access_checks	(void);
 extern void stop_deferring_access_checks	(void);
@@ -7718,7 +7718,7 @@ extern tree most_general_lambda			(tree);
 extern tree finish_omp_target			(location_t, tree, tree, bool);
 extern void finish_omp_target_clauses		(location_t, tree, tree *);
 
-/* in tree.c */
+/* in tree.cc */
 extern int cp_tree_operand_length		(const_tree);
 extern int cp_tree_code_length			(enum tree_code);
 extern void cp_free_lang_data 			(tree t);
@@ -7873,7 +7873,7 @@ extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
 extern void cxx_print_statistics		(void);
 extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 
-/* in ptree.c */
+/* in ptree.cc */
 extern void cxx_print_xnode			(FILE *, tree, int);
 extern void cxx_print_decl			(FILE *, tree, int);
 extern void cxx_print_type			(FILE *, tree, int);
@@ -7882,7 +7882,7 @@ extern void cxx_print_error_function		(diagnostic_context *,
 						 const char *,
 						 struct diagnostic_info *);
 
-/* in typeck.c */
+/* in typeck.cc */
 /* Says how we should behave when comparing two arrays one of which
    has unknown bounds.  */
 enum compare_bounds_t { bounds_none, bounds_either, bounds_first };
@@ -8059,7 +8059,7 @@ extern tree finish_binary_fold_expr          (tree, tree, int);
 extern tree treat_lvalue_as_rvalue_p	     (tree, bool);
 extern bool decl_in_std_namespace_p	     (tree);
 
-/* in typeck2.c */
+/* in typeck2.cc */
 extern void require_complete_eh_spec_types	(tree, tree);
 extern void cxx_incomplete_type_diagnostic	(location_t, const_tree,
 						 const_tree, diagnostic_t);
@@ -8129,7 +8129,7 @@ extern tree build_functional_cast		(location_t, tree, tree,
 extern tree add_exception_specifier		(tree, tree, tsubst_flags_t);
 extern tree merge_exception_specifiers		(tree, tree);
 
-/* in mangle.c */
+/* in mangle.cc */
 extern void init_mangle				(void);
 extern void mangle_decl				(tree);
 extern const char *mangle_type_string		(tree);
@@ -8152,10 +8152,10 @@ extern void mangle_module_substitution		(int);
 extern void mangle_identifier			(char, tree);
 extern tree mangle_module_global_init		(int);
 
-/* in dump.c */
+/* in dump.cc */
 extern bool cp_dump_tree			(void *, tree);
 
-/* In cp/cp-objcp-common.c.  */
+/* In cp/cp-objcp-common.cc.  */
 
 extern alias_set_type cxx_get_alias_set		(tree);
 extern bool cxx_warn_unused_global_decl		(const_tree);
@@ -8165,7 +8165,7 @@ extern void cxx_initialize_diagnostics		(diagnostic_context *);
 extern int cxx_types_compatible_p		(tree, tree);
 extern bool cxx_block_may_fallthru		(const_tree);
 
-/* in cp-gimplify.c */
+/* in cp-gimplify.cc */
 extern int cp_gimplify_expr			(tree *, gimple_seq *,
 						 gimple_seq *);
 extern void cp_genericize			(tree);
@@ -8192,7 +8192,7 @@ extern tree process_stmt_hotness_attribute	(tree, location_t);
 extern bool simple_empty_class_p		(tree, tree, tree_code);
 extern tree fold_builtin_source_location	(location_t);
 
-/* in name-lookup.c */
+/* in name-lookup.cc */
 extern tree strip_using_decl                    (tree);
 
 /* Tell the binding oracle what kind of binding we are looking for.  */
@@ -8206,7 +8206,7 @@ enum cp_oracle_request
    create bindings when needed by the C compiler.  The oracle is told
    the name and type of the binding to create.  It can call pushdecl
    or the like to ensure the binding is visible; or do nothing,
-   leaving the binding untouched.  c-decl.c takes note of when the
+   leaving the binding untouched.  c-decl.cc takes note of when the
    oracle has been called and will not call it again if it fails to
    create a given binding.  */
 
@@ -8216,7 +8216,7 @@ extern cp_binding_oracle_function *cp_binding_oracle;
 
 /* Set during diagnostics to record the failed constraint. This is a
    TREE_LIST whose VALUE is the constraint and whose PURPOSE are the
-   instantiation arguments Defined in pt.c.  */
+   instantiation arguments Defined in pt.cc.  */
 
 extern tree current_failed_constraint;
 
@@ -8324,18 +8324,18 @@ struct atom_hasher : default_hash_traits<tree>
 /* in logic.cc */
 extern bool subsumes                            (tree, tree);
 
-/* In class.c */
+/* In class.cc */
 extern void set_current_access_from_decl (tree);
 extern void cp_finish_injected_record_type (tree);
 
-/* in vtable-class-hierarchy.c */
+/* in vtable-class-hierarchy.cc */
 extern void vtv_compute_class_hierarchy_transitive_closure (void);
 extern void vtv_generate_init_routine           (void);
 extern void vtv_save_class_info                 (tree);
 extern void vtv_recover_class_info              (void);
 extern void vtv_build_vtable_verify_fndecl      (void);
 
-/* In constexpr.c */
+/* In constexpr.cc */
 /* Representation of entries in the constexpr function definition table.  */
 
 struct GTY((for_user)) constexpr_fundef {
@@ -8416,7 +8416,7 @@ struct uid_sensitive_constexpr_evaluation_checker
 
 void cp_tree_c_finish_parsing ();
 
-/* In cp-ubsan.c */
+/* In cp-ubsan.cc */
 extern void cp_ubsan_maybe_instrument_member_call (tree);
 extern void cp_ubsan_instrument_member_accesses (tree *);
 extern tree cp_ubsan_maybe_instrument_downcast	(location_t, tree, tree, tree);
diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc
index 187ea88cae0..e9803c1be31 100644
--- a/gcc/cp/cvt.cc
+++ b/gcc/cp/cvt.cc
@@ -52,12 +52,12 @@ static void diagnose_ref_binding (location_t, tree, tree, tree);
 
    Here is a list of all the functions that assume that widening and
    narrowing is always done with a NOP_EXPR:
-     In convert.c, convert_to_integer[_maybe_fold].
-     In c-typeck.c, build_binary_op_nodefault (boolean ops),
+     In convert.cc, convert_to_integer[_maybe_fold].
+     In c-typeck.cc, build_binary_op_nodefault (boolean ops),
 	and c_common_truthvalue_conversion.
-     In expr.c: expand_expr, for operands of a MULT_EXPR.
-     In fold-const.c: fold.
-     In tree.c: get_narrower and get_unwidened.
+     In expr.cc: expand_expr, for operands of a MULT_EXPR.
+     In fold-const.cc: fold.
+     In tree.cc: get_narrower and get_unwidened.
 
    C++: in multiple-inheritance, converting between pointers may involve
    adjusting them by a delta stored within the class definition.  */
@@ -1386,9 +1386,9 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
             /* Emit a warning (if enabled) when the "effect-less" INDIRECT_REF
                operation is stripped off. Note that we don't warn about
                - an expression with TREE_NO_WARNING set. (For an example of
-                 such expressions, see build_over_call in call.c.)
+                 such expressions, see build_over_call in call.cc.)
                - automatic dereferencing of references, since the user cannot
-                 control it. (See also warn_if_unused_value() in c-common.c.)  */
+                 control it. (See also warn_if_unused_value() in c-common.cc.)  */
             if (warn_unused_value
 		&& implicit != ICV_CAST
                 && (complain & tf_warning)
@@ -1711,7 +1711,7 @@ convert_force (tree type, tree expr, int convtype, tsubst_flags_t complain)
   if (code == POINTER_TYPE)
     return convert_to_pointer_force (type, e, complain);
 
-  /* From typeck.c convert_for_assignment */
+  /* From typeck.cc convert_for_assignment */
   if (((TYPE_PTR_P (TREE_TYPE (e)) && TREE_CODE (e) == ADDR_EXPR
 	&& TREE_CODE (TREE_TYPE (TREE_TYPE (e))) == METHOD_TYPE)
        || integer_zerop (e)
@@ -2008,7 +2008,7 @@ type_promotes_to (tree type)
 
 /* The routines below this point are carefully written to conform to
    the standard.  They use the same terminology, and follow the rules
-   closely.  Although they are used only in pt.c at the moment, they
+   closely.  Although they are used only in pt.cc at the moment, they
    should presumably be used everywhere in the future.  */
 
 /* True iff EXPR can be converted to TYPE via a qualification conversion.
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc
index 5fe341e0b75..56ef8a0eab3 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -4268,7 +4268,7 @@ make_unbound_class_template_raw (tree context, tree name, tree parm_list)
    The calls to set_global_binding below should be
    eliminated.  Built-in types should not be looked up name; their
    names are keywords that the parser can recognize.  However, there
-   is code in c-common.c that uses identifier_global_value to look up
+   is code in c-common.cc that uses identifier_global_value to look up
    built-in types by name.  */
 
 void
@@ -4610,7 +4610,7 @@ cxx_init_decl_processing (void)
     else
       new_eh_spec = noexcept_false_spec;
 
-    /* Ensure attribs.c is initialized.  */
+    /* Ensure attribs.cc is initialized.  */
     init_attributes ();
 
     extvisattr = build_tree_list (get_identifier ("externally_visible"),
@@ -9721,7 +9721,7 @@ check_class_member_definition_namespace (tree decl)
   /* These checks only apply to member functions and static data
      members.  */
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
-  /* We check for problems with specializations in pt.c in
+  /* We check for problems with specializations in pt.cc in
      check_specialization_namespace, where we can issue better
      diagnostics.  */
   if (processing_specialization)
@@ -18098,7 +18098,7 @@ cxx_maybe_build_cleanup (tree decl, tsubst_flags_t complain)
       id = TREE_VALUE (TREE_VALUE (attr));
       /* Look up the name to find the cleanup function to call.  It is
 	 important to use lookup_name here because that is what is
-	 used in c-common.c:handle_cleanup_attribute when performing
+	 used in c-common.cc:handle_cleanup_attribute when performing
 	 initial checks on the attribute.  Note that those checks
 	 include ensuring that the function found is not an overloaded
 	 function, or an object with an overloaded call operator,
diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc
index 988ecd24e9a..f7419ec3683 100644
--- a/gcc/cp/decl2.cc
+++ b/gcc/cp/decl2.cc
@@ -2449,7 +2449,7 @@ maybe_emit_vtables (tree ctype, vec<tree> &consteval_vtables)
     }
 
   /* For abstract classes, the destructor has been removed from the
-     vtable (in class.c's build_vtbl_initializer).  For a compiler-
+     vtable (in class.cc's build_vtbl_initializer).  For a compiler-
      generated destructor, it hence might not have been generated in
      this translation unit - and with '#pragma interface' it might
      never get generated.  */
diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc
index 1172dbeb91f..2c6aaaa99c7 100644
--- a/gcc/cp/error.cc
+++ b/gcc/cp/error.cc
@@ -1931,7 +1931,7 @@ dump_function_name (cxx_pretty_printer *pp, tree t, int flags)
   tree name = DECL_NAME (t);
 
   /* We can get here with a decl that was synthesized by language-
-     independent machinery (e.g. coverage.c) in which case it won't
+     independent machinery (e.g. coverage.cc) in which case it won't
      have a lang_specific structure attached and DECL_CONSTRUCTOR_P
      will crash.  In this case it is safe just to print out the
      literal name.  */
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index ccc4f5ece08..668a84d969e 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -2340,7 +2340,7 @@ is_class_type (tree type, int or_else)
    @@ Prints out lousy diagnostics for operator <typename>
    @@ fields.
 
-   @@ This function should be rewritten and placed in search.c.  */
+   @@ This function should be rewritten and placed in search.cc.  */
 
 tree
 build_offset_ref (tree type, tree member, bool address_p,
@@ -3260,7 +3260,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
 		 to make sure it doesn't exceed the implementation-defined
 		 maximum, as required by C++ 14 (in C++ 11 this requirement
 		 isn't explicitly stated but it's enforced anyway -- see
-		 grokdeclarator in cp/decl.c).  */
+		 grokdeclarator in cp/decl.cc).  */
 	      if (complain & tf_error)
 		{
 		  size = cp_fully_fold (size);
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index f69b86be277..f35c9fab76b 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c for
+/* This is the contribution to the `default_compilers' array in gcc.cc for
    g++.  */
 
 #ifndef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc
index fe1147c96d4..903ee666ef3 100644
--- a/gcc/cp/method.cc
+++ b/gcc/cp/method.cc
@@ -37,7 +37,7 @@ static void do_build_copy_assign (tree);
 static void do_build_copy_constructor (tree);
 static tree make_alias_for_thunk (tree);
 
-/* Called once to initialize method.c.  */
+/* Called once to initialize method.cc.  */
 
 void
 init_method (void)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 01341301811..81ceef92df3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12823,7 +12823,7 @@ specialization_add (bool decl_p, spec_entry *entry, void *data_)
     {
       /* We exclusively use decls to locate things.  Make sure there's
 	 no mismatch between the two specialization tables we keep.
-	 pt.c optimizes instantiation lookup using a complicated
+	 pt.cc optimizes instantiation lookup using a complicated
 	 heuristic.  We don't attempt to replicate that algorithm, but
 	 observe its behaviour and reproduce it upon read back.  */
 
@@ -14879,7 +14879,7 @@ module_state::read_cluster (unsigned snum)
 	}
 
     }
-  /* Look, function.c's interface to cfun does too much for us, we
+  /* Look, function.cc's interface to cfun does too much for us, we
      just need to restore the old value.  I do not want to go
      redesigning that API right now.  */
 #undef cfun
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index caa23d3e6f8..29b7f2ec1a0 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -3073,7 +3073,7 @@ check_extern_c_conflict (tree decl)
 }
 
 /* Returns a list of C-linkage decls with the name NAME.  Used in
-   c-family/c-pragma.c to implement redefine_extname pragma.  */
+   c-family/c-pragma.cc to implement redefine_extname pragma.  */
 
 tree
 c_linkage_bindings (tree name)
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 781d6b97bcc..68d08725a00 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -59,7 +59,7 @@ struct GTY(()) cxx_binding {
 };
 
 /* Datatype used to temporarily save C++ bindings (for implicit
-   instantiations purposes and like).  Implemented in decl.c.  */
+   instantiations purposes and like).  Implemented in decl.cc.  */
 struct GTY(()) cxx_saved_binding {
   /* The name of the current binding.  */
   tree identifier;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index f40e707d47c..5c21f0cdb66 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -51,7 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 /* The lexer.  */
 
 /* The cp_lexer_* routines mediate between the lexer proper (in libcpp
-   and c-lex.c) and the C++ parser.  */
+   and c-lex.cc) and the C++ parser.  */
 
 /* The various kinds of non integral constant we encounter. */
 enum non_integral_constant {
@@ -4317,7 +4317,7 @@ cp_parser_identifier (cp_parser* parser)
    However, C99 6.4.5p4 says that this results in a wide string literal.
    We follow C99 here, for consistency with the C front end.
 
-   This code is largely lifted from lex_string() in c-lex.c.
+   This code is largely lifted from lex_string() in c-lex.cc.
 
    FUTURE: ObjC++ will need to handle @-strings here.  */
 static cp_expr
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 163c4872719..d688fd18fd5 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -434,7 +434,7 @@ struct GTY(()) cp_parser {
 
 };
 
-/* In parser.c  */
+/* In parser.cc  */
 extern void debug (cp_token &ref);
 extern void debug (cp_token *ptr);
 extern void cp_lexer_debug_tokens (vec<cp_token, va_gc> *);
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 0fa4a162354..4a2b33ec940 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -6765,7 +6765,7 @@ has_value_dependent_address (tree op)
 /* The next set of functions are used for providing helpful explanatory
    diagnostics for failed overload resolution.  Their messages should be
    indented by two spaces for consistency with the messages in
-   call.c  */
+   call.cc  */
 
 static int
 unify_success (bool /*explain_p*/)
@@ -10963,7 +10963,7 @@ push_tinst_level_loc (tree tldcl, tree targs, location_t loc)
 
   if (tinst_depth >= max_tinst_depth)
     {
-      /* Tell error.c not to try to instantiate any templates.  */
+      /* Tell error.cc not to try to instantiate any templates.  */
       at_eof = 2;
       fatal_error (input_location,
 		   "template instantiation depth exceeds maximum of %d"
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 645654768e3..1d575d553eb 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -5,7 +5,7 @@
 
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
    Written by Mark Mitchell (mmitchell@usa.net) based on code found
-   formerly in parse.y and pt.c.
+   formerly in parse.y and pt.cc.
 
    This file is part of GCC.
 
@@ -7997,7 +7997,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort)
 		  || OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_DETACH))
 	    /* For attach/detach clauses, set OMP_CLAUSE_SIZE (representing a
 	       bias) to zero here, so it is not set erroneously to the pointer
-	       size later on in gimplify.c.  */
+	       size later on in gimplify.cc.  */
 	    OMP_CLAUSE_SIZE (c) = size_zero_node;
 	  if (REFERENCE_REF_P (t)
 	      && TREE_CODE (TREE_OPERAND (t, 0)) == COMPONENT_REF)
@@ -10769,7 +10769,7 @@ finish_omp_atomic (location_t loc, enum tree_code code, enum tree_code opcode,
     }
 
   /* Avoid -Wunused-value warnings here, the whole construct has side-effects
-     and even if it might be wrapped from fold-const.c or c-omp.c wrapped
+     and even if it might be wrapped from fold-const.cc or c-omp.cc wrapped
      in some tree that appears to be unused, the value is not unused.  */
   warning_sentinel w (warn_unused_value);
   finish_expr_stmt (stmt);
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d0c6490e42f..2de8c3f7229 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -5540,7 +5540,7 @@ cp_save_expr (tree expr)
   return save_expr (expr);
 }
 
-/* Initialize tree.c.  */
+/* Initialize tree.cc.  */
 
 void
 init_tree (void)
@@ -5998,7 +5998,7 @@ cp_free_lang_data (tree t)
     DECL_CHAIN (t) = NULL_TREE;
 }
 
-/* Stub for c-common.  Please keep in sync with c-decl.c.
+/* Stub for c-common.  Please keep in sync with c-decl.cc.
    FIXME: If address space support is target specific, then this
    should be a C target hook.  But currently this is not possible,
    because this function is called via REGISTER_TARGET_PRAGMAS.  */
diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc
index 8029b2bf2fb..3a28d639cb1 100644
--- a/gcc/cp/typeck.cc
+++ b/gcc/cp/typeck.cc
@@ -395,7 +395,7 @@ cp_common_type (tree t1, tree t2)
       /* For __intN types, either the type is __int128 (and is lower
 	 priority than the types checked above, but higher than other
 	 128-bit types) or it's known to not be the same size as other
-	 types (enforced in toplev.c).  Prefer the unsigned type. */
+	 types (enforced in toplev.cc).  Prefer the unsigned type. */
       for (i = 0; i < NUM_INT_N_ENTS; i ++)
 	{
 	  if (int_n_enabled_p [i]
@@ -948,7 +948,7 @@ strip_array_domain (tree type)
   return cp_build_type_attribute_variant (t2, TYPE_ATTRIBUTES (type));
 }
 
-/* Wrapper around cp_common_type that is used by c-common.c and other
+/* Wrapper around cp_common_type that is used by c-common.cc and other
    front end optimizations that remove promotions.  
 
    Return the common type for two arithmetic types T1 and T2 under the
@@ -2584,7 +2584,7 @@ rationalize_conditional_expr (enum tree_code code, tree t,
 {
   location_t loc = cp_expr_loc_or_input_loc (t);
 
-  /* For MIN_EXPR or MAX_EXPR, fold-const.c has arranged things so that
+  /* For MIN_EXPR or MAX_EXPR, fold-const.cc has arranged things so that
      the first operand is always the one to be used if both operands
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
@@ -10529,7 +10529,7 @@ check_return_expr (tree retval, bool *no_warning)
       current_function_returns_value = 1;
       /* And signal caller that TREE_NO_WARNING should be set on the
 	 RETURN_EXPR to avoid control reaches end of non-void function
-	 warnings in tree-cfg.c.  */
+	 warnings in tree-cfg.cc.  */
       *no_warning = true;
     }
   /* Check for a return statement with a value in a function that
diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc
index 4c6e2f2aced..79cb5f8de02 100644
--- a/gcc/cp/vtable-class-hierarchy.cc
+++ b/gcc/cp/vtable-class-hierarchy.cc
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  If not see
   structures used for collecting the class hierarchy data and
   building/maintaining the vtable map variable data are defined in
   gcc/vtable-verify.h, because they are used both here and in
-  gcc/vtable-verify.c.  */
+  gcc/vtable-verify.cc.  */
 
 #include "config.h"
 #include "system.h"
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index 95def398907..fb97c0b5814 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -35,7 +35,7 @@ struct default_include
 {
   const char *const fname;	/* The name of the directory.  */
   const char *const component;	/* The component containing the directory
-				   (see update_path in prefix.c) */
+				   (see update_path in prefix.cc) */
   const char cplusplus;		/* When this is non-zero, we should only
 				   consider this if we're compiling C++.
 				   When the -stdlib option is configured, this
diff --git a/gcc/cprop.cc b/gcc/cprop.cc
index c60f7e5fe0b..cf01c2d79a9 100644
--- a/gcc/cprop.cc
+++ b/gcc/cprop.cc
@@ -1310,7 +1310,7 @@ local_cprop_pass (void)
 /* Similar to get_condition, only the resulting condition must be
    valid at JUMP, instead of at EARLIEST.
 
-   This differs from noce_get_condition in ifcvt.c in that we prefer not to
+   This differs from noce_get_condition in ifcvt.cc in that we prefer not to
    settle for the condition variable in the jump instruction being integral.
    We prefer to be able to record the value of a user variable, rather than
    the value of a temporary used in a condition.  This could be solved by
@@ -1909,7 +1909,7 @@ one_cprop_pass (void)
 \f
 /* All the passes implemented in this file.  Each pass has its
    own gate and execute function, and at the end of the file a
-   pass definition for passes.c.
+   pass definition for passes.cc.
 
    We do not construct an accurate cfg in functions which call
    setjmp, so none of these passes runs if the function calls
diff --git a/gcc/cse.cc b/gcc/cse.cc
index 94acdb9672e..a18b599d324 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2402,7 +2402,7 @@ hash_rtx_cb (const_rtx x, machine_mode mode,
 	 handling since the MEM may be BLKmode which normally
 	 prevents an entry from being made.  Pure calls are
 	 marked by a USE which mentions BLKmode memory.
-	 See calls.c:emit_call_1.  */
+	 See calls.cc:emit_call_1.  */
       if (MEM_P (XEXP (x, 0))
 	  && ! MEM_VOLATILE_P (XEXP (x, 0)))
 	{
@@ -3586,7 +3586,7 @@ fold_rtx (rtx x, rtx_insn *insn)
 	     is known to be of similar form, we may be able to replace the
 	     operation with a combined operation.  This may eliminate the
 	     intermediate operation if every use is simplified in this way.
-	     Note that the similar optimization done by combine.c only works
+	     Note that the similar optimization done by combine.cc only works
 	     if the intermediate operation's result has only one reference.  */
 
 	  if (REG_P (folded_arg0)
diff --git a/gcc/ctfc.h b/gcc/ctfc.h
index 08e7bc856c7..4c22c17d99f 100644
--- a/gcc/ctfc.h
+++ b/gcc/ctfc.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
    representations and closely reflect the CTF format requirements in <ctf.h>.
 
    The contents of the CTF container are used eventually for emission of both
-   CTF (ctfout.c) and BTF debug info (btfout.c), as the two type debug formats
+   CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats
    are close cousins.  */
 
 #ifndef GCC_CTFC_H
@@ -372,7 +372,7 @@ extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref);
 
 /* These APIs allow to initialize and finalize the CTF machinery and
    to add types to the CTF container associated to the current
-   translation unit.  Used in dwarf2ctf.c.  */
+   translation unit.  Used in dwarf2ctf.cc.  */
 
 extern void ctf_init (void);
 extern void ctf_output (const char * filename);
diff --git a/gcc/d/d-gimplify.cc b/gcc/d/d-gimplify.cc
index 1fad6546a5c..fbeb60755dd 100644
--- a/gcc/d/d-gimplify.cc
+++ b/gcc/d/d-gimplify.cc
@@ -1,4 +1,4 @@
-/* D-specific tree lowering bits; see also gimple.c.
+/* D-specific tree lowering bits; see also gimple.cc.
    Copyright (C) 2020-2022 Free Software Foundation, Inc.
 
 GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index 4da01430a39..68d479679e4 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* Look for directories that start with the standard prefix.
    "Translate" them, i.e: replace /usr/local/lib/gcc with
-   IPREFIX and search them first.  Based on incpath.c.  */
+   IPREFIX and search them first.  Based on incpath.cc.  */
 
 static char *
 prefixed_path (const char *path, const char *iprefix)
diff --git a/gcc/d/lang-specs.h b/gcc/d/lang-specs.h
index b08b89f0e9e..7d3c119596e 100644
--- a/gcc/d/lang-specs.h
+++ b/gcc/d/lang-specs.h
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This is the contribution to the `default_compilers' array in gcc.c
+/* This is the contribution to the `default_compilers' array in gcc.cc
    for the D language.  */
 
 {".d", "@d", 0, 1, 0 },
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 825aaabe039..df01d004965 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -43,13 +43,13 @@ struct bitpack_d
   void *stream;
 };
 
-/* In data-streamer.c  */
+/* In data-streamer.cc  */
 void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT);
 void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT);
 unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *);
 HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *);
 
-/* In data-streamer-out.c  */
+/* In data-streamer-out.cc  */
 void streamer_write_zero (struct output_block *);
 void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT);
 void streamer_write_hwi (struct output_block *, HOST_WIDE_INT);
@@ -74,7 +74,7 @@ void streamer_write_data_stream (struct lto_output_stream *, const void *,
 void streamer_write_wide_int (struct output_block *, const wide_int &);
 void streamer_write_widest_int (struct output_block *, const widest_int &);
 
-/* In data-streamer-in.c  */
+/* In data-streamer-in.cc  */
 const char *streamer_read_string (class data_in *, class lto_input_block *);
 const char *streamer_read_indexed_string (class data_in *,
 					  class lto_input_block *,
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 455d47b1a2e..3aa18cd0cf6 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
    or for each copy instruction in register coalescing,
    or constant-propagation for each insn,
    or a block straightening, etc.
-   See dce.c for an example. With the dbg_cnt () call in dce.c,
+   See dce.cc for an example. With the dbg_cnt () call in dce.cc,
    now a developer can use -fdbg-cnt=dce:N
    to stop doing the dead code elimination after N times.
 
diff --git a/gcc/dbxout.cc b/gcc/dbxout.cc
index a3f058612bc..878d528dc9a 100644
--- a/gcc/dbxout.cc
+++ b/gcc/dbxout.cc
@@ -1400,7 +1400,7 @@ dbxout_early_global_decl (tree decl ATTRIBUTE_UNUSED)
   /* NYI for non-dwarf.  */
 }
 
-/* Debug information for a global DECL.  Called from toplev.c after
+/* Debug information for a global DECL.  Called from toplev.cc after
    compilation proper has finished.  */
 static void
 dbxout_late_global_decl (tree decl)
@@ -3324,7 +3324,7 @@ dbxout_common_check (tree decl, int *value)
 
      ??? DECL_THREAD_LOCAL_P check prevents problems with improper .stabs
      for thread-local symbols.  Can be handled via same mechanism as used
-     in dwarf2out.c.  */
+     in dwarf2out.cc.  */
   if (!VAR_P (decl)
       || !TREE_STATIC (decl)
       || !DECL_HAS_VALUE_EXPR_P (decl)
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 2c57c7fdd90..2c38e76c238 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,4 +1,4 @@
-/* dbxout.h - Various declarations for functions found in dbxout.c
+/* dbxout.h - Various declarations for functions found in dbxout.cc
    Copyright (C) 1998-2022 Free Software Foundation, Inc.
 
 This file is part of GCC.
diff --git a/gcc/debug.h b/gcc/debug.h
index c1de725340a..17a7e48624b 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -20,7 +20,7 @@
 
 /* This structure contains hooks for the debug information output
    functions, accessed through the global instance debug_hooks set in
-   toplev.c according to command line options.  */
+   toplev.cc according to command line options.  */
 /* WARNING: Do not add new debug hook targets - DWARF will be the only
    way to speak debug to the middle-end once we are able to get rid of
    the remaining targets.  If you need alternate output formats instead
@@ -130,7 +130,7 @@ struct gcc_debug_hooks
   void (* early_global_decl) (tree decl);
 
   /* Augment debug information generated by early_global_decl with
-     more complete debug info (if applicable).  Called from toplev.c
+     more complete debug info (if applicable).  Called from toplev.cc
      after the compilation proper has finished and cgraph information
      is available.
 
@@ -143,7 +143,7 @@ struct gcc_debug_hooks
      to the hook to use what it needs.  */
   void (* late_global_decl) (tree decl);
 
-  /* Debug information for a type DECL.  Called from toplev.c after
+  /* Debug information for a type DECL.  Called from toplev.cc after
      compilation proper, also from various language front ends to
      record built-in types.  The second argument is properly a
      boolean, which indicates whether or not the type is a "local"
@@ -264,7 +264,7 @@ extern bool dwarf2out_default_as_locview_support (void);
 extern const struct gcc_debug_hooks *
 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
 
-/* Instance discriminator mapping table.  See final.c.  */
+/* Instance discriminator mapping table.  See final.cc.  */
 typedef hash_map<const_tree, int> decl_to_instance_map_t;
 extern decl_to_instance_map_t *decl_to_instance_map;
 
diff --git a/gcc/df-core.cc b/gcc/df-core.cc
index b0edccaf6f7..a901b84878f 100644
--- a/gcc/df-core.cc
+++ b/gcc/df-core.cc
@@ -28,7 +28,7 @@ The files in this collection (df*.c,df.h) provide a general framework
 for solving dataflow problems.  The global dataflow is performed using
 a good implementation of iterative dataflow analysis.
 
-The file df-problems.c provides problem instance for the most common
+The file df-problems.cc provides problem instance for the most common
 dataflow problems: reaching defs, upward exposed uses, live variables,
 uninitialized variables, def-use chains, and use-def chains.  However,
 the interface allows other dataflow problems to be defined as well.
@@ -240,7 +240,7 @@ keep the dataflow information up to data (if this is really what is
 needed) it to formulate a problem specific solution.
 
 There are fine grained calls for creating and deleting references from
-instructions in df-scan.c.  However, these are not currently connected
+instructions in df-scan.cc.  However, these are not currently connected
 to the engine that resolves the dataflow equations.
 
 
diff --git a/gcc/df-scan.cc b/gcc/df-scan.cc
index 4e3291a711b..5df70e95751 100644
--- a/gcc/df-scan.cc
+++ b/gcc/df-scan.cc
@@ -104,7 +104,7 @@ static void df_insn_info_delete (unsigned int);
 /* Indexed by hardware reg number, is true if that register is ever
    used in the current function.
 
-   In df-scan.c, this is set up to record the hard regs used
+   In df-scan.cc, this is set up to record the hard regs used
    explicitly.  Reload adds in the hard regs used for holding pseudo
    regs.  Final uses it to generate the code in the function prologue
    and epilogue to save and restore registers as needed.  */
@@ -938,7 +938,7 @@ df_insn_delete (rtx_insn *insn)
   bb = BLOCK_FOR_INSN (insn);
 
   /* ??? bb can be NULL after pass_free_cfg.  At that point, DF should
-     not exist anymore (as mentioned in df-core.c: "The only requirement
+     not exist anymore (as mentioned in df-core.cc: "The only requirement
      [for DF] is that there be a correct control flow graph."  Clearly
      that isn't the case after pass_free_cfg.  But DF is freed much later
      because some back-ends want to use DF info even though the CFG is
diff --git a/gcc/df.h b/gcc/df.h
index 1648e7c2d47..bd329205d08 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -800,7 +800,7 @@ public:
 
 /* An obstack for bitmap not related to specific dataflow problems.
    This obstack should e.g. be used for bitmaps with a short life time
-   such as temporary bitmaps.  This obstack is declared in df-core.c.  */
+   such as temporary bitmaps.  This obstack is declared in df-core.cc.  */
 
 extern bitmap_obstack df_bitmap_obstack;
 
@@ -959,7 +959,7 @@ extern class df_d *df;
 #endif
 
 
-/* Functions defined in df-core.c.  */
+/* Functions defined in df-core.cc.  */
 
 extern void df_add_problem (const struct df_problem *);
 extern int df_set_flags (int);
@@ -1015,7 +1015,7 @@ extern void debug_df_useno (unsigned int);
 extern void debug_df_ref (df_ref);
 extern void debug_df_chain (struct df_link *);
 
-/* Functions defined in df-problems.c. */
+/* Functions defined in df-problems.cc. */
 
 extern struct df_link *df_chain_create (df_ref, df_ref);
 extern void df_chain_unlink (df_ref);
@@ -1058,7 +1058,7 @@ extern bool can_move_insns_across (rtx_insn *, rtx_insn *,
 				   rtx_insn *, rtx_insn *,
 				   basic_block, regset,
 				   regset, rtx_insn **);
-/* Functions defined in df-scan.c.  */
+/* Functions defined in df-scan.cc.  */
 
 extern void df_scan_alloc (bitmap);
 extern void df_scan_add_problem (void);
diff --git a/gcc/dfp.cc b/gcc/dfp.cc
index fa54254beee..7c1db7d4ebf 100644
--- a/gcc/dfp.cc
+++ b/gcc/dfp.cc
@@ -366,7 +366,7 @@ decimal_from_binary (REAL_VALUE_TYPE *to, const REAL_VALUE_TYPE *from)
   decimal_real_from_string (to, string);
 }
 
-/* Helper function to real.c:do_compare() to handle decimal internal
+/* Helper function to real.cc:do_compare() to handle decimal internal
    representation including when one of the operands is still in the
    binary internal representation.  */
 
diff --git a/gcc/diagnostic-color.cc b/gcc/diagnostic-color.cc
index fa30707975f..640adfad558 100644
--- a/gcc/diagnostic-color.cc
+++ b/gcc/diagnostic-color.cc
@@ -205,7 +205,7 @@ should_colorize (void)
 #ifdef __MINGW32__
   /* For consistency reasons, one should check the handle returned by
      _get_osfhandle(_fileno(stderr)) because the function
-     pp_write_text_to_stream() in pretty-print.c calls fputs() on
+     pp_write_text_to_stream() in pretty-print.cc calls fputs() on
      that stream.  However, the code below for non-Windows doesn't seem
      to care about it either...  */
   HANDLE h;
diff --git a/gcc/diagnostic-event-id.h b/gcc/diagnostic-event-id.h
index 07e6a23b75d..35c6697ba90 100644
--- a/gcc/diagnostic-event-id.h
+++ b/gcc/diagnostic-event-id.h
@@ -29,7 +29,7 @@ along with GCC; see the file COPYING3.  If not see
    For example, a 3-event path has event offsets 0, 1, and 2,
    which would be shown to the user as "(1)", "(2)" and "(3)".
 
-   This has its own header so that pretty-print.c can use this
+   This has its own header so that pretty-print.cc can use this
    to implement "%@" without bringing in all of diagnostic_path
    (which e.g. refers to "tree").  */
 
diff --git a/gcc/diagnostic-show-locus.cc b/gcc/diagnostic-show-locus.cc
index cc69eaa823f..0465788362b 100644
--- a/gcc/diagnostic-show-locus.cc
+++ b/gcc/diagnostic-show-locus.cc
@@ -3746,7 +3746,7 @@ test_one_liner_labels ()
    }
 
   /* TODO: example of formatted printing (needs to be in
-     gcc-rich-location.c due to Makefile.in issues).  */
+     gcc-rich-location.cc due to Makefile.in issues).  */
 }
 
 /* Run the various one-liner tests.  */
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 58139427d01..414becfc34e 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -524,10 +524,10 @@ bt_callback (void *data, uintptr_t pc, const char *filename, int lineno,
   if (filename == NULL && function == NULL)
     return 0;
 
-  /* Skip functions in diagnostic.c.  */
+  /* Skip functions in diagnostic.cc.  */
   if (*pcount == 0
       && filename != NULL
-      && strcmp (lbasename (filename), "diagnostic.c") == 0)
+      && strcmp (lbasename (filename), "diagnostic.cc") == 0)
     return 0;
 
   /* Print up to 20 functions.  We could make this a --param, but
@@ -1405,8 +1405,8 @@ num_digits (int value)
 
 /* Given a partial pathname as input, return another pathname that
    shares no directory elements with the pathname of __FILE__.  This
-   is used by fancy_abort() to print `Internal compiler error in expr.c'
-   instead of `Internal compiler error in ../../GCC/gcc/expr.c'.  */
+   is used by fancy_abort() to print `Internal compiler error in expr.cc'
+   instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  */
 
 const char *
 trim_filename (const char *name)
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index 090088f64cb..8c09f08e53c 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -3,9 +3,9 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 @c This file is generated automatically using
-@c gcc/config/avr/gen-avr-mmcu-texi.c from:
+@c gcc/config/avr/gen-avr-mmcu-texi.cc from:
 @c	 gcc/config/avr/avr-arch.h
-@c	 gcc/config/avr/avr-devices.c
+@c	 gcc/config/avr/avr-devices.cc
 @c	 gcc/config/avr/avr-mcus.def
 
 @c Please do not edit manually.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index 28058453f88..32aacdd0aa8 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -670,7 +670,7 @@ In general @code{LIVE} is the most useful of the three.  The macros
 The macros take a basic block number and return a bitmap that is indexed
 by the register number.  This information is only guaranteed to be up to
 date after calls are made to @code{df_analyze}.  See the file
-@code{df-core.c} for details on using the dataflow.
+@code{df-core.cc} for details on using the dataflow.
 
 
 @findex REG_DEAD, REG_UNUSED
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 419436ecaaf..e14cf5e4751 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -668,7 +668,7 @@ entire Debian archive.
 
 @item
 David Miller for his direction via the steering committee, lots of
-SPARC work, improvements in jump.c and interfacing with the Linux kernel
+SPARC work, improvements in jump.cc and interfacing with the Linux kernel
 developers.
 
 @item
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index f308eee37bb..482875cab4e 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -131,7 +131,7 @@ behavior.
 @cindex escaped newlines
 
 @section Overview
-The lexer is contained in the file @file{lex.c}.  It is a hand-coded
+The lexer is contained in the file @file{lex.cc}.  It is a hand-coded
 lexer, and not implemented as a state machine.  It can understand C, C++
 and Objective-C source code, and has been extended to allow reasonably
 successful preprocessing of assembly language.  The lexer does not make
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 637124a7172..2dd104037e4 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7944,7 +7944,7 @@ If the location does not fit the address range of @code{LDS}
 and @code{STS}, there is currently (Binutils 2.26) just an unspecific
 warning like
 @quotation
-@code{module.c:(.text+0x1c): warning: internal error: out of range error}
+@code{module.cc:(.text+0x1c): warning: internal error: out of range error}
 @end quotation
 
 @end itemize
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index bb0777588c9..3e5b06a5dc7 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -912,7 +912,7 @@ tree_contains_struct[FOO_DECL][TS_DECL_MINIMAL] = 1;
 @end smallexample
 
 For @code{DECL} nodes that are part of the middle-end, the setup code
-goes into @file{tree.c}.
+goes into @file{tree.cc}.
 
 @item Add macros to access any new fields and flags
 
@@ -933,7 +933,7 @@ structures, something like the following should be used
 @end smallexample
 
 Reading them from the generated @file{all-tree.def} file (which in
-turn includes all the @file{tree.def} files), @file{gencheck.c} is
+turn includes all the @file{tree.def} files), @file{gencheck.cc} is
 used during GCC's build to generate the @code{*_CHECK} macros for all
 tree codes.
 
@@ -2371,8 +2371,8 @@ label the critical section.
 
 This does not represent any OpenMP directive, it is an artificial
 marker to indicate the end of the body of an OpenMP@. It is used
-by the flow graph (@code{tree-cfg.c}) and OpenMP region
-building code (@code{omp-low.c}).
+by the flow graph (@code{tree-cfg.cc}) and OpenMP region
+building code (@code{omp-low.cc}).
 
 @item OMP_CONTINUE
 
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 65ef63d6ee9..dd9149377f3 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2691,21 +2691,21 @@ modifying the file @code{gimple.def}, which contains all the GIMPLE
 codes.  Then you must add a corresponding gimple subclass
 located in @code{gimple.h}.  This in turn, will require you to add a
 corresponding @code{GTY} tag in @code{gsstruct.def}, and code to handle
-this tag in @code{gss_for_code} which is located in @code{gimple.c}.
+this tag in @code{gss_for_code} which is located in @code{gimple.cc}.
 
 In order for the garbage collector to know the size of the
 structure you created in @code{gimple.h}, you need to add a case to
 handle your new GIMPLE statement in @code{gimple_size} which is located
-in @code{gimple.c}.
+in @code{gimple.cc}.
 
 You will probably want to create a function to build the new
-gimple statement in @code{gimple.c}.  The function should be called
+gimple statement in @code{gimple.cc}.  The function should be called
 @code{gimple_build_@var{new-tuple-name}}, and should return the new tuple
 as a pointer to the appropriate gimple subclass.
 
 If your new statement requires accessors for any members or
 operands it may have, put simple inline accessors in
-@code{gimple.h} and any non-trivial accessors in @code{gimple.c} with a
+@code{gimple.h} and any non-trivial accessors in @code{gimple.cc} with a
 corresponding prototype in @code{gimple.h}.
 
 You should add the new statement subclass to the class hierarchy diagram
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index 6ba41ad21d2..81aafd11ce3 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -390,7 +390,7 @@ they are saved and restored correctly to PCH files.
 
 The @code{special} option is used to mark types that have to be dealt
 with by special case machinery.  The parameter is the name of the
-special case.  See @file{gengtype.c} for further details.  Avoid
+special case.  See @file{gengtype.cc} for further details.  Avoid
 adding new special cases unless there is no other alternative.
 
 @findex user
@@ -637,15 +637,15 @@ in the right place to be visible to the generated files.  For a back-end
 header file, this should be done automatically.  For a front-end header
 file, it needs to be included by the same file that includes
 @file{gtype-@var{lang}.h}.  For other header files, it needs to be
-included in @file{gtype-desc.c}, which is a generated file, so add it to
-@code{ifiles} in @code{open_base_file} in @file{gengtype.c}.
+included in @file{gtype-desc.cc}, which is a generated file, so add it to
+@code{ifiles} in @code{open_base_file} in @file{gengtype.cc}.
 
 For source files that aren't header files, the machinery will generate a
 header file that should be included in the source file you just changed.
 The file will be called @file{gt-@var{path}.h} where @var{path} is the
 pathname relative to the @file{gcc} directory with slashes replaced by
 @verb{|-|}, so for example the header file to be included in
-@file{cp/parser.c} is called @file{gt-cp-parser.h}.  The
+@file{cp/parser.cc} is called @file{gt-cp-parser.h}.  The
 generated header file should be included after everything else in the
 source file.
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6b84228f142..801df59f596 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10558,7 +10558,7 @@ With @option{-O}, the compiler tries to reduce code size and execution
 time, without performing any optimizations that take a great deal of
 compilation time.
 
-@c Note that in addition to the default_options_table list in opts.c,
+@c Note that in addition to the default_options_table list in opts.cc,
 @c several optimization flags default to true but control optimization
 @c passes that are explicitly disabled at -O0.
 
@@ -13295,7 +13295,7 @@ and the same optimization options for both compilations.
 With @option{-fbranch-probabilities}, GCC puts a
 @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
 These can be used to improve optimization.  Currently, they are only
-used in one place: in @file{reorg.c}, instead of guessing which path a
+used in one place: in @file{reorg.cc}, instead of guessing which path a
 branch is most likely to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 
@@ -14588,7 +14588,7 @@ Algorithm 2 was designed to be a compromise between the relatively
 conservative approach taken by algorithm 1 and the rather aggressive
 approach taken by the default scheduler.  It relies more heavily on
 having a regular register file and accurate register pressure classes.
-See @file{haifa-sched.c} in the GCC sources for more details.
+See @file{haifa-sched.cc} in the GCC sources for more details.
 
 The default choice depends on the target.
 
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index f7930c5c079..d7b71a24dbf 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -504,7 +504,7 @@ false unconditionally.
 @cindex Data Dependency Analysis
 
 The code for the data dependence analysis can be found in
-@file{tree-data-ref.c} and its interface and data structures are
+@file{tree-data-ref.cc} and its interface and data structures are
 described in @file{tree-data-ref.h}.  The function that computes the
 data dependences for all the array and pointer references for a given
 loop is @code{compute_data_dependences_for_loop}.  This function is
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index a6534da9ebe..8ee2a5bdc97 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -69,23 +69,23 @@ Currently, this phase is composed of two IPA passes:
 @itemize @bullet
 @item @code{pass_ipa_lto_gimple_out}
 This pass executes the function @code{lto_output} in
-@file{lto-streamer-out.c}, which traverses the call graph encoding
+@file{lto-streamer-out.cc}, which traverses the call graph encoding
 every reachable declaration, type and function.  This generates a
 memory representation of all the file sections described below.
 
 @item @code{pass_ipa_lto_finish_out}
 This pass executes the function @code{produce_asm_for_decls} in
-@file{lto-streamer-out.c}, which takes the memory image built in the
+@file{lto-streamer-out.cc}, which takes the memory image built in the
 previous pass and encodes it in the corresponding ELF file sections.
 @end itemize
 
 The second half of LTO support is the ``reader''.  This is implemented
-as the GCC front end @file{lto1} in @file{lto/lto.c}.  When
+as the GCC front end @file{lto1} in @file{lto/lto.cc}.  When
 @file{collect2} detects a link set of @code{.o}/@code{.a} files with
 LTO information and the @option{-flto} is enabled, it invokes
 @file{lto1} which reads the set of files and aggregates them into a
 single translation unit for optimization.  The main entry point for
-the reader is @file{lto/lto.c}:@code{lto_main}.
+the reader is @file{lto/lto.cc}:@code{lto_main}.
 
 @subsection LTO modes of operation
 
@@ -157,8 +157,8 @@ LTO information is stored in several ELF sections inside object files.
 Data structures and enum codes for sections are defined in
 @file{lto-streamer.h}.
 
-These sections are emitted from @file{lto-streamer-out.c} and mapped
-in all at once from @file{lto/lto.c}:@code{lto_file_read}.  The
+These sections are emitted from @file{lto-streamer-out.cc} and mapped
+in all at once from @file{lto/lto.cc}:@code{lto_file_read}.  The
 individual functions dealing with the reading/writing of each section
 are described below.
 
@@ -176,7 +176,7 @@ At link time, the options given on the command line and the options
 saved on all the files in a link-time set are applied globally.  No
 attempt is made at validating the combination of flags (other than the
 usual validation done by option processing).  This is implemented in
-@file{lto/lto.c}:@code{lto_read_[...]

[diff truncated at 524288 bytes]


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-12  8:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12  8:50 [gcc(refs/users/marxin/heads/cc-renaming)] Automatic renaming Martin Liska
  -- strict thread matches above, loose matches on Subject: below --
2022-01-12  8:25 Martin Liska
2022-01-11 12:47 Martin Liska
2022-01-11 10:32 Martin Liska
2022-01-11  9:50 Martin Liska
2022-01-10 19:52 Martin Liska

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).