Skip to content
Snippets Groups Projects
  1. Jan 03, 2024
  2. Jan 16, 2023
  3. Jan 17, 2022
    • Martin Liska's avatar
      Rename .c files to .cc files. · 5c69acb3
      Martin Liska authored
      gcc/ada/ChangeLog:
      
      	* adadecode.c: Moved to...
      	* adadecode.cc: ...here.
      	* affinity.c: Moved to...
      	* affinity.cc: ...here.
      	* argv-lynxos178-raven-cert.c: Moved to...
      	* argv-lynxos178-raven-cert.cc: ...here.
      	* argv.c: Moved to...
      	* argv.cc: ...here.
      	* aux-io.c: Moved to...
      	* aux-io.cc: ...here.
      	* cio.c: Moved to...
      	* cio.cc: ...here.
      	* cstreams.c: Moved to...
      	* cstreams.cc: ...here.
      	* env.c: Moved to...
      	* env.cc: ...here.
      	* exit.c: Moved to...
      	* exit.cc: ...here.
      	* expect.c: Moved to...
      	* expect.cc: ...here.
      	* final.c: Moved to...
      	* final.cc: ...here.
      	* gcc-interface/cuintp.c: Moved to...
      	* gcc-interface/cuintp.cc: ...here.
      	* gcc-interface/decl.c: Moved to...
      	* gcc-interface/decl.cc: ...here.
      	* gcc-interface/misc.c: Moved to...
      	* gcc-interface/misc.cc: ...here.
      	* gcc-interface/targtyps.c: Moved to...
      	* gcc-interface/targtyps.cc: ...here.
      	* gcc-interface/trans.c: Moved to...
      	* gcc-interface/trans.cc: ...here.
      	* gcc-interface/utils.c: Moved to...
      	* gcc-interface/utils.cc: ...here.
      	* gcc-interface/utils2.c: Moved to...
      	* gcc-interface/utils2.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* initialize.c: Moved to...
      	* initialize.cc: ...here.
      	* libgnarl/thread.c: Moved to...
      	* libgnarl/thread.cc: ...here.
      	* link.c: Moved to...
      	* link.cc: ...here.
      	* locales.c: Moved to...
      	* locales.cc: ...here.
      	* mkdir.c: Moved to...
      	* mkdir.cc: ...here.
      	* raise.c: Moved to...
      	* raise.cc: ...here.
      	* rtfinal.c: Moved to...
      	* rtfinal.cc: ...here.
      	* rtinit.c: Moved to...
      	* rtinit.cc: ...here.
      	* seh_init.c: Moved to...
      	* seh_init.cc: ...here.
      	* sigtramp-armdroid.c: Moved to...
      	* sigtramp-armdroid.cc: ...here.
      	* sigtramp-ios.c: Moved to...
      	* sigtramp-ios.cc: ...here.
      	* sigtramp-qnx.c: Moved to...
      	* sigtramp-qnx.cc: ...here.
      	* sigtramp-vxworks.c: Moved to...
      	* sigtramp-vxworks.cc: ...here.
      	* socket.c: Moved to...
      	* socket.cc: ...here.
      	* tracebak.c: Moved to...
      	* tracebak.cc: ...here.
      	* version.c: Moved to...
      	* version.cc: ...here.
      	* vx_stack_info.c: Moved to...
      	* vx_stack_info.cc: ...here.
      
      gcc/ChangeLog:
      
      	* adjust-alignment.c: Moved to...
      	* adjust-alignment.cc: ...here.
      	* alias.c: Moved to...
      	* alias.cc: ...here.
      	* alloc-pool.c: Moved to...
      	* alloc-pool.cc: ...here.
      	* asan.c: Moved to...
      	* asan.cc: ...here.
      	* attribs.c: Moved to...
      	* attribs.cc: ...here.
      	* auto-inc-dec.c: Moved to...
      	* auto-inc-dec.cc: ...here.
      	* auto-profile.c: Moved to...
      	* auto-profile.cc: ...here.
      	* bb-reorder.c: Moved to...
      	* bb-reorder.cc: ...here.
      	* bitmap.c: Moved to...
      	* bitmap.cc: ...here.
      	* btfout.c: Moved to...
      	* btfout.cc: ...here.
      	* builtins.c: Moved to...
      	* builtins.cc: ...here.
      	* caller-save.c: Moved to...
      	* caller-save.cc: ...here.
      	* calls.c: Moved to...
      	* calls.cc: ...here.
      	* ccmp.c: Moved to...
      	* ccmp.cc: ...here.
      	* cfg.c: Moved to...
      	* cfg.cc: ...here.
      	* cfganal.c: Moved to...
      	* cfganal.cc: ...here.
      	* cfgbuild.c: Moved to...
      	* cfgbuild.cc: ...here.
      	* cfgcleanup.c: Moved to...
      	* cfgcleanup.cc: ...here.
      	* cfgexpand.c: Moved to...
      	* cfgexpand.cc: ...here.
      	* cfghooks.c: Moved to...
      	* cfghooks.cc: ...here.
      	* cfgloop.c: Moved to...
      	* cfgloop.cc: ...here.
      	* cfgloopanal.c: Moved to...
      	* cfgloopanal.cc: ...here.
      	* cfgloopmanip.c: Moved to...
      	* cfgloopmanip.cc: ...here.
      	* cfgrtl.c: Moved to...
      	* cfgrtl.cc: ...here.
      	* cgraph.c: Moved to...
      	* cgraph.cc: ...here.
      	* cgraphbuild.c: Moved to...
      	* cgraphbuild.cc: ...here.
      	* cgraphclones.c: Moved to...
      	* cgraphclones.cc: ...here.
      	* cgraphunit.c: Moved to...
      	* cgraphunit.cc: ...here.
      	* collect-utils.c: Moved to...
      	* collect-utils.cc: ...here.
      	* collect2-aix.c: Moved to...
      	* collect2-aix.cc: ...here.
      	* collect2.c: Moved to...
      	* collect2.cc: ...here.
      	* combine-stack-adj.c: Moved to...
      	* combine-stack-adj.cc: ...here.
      	* combine.c: Moved to...
      	* combine.cc: ...here.
      	* common/common-targhooks.c: Moved to...
      	* common/common-targhooks.cc: ...here.
      	* common/config/aarch64/aarch64-common.c: Moved to...
      	* common/config/aarch64/aarch64-common.cc: ...here.
      	* common/config/alpha/alpha-common.c: Moved to...
      	* common/config/alpha/alpha-common.cc: ...here.
      	* common/config/arc/arc-common.c: Moved to...
      	* common/config/arc/arc-common.cc: ...here.
      	* common/config/arm/arm-common.c: Moved to...
      	* common/config/arm/arm-common.cc: ...here.
      	* common/config/avr/avr-common.c: Moved to...
      	* common/config/avr/avr-common.cc: ...here.
      	* common/config/bfin/bfin-common.c: Moved to...
      	* common/config/bfin/bfin-common.cc: ...here.
      	* common/config/bpf/bpf-common.c: Moved to...
      	* common/config/bpf/bpf-common.cc: ...here.
      	* common/config/c6x/c6x-common.c: Moved to...
      	* common/config/c6x/c6x-common.cc: ...here.
      	* common/config/cr16/cr16-common.c: Moved to...
      	* common/config/cr16/cr16-common.cc: ...here.
      	* common/config/cris/cris-common.c: Moved to...
      	* common/config/cris/cris-common.cc: ...here.
      	* common/config/csky/csky-common.c: Moved to...
      	* common/config/csky/csky-common.cc: ...here.
      	* common/config/default-common.c: Moved to...
      	* common/config/default-common.cc: ...here.
      	* common/config/epiphany/epiphany-common.c: Moved to...
      	* common/config/epiphany/epiphany-common.cc: ...here.
      	* common/config/fr30/fr30-common.c: Moved to...
      	* common/config/fr30/fr30-common.cc: ...here.
      	* common/config/frv/frv-common.c: Moved to...
      	* common/config/frv/frv-common.cc: ...here.
      	* common/config/gcn/gcn-common.c: Moved to...
      	* common/config/gcn/gcn-common.cc: ...here.
      	* common/config/h8300/h8300-common.c: Moved to...
      	* common/config/h8300/h8300-common.cc: ...here.
      	* common/config/i386/i386-common.c: Moved to...
      	* common/config/i386/i386-common.cc: ...here.
      	* common/config/ia64/ia64-common.c: Moved to...
      	* common/config/ia64/ia64-common.cc: ...here.
      	* common/config/iq2000/iq2000-common.c: Moved to...
      	* common/config/iq2000/iq2000-common.cc: ...here.
      	* common/config/lm32/lm32-common.c: Moved to...
      	* common/config/lm32/lm32-common.cc: ...here.
      	* common/config/m32r/m32r-common.c: Moved to...
      	* common/config/m32r/m32r-common.cc: ...here.
      	* common/config/m68k/m68k-common.c: Moved to...
      	* common/config/m68k/m68k-common.cc: ...here.
      	* common/config/mcore/mcore-common.c: Moved to...
      	* common/config/mcore/mcore-common.cc: ...here.
      	* common/config/microblaze/microblaze-common.c: Moved to...
      	* common/config/microblaze/microblaze-common.cc: ...here.
      	* common/config/mips/mips-common.c: Moved to...
      	* common/config/mips/mips-common.cc: ...here.
      	* common/config/mmix/mmix-common.c: Moved to...
      	* common/config/mmix/mmix-common.cc: ...here.
      	* common/config/mn10300/mn10300-common.c: Moved to...
      	* common/config/mn10300/mn10300-common.cc: ...here.
      	* common/config/msp430/msp430-common.c: Moved to...
      	* common/config/msp430/msp430-common.cc: ...here.
      	* common/config/nds32/nds32-common.c: Moved to...
      	* common/config/nds32/nds32-common.cc: ...here.
      	* common/config/nios2/nios2-common.c: Moved to...
      	* common/config/nios2/nios2-common.cc: ...here.
      	* common/config/nvptx/nvptx-common.c: Moved to...
      	* common/config/nvptx/nvptx-common.cc: ...here.
      	* common/config/or1k/or1k-common.c: Moved to...
      	* common/config/or1k/or1k-common.cc: ...here.
      	* common/config/pa/pa-common.c: Moved to...
      	* common/config/pa/pa-common.cc: ...here.
      	* common/config/pdp11/pdp11-common.c: Moved to...
      	* common/config/pdp11/pdp11-common.cc: ...here.
      	* common/config/pru/pru-common.c: Moved to...
      	* common/config/pru/pru-common.cc: ...here.
      	* common/config/riscv/riscv-common.c: Moved to...
      	* common/config/riscv/riscv-common.cc: ...here.
      	* common/config/rs6000/rs6000-common.c: Moved to...
      	* common/config/rs6000/rs6000-common.cc: ...here.
      	* common/config/rx/rx-common.c: Moved to...
      	* common/config/rx/rx-common.cc: ...here.
      	* common/config/s390/s390-common.c: Moved to...
      	* common/config/s390/s390-common.cc: ...here.
      	* common/config/sh/sh-common.c: Moved to...
      	* common/config/sh/sh-common.cc: ...here.
      	* common/config/sparc/sparc-common.c: Moved to...
      	* common/config/sparc/sparc-common.cc: ...here.
      	* common/config/tilegx/tilegx-common.c: Moved to...
      	* common/config/tilegx/tilegx-common.cc: ...here.
      	* common/config/tilepro/tilepro-common.c: Moved to...
      	* common/config/tilepro/tilepro-common.cc: ...here.
      	* common/config/v850/v850-common.c: Moved to...
      	* common/config/v850/v850-common.cc: ...here.
      	* common/config/vax/vax-common.c: Moved to...
      	* common/config/vax/vax-common.cc: ...here.
      	* common/config/visium/visium-common.c: Moved to...
      	* common/config/visium/visium-common.cc: ...here.
      	* common/config/xstormy16/xstormy16-common.c: Moved to...
      	* common/config/xstormy16/xstormy16-common.cc: ...here.
      	* common/config/xtensa/xtensa-common.c: Moved to...
      	* common/config/xtensa/xtensa-common.cc: ...here.
      	* compare-elim.c: Moved to...
      	* compare-elim.cc: ...here.
      	* config/aarch64/aarch64-bti-insert.c: Moved to...
      	* config/aarch64/aarch64-bti-insert.cc: ...here.
      	* config/aarch64/aarch64-builtins.c: Moved to...
      	* config/aarch64/aarch64-builtins.cc: ...here.
      	* config/aarch64/aarch64-c.c: Moved to...
      	* config/aarch64/aarch64-c.cc: ...here.
      	* config/aarch64/aarch64-d.c: Moved to...
      	* config/aarch64/aarch64-d.cc: ...here.
      	* config/aarch64/aarch64.c: Moved to...
      	* config/aarch64/aarch64.cc: ...here.
      	* config/aarch64/cortex-a57-fma-steering.c: Moved to...
      	* config/aarch64/cortex-a57-fma-steering.cc: ...here.
      	* config/aarch64/driver-aarch64.c: Moved to...
      	* config/aarch64/driver-aarch64.cc: ...here.
      	* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
      	* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
      	* config/aarch64/host-aarch64-darwin.c: Moved to...
      	* config/aarch64/host-aarch64-darwin.cc: ...here.
      	* config/alpha/alpha.c: Moved to...
      	* config/alpha/alpha.cc: ...here.
      	* config/alpha/driver-alpha.c: Moved to...
      	* config/alpha/driver-alpha.cc: ...here.
      	* config/arc/arc-c.c: Moved to...
      	* config/arc/arc-c.cc: ...here.
      	* config/arc/arc.c: Moved to...
      	* config/arc/arc.cc: ...here.
      	* config/arc/driver-arc.c: Moved to...
      	* config/arc/driver-arc.cc: ...here.
      	* config/arm/aarch-common.c: Moved to...
      	* config/arm/aarch-common.cc: ...here.
      	* config/arm/arm-builtins.c: Moved to...
      	* config/arm/arm-builtins.cc: ...here.
      	* config/arm/arm-c.c: Moved to...
      	* config/arm/arm-c.cc: ...here.
      	* config/arm/arm-d.c: Moved to...
      	* config/arm/arm-d.cc: ...here.
      	* config/arm/arm.c: Moved to...
      	* config/arm/arm.cc: ...here.
      	* config/arm/driver-arm.c: Moved to...
      	* config/arm/driver-arm.cc: ...here.
      	* config/avr/avr-c.c: Moved to...
      	* config/avr/avr-c.cc: ...here.
      	* config/avr/avr-devices.c: Moved to...
      	* config/avr/avr-devices.cc: ...here.
      	* config/avr/avr-log.c: Moved to...
      	* config/avr/avr-log.cc: ...here.
      	* config/avr/avr.c: Moved to...
      	* config/avr/avr.cc: ...here.
      	* config/avr/driver-avr.c: Moved to...
      	* config/avr/driver-avr.cc: ...here.
      	* config/avr/gen-avr-mmcu-specs.c: Moved to...
      	* config/avr/gen-avr-mmcu-specs.cc: ...here.
      	* config/avr/gen-avr-mmcu-texi.c: Moved to...
      	* config/avr/gen-avr-mmcu-texi.cc: ...here.
      	* config/bfin/bfin.c: Moved to...
      	* config/bfin/bfin.cc: ...here.
      	* config/bpf/bpf.c: Moved to...
      	* config/bpf/bpf.cc: ...here.
      	* config/bpf/coreout.c: Moved to...
      	* config/bpf/coreout.cc: ...here.
      	* config/c6x/c6x.c: Moved to...
      	* config/c6x/c6x.cc: ...here.
      	* config/cr16/cr16.c: Moved to...
      	* config/cr16/cr16.cc: ...here.
      	* config/cris/cris.c: Moved to...
      	* config/cris/cris.cc: ...here.
      	* config/csky/csky.c: Moved to...
      	* config/csky/csky.cc: ...here.
      	* config/darwin-c.c: Moved to...
      	* config/darwin-c.cc: ...here.
      	* config/darwin-d.c: Moved to...
      	* config/darwin-d.cc: ...here.
      	* config/darwin-driver.c: Moved to...
      	* config/darwin-driver.cc: ...here.
      	* config/darwin-f.c: Moved to...
      	* config/darwin-f.cc: ...here.
      	* config/darwin.c: Moved to...
      	* config/darwin.cc: ...here.
      	* config/default-c.c: Moved to...
      	* config/default-c.cc: ...here.
      	* config/default-d.c: Moved to...
      	* config/default-d.cc: ...here.
      	* config/dragonfly-d.c: Moved to...
      	* config/dragonfly-d.cc: ...here.
      	* config/epiphany/epiphany.c: Moved to...
      	* config/epiphany/epiphany.cc: ...here.
      	* config/epiphany/mode-switch-use.c: Moved to...
      	* config/epiphany/mode-switch-use.cc: ...here.
      	* config/epiphany/resolve-sw-modes.c: Moved to...
      	* config/epiphany/resolve-sw-modes.cc: ...here.
      	* config/fr30/fr30.c: Moved to...
      	* config/fr30/fr30.cc: ...here.
      	* config/freebsd-d.c: Moved to...
      	* config/freebsd-d.cc: ...here.
      	* config/frv/frv.c: Moved to...
      	* config/frv/frv.cc: ...here.
      	* config/ft32/ft32.c: Moved to...
      	* config/ft32/ft32.cc: ...here.
      	* config/gcn/driver-gcn.c: Moved to...
      	* config/gcn/driver-gcn.cc: ...here.
      	* config/gcn/gcn-run.c: Moved to...
      	* config/gcn/gcn-run.cc: ...here.
      	* config/gcn/gcn-tree.c: Moved to...
      	* config/gcn/gcn-tree.cc: ...here.
      	* config/gcn/gcn.c: Moved to...
      	* config/gcn/gcn.cc: ...here.
      	* config/gcn/mkoffload.c: Moved to...
      	* config/gcn/mkoffload.cc: ...here.
      	* config/glibc-c.c: Moved to...
      	* config/glibc-c.cc: ...here.
      	* config/glibc-d.c: Moved to...
      	* config/glibc-d.cc: ...here.
      	* config/h8300/h8300.c: Moved to...
      	* config/h8300/h8300.cc: ...here.
      	* config/host-darwin.c: Moved to...
      	* config/host-darwin.cc: ...here.
      	* config/host-hpux.c: Moved to...
      	* config/host-hpux.cc: ...here.
      	* config/host-linux.c: Moved to...
      	* config/host-linux.cc: ...here.
      	* config/host-netbsd.c: Moved to...
      	* config/host-netbsd.cc: ...here.
      	* config/host-openbsd.c: Moved to...
      	* config/host-openbsd.cc: ...here.
      	* config/host-solaris.c: Moved to...
      	* config/host-solaris.cc: ...here.
      	* config/i386/djgpp.c: Moved to...
      	* config/i386/djgpp.cc: ...here.
      	* config/i386/driver-i386.c: Moved to...
      	* config/i386/driver-i386.cc: ...here.
      	* config/i386/driver-mingw32.c: Moved to...
      	* config/i386/driver-mingw32.cc: ...here.
      	* config/i386/gnu-property.c: Moved to...
      	* config/i386/gnu-property.cc: ...here.
      	* config/i386/host-cygwin.c: Moved to...
      	* config/i386/host-cygwin.cc: ...here.
      	* config/i386/host-i386-darwin.c: Moved to...
      	* config/i386/host-i386-darwin.cc: ...here.
      	* config/i386/host-mingw32.c: Moved to...
      	* config/i386/host-mingw32.cc: ...here.
      	* config/i386/i386-builtins.c: Moved to...
      	* config/i386/i386-builtins.cc: ...here.
      	* config/i386/i386-c.c: Moved to...
      	* config/i386/i386-c.cc: ...here.
      	* config/i386/i386-d.c: Moved to...
      	* config/i386/i386-d.cc: ...here.
      	* config/i386/i386-expand.c: Moved to...
      	* config/i386/i386-expand.cc: ...here.
      	* config/i386/i386-features.c: Moved to...
      	* config/i386/i386-features.cc: ...here.
      	* config/i386/i386-options.c: Moved to...
      	* config/i386/i386-options.cc: ...here.
      	* config/i386/i386.c: Moved to...
      	* config/i386/i386.cc: ...here.
      	* config/i386/intelmic-mkoffload.c: Moved to...
      	* config/i386/intelmic-mkoffload.cc: ...here.
      	* config/i386/msformat-c.c: Moved to...
      	* config/i386/msformat-c.cc: ...here.
      	* config/i386/winnt-cxx.c: Moved to...
      	* config/i386/winnt-cxx.cc: ...here.
      	* config/i386/winnt-d.c: Moved to...
      	* config/i386/winnt-d.cc: ...here.
      	* config/i386/winnt-stubs.c: Moved to...
      	* config/i386/winnt-stubs.cc: ...here.
      	* config/i386/winnt.c: Moved to...
      	* config/i386/winnt.cc: ...here.
      	* config/i386/x86-tune-sched-atom.c: Moved to...
      	* config/i386/x86-tune-sched-atom.cc: ...here.
      	* config/i386/x86-tune-sched-bd.c: Moved to...
      	* config/i386/x86-tune-sched-bd.cc: ...here.
      	* config/i386/x86-tune-sched-core.c: Moved to...
      	* config/i386/x86-tune-sched-core.cc: ...here.
      	* config/i386/x86-tune-sched.c: Moved to...
      	* config/i386/x86-tune-sched.cc: ...here.
      	* config/ia64/ia64-c.c: Moved to...
      	* config/ia64/ia64-c.cc: ...here.
      	* config/ia64/ia64.c: Moved to...
      	* config/ia64/ia64.cc: ...here.
      	* config/iq2000/iq2000.c: Moved to...
      	* config/iq2000/iq2000.cc: ...here.
      	* config/linux.c: Moved to...
      	* config/linux.cc: ...here.
      	* config/lm32/lm32.c: Moved to...
      	* config/lm32/lm32.cc: ...here.
      	* config/m32c/m32c-pragma.c: Moved to...
      	* config/m32c/m32c-pragma.cc: ...here.
      	* config/m32c/m32c.c: Moved to...
      	* config/m32c/m32c.cc: ...here.
      	* config/m32r/m32r.c: Moved to...
      	* config/m32r/m32r.cc: ...here.
      	* config/m68k/m68k.c: Moved to...
      	* config/m68k/m68k.cc: ...here.
      	* config/mcore/mcore.c: Moved to...
      	* config/mcore/mcore.cc: ...here.
      	* config/microblaze/microblaze-c.c: Moved to...
      	* config/microblaze/microblaze-c.cc: ...here.
      	* config/microblaze/microblaze.c: Moved to...
      	* config/microblaze/microblaze.cc: ...here.
      	* config/mips/driver-native.c: Moved to...
      	* config/mips/driver-native.cc: ...here.
      	* config/mips/frame-header-opt.c: Moved to...
      	* config/mips/frame-header-opt.cc: ...here.
      	* config/mips/mips-d.c: Moved to...
      	* config/mips/mips-d.cc: ...here.
      	* config/mips/mips.c: Moved to...
      	* config/mips/mips.cc: ...here.
      	* config/mmix/mmix.c: Moved to...
      	* config/mmix/mmix.cc: ...here.
      	* config/mn10300/mn10300.c: Moved to...
      	* config/mn10300/mn10300.cc: ...here.
      	* config/moxie/moxie.c: Moved to...
      	* config/moxie/moxie.cc: ...here.
      	* config/msp430/driver-msp430.c: Moved to...
      	* config/msp430/driver-msp430.cc: ...here.
      	* config/msp430/msp430-c.c: Moved to...
      	* config/msp430/msp430-c.cc: ...here.
      	* config/msp430/msp430-devices.c: Moved to...
      	* config/msp430/msp430-devices.cc: ...here.
      	* config/msp430/msp430.c: Moved to...
      	* config/msp430/msp430.cc: ...here.
      	* config/nds32/nds32-cost.c: Moved to...
      	* config/nds32/nds32-cost.cc: ...here.
      	* config/nds32/nds32-fp-as-gp.c: Moved to...
      	* config/nds32/nds32-fp-as-gp.cc: ...here.
      	* config/nds32/nds32-intrinsic.c: Moved to...
      	* config/nds32/nds32-intrinsic.cc: ...here.
      	* config/nds32/nds32-isr.c: Moved to...
      	* config/nds32/nds32-isr.cc: ...here.
      	* config/nds32/nds32-md-auxiliary.c: Moved to...
      	* config/nds32/nds32-md-auxiliary.cc: ...here.
      	* config/nds32/nds32-memory-manipulation.c: Moved to...
      	* config/nds32/nds32-memory-manipulation.cc: ...here.
      	* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
      	* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
      	* config/nds32/nds32-predicates.c: Moved to...
      	* config/nds32/nds32-predicates.cc: ...here.
      	* config/nds32/nds32-relax-opt.c: Moved to...
      	* config/nds32/nds32-relax-opt.cc: ...here.
      	* config/nds32/nds32-utils.c: Moved to...
      	* config/nds32/nds32-utils.cc: ...here.
      	* config/nds32/nds32.c: Moved to...
      	* config/nds32/nds32.cc: ...here.
      	* config/netbsd-d.c: Moved to...
      	* config/netbsd-d.cc: ...here.
      	* config/netbsd.c: Moved to...
      	* config/netbsd.cc: ...here.
      	* config/nios2/nios2.c: Moved to...
      	* config/nios2/nios2.cc: ...here.
      	* config/nvptx/mkoffload.c: Moved to...
      	* config/nvptx/mkoffload.cc: ...here.
      	* config/nvptx/nvptx-c.c: Moved to...
      	* config/nvptx/nvptx-c.cc: ...here.
      	* config/nvptx/nvptx.c: Moved to...
      	* config/nvptx/nvptx.cc: ...here.
      	* config/openbsd-d.c: Moved to...
      	* config/openbsd-d.cc: ...here.
      	* config/or1k/or1k.c: Moved to...
      	* config/or1k/or1k.cc: ...here.
      	* config/pa/pa-d.c: Moved to...
      	* config/pa/pa-d.cc: ...here.
      	* config/pa/pa.c: Moved to...
      	* config/pa/pa.cc: ...here.
      	* config/pdp11/pdp11.c: Moved to...
      	* config/pdp11/pdp11.cc: ...here.
      	* config/pru/pru-passes.c: Moved to...
      	* config/pru/pru-passes.cc: ...here.
      	* config/pru/pru-pragma.c: Moved to...
      	* config/pru/pru-pragma.cc: ...here.
      	* config/pru/pru.c: Moved to...
      	* config/pru/pru.cc: ...here.
      	* config/riscv/riscv-builtins.c: Moved to...
      	* config/riscv/riscv-builtins.cc: ...here.
      	* config/riscv/riscv-c.c: Moved to...
      	* config/riscv/riscv-c.cc: ...here.
      	* config/riscv/riscv-d.c: Moved to...
      	* config/riscv/riscv-d.cc: ...here.
      	* config/riscv/riscv-shorten-memrefs.c: Moved to...
      	* config/riscv/riscv-shorten-memrefs.cc: ...here.
      	* config/riscv/riscv-sr.c: Moved to...
      	* config/riscv/riscv-sr.cc: ...here.
      	* config/riscv/riscv.c: Moved to...
      	* config/riscv/riscv.cc: ...here.
      	* config/rl78/rl78-c.c: Moved to...
      	* config/rl78/rl78-c.cc: ...here.
      	* config/rl78/rl78.c: Moved to...
      	* config/rl78/rl78.cc: ...here.
      	* config/rs6000/driver-rs6000.c: Moved to...
      	* config/rs6000/driver-rs6000.cc: ...here.
      	* config/rs6000/host-darwin.c: Moved to...
      	* config/rs6000/host-darwin.cc: ...here.
      	* config/rs6000/host-ppc64-darwin.c: Moved to...
      	* config/rs6000/host-ppc64-darwin.cc: ...here.
      	* config/rs6000/rbtree.c: Moved to...
      	* config/rs6000/rbtree.cc: ...here.
      	* config/rs6000/rs6000-c.c: Moved to...
      	* config/rs6000/rs6000-c.cc: ...here.
      	* config/rs6000/rs6000-call.c: Moved to...
      	* config/rs6000/rs6000-call.cc: ...here.
      	* config/rs6000/rs6000-d.c: Moved to...
      	* config/rs6000/rs6000-d.cc: ...here.
      	* config/rs6000/rs6000-gen-builtins.c: Moved to...
      	* config/rs6000/rs6000-gen-builtins.cc: ...here.
      	* config/rs6000/rs6000-linux.c: Moved to...
      	* config/rs6000/rs6000-linux.cc: ...here.
      	* config/rs6000/rs6000-logue.c: Moved to...
      	* config/rs6000/rs6000-logue.cc: ...here.
      	* config/rs6000/rs6000-p8swap.c: Moved to...
      	* config/rs6000/rs6000-p8swap.cc: ...here.
      	* config/rs6000/rs6000-pcrel-opt.c: Moved to...
      	* config/rs6000/rs6000-pcrel-opt.cc: ...here.
      	* config/rs6000/rs6000-string.c: Moved to...
      	* config/rs6000/rs6000-string.cc: ...here.
      	* config/rs6000/rs6000.c: Moved to...
      	* config/rs6000/rs6000.cc: ...here.
      	* config/rx/rx.c: Moved to...
      	* config/rx/rx.cc: ...here.
      	* config/s390/driver-native.c: Moved to...
      	* config/s390/driver-native.cc: ...here.
      	* config/s390/s390-c.c: Moved to...
      	* config/s390/s390-c.cc: ...here.
      	* config/s390/s390-d.c: Moved to...
      	* config/s390/s390-d.cc: ...here.
      	* config/s390/s390.c: Moved to...
      	* config/s390/s390.cc: ...here.
      	* config/sh/divtab-sh4-300.c: Moved to...
      	* config/sh/divtab-sh4-300.cc: ...here.
      	* config/sh/divtab-sh4.c: Moved to...
      	* config/sh/divtab-sh4.cc: ...here.
      	* config/sh/divtab.c: Moved to...
      	* config/sh/divtab.cc: ...here.
      	* config/sh/sh-c.c: Moved to...
      	* config/sh/sh-c.cc: ...here.
      	* config/sh/sh.c: Moved to...
      	* config/sh/sh.cc: ...here.
      	* config/sol2-c.c: Moved to...
      	* config/sol2-c.cc: ...here.
      	* config/sol2-cxx.c: Moved to...
      	* config/sol2-cxx.cc: ...here.
      	* config/sol2-d.c: Moved to...
      	* config/sol2-d.cc: ...here.
      	* config/sol2-stubs.c: Moved to...
      	* config/sol2-stubs.cc: ...here.
      	* config/sol2.c: Moved to...
      	* config/sol2.cc: ...here.
      	* config/sparc/driver-sparc.c: Moved to...
      	* config/sparc/driver-sparc.cc: ...here.
      	* config/sparc/sparc-c.c: Moved to...
      	* config/sparc/sparc-c.cc: ...here.
      	* config/sparc/sparc-d.c: Moved to...
      	* config/sparc/sparc-d.cc: ...here.
      	* config/sparc/sparc.c: Moved to...
      	* config/sparc/sparc.cc: ...here.
      	* config/stormy16/stormy16.c: Moved to...
      	* config/stormy16/stormy16.cc: ...here.
      	* config/tilegx/mul-tables.c: Moved to...
      	* config/tilegx/mul-tables.cc: ...here.
      	* config/tilegx/tilegx-c.c: Moved to...
      	* config/tilegx/tilegx-c.cc: ...here.
      	* config/tilegx/tilegx.c: Moved to...
      	* config/tilegx/tilegx.cc: ...here.
      	* config/tilepro/mul-tables.c: Moved to...
      	* config/tilepro/mul-tables.cc: ...here.
      	* config/tilepro/tilepro-c.c: Moved to...
      	* config/tilepro/tilepro-c.cc: ...here.
      	* config/tilepro/tilepro.c: Moved to...
      	* config/tilepro/tilepro.cc: ...here.
      	* config/v850/v850-c.c: Moved to...
      	* config/v850/v850-c.cc: ...here.
      	* config/v850/v850.c: Moved to...
      	* config/v850/v850.cc: ...here.
      	* config/vax/vax.c: Moved to...
      	* config/vax/vax.cc: ...here.
      	* config/visium/visium.c: Moved to...
      	* config/visium/visium.cc: ...here.
      	* config/vms/vms-c.c: Moved to...
      	* config/vms/vms-c.cc: ...here.
      	* config/vms/vms-f.c: Moved to...
      	* config/vms/vms-f.cc: ...here.
      	* config/vms/vms.c: Moved to...
      	* config/vms/vms.cc: ...here.
      	* config/vxworks-c.c: Moved to...
      	* config/vxworks-c.cc: ...here.
      	* config/vxworks.c: Moved to...
      	* config/vxworks.cc: ...here.
      	* config/winnt-c.c: Moved to...
      	* config/winnt-c.cc: ...here.
      	* config/xtensa/xtensa.c: Moved to...
      	* config/xtensa/xtensa.cc: ...here.
      	* context.c: Moved to...
      	* context.cc: ...here.
      	* convert.c: Moved to...
      	* convert.cc: ...here.
      	* coverage.c: Moved to...
      	* coverage.cc: ...here.
      	* cppbuiltin.c: Moved to...
      	* cppbuiltin.cc: ...here.
      	* cppdefault.c: Moved to...
      	* cppdefault.cc: ...here.
      	* cprop.c: Moved to...
      	* cprop.cc: ...here.
      	* cse.c: Moved to...
      	* cse.cc: ...here.
      	* cselib.c: Moved to...
      	* cselib.cc: ...here.
      	* ctfc.c: Moved to...
      	* ctfc.cc: ...here.
      	* ctfout.c: Moved to...
      	* ctfout.cc: ...here.
      	* data-streamer-in.c: Moved to...
      	* data-streamer-in.cc: ...here.
      	* data-streamer-out.c: Moved to...
      	* data-streamer-out.cc: ...here.
      	* data-streamer.c: Moved to...
      	* data-streamer.cc: ...here.
      	* dbgcnt.c: Moved to...
      	* dbgcnt.cc: ...here.
      	* dbxout.c: Moved to...
      	* dbxout.cc: ...here.
      	* dce.c: Moved to...
      	* dce.cc: ...here.
      	* ddg.c: Moved to...
      	* ddg.cc: ...here.
      	* debug.c: Moved to...
      	* debug.cc: ...here.
      	* df-core.c: Moved to...
      	* df-core.cc: ...here.
      	* df-problems.c: Moved to...
      	* df-problems.cc: ...here.
      	* df-scan.c: Moved to...
      	* df-scan.cc: ...here.
      	* dfp.c: Moved to...
      	* dfp.cc: ...here.
      	* diagnostic-color.c: Moved to...
      	* diagnostic-color.cc: ...here.
      	* diagnostic-show-locus.c: Moved to...
      	* diagnostic-show-locus.cc: ...here.
      	* diagnostic-spec.c: Moved to...
      	* diagnostic-spec.cc: ...here.
      	* diagnostic.c: Moved to...
      	* diagnostic.cc: ...here.
      	* dojump.c: Moved to...
      	* dojump.cc: ...here.
      	* dominance.c: Moved to...
      	* dominance.cc: ...here.
      	* domwalk.c: Moved to...
      	* domwalk.cc: ...here.
      	* double-int.c: Moved to...
      	* double-int.cc: ...here.
      	* dse.c: Moved to...
      	* dse.cc: ...here.
      	* dumpfile.c: Moved to...
      	* dumpfile.cc: ...here.
      	* dwarf2asm.c: Moved to...
      	* dwarf2asm.cc: ...here.
      	* dwarf2cfi.c: Moved to...
      	* dwarf2cfi.cc: ...here.
      	* dwarf2ctf.c: Moved to...
      	* dwarf2ctf.cc: ...here.
      	* dwarf2out.c: Moved to...
      	* dwarf2out.cc: ...here.
      	* early-remat.c: Moved to...
      	* early-remat.cc: ...here.
      	* edit-context.c: Moved to...
      	* edit-context.cc: ...here.
      	* emit-rtl.c: Moved to...
      	* emit-rtl.cc: ...here.
      	* errors.c: Moved to...
      	* errors.cc: ...here.
      	* et-forest.c: Moved to...
      	* et-forest.cc: ...here.
      	* except.c: Moved to...
      	* except.cc: ...here.
      	* explow.c: Moved to...
      	* explow.cc: ...here.
      	* expmed.c: Moved to...
      	* expmed.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* fibonacci_heap.c: Moved to...
      	* fibonacci_heap.cc: ...here.
      	* file-find.c: Moved to...
      	* file-find.cc: ...here.
      	* file-prefix-map.c: Moved to...
      	* file-prefix-map.cc: ...here.
      	* final.c: Moved to...
      	* final.cc: ...here.
      	* fixed-value.c: Moved to...
      	* fixed-value.cc: ...here.
      	* fold-const-call.c: Moved to...
      	* fold-const-call.cc: ...here.
      	* fold-const.c: Moved to...
      	* fold-const.cc: ...here.
      	* fp-test.c: Moved to...
      	* fp-test.cc: ...here.
      	* function-tests.c: Moved to...
      	* function-tests.cc: ...here.
      	* function.c: Moved to...
      	* function.cc: ...here.
      	* fwprop.c: Moved to...
      	* fwprop.cc: ...here.
      	* gcc-ar.c: Moved to...
      	* gcc-ar.cc: ...here.
      	* gcc-main.c: Moved to...
      	* gcc-main.cc: ...here.
      	* gcc-rich-location.c: Moved to...
      	* gcc-rich-location.cc: ...here.
      	* gcc.c: Moved to...
      	* gcc.cc: ...here.
      	* gcov-dump.c: Moved to...
      	* gcov-dump.cc: ...here.
      	* gcov-io.c: Moved to...
      	* gcov-io.cc: ...here.
      	* gcov-tool.c: Moved to...
      	* gcov-tool.cc: ...here.
      	* gcov.c: Moved to...
      	* gcov.cc: ...here.
      	* gcse-common.c: Moved to...
      	* gcse-common.cc: ...here.
      	* gcse.c: Moved to...
      	* gcse.cc: ...here.
      	* genattr-common.c: Moved to...
      	* genattr-common.cc: ...here.
      	* genattr.c: Moved to...
      	* genattr.cc: ...here.
      	* genattrtab.c: Moved to...
      	* genattrtab.cc: ...here.
      	* genautomata.c: Moved to...
      	* genautomata.cc: ...here.
      	* gencfn-macros.c: Moved to...
      	* gencfn-macros.cc: ...here.
      	* gencheck.c: Moved to...
      	* gencheck.cc: ...here.
      	* genchecksum.c: Moved to...
      	* genchecksum.cc: ...here.
      	* gencodes.c: Moved to...
      	* gencodes.cc: ...here.
      	* genconditions.c: Moved to...
      	* genconditions.cc: ...here.
      	* genconfig.c: Moved to...
      	* genconfig.cc: ...here.
      	* genconstants.c: Moved to...
      	* genconstants.cc: ...here.
      	* genemit.c: Moved to...
      	* genemit.cc: ...here.
      	* genenums.c: Moved to...
      	* genenums.cc: ...here.
      	* generic-match-head.c: Moved to...
      	* generic-match-head.cc: ...here.
      	* genextract.c: Moved to...
      	* genextract.cc: ...here.
      	* genflags.c: Moved to...
      	* genflags.cc: ...here.
      	* gengenrtl.c: Moved to...
      	* gengenrtl.cc: ...here.
      	* gengtype-parse.c: Moved to...
      	* gengtype-parse.cc: ...here.
      	* gengtype-state.c: Moved to...
      	* gengtype-state.cc: ...here.
      	* gengtype.c: Moved to...
      	* gengtype.cc: ...here.
      	* genhooks.c: Moved to...
      	* genhooks.cc: ...here.
      	* genmatch.c: Moved to...
      	* genmatch.cc: ...here.
      	* genmddeps.c: Moved to...
      	* genmddeps.cc: ...here.
      	* genmddump.c: Moved to...
      	* genmddump.cc: ...here.
      	* genmodes.c: Moved to...
      	* genmodes.cc: ...here.
      	* genopinit.c: Moved to...
      	* genopinit.cc: ...here.
      	* genoutput.c: Moved to...
      	* genoutput.cc: ...here.
      	* genpeep.c: Moved to...
      	* genpeep.cc: ...here.
      	* genpreds.c: Moved to...
      	* genpreds.cc: ...here.
      	* genrecog.c: Moved to...
      	* genrecog.cc: ...here.
      	* gensupport.c: Moved to...
      	* gensupport.cc: ...here.
      	* gentarget-def.c: Moved to...
      	* gentarget-def.cc: ...here.
      	* genversion.c: Moved to...
      	* genversion.cc: ...here.
      	* ggc-common.c: Moved to...
      	* ggc-common.cc: ...here.
      	* ggc-none.c: Moved to...
      	* ggc-none.cc: ...here.
      	* ggc-page.c: Moved to...
      	* ggc-page.cc: ...here.
      	* ggc-tests.c: Moved to...
      	* ggc-tests.cc: ...here.
      	* gimple-builder.c: Moved to...
      	* gimple-builder.cc: ...here.
      	* gimple-expr.c: Moved to...
      	* gimple-expr.cc: ...here.
      	* gimple-fold.c: Moved to...
      	* gimple-fold.cc: ...here.
      	* gimple-iterator.c: Moved to...
      	* gimple-iterator.cc: ...here.
      	* gimple-laddress.c: Moved to...
      	* gimple-laddress.cc: ...here.
      	* gimple-loop-jam.c: Moved to...
      	* gimple-loop-jam.cc: ...here.
      	* gimple-low.c: Moved to...
      	* gimple-low.cc: ...here.
      	* gimple-match-head.c: Moved to...
      	* gimple-match-head.cc: ...here.
      	* gimple-pretty-print.c: Moved to...
      	* gimple-pretty-print.cc: ...here.
      	* gimple-ssa-backprop.c: Moved to...
      	* gimple-ssa-backprop.cc: ...here.
      	* gimple-ssa-evrp-analyze.c: Moved to...
      	* gimple-ssa-evrp-analyze.cc: ...here.
      	* gimple-ssa-evrp.c: Moved to...
      	* gimple-ssa-evrp.cc: ...here.
      	* gimple-ssa-isolate-paths.c: Moved to...
      	* gimple-ssa-isolate-paths.cc: ...here.
      	* gimple-ssa-nonnull-compare.c: Moved to...
      	* gimple-ssa-nonnull-compare.cc: ...here.
      	* gimple-ssa-split-paths.c: Moved to...
      	* gimple-ssa-split-paths.cc: ...here.
      	* gimple-ssa-sprintf.c: Moved to...
      	* gimple-ssa-sprintf.cc: ...here.
      	* gimple-ssa-store-merging.c: Moved to...
      	* gimple-ssa-store-merging.cc: ...here.
      	* gimple-ssa-strength-reduction.c: Moved to...
      	* gimple-ssa-strength-reduction.cc: ...here.
      	* gimple-ssa-warn-alloca.c: Moved to...
      	* gimple-ssa-warn-alloca.cc: ...here.
      	* gimple-ssa-warn-restrict.c: Moved to...
      	* gimple-ssa-warn-restrict.cc: ...here.
      	* gimple-streamer-in.c: Moved to...
      	* gimple-streamer-in.cc: ...here.
      	* gimple-streamer-out.c: Moved to...
      	* gimple-streamer-out.cc: ...here.
      	* gimple-walk.c: Moved to...
      	* gimple-walk.cc: ...here.
      	* gimple-warn-recursion.c: Moved to...
      	* gimple-warn-recursion.cc: ...here.
      	* gimple.c: Moved to...
      	* gimple.cc: ...here.
      	* gimplify-me.c: Moved to...
      	* gimplify-me.cc: ...here.
      	* gimplify.c: Moved to...
      	* gimplify.cc: ...here.
      	* godump.c: Moved to...
      	* godump.cc: ...here.
      	* graph.c: Moved to...
      	* graph.cc: ...here.
      	* graphds.c: Moved to...
      	* graphds.cc: ...here.
      	* graphite-dependences.c: Moved to...
      	* graphite-dependences.cc: ...here.
      	* graphite-isl-ast-to-gimple.c: Moved to...
      	* graphite-isl-ast-to-gimple.cc: ...here.
      	* graphite-optimize-isl.c: Moved to...
      	* graphite-optimize-isl.cc: ...here.
      	* graphite-poly.c: Moved to...
      	* graphite-poly.cc: ...here.
      	* graphite-scop-detection.c: Moved to...
      	* graphite-scop-detection.cc: ...here.
      	* graphite-sese-to-poly.c: Moved to...
      	* graphite-sese-to-poly.cc: ...here.
      	* graphite.c: Moved to...
      	* graphite.cc: ...here.
      	* haifa-sched.c: Moved to...
      	* haifa-sched.cc: ...here.
      	* hash-map-tests.c: Moved to...
      	* hash-map-tests.cc: ...here.
      	* hash-set-tests.c: Moved to...
      	* hash-set-tests.cc: ...here.
      	* hash-table.c: Moved to...
      	* hash-table.cc: ...here.
      	* hooks.c: Moved to...
      	* hooks.cc: ...here.
      	* host-default.c: Moved to...
      	* host-default.cc: ...here.
      	* hw-doloop.c: Moved to...
      	* hw-doloop.cc: ...here.
      	* hwint.c: Moved to...
      	* hwint.cc: ...here.
      	* ifcvt.c: Moved to...
      	* ifcvt.cc: ...here.
      	* inchash.c: Moved to...
      	* inchash.cc: ...here.
      	* incpath.c: Moved to...
      	* incpath.cc: ...here.
      	* init-regs.c: Moved to...
      	* init-regs.cc: ...here.
      	* input.c: Moved to...
      	* input.cc: ...here.
      	* internal-fn.c: Moved to...
      	* internal-fn.cc: ...here.
      	* intl.c: Moved to...
      	* intl.cc: ...here.
      	* ipa-comdats.c: Moved to...
      	* ipa-comdats.cc: ...here.
      	* ipa-cp.c: Moved to...
      	* ipa-cp.cc: ...here.
      	* ipa-devirt.c: Moved to...
      	* ipa-devirt.cc: ...here.
      	* ipa-fnsummary.c: Moved to...
      	* ipa-fnsummary.cc: ...here.
      	* ipa-icf-gimple.c: Moved to...
      	* ipa-icf-gimple.cc: ...here.
      	* ipa-icf.c: Moved to...
      	* ipa-icf.cc: ...here.
      	* ipa-inline-analysis.c: Moved to...
      	* ipa-inline-analysis.cc: ...here.
      	* ipa-inline-transform.c: Moved to...
      	* ipa-inline-transform.cc: ...here.
      	* ipa-inline.c: Moved to...
      	* ipa-inline.cc: ...here.
      	* ipa-modref-tree.c: Moved to...
      	* ipa-modref-tree.cc: ...here.
      	* ipa-modref.c: Moved to...
      	* ipa-modref.cc: ...here.
      	* ipa-param-manipulation.c: Moved to...
      	* ipa-param-manipulation.cc: ...here.
      	* ipa-polymorphic-call.c: Moved to...
      	* ipa-polymorphic-call.cc: ...here.
      	* ipa-predicate.c: Moved to...
      	* ipa-predicate.cc: ...here.
      	* ipa-profile.c: Moved to...
      	* ipa-profile.cc: ...here.
      	* ipa-prop.c: Moved to...
      	* ipa-prop.cc: ...here.
      	* ipa-pure-const.c: Moved to...
      	* ipa-pure-const.cc: ...here.
      	* ipa-ref.c: Moved to...
      	* ipa-ref.cc: ...here.
      	* ipa-reference.c: Moved to...
      	* ipa-reference.cc: ...here.
      	* ipa-split.c: Moved to...
      	* ipa-split.cc: ...here.
      	* ipa-sra.c: Moved to...
      	* ipa-sra.cc: ...here.
      	* ipa-utils.c: Moved to...
      	* ipa-utils.cc: ...here.
      	* ipa-visibility.c: Moved to...
      	* ipa-visibility.cc: ...here.
      	* ipa.c: Moved to...
      	* ipa.cc: ...here.
      	* ira-build.c: Moved to...
      	* ira-build.cc: ...here.
      	* ira-color.c: Moved to...
      	* ira-color.cc: ...here.
      	* ira-conflicts.c: Moved to...
      	* ira-conflicts.cc: ...here.
      	* ira-costs.c: Moved to...
      	* ira-costs.cc: ...here.
      	* ira-emit.c: Moved to...
      	* ira-emit.cc: ...here.
      	* ira-lives.c: Moved to...
      	* ira-lives.cc: ...here.
      	* ira.c: Moved to...
      	* ira.cc: ...here.
      	* jump.c: Moved to...
      	* jump.cc: ...here.
      	* langhooks.c: Moved to...
      	* langhooks.cc: ...here.
      	* lcm.c: Moved to...
      	* lcm.cc: ...here.
      	* lists.c: Moved to...
      	* lists.cc: ...here.
      	* loop-doloop.c: Moved to...
      	* loop-doloop.cc: ...here.
      	* loop-init.c: Moved to...
      	* loop-init.cc: ...here.
      	* loop-invariant.c: Moved to...
      	* loop-invariant.cc: ...here.
      	* loop-iv.c: Moved to...
      	* loop-iv.cc: ...here.
      	* loop-unroll.c: Moved to...
      	* loop-unroll.cc: ...here.
      	* lower-subreg.c: Moved to...
      	* lower-subreg.cc: ...here.
      	* lra-assigns.c: Moved to...
      	* lra-assigns.cc: ...here.
      	* lra-coalesce.c: Moved to...
      	* lra-coalesce.cc: ...here.
      	* lra-constraints.c: Moved to...
      	* lra-constraints.cc: ...here.
      	* lra-eliminations.c: Moved to...
      	* lra-eliminations.cc: ...here.
      	* lra-lives.c: Moved to...
      	* lra-lives.cc: ...here.
      	* lra-remat.c: Moved to...
      	* lra-remat.cc: ...here.
      	* lra-spills.c: Moved to...
      	* lra-spills.cc: ...here.
      	* lra.c: Moved to...
      	* lra.cc: ...here.
      	* lto-cgraph.c: Moved to...
      	* lto-cgraph.cc: ...here.
      	* lto-compress.c: Moved to...
      	* lto-compress.cc: ...here.
      	* lto-opts.c: Moved to...
      	* lto-opts.cc: ...here.
      	* lto-section-in.c: Moved to...
      	* lto-section-in.cc: ...here.
      	* lto-section-out.c: Moved to...
      	* lto-section-out.cc: ...here.
      	* lto-streamer-in.c: Moved to...
      	* lto-streamer-in.cc: ...here.
      	* lto-streamer-out.c: Moved to...
      	* lto-streamer-out.cc: ...here.
      	* lto-streamer.c: Moved to...
      	* lto-streamer.cc: ...here.
      	* lto-wrapper.c: Moved to...
      	* lto-wrapper.cc: ...here.
      	* main.c: Moved to...
      	* main.cc: ...here.
      	* mcf.c: Moved to...
      	* mcf.cc: ...here.
      	* mode-switching.c: Moved to...
      	* mode-switching.cc: ...here.
      	* modulo-sched.c: Moved to...
      	* modulo-sched.cc: ...here.
      	* multiple_target.c: Moved to...
      	* multiple_target.cc: ...here.
      	* omp-expand.c: Moved to...
      	* omp-expand.cc: ...here.
      	* omp-general.c: Moved to...
      	* omp-general.cc: ...here.
      	* omp-low.c: Moved to...
      	* omp-low.cc: ...here.
      	* omp-offload.c: Moved to...
      	* omp-offload.cc: ...here.
      	* omp-simd-clone.c: Moved to...
      	* omp-simd-clone.cc: ...here.
      	* opt-suggestions.c: Moved to...
      	* opt-suggestions.cc: ...here.
      	* optabs-libfuncs.c: Moved to...
      	* optabs-libfuncs.cc: ...here.
      	* optabs-query.c: Moved to...
      	* optabs-query.cc: ...here.
      	* optabs-tree.c: Moved to...
      	* optabs-tree.cc: ...here.
      	* optabs.c: Moved to...
      	* optabs.cc: ...here.
      	* opts-common.c: Moved to...
      	* opts-common.cc: ...here.
      	* opts-global.c: Moved to...
      	* opts-global.cc: ...here.
      	* opts.c: Moved to...
      	* opts.cc: ...here.
      	* passes.c: Moved to...
      	* passes.cc: ...here.
      	* plugin.c: Moved to...
      	* plugin.cc: ...here.
      	* postreload-gcse.c: Moved to...
      	* postreload-gcse.cc: ...here.
      	* postreload.c: Moved to...
      	* postreload.cc: ...here.
      	* predict.c: Moved to...
      	* predict.cc: ...here.
      	* prefix.c: Moved to...
      	* prefix.cc: ...here.
      	* pretty-print.c: Moved to...
      	* pretty-print.cc: ...here.
      	* print-rtl-function.c: Moved to...
      	* print-rtl-function.cc: ...here.
      	* print-rtl.c: Moved to...
      	* print-rtl.cc: ...here.
      	* print-tree.c: Moved to...
      	* print-tree.cc: ...here.
      	* profile-count.c: Moved to...
      	* profile-count.cc: ...here.
      	* profile.c: Moved to...
      	* profile.cc: ...here.
      	* read-md.c: Moved to...
      	* read-md.cc: ...here.
      	* read-rtl-function.c: Moved to...
      	* read-rtl-function.cc: ...here.
      	* read-rtl.c: Moved to...
      	* read-rtl.cc: ...here.
      	* real.c: Moved to...
      	* real.cc: ...here.
      	* realmpfr.c: Moved to...
      	* realmpfr.cc: ...here.
      	* recog.c: Moved to...
      	* recog.cc: ...here.
      	* ree.c: Moved to...
      	* ree.cc: ...here.
      	* reg-stack.c: Moved to...
      	* reg-stack.cc: ...here.
      	* regcprop.c: Moved to...
      	* regcprop.cc: ...here.
      	* reginfo.c: Moved to...
      	* reginfo.cc: ...here.
      	* regrename.c: Moved to...
      	* regrename.cc: ...here.
      	* regstat.c: Moved to...
      	* regstat.cc: ...here.
      	* reload.c: Moved to...
      	* reload.cc: ...here.
      	* reload1.c: Moved to...
      	* reload1.cc: ...here.
      	* reorg.c: Moved to...
      	* reorg.cc: ...here.
      	* resource.c: Moved to...
      	* resource.cc: ...here.
      	* rtl-error.c: Moved to...
      	* rtl-error.cc: ...here.
      	* rtl-tests.c: Moved to...
      	* rtl-tests.cc: ...here.
      	* rtl.c: Moved to...
      	* rtl.cc: ...here.
      	* rtlanal.c: Moved to...
      	* rtlanal.cc: ...here.
      	* rtlhash.c: Moved to...
      	* rtlhash.cc: ...here.
      	* rtlhooks.c: Moved to...
      	* rtlhooks.cc: ...here.
      	* rtx-vector-builder.c: Moved to...
      	* rtx-vector-builder.cc: ...here.
      	* run-rtl-passes.c: Moved to...
      	* run-rtl-passes.cc: ...here.
      	* sancov.c: Moved to...
      	* sancov.cc: ...here.
      	* sanopt.c: Moved to...
      	* sanopt.cc: ...here.
      	* sbitmap.c: Moved to...
      	* sbitmap.cc: ...here.
      	* sched-deps.c: Moved to...
      	* sched-deps.cc: ...here.
      	* sched-ebb.c: Moved to...
      	* sched-ebb.cc: ...here.
      	* sched-rgn.c: Moved to...
      	* sched-rgn.cc: ...here.
      	* sel-sched-dump.c: Moved to...
      	* sel-sched-dump.cc: ...here.
      	* sel-sched-ir.c: Moved to...
      	* sel-sched-ir.cc: ...here.
      	* sel-sched.c: Moved to...
      	* sel-sched.cc: ...here.
      	* selftest-diagnostic.c: Moved to...
      	* selftest-diagnostic.cc: ...here.
      	* selftest-rtl.c: Moved to...
      	* selftest-rtl.cc: ...here.
      	* selftest-run-tests.c: Moved to...
      	* selftest-run-tests.cc: ...here.
      	* selftest.c: Moved to...
      	* selftest.cc: ...here.
      	* sese.c: Moved to...
      	* sese.cc: ...here.
      	* shrink-wrap.c: Moved to...
      	* shrink-wrap.cc: ...here.
      	* simplify-rtx.c: Moved to...
      	* simplify-rtx.cc: ...here.
      	* sparseset.c: Moved to...
      	* sparseset.cc: ...here.
      	* spellcheck-tree.c: Moved to...
      	* spellcheck-tree.cc: ...here.
      	* spellcheck.c: Moved to...
      	* spellcheck.cc: ...here.
      	* sreal.c: Moved to...
      	* sreal.cc: ...here.
      	* stack-ptr-mod.c: Moved to...
      	* stack-ptr-mod.cc: ...here.
      	* statistics.c: Moved to...
      	* statistics.cc: ...here.
      	* stmt.c: Moved to...
      	* stmt.cc: ...here.
      	* stor-layout.c: Moved to...
      	* stor-layout.cc: ...here.
      	* store-motion.c: Moved to...
      	* store-motion.cc: ...here.
      	* streamer-hooks.c: Moved to...
      	* streamer-hooks.cc: ...here.
      	* stringpool.c: Moved to...
      	* stringpool.cc: ...here.
      	* substring-locations.c: Moved to...
      	* substring-locations.cc: ...here.
      	* symtab.c: Moved to...
      	* symtab.cc: ...here.
      	* target-globals.c: Moved to...
      	* target-globals.cc: ...here.
      	* targhooks.c: Moved to...
      	* targhooks.cc: ...here.
      	* timevar.c: Moved to...
      	* timevar.cc: ...here.
      	* toplev.c: Moved to...
      	* toplev.cc: ...here.
      	* tracer.c: Moved to...
      	* tracer.cc: ...here.
      	* trans-mem.c: Moved to...
      	* trans-mem.cc: ...here.
      	* tree-affine.c: Moved to...
      	* tree-affine.cc: ...here.
      	* tree-call-cdce.c: Moved to...
      	* tree-call-cdce.cc: ...here.
      	* tree-cfg.c: Moved to...
      	* tree-cfg.cc: ...here.
      	* tree-cfgcleanup.c: Moved to...
      	* tree-cfgcleanup.cc: ...here.
      	* tree-chrec.c: Moved to...
      	* tree-chrec.cc: ...here.
      	* tree-complex.c: Moved to...
      	* tree-complex.cc: ...here.
      	* tree-data-ref.c: Moved to...
      	* tree-data-ref.cc: ...here.
      	* tree-dfa.c: Moved to...
      	* tree-dfa.cc: ...here.
      	* tree-diagnostic.c: Moved to...
      	* tree-diagnostic.cc: ...here.
      	* tree-dump.c: Moved to...
      	* tree-dump.cc: ...here.
      	* tree-eh.c: Moved to...
      	* tree-eh.cc: ...here.
      	* tree-emutls.c: Moved to...
      	* tree-emutls.cc: ...here.
      	* tree-if-conv.c: Moved to...
      	* tree-if-conv.cc: ...here.
      	* tree-inline.c: Moved to...
      	* tree-inline.cc: ...here.
      	* tree-into-ssa.c: Moved to...
      	* tree-into-ssa.cc: ...here.
      	* tree-iterator.c: Moved to...
      	* tree-iterator.cc: ...here.
      	* tree-loop-distribution.c: Moved to...
      	* tree-loop-distribution.cc: ...here.
      	* tree-nested.c: Moved to...
      	* tree-nested.cc: ...here.
      	* tree-nrv.c: Moved to...
      	* tree-nrv.cc: ...here.
      	* tree-object-size.c: Moved to...
      	* tree-object-size.cc: ...here.
      	* tree-outof-ssa.c: Moved to...
      	* tree-outof-ssa.cc: ...here.
      	* tree-parloops.c: Moved to...
      	* tree-parloops.cc: ...here.
      	* tree-phinodes.c: Moved to...
      	* tree-phinodes.cc: ...here.
      	* tree-predcom.c: Moved to...
      	* tree-predcom.cc: ...here.
      	* tree-pretty-print.c: Moved to...
      	* tree-pretty-print.cc: ...here.
      	* tree-profile.c: Moved to...
      	* tree-profile.cc: ...here.
      	* tree-scalar-evolution.c: Moved to...
      	* tree-scalar-evolution.cc: ...here.
      	* tree-sra.c: Moved to...
      	* tree-sra.cc: ...here.
      	* tree-ssa-address.c: Moved to...
      	* tree-ssa-address.cc: ...here.
      	* tree-ssa-alias.c: Moved to...
      	* tree-ssa-alias.cc: ...here.
      	* tree-ssa-ccp.c: Moved to...
      	* tree-ssa-ccp.cc: ...here.
      	* tree-ssa-coalesce.c: Moved to...
      	* tree-ssa-coalesce.cc: ...here.
      	* tree-ssa-copy.c: Moved to...
      	* tree-ssa-copy.cc: ...here.
      	* tree-ssa-dce.c: Moved to...
      	* tree-ssa-dce.cc: ...here.
      	* tree-ssa-dom.c: Moved to...
      	* tree-ssa-dom.cc: ...here.
      	* tree-ssa-dse.c: Moved to...
      	* tree-ssa-dse.cc: ...here.
      	* tree-ssa-forwprop.c: Moved to...
      	* tree-ssa-forwprop.cc: ...here.
      	* tree-ssa-ifcombine.c: Moved to...
      	* tree-ssa-ifcombine.cc: ...here.
      	* tree-ssa-live.c: Moved to...
      	* tree-ssa-live.cc: ...here.
      	* tree-ssa-loop-ch.c: Moved to...
      	* tree-ssa-loop-ch.cc: ...here.
      	* tree-ssa-loop-im.c: Moved to...
      	* tree-ssa-loop-im.cc: ...here.
      	* tree-ssa-loop-ivcanon.c: Moved to...
      	* tree-ssa-loop-ivcanon.cc: ...here.
      	* tree-ssa-loop-ivopts.c: Moved to...
      	* tree-ssa-loop-ivopts.cc: ...here.
      	* tree-ssa-loop-manip.c: Moved to...
      	* tree-ssa-loop-manip.cc: ...here.
      	* tree-ssa-loop-niter.c: Moved to...
      	* tree-ssa-loop-niter.cc: ...here.
      	* tree-ssa-loop-prefetch.c: Moved to...
      	* tree-ssa-loop-prefetch.cc: ...here.
      	* tree-ssa-loop-split.c: Moved to...
      	* tree-ssa-loop-split.cc: ...here.
      	* tree-ssa-loop-unswitch.c: Moved to...
      	* tree-ssa-loop-unswitch.cc: ...here.
      	* tree-ssa-loop.c: Moved to...
      	* tree-ssa-loop.cc: ...here.
      	* tree-ssa-math-opts.c: Moved to...
      	* tree-ssa-math-opts.cc: ...here.
      	* tree-ssa-operands.c: Moved to...
      	* tree-ssa-operands.cc: ...here.
      	* tree-ssa-phiopt.c: Moved to...
      	* tree-ssa-phiopt.cc: ...here.
      	* tree-ssa-phiprop.c: Moved to...
      	* tree-ssa-phiprop.cc: ...here.
      	* tree-ssa-pre.c: Moved to...
      	* tree-ssa-pre.cc: ...here.
      	* tree-ssa-propagate.c: Moved to...
      	* tree-ssa-propagate.cc: ...here.
      	* tree-ssa-reassoc.c: Moved to...
      	* tree-ssa-reassoc.cc: ...here.
      	* tree-ssa-sccvn.c: Moved to...
      	* tree-ssa-sccvn.cc: ...here.
      	* tree-ssa-scopedtables.c: Moved to...
      	* tree-ssa-scopedtables.cc: ...here.
      	* tree-ssa-sink.c: Moved to...
      	* tree-ssa-sink.cc: ...here.
      	* tree-ssa-strlen.c: Moved to...
      	* tree-ssa-strlen.cc: ...here.
      	* tree-ssa-structalias.c: Moved to...
      	* tree-ssa-structalias.cc: ...here.
      	* tree-ssa-tail-merge.c: Moved to...
      	* tree-ssa-tail-merge.cc: ...here.
      	* tree-ssa-ter.c: Moved to...
      	* tree-ssa-ter.cc: ...here.
      	* tree-ssa-threadbackward.c: Moved to...
      	* tree-ssa-threadbackward.cc: ...here.
      	* tree-ssa-threadedge.c: Moved to...
      	* tree-ssa-threadedge.cc: ...here.
      	* tree-ssa-threadupdate.c: Moved to...
      	* tree-ssa-threadupdate.cc: ...here.
      	* tree-ssa-uncprop.c: Moved to...
      	* tree-ssa-uncprop.cc: ...here.
      	* tree-ssa-uninit.c: Moved to...
      	* tree-ssa-uninit.cc: ...here.
      	* tree-ssa.c: Moved to...
      	* tree-ssa.cc: ...here.
      	* tree-ssanames.c: Moved to...
      	* tree-ssanames.cc: ...here.
      	* tree-stdarg.c: Moved to...
      	* tree-stdarg.cc: ...here.
      	* tree-streamer-in.c: Moved to...
      	* tree-streamer-in.cc: ...here.
      	* tree-streamer-out.c: Moved to...
      	* tree-streamer-out.cc: ...here.
      	* tree-streamer.c: Moved to...
      	* tree-streamer.cc: ...here.
      	* tree-switch-conversion.c: Moved to...
      	* tree-switch-conversion.cc: ...here.
      	* tree-tailcall.c: Moved to...
      	* tree-tailcall.cc: ...here.
      	* tree-vect-data-refs.c: Moved to...
      	* tree-vect-data-refs.cc: ...here.
      	* tree-vect-generic.c: Moved to...
      	* tree-vect-generic.cc: ...here.
      	* tree-vect-loop-manip.c: Moved to...
      	* tree-vect-loop-manip.cc: ...here.
      	* tree-vect-loop.c: Moved to...
      	* tree-vect-loop.cc: ...here.
      	* tree-vect-patterns.c: Moved to...
      	* tree-vect-patterns.cc: ...here.
      	* tree-vect-slp-patterns.c: Moved to...
      	* tree-vect-slp-patterns.cc: ...here.
      	* tree-vect-slp.c: Moved to...
      	* tree-vect-slp.cc: ...here.
      	* tree-vect-stmts.c: Moved to...
      	* tree-vect-stmts.cc: ...here.
      	* tree-vector-builder.c: Moved to...
      	* tree-vector-builder.cc: ...here.
      	* tree-vectorizer.c: Moved to...
      	* tree-vectorizer.cc: ...here.
      	* tree-vrp.c: Moved to...
      	* tree-vrp.cc: ...here.
      	* tree.c: Moved to...
      	* tree.cc: ...here.
      	* tsan.c: Moved to...
      	* tsan.cc: ...here.
      	* typed-splay-tree.c: Moved to...
      	* typed-splay-tree.cc: ...here.
      	* ubsan.c: Moved to...
      	* ubsan.cc: ...here.
      	* valtrack.c: Moved to...
      	* valtrack.cc: ...here.
      	* value-prof.c: Moved to...
      	* value-prof.cc: ...here.
      	* var-tracking.c: Moved to...
      	* var-tracking.cc: ...here.
      	* varasm.c: Moved to...
      	* varasm.cc: ...here.
      	* varpool.c: Moved to...
      	* varpool.cc: ...here.
      	* vec-perm-indices.c: Moved to...
      	* vec-perm-indices.cc: ...here.
      	* vec.c: Moved to...
      	* vec.cc: ...here.
      	* vmsdbgout.c: Moved to...
      	* vmsdbgout.cc: ...here.
      	* vr-values.c: Moved to...
      	* vr-values.cc: ...here.
      	* vtable-verify.c: Moved to...
      	* vtable-verify.cc: ...here.
      	* web.c: Moved to...
      	* web.cc: ...here.
      	* xcoffout.c: Moved to...
      	* xcoffout.cc: ...here.
      
      gcc/c-family/ChangeLog:
      
      	* c-ada-spec.c: Moved to...
      	* c-ada-spec.cc: ...here.
      	* c-attribs.c: Moved to...
      	* c-attribs.cc: ...here.
      	* c-common.c: Moved to...
      	* c-common.cc: ...here.
      	* c-cppbuiltin.c: Moved to...
      	* c-cppbuiltin.cc: ...here.
      	* c-dump.c: Moved to...
      	* c-dump.cc: ...here.
      	* c-format.c: Moved to...
      	* c-format.cc: ...here.
      	* c-gimplify.c: Moved to...
      	* c-gimplify.cc: ...here.
      	* c-indentation.c: Moved to...
      	* c-indentation.cc: ...here.
      	* c-lex.c: Moved to...
      	* c-lex.cc: ...here.
      	* c-omp.c: Moved to...
      	* c-omp.cc: ...here.
      	* c-opts.c: Moved to...
      	* c-opts.cc: ...here.
      	* c-pch.c: Moved to...
      	* c-pch.cc: ...here.
      	* c-ppoutput.c: Moved to...
      	* c-ppoutput.cc: ...here.
      	* c-pragma.c: Moved to...
      	* c-pragma.cc: ...here.
      	* c-pretty-print.c: Moved to...
      	* c-pretty-print.cc: ...here.
      	* c-semantics.c: Moved to...
      	* c-semantics.cc: ...here.
      	* c-ubsan.c: Moved to...
      	* c-ubsan.cc: ...here.
      	* c-warn.c: Moved to...
      	* c-warn.cc: ...here.
      	* cppspec.c: Moved to...
      	* cppspec.cc: ...here.
      	* stub-objc.c: Moved to...
      	* stub-objc.cc: ...here.
      
      gcc/c/ChangeLog:
      
      	* c-aux-info.c: Moved to...
      	* c-aux-info.cc: ...here.
      	* c-convert.c: Moved to...
      	* c-convert.cc: ...here.
      	* c-decl.c: Moved to...
      	* c-decl.cc: ...here.
      	* c-errors.c: Moved to...
      	* c-errors.cc: ...here.
      	* c-fold.c: Moved to...
      	* c-fold.cc: ...here.
      	* c-lang.c: Moved to...
      	* c-lang.cc: ...here.
      	* c-objc-common.c: Moved to...
      	* c-objc-common.cc: ...here.
      	* c-parser.c: Moved to...
      	* c-parser.cc: ...here.
      	* c-typeck.c: Moved to...
      	* c-typeck.cc: ...here.
      	* gccspec.c: Moved to...
      	* gccspec.cc: ...here.
      	* gimple-parser.c: Moved to...
      	* gimple-parser.cc: ...here.
      
      gcc/cp/ChangeLog:
      
      	* call.c: Moved to...
      	* call.cc: ...here.
      	* class.c: Moved to...
      	* class.cc: ...here.
      	* constexpr.c: Moved to...
      	* constexpr.cc: ...here.
      	* cp-gimplify.c: Moved to...
      	* cp-gimplify.cc: ...here.
      	* cp-lang.c: Moved to...
      	* cp-lang.cc: ...here.
      	* cp-objcp-common.c: Moved to...
      	* cp-objcp-common.cc: ...here.
      	* cp-ubsan.c: Moved to...
      	* cp-ubsan.cc: ...here.
      	* cvt.c: Moved to...
      	* cvt.cc: ...here.
      	* cxx-pretty-print.c: Moved to...
      	* cxx-pretty-print.cc: ...here.
      	* decl.c: Moved to...
      	* decl.cc: ...here.
      	* decl2.c: Moved to...
      	* decl2.cc: ...here.
      	* dump.c: Moved to...
      	* dump.cc: ...here.
      	* error.c: Moved to...
      	* error.cc: ...here.
      	* except.c: Moved to...
      	* except.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* friend.c: Moved to...
      	* friend.cc: ...here.
      	* g++spec.c: Moved to...
      	* g++spec.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* lambda.c: Moved to...
      	* lambda.cc: ...here.
      	* lex.c: Moved to...
      	* lex.cc: ...here.
      	* mangle.c: Moved to...
      	* mangle.cc: ...here.
      	* method.c: Moved to...
      	* method.cc: ...here.
      	* name-lookup.c: Moved to...
      	* name-lookup.cc: ...here.
      	* optimize.c: Moved to...
      	* optimize.cc: ...here.
      	* parser.c: Moved to...
      	* parser.cc: ...here.
      	* pt.c: Moved to...
      	* pt.cc: ...here.
      	* ptree.c: Moved to...
      	* ptree.cc: ...here.
      	* rtti.c: Moved to...
      	* rtti.cc: ...here.
      	* search.c: Moved to...
      	* search.cc: ...here.
      	* semantics.c: Moved to...
      	* semantics.cc: ...here.
      	* tree.c: Moved to...
      	* tree.cc: ...here.
      	* typeck.c: Moved to...
      	* typeck.cc: ...here.
      	* typeck2.c: Moved to...
      	* typeck2.cc: ...here.
      	* vtable-class-hierarchy.c: Moved to...
      	* vtable-class-hierarchy.cc: ...here.
      
      gcc/fortran/ChangeLog:
      
      	* arith.c: Moved to...
      	* arith.cc: ...here.
      	* array.c: Moved to...
      	* array.cc: ...here.
      	* bbt.c: Moved to...
      	* bbt.cc: ...here.
      	* check.c: Moved to...
      	* check.cc: ...here.
      	* class.c: Moved to...
      	* class.cc: ...here.
      	* constructor.c: Moved to...
      	* constructor.cc: ...here.
      	* convert.c: Moved to...
      	* convert.cc: ...here.
      	* cpp.c: Moved to...
      	* cpp.cc: ...here.
      	* data.c: Moved to...
      	* data.cc: ...here.
      	* decl.c: Moved to...
      	* decl.cc: ...here.
      	* dependency.c: Moved to...
      	* dependency.cc: ...here.
      	* dump-parse-tree.c: Moved to...
      	* dump-parse-tree.cc: ...here.
      	* error.c: Moved to...
      	* error.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* f95-lang.c: Moved to...
      	* f95-lang.cc: ...here.
      	* frontend-passes.c: Moved to...
      	* frontend-passes.cc: ...here.
      	* gfortranspec.c: Moved to...
      	* gfortranspec.cc: ...here.
      	* interface.c: Moved to...
      	* interface.cc: ...here.
      	* intrinsic.c: Moved to...
      	* intrinsic.cc: ...here.
      	* io.c: Moved to...
      	* io.cc: ...here.
      	* iresolve.c: Moved to...
      	* iresolve.cc: ...here.
      	* match.c: Moved to...
      	* match.cc: ...here.
      	* matchexp.c: Moved to...
      	* matchexp.cc: ...here.
      	* misc.c: Moved to...
      	* misc.cc: ...here.
      	* module.c: Moved to...
      	* module.cc: ...here.
      	* openmp.c: Moved to...
      	* openmp.cc: ...here.
      	* options.c: Moved to...
      	* options.cc: ...here.
      	* parse.c: Moved to...
      	* parse.cc: ...here.
      	* primary.c: Moved to...
      	* primary.cc: ...here.
      	* resolve.c: Moved to...
      	* resolve.cc: ...here.
      	* scanner.c: Moved to...
      	* scanner.cc: ...here.
      	* simplify.c: Moved to...
      	* simplify.cc: ...here.
      	* st.c: Moved to...
      	* st.cc: ...here.
      	* symbol.c: Moved to...
      	* symbol.cc: ...here.
      	* target-memory.c: Moved to...
      	* target-memory.cc: ...here.
      	* trans-array.c: Moved to...
      	* trans-array.cc: ...here.
      	* trans-common.c: Moved to...
      	* trans-common.cc: ...here.
      	* trans-const.c: Moved to...
      	* trans-const.cc: ...here.
      	* trans-decl.c: Moved to...
      	* trans-decl.cc: ...here.
      	* trans-expr.c: Moved to...
      	* trans-expr.cc: ...here.
      	* trans-intrinsic.c: Moved to...
      	* trans-intrinsic.cc: ...here.
      	* trans-io.c: Moved to...
      	* trans-io.cc: ...here.
      	* trans-openmp.c: Moved to...
      	* trans-openmp.cc: ...here.
      	* trans-stmt.c: Moved to...
      	* trans-stmt.cc: ...here.
      	* trans-types.c: Moved to...
      	* trans-types.cc: ...here.
      	* trans.c: Moved to...
      	* trans.cc: ...here.
      
      gcc/go/ChangeLog:
      
      	* go-backend.c: Moved to...
      	* go-backend.cc: ...here.
      	* go-lang.c: Moved to...
      	* go-lang.cc: ...here.
      	* gospec.c: Moved to...
      	* gospec.cc: ...here.
      
      gcc/jit/ChangeLog:
      
      	* dummy-frontend.c: Moved to...
      	* dummy-frontend.cc: ...here.
      	* jit-builtins.c: Moved to...
      	* jit-builtins.cc: ...here.
      	* jit-logging.c: Moved to...
      	* jit-logging.cc: ...here.
      	* jit-playback.c: Moved to...
      	* jit-playback.cc: ...here.
      	* jit-recording.c: Moved to...
      	* jit-recording.cc: ...here.
      	* jit-result.c: Moved to...
      	* jit-result.cc: ...here.
      	* jit-spec.c: Moved to...
      	* jit-spec.cc: ...here.
      	* jit-tempdir.c: Moved to...
      	* jit-tempdir.cc: ...here.
      	* jit-w32.c: Moved to...
      	* jit-w32.cc: ...here.
      	* libgccjit.c: Moved to...
      	* libgccjit.cc: ...here.
      
      gcc/lto/ChangeLog:
      
      	* common.c: Moved to...
      	* common.cc: ...here.
      	* lto-common.c: Moved to...
      	* lto-common.cc: ...here.
      	* lto-dump.c: Moved to...
      	* lto-dump.cc: ...here.
      	* lto-lang.c: Moved to...
      	* lto-lang.cc: ...here.
      	* lto-object.c: Moved to...
      	* lto-object.cc: ...here.
      	* lto-partition.c: Moved to...
      	* lto-partition.cc: ...here.
      	* lto-symtab.c: Moved to...
      	* lto-symtab.cc: ...here.
      	* lto.c: Moved to...
      	* lto.cc: ...here.
      
      gcc/objc/ChangeLog:
      
      	* objc-act.c: Moved to...
      	* objc-act.cc: ...here.
      	* objc-encoding.c: Moved to...
      	* objc-encoding.cc: ...here.
      	* objc-gnu-runtime-abi-01.c: Moved to...
      	* objc-gnu-runtime-abi-01.cc: ...here.
      	* objc-lang.c: Moved to...
      	* objc-lang.cc: ...here.
      	* objc-map.c: Moved to...
      	* objc-map.cc: ...here.
      	* objc-next-runtime-abi-01.c: Moved to...
      	* objc-next-runtime-abi-01.cc: ...here.
      	* objc-next-runtime-abi-02.c: Moved to...
      	* objc-next-runtime-abi-02.cc: ...here.
      	* objc-runtime-shared-support.c: Moved to...
      	* objc-runtime-shared-support.cc: ...here.
      
      gcc/objcp/ChangeLog:
      
      	* objcp-decl.c: Moved to...
      	* objcp-decl.cc: ...here.
      	* objcp-lang.c: Moved to...
      	* objcp-lang.cc: ...here.
      
      libcpp/ChangeLog:
      
      	* charset.c: Moved to...
      	* charset.cc: ...here.
      	* directives.c: Moved to...
      	* directives.cc: ...here.
      	* errors.c: Moved to...
      	* errors.cc: ...here.
      	* expr.c: Moved to...
      	* expr.cc: ...here.
      	* files.c: Moved to...
      	* files.cc: ...here.
      	* identifiers.c: Moved to...
      	* identifiers.cc: ...here.
      	* init.c: Moved to...
      	* init.cc: ...here.
      	* lex.c: Moved to...
      	* lex.cc: ...here.
      	* line-map.c: Moved to...
      	* line-map.cc: ...here.
      	* macro.c: Moved to...
      	* macro.cc: ...here.
      	* makeucnid.c: Moved to...
      	* makeucnid.cc: ...here.
      	* mkdeps.c: Moved to...
      	* mkdeps.cc: ...here.
      	* pch.c: Moved to...
      	* pch.cc: ...here.
      	* symtab.c: Moved to...
      	* symtab.cc: ...here.
      	* traditional.c: Moved to...
      	* traditional.cc: ...here.
      5c69acb3
  4. Jan 03, 2022
  5. Nov 01, 2021
    • David Malcolm's avatar
      diagnostics: escape non-ASCII source bytes for certain diagnostics · bd5e882c
      David Malcolm authored
      
      This patch adds support to GCC's diagnostic subsystem for escaping certain
      bytes and Unicode characters when quoting source code.
      
      Specifically, this patch adds a new flag rich_location::m_escape_on_output
      which is a hint from a diagnostic that non-ASCII bytes in the pertinent
      lines of the user's source code should be escaped when printed.
      
      The patch sets this for the following diagnostics:
      - when complaining about stray bytes in the program (when these
      are non-printable)
      - when complaining about "null character(s) ignored");
      - for -Wnormalized= (and generate source ranges for such warnings)
      
      The escaping is controlled by a new option:
        -fdiagnostics-escape-format=[unicode|bytes]
      
      For example, consider a diagnostic involing a source line containing the
      string "before" followed by the Unicode character U+03C0 ("GREEK SMALL
      LETTER PI", with UTF-8 encoding 0xCF 0x80) followed by the byte 0xBF
      (a stray UTF-8 trailing byte), followed by the string "after", where the
      diagnostic highlights the U+03C0 character.
      
      By default, this line will be printed verbatim to the user when
      reporting a diagnostic at it, as:
      
       beforeπXafter
             ^
      
      (using X for the stray byte to avoid putting invalid UTF-8 in this
      commit message)
      
      If the diagnostic sets the "escape" flag, it will be printed as:
      
       before<U+03C0><BF>after
             ^~~~~~~~
      
      with -fdiagnostics-escape-format=unicode (the default), or as:
      
        before<CF><80><BF>after
              ^~~~~~~~
      
      if the user supplies -fdiagnostics-escape-format=bytes.
      
      This only affects how the source is printed; it does not affect
      how column numbers that are printed (as per -fdiagnostics-column-unit=
      and -fdiagnostics-column-origin=).
      
      gcc/c-family/ChangeLog:
      	* c-lex.c (c_lex_with_flags): When complaining about non-printable
      	CPP_OTHER tokens, set the "escape on output" flag.
      
      gcc/ChangeLog:
      	* common.opt (fdiagnostics-escape-format=): New.
      	(diagnostics_escape_format): New enum.
      	(DIAGNOSTICS_ESCAPE_FORMAT_UNICODE): New enum value.
      	(DIAGNOSTICS_ESCAPE_FORMAT_BYTES): Likewise.
      	* diagnostic-format-json.cc (json_end_diagnostic): Add
      	"escape-source" attribute.
      	* diagnostic-show-locus.c
      	(exploc_with_display_col::exploc_with_display_col): Replace
      	"tabstop" param with a cpp_char_column_policy and add an "aspect"
      	param.  Use these to compute m_display_col accordingly.
      	(struct char_display_policy): New struct.
      	(layout::m_policy): New field.
      	(layout::m_escape_on_output): New field.
      	(def_policy): New function.
      	(make_range): Update for changes to exploc_with_display_col ctor.
      	(default_print_decoded_ch): New.
      	(width_per_escaped_byte): New.
      	(escape_as_bytes_width): New.
      	(escape_as_bytes_print): New.
      	(escape_as_unicode_width): New.
      	(escape_as_unicode_print): New.
      	(make_policy): New.
      	(layout::layout): Initialize new fields.  Update m_exploc ctor
      	call for above change to ctor.
      	(layout::maybe_add_location_range): Update for changes to
      	exploc_with_display_col ctor.
      	(layout::calculate_x_offset_display): Update for change to
      	cpp_display_width.
      	(layout::print_source_line): Pass policy
      	to cpp_display_width_computation. Capture cpp_decoded_char when
      	calling process_next_codepoint.  Move printing of source code to
      	m_policy.m_print_cb.
      	(line_label::line_label): Pass in policy rather than context.
      	(layout::print_any_labels): Update for change to line_label ctor.
      	(get_affected_range): Pass in policy rather than context, updating
      	calls to location_compute_display_column accordingly.
      	(get_printed_columns): Likewise, also for cpp_display_width.
      	(correction::correction): Pass in policy rather than tabstop.
      	(correction::compute_display_cols): Pass m_policy rather than
      	m_tabstop to cpp_display_width.
      	(correction::m_tabstop): Replace with...
      	(correction::m_policy): ...this.
      	(line_corrections::line_corrections): Pass in policy rather than
      	context.
      	(line_corrections::m_context): Replace with...
      	(line_corrections::m_policy): ...this.
      	(line_corrections::add_hint): Update to use m_policy rather than
      	m_context.
      	(line_corrections::add_hint): Likewise.
      	(layout::print_trailing_fixits): Likewise.
      	(selftest::test_display_widths): New.
      	(selftest::test_layout_x_offset_display_utf8): Update to use
      	policy rather than tabstop.
      	(selftest::test_one_liner_labels_utf8): Add test of escaping
      	source lines.
      	(selftest::test_diagnostic_show_locus_one_liner_utf8): Update to
      	use policy rather than tabstop.
      	(selftest::test_overlapped_fixit_printing): Likewise.
      	(selftest::test_overlapped_fixit_printing_utf8): Likewise.
      	(selftest::test_overlapped_fixit_printing_2): Likewise.
      	(selftest::test_tab_expansion): Likewise.
      	(selftest::test_escaping_bytes_1): New.
      	(selftest::test_escaping_bytes_2): New.
      	(selftest::diagnostic_show_locus_c_tests): Call the new tests.
      	* diagnostic.c (diagnostic_initialize): Initialize
      	context->escape_format.
      	(convert_column_unit): Update to use default character width policy.
      	(selftest::test_diagnostic_get_location_text): Likewise.
      	* diagnostic.h (enum diagnostics_escape_format): New enum.
      	(diagnostic_context::escape_format): New field.
      	* doc/invoke.texi (-fdiagnostics-escape-format=): New option.
      	(-fdiagnostics-format=): Add "escape-source" attribute to examples
      	of JSON output, and document it.
      	* input.c (location_compute_display_column): Pass in "policy"
      	rather than "tabstop", passing to
      	cpp_byte_column_to_display_column.
      	(selftest::test_cpp_utf8): Update to use cpp_char_column_policy.
      	* input.h (class cpp_char_column_policy): New forward decl.
      	(location_compute_display_column): Pass in "policy" rather than
      	"tabstop".
      	* opts.c (common_handle_option): Handle
      	OPT_fdiagnostics_escape_format_.
      	* selftest.c (temp_source_file::temp_source_file): New ctor
      	overload taking a size_t.
      	* selftest.h (temp_source_file::temp_source_file): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* c-c++-common/diagnostic-format-json-1.c: Add regexp to consume
      	"escape-source" attribute.
      	* c-c++-common/diagnostic-format-json-2.c: Likewise.
      	* c-c++-common/diagnostic-format-json-3.c: Likewise.
      	* c-c++-common/diagnostic-format-json-4.c: Likewise, twice.
      	* c-c++-common/diagnostic-format-json-5.c: Likewise.
      	* gcc.dg/cpp/warn-normalized-4-bytes.c: New test.
      	* gcc.dg/cpp/warn-normalized-4-unicode.c: New test.
      	* gcc.dg/encoding-issues-bytes.c: New test.
      	* gcc.dg/encoding-issues-unicode.c: New test.
      	* gfortran.dg/diagnostic-format-json-1.F90: Add regexp to consume
      	"escape-source" attribute.
      	* gfortran.dg/diagnostic-format-json-2.F90: Likewise.
      	* gfortran.dg/diagnostic-format-json-3.F90: Likewise.
      
      libcpp/ChangeLog:
      	* charset.c (convert_escape): Use encoding_rich_location when
      	complaining about nonprintable unknown escape sequences.
      	(cpp_display_width_computation::::cpp_display_width_computation):
      	Pass in policy rather than tabstop.
      	(cpp_display_width_computation::process_next_codepoint): Add "out"
      	param and populate *out if non-NULL.
      	(cpp_display_width_computation::advance_display_cols): Pass NULL
      	to process_next_codepoint.
      	(cpp_byte_column_to_display_column): Pass in policy rather than
      	tabstop.  Pass NULL to process_next_codepoint.
      	(cpp_display_column_to_byte_column): Pass in policy rather than
      	tabstop.
      	* errors.c (cpp_diagnostic_get_current_location): New function,
      	splitting out the logic from...
      	(cpp_diagnostic): ...here.
      	(cpp_warning_at): New function.
      	(cpp_pedwarning_at): New function.
      	* include/cpplib.h (cpp_warning_at): New decl for rich_location.
      	(cpp_pedwarning_at): Likewise.
      	(struct cpp_decoded_char): New.
      	(struct cpp_char_column_policy): New.
      	(cpp_display_width_computation::cpp_display_width_computation):
      	Replace "tabstop" param with "policy".
      	(cpp_display_width_computation::process_next_codepoint): Add "out"
      	param.
      	(cpp_display_width_computation::m_tabstop): Replace with...
      	(cpp_display_width_computation::m_policy): ...this.
      	(cpp_byte_column_to_display_column): Replace "tabstop" param with
      	"policy".
      	(cpp_display_width): Likewise.
      	(cpp_display_column_to_byte_column): Likewise.
      	* include/line-map.h (rich_location::escape_on_output_p): New.
      	(rich_location::set_escape_on_output): New.
      	(rich_location::m_escape_on_output): New.
      	* internal.h (cpp_diagnostic_get_current_location): New decl.
      	(class encoding_rich_location): New.
      	* lex.c (skip_whitespace): Use encoding_rich_location when
      	complaining about null characters.
      	(warn_about_normalization): Generate a source range when
      	complaining about improperly normalized tokens, rather than just a
      	point, and use encoding_rich_location so that the source code
      	is escaped on printing.
      	* line-map.c (rich_location::rich_location): Initialize
      	m_escape_on_output.
      
      Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
      bd5e882c
  6. Jan 04, 2021
  7. Jan 01, 2020
  8. Jan 01, 2019
  9. Nov 13, 2018
    • David Malcolm's avatar
      Eliminate source_location in favor of location_t · 620e594b
      David Malcolm authored
      Historically GCC used location_t, while libcpp used source_location.
      
      This inconsistency has been annoying me for a while, so this patch
      removes source_location in favor of location_t throughout
      (as the latter is shorter).
      
      gcc/ChangeLog:
      	* builtins.c: Replace "source_location" with "location_t".
      	* diagnostic-show-locus.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dumpfile.c: Likewise.
      	* gcc-rich-location.h: Likewise.
      	* genmatch.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* input.c: Likewise.
      	* input.h: Likewise.  Eliminate the typedef.
      	* omp-expand.c: Likewise.
      	* selftest.h: Likewise.
      	* substring-locations.h (get_source_location_for_substring):
      	Rename to..
      	(get_location_within_string): ...this.
      	* tree-cfg.c: Replace "source_location" with "location_t".
      	* tree-cfgcleanup.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-phinodes.h: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa.h: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_get_substring_location): Update for renaming of
      	get_source_location_for_substring to get_location_within_string.
      	* c-lex.c: Replace "source_location" with "location_t".
      	* c-opts.c: Likewise.
      	* c-ppoutput.c: Likewise.
      
      gcc/c/ChangeLog:
      	* c-decl.c: Replace "source_location" with "location_t".
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* gimple-parser.c: Likewise.
      
      gcc/cp/ChangeLog:
      	* call.c: Replace "source_location" with "location_t".
      	* cp-tree.h: Likewise.
      	* cvt.c: Likewise.
      	* name-lookup.c: Likewise.
      	* parser.c: Likewise.
      	* typeck.c: Likewise.
      
      gcc/fortran/ChangeLog:
      	* cpp.c: Replace "source_location" with "location_t".
      	* gfortran.h: Likewise.
      
      gcc/go/ChangeLog:
      	* go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
      	* go-gcc.cc: Likewise.
      	* go-linemap.cc: Likewise.
      	* go-location.h: Likewise.
      	* gofrontend/README: Likewise.
      
      gcc/jit/ChangeLog:
      	* jit-playback.c: Replace "source_location" with "location_t".
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/plugin/comment_plugin.c: Replace "source_location" with
      	"location_t".
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise.
      
      libcc1/ChangeLog:
      	* libcc1plugin.cc: Replace "source_location" with "location_t".
      	(plugin_context::get_source_location): Rename to...
      	(plugin_context::get_location_t): ...this.
      	* libcp1plugin.cc: Likewise.
      
      libcpp/ChangeLog:
      	* charset.c: Replace "source_location" with "location_t".
      	* directives-only.c: Likewise.
      	* directives.c: Likewise.
      	* errors.c: Likewise.
      	* expr.c: Likewise.
      	* files.c: Likewise.
      	* include/cpplib.h: Likewise.  Rename MAX_SOURCE_LOCATION to
      	MAX_LOCATION_T.
      	* include/line-map.h: Likewise.
      	* init.c: Likewise.
      	* internal.h: Likewise.
      	* lex.c: Likewise.
      	* line-map.c: Likewise.
      	* location-example.txt: Likewise.
      	* macro.c: Likewise.
      	* pch.c: Likewise.
      	* traditional.c: Likewise.
      
      From-SVN: r266085
      620e594b
  10. Oct 09, 2018
    • David Malcolm's avatar
      Cleanup of libcpp diagnostic callbacks · c24300ba
      David Malcolm authored
      This patch renames the "error" callback within libcpp
      to "diagnostic", and uses the pair of enums in cpplib.h, rather
      than passing two different kinds of "int" around.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_option_controlling_cpp_error): Rename to...
      	(c_option_controlling_cpp_diagnostic): ...this, and convert
      	"reason" from int to enum.
      	(c_cpp_error): Rename to...
      	(c_cpp_diagnostic): ...this, converting level and reason to enums.
      	* c-common.h (c_cpp_error): Rename to...
      	(c_cpp_diagnostic): ...this, converting level and reason to enums.
      	* c-opts.c (c_common_init_options): Update for renaming.
      
      gcc/fortran/ChangeLog:
      	* cpp.c (gfc_cpp_init_0): Update for renamings.
      	(cb_cpp_error): Rename to...
      	(cb_cpp_diagnostic): ...this, converting level and reason to
      	enums.
      
      gcc/ChangeLog:
      	* genmatch.c (error_cb): Rename to...
      	(diagnostic_cb): ...this, converting int params to enums.
      	(fatal_at): Update for renaming.
      	(warning_at): Likewise.
      	(main): Likewise.
      	* input.c (selftest::ebcdic_execution_charset::apply):
      	Update for renaming of...
      	(selftest::ebcdic_execution_charset::on_error): ...this, renaming
      	to...
      	(selftest::ebcdic_execution_charset::on_diagnostic): ...this,
      	converting level and reason to enums.
      	(class selftest::lexer_error_sink): Rename to...
      	(class selftest::lexer_test_options): ...this, renaming field
      	"m_errors" to "m_diagnostics".
      	(selftest::lexer_test_options::apply): Update for renaming of...
      	(selftest::lexer_test_options::on_error): ...this, renaming to...
      	(selftest::lexer_test_options::on_diagnostic): ...this
      	converting level and reason to enums.
      	(selftest::test_lexer_string_locations_raw_string_unterminated):
      	Update for renamings.
      	* opth-gen.awk (struct cpp_reason_option_codes_t): Use enum for
      	"reason".
      
      libcpp/ChangeLog:
      	* charset.c (noop_error_cb): Rename to...
      	(noop_diagnostic_cb): ...this, converting params to enums.
      	(cpp_interpret_string_ranges): Update for renaming and enums.
      	* directives.c (check_eol_1): Convert reason to enum.
      	(do_diagnostic): Convert code and reason to enum.
      	(do_error): Use CPP_W_NONE rather than 0.
      	(do_pragma_dependency): Likewise.
      	* errors.c (cpp_diagnostic_at): Convert level and reason to enums.
      	Update for renaming.
      	(cpp_diagnostic): Convert level and reason to enums.
      	(cpp_error): Convert level to enum.
      	(cpp_warning): Convert reason to enums.
      	(cpp_pedwarning): Likewise.
      	(cpp_warning_syshdr): Likewise.
      	(cpp_diagnostic_with_line): Convert level and reason to enums.
      	Update for renaming.
      	(cpp_error_with_line): Convert level to enum.
      	(cpp_warning_with_line): Convert reason to enums.
      	(cpp_pedwarning_with_line): Likewise.
      	(cpp_warning_with_line_syshdr): Likewise.
      	(cpp_error_at): Convert level to enum.
      	(cpp_errno): Likewise.
      	(cpp_errno_filename): Likewise.
      	* include/cpplib.h (enum cpp_diagnostic_level): Name this enum,
      	and move to before struct cpp_callbacks.
      	(enum cpp_warning_reason): Likewise.
      	(cpp_callbacks::diagnostic): Convert params from int to enums.
      	(cpp_error): Convert int param to enum cpp_diagnostic_level.
      	(cpp_warning): Convert int param to enum cpp_warning_reason.
      	(cpp_pedwarning): Likewise.
      	(cpp_warning_syshdr): Likewise.
      	(cpp_errno): Convert int param to enum cpp_diagnostic_level.
      	(cpp_errno_filename): Likewise.
      	(cpp_error_with_line): Likewise.
      	(cpp_warning_with_line): Convert int param to enum
      	cpp_warning_reason.
      	(cpp_pedwarning_with_line): Likewise.
      	(cpp_warning_with_line_syshdr): Likewise.
      	(cpp_error_at): Convert int param to enum cpp_diagnostic_level.
      	* macro.c (create_iso_definition): Convert int to enum.
      	(_cpp_create_definition): Likewise.
      
      From-SVN: r264999
      c24300ba
  11. Jan 03, 2018
  12. Oct 31, 2017
    • David Malcolm's avatar
      diagnostics: get rid of *_at_rich_loc in favor of overloading · 64a5912c
      David Malcolm authored
      Adding a fix-it hint currently involves changing e.g.:
      
        error_at (token->location,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      to:
      
        gcc_rich_location richloc (token->location);
        richloc.add_fixit_replace (hint);
        error_at_rich_loc (&richloc,
                           "unknown type name %qE; did you mean %qs?",
                           token->value, hint);
      
      to make the change from taking a location_t to a rich_location *.
      
      This patch renames the "*_at_rich_loc" diagnostic entrypoints to use
      the same function names for rich_location * as for location_t,
      via overloading, to simplify the above change to just changing from:
      
        error_at (token->location,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      to:
      
        gcc_rich_location richloc (token->location);
        richloc.add_fixit_replace (hint);
        error_at (&richloc,
                  "unknown type name %qE; did you mean %qs?",
                  token->value, hint);
      
      thus saving space (and typing) and usually avoiding the need to reindent
      the "error_at" invocation.
      
      With this change, 0 is no longer acceptable as a location_t to these
      entrypoints, as e.g.:
      
      ../../src/gcc/auto-profile.c:855:37: error: call of overloaded
      'inform(int, const char [18])' is ambiguous
             inform (0, "Not expected TAG.");
                                           ^
      In file included from ../../src/gcc/auto-profile.c:35:0:
      ../../src/gcc/diagnostic-core.h:88:13: note: candidate:
      'void inform(location_t, const char*, ...)'
       extern void inform (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3);
                   ^~~~~~
      ../../src/gcc/diagnostic-core.h:89:13: note: candidate:
      'void inform(rich_location*, const char*, ...)'
       extern void inform (rich_location *, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3);
                   ^~~~~~
      
      Such locations now need to be spelled out as UNKNOWN_LOCATION,
      rather than 0.
      
      I considered making the API take a rich_location & rather than a
      rich_location *, but doing so would mean replacing
        diagnostic_set_info
      and
        diagnostic_set_info_translated
      with a constructor for diagnostic_info, which was a more invasive
      change.  Maybe in the future.
      
      gcc/ChangeLog:
      	* auto-profile.c (autofdo_source_profile::read): Use
      	UNKNOWN_LOCATION rather than 0.
      	* diagnostic-core.h (warning_at_rich_loc): Rename to...
      	(warning_at): ...this overload.
      	(warning_at_rich_loc_n): Rename to...
      	(warning_n): ...this overload.
      	(error_at_rich_loc): Rename to...
      	(error_at): ...this overload.
      	(pedwarn_at_rich_loc): Rename to...
      	(pedwarn): ...this overload.
      	(permerror_at_rich_loc): Rename to...
      	(permerror): ...this overload.
      	(inform_at_rich_loc): Rename to...
      	(inform): ...this overload.
      	* diagnostic.c: (diagnostic_n_impl): Delete location_t-based decl.
      	(diagnostic_n_impl_richloc): Rename to...
      	(diagnostic_n_impl): ...this rich_location *-based decl.
      	(inform_at_rich_loc): Rename to...
      	(inform): ...this, and add an assertion.
      	(inform_n): Update for removal of location_t-based diagnostic_n_impl.
      	(warning_at_rich_loc): Rename to...
      	(warning_at): ...this, and add an assertion.
      	(warning_at_rich_loc_n): Rename to...
      	(warning_n): ...this, and add an assertion.
      	(warning_n): Update location_t-based implementation for removal of
      	location_t-based diagnostic_n_impl.
      	(pedwarn_at_rich_loc): Rename to...
      	(pedwarn): ...this, and add an assertion.
      	(permerror_at_rich_loc): Rename to...
      	(permerror): ...this, and add an assertion.
      	(error_n): Update for removal of location_t-based diagnostic_n_impl.
      	(error_at_rich_loc): Rename to...
      	(error_at): ...this, and add an assertion.
      	* gcc.c (do_spec_1): Use UNKNOWN_LOCATION rather than 0.
      	(driver::do_spec_on_infiles): Likewise.
      	* substring-locations.c (format_warning_va): Update for renaming
      	of inform_at_rich_loc.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (binary_op_error): Update for renaming of
      	error_at_rich_loc.
      	(c_parse_error): Likewise.
      	* c-warn.c (warn_logical_not_parentheses): Likewise for
      	renaming of inform_at_rich_loc.
      	(warn_for_restrict): Likewise for renaming of
      	warning_at_rich_loc_n.
      
      gcc/c/ChangeLog:
      	* c-decl.c (implicit_decl_warning): Update for renaming of
      	pedwarn_at_rich_loc and warning_at_rich_loc.
      	(implicitly_declare): Likewise for renaming of inform_at_rich_loc.
      	(undeclared_variable): Likewise for renaming of error_at_rich_loc.
      	* c-parser.c (c_parser_declaration_or_fndef): Likewise.
      	(c_parser_struct_or_union_specifier): Likewise for renaming of
      	pedwarn_at_rich_loc.
      	(c_parser_parameter_declaration): Likewise for renaming of
      	error_at_rich_loc.
      	* c-typeck.c (build_component_ref): Likewise.
      	(build_unary_op): Likewise for renaming of inform_at_rich_loc.
      	(pop_init_level): Likewise for renaming of warning_at_rich_loc.
      	(set_init_label): Likewise for renaming of error_at_rich_loc.
      
      gcc/cp/ChangeLog:
      	* class.c (explain_non_literal_class): Use UNKNOWN_LOCATION rather
      	than 0.
      	* name-lookup.c (suggest_alternatives_for): Update for renaming of
      	inform_at_rich_loc.
      	(maybe_suggest_missing_header): Likewise.
      	(suggest_alternative_in_explicit_scope): Likewise.
      	* parser.c (cp_parser_diagnose_invalid_type_name): Likewise for
      	renaming of error_at_rich_loc.
      	(cp_parser_string_literal): Likewise.
      	(cp_parser_nested_name_specifier_opt): Likewise.
      	(cp_parser_cast_expression): Likewise for renaming of
      	warning_at_rich_loc.
      	(cp_parser_decl_specifier_seq): Likewise for renaming of
      	error_at_rich_loc and warning_at_rich_loc.
      	(cp_parser_elaborated_type_specifier): Likewise for renaming of
      	pedwarn_at_rich_loc.
      	(cp_parser_cv_qualifier_seq_opt): Likewise for renaming of
      	error_at_rich_loc.
      	(cp_parser_virt_specifier_seq_opt): Likewise.
      	(cp_parser_class_specifier_1): Likewise.
      	(cp_parser_class_head): Likewise.
      	(cp_parser_member_declaration): Likewise for renaming of
      	pedwarn_at_rich_loc, warning_at_rich_loc, and error_at_rich_loc.
      	(cp_parser_enclosed_template_argument_list): Likewise for renaming
      	of error_at_rich_loc.
      	(set_and_check_decl_spec_loc): Likewise.
      	* pt.c (listify): Likewise.
      	* rtti.c (typeid_ok_p): Likewise.
      	* semantics.c (process_outer_var_ref): Use UNKNOWN_LOCATION rather
      	than 0.
      	* typeck.c (access_failure_info::maybe_suggest_accessor): Update
      	for renaming of inform_at_rich_loc.
      	(finish_class_member_access_expr): Likewise for renaming of
      	error_at_rich_loc.
      
      gcc/objc/ChangeLog:
      	* objc-gnu-runtime-abi-01.c (objc_gnu_runtime_abi_01_init): Use
      	UNKNOWN_LOCATION rather than 0.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Update
      	for renaming of error_at_rich_loc and inform_at_rich_loc.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Likewise for renaming of warning_at_rich_loc.
      
      libcpp/ChangeLog:
      	* directives.c (_cpp_handle_directive): Update for renaming of
      	cpp_error_at_richloc to cpp_error_at.
      	* errors.c (cpp_diagnostic_at_richloc): Rename to...
      	(cpp_diagnostic_at): ...this, dropping the location_t-based
      	implementation.
      	(cpp_diagnostic): Update for removal of location_t-based
      	cpp_diagnostic_at.
      	(cpp_error_at): Likewise.
      	(cpp_error_at_richloc): Rename to...
      	(cpp_error_at): ...this, and update for renaming of
      	cpp_diagnostic_at_richloc.
      	* include/cpplib.h (cpp_error_at_richloc): Rename to...
      	(cpp_error_at): ...this.
      
      From-SVN: r254280
      64a5912c
  13. Jan 01, 2017
  14. Aug 18, 2016
    • David Malcolm's avatar
      Spelling suggestions for misspelled preprocessor directives · cb18fd07
      David Malcolm authored
      This patch allows the preprocessor to offer suggestions for misspelled
      directives, taking us from e.g.:
      
      test.c:5:2: error: invalid preprocessing directive #endfi
       #endfi
        ^~~~~
      
      to:
      
      test.c:5:2: error: invalid preprocessing directive #endfi; did you mean #endif?
       #endfi
        ^~~~~
        endif
      
      gcc/c-family/ChangeLog:
      	* c-common.c: Include "spellcheck.h".
      	(cb_get_suggestion): New function.
      	* c-common.h (cb_get_suggestion): New decl.
      	* c-lex.c (init_c_lex): Initialize cb->get_suggestion to
      	cb_get_suggestion.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/cpp/misspelled-directive-1.c: New testcase.
      	* gcc.dg/cpp/misspelled-directive-2.c: New testcase.
      
      libcpp/ChangeLog:
      	* directives.c (directive_names): New array.
      	(_cpp_handle_directive): Offer spelling suggestions for misspelled
      	directives.
      	* errors.c (cpp_diagnostic_at_richloc): New function.
      	(cpp_error_at_richloc): New function.
      	* include/cpplib.h (struct cpp_callbacks): Add field
      	"get_suggestion".
      	(cpp_error_at_richloc): New decl.
      
      From-SVN: r239585
      cb18fd07
  15. Jun 22, 2016
    • David Malcolm's avatar
      libcpp: Tweak to missing #include source location · ac81cf0b
      David Malcolm authored
      This patch tweaks the error message location for missing header files.
      
      Previously these read:
      
      test.c:1:17: fatal error: 404.h: No such file or directory
       #include "404.h"
                       ^
      compilation terminated.
      
      With this patch, the pertinent string is underlined:
      
      test.c:1:10: fatal error: 404.h: No such file or directory
       #include "404.h"
                ^~~~~~~
      compilation terminated.
      
      gcc/testsuite/ChangeLog:
      	* c-c++-common/missing-header-1.c: New test case.
      	* c-c++-common/missing-header-2.c: New test case.
      	* c-c++-common/missing-header-3.c: New test case.
      	* c-c++-common/missing-header-4.c: New test case.
      
      libcpp/ChangeLog:
      	* directives.c (do_include_common): Pass on "location" to
      	_cpp_stack_include.
      	* errors.c (cpp_diagnostic): Reimplement in terms of...
      	(cpp_diagnostic_at): New function.
      	(cpp_error_at): New function.
      	(cpp_errno_filename): Add "loc" param and use it by using
      	cpp_error_at rather than cpp_error.
      	* files.c (find_file_in_dir): Add "loc" param and pass it to
      	open_file_failed.
      	(_cpp_find_file): Add "loc" param.  Use it to convert calls to
      	cpp_error to cpp_error_at, and pass it to find_file_in_dir and
      	open_file_failed.
      	(read_file_guts): Add "loc" param.  Use it to convert calls to
      	cpp_error to cpp_error_at.  Pass it to cpp_errno_filename.
      	(read_file): Add "loc" param.  Pass it to open_file_failed and
      	read_file_guts.
      	(should_stack_file): Add "loc" param.  Pass it to read_file.
      	(_cpp_stack_file): Add "loc" param.  Pass it to should_stack_file.
      	(_cpp_stack_include): Add "loc" param.  Pass it to
      	_cpp_find_file and _cpp_stack_file.
      	(open_file_failed): Add "loc" param.  Pass it to
      	cpp_errno_filename.
      	(_cpp_fake_include): Add 0 as a source_location in call to
      	_cpp_find_file.
      	(_cpp_compare_file_date): Likewise.
      	(cpp_push_include): Likewise for call to _cpp_stack_include.
      	(cpp_push_default_include): Likewise.
      	(_cpp_save_file_entries): Likewise for call to open_file_failed.
      	(_cpp_has_header): Likewise for call to _cpp_find_file.
      	* include/cpplib.h (cpp_errno_filename): Add source_location
      	param.
      	(cpp_error_at): New declaration.
      	* init.c (cpp_read_main_file): Add 0 as a source_location in calls
      	to _cpp_find_file and _cpp_stack_file.
      	* internal.h (_cpp_find_file): Add source_location param.
      	(_cpp_stack_file): Likewise.
      	(_cpp_stack_include): Likewise.
      
      From-SVN: r237715
      ac81cf0b
  16. Feb 08, 2016
    • David Malcolm's avatar
      PR preprocessor/69664: fix rich_location::override_column · 44714d8c
      David Malcolm authored
      gcc/testsuite/ChangeLog:
      	PR preprocessor/69664
      	* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
      	* gcc.dg/cpp/warn-comments.c: Likewise.
      
      libcpp/ChangeLog:
      	PR preprocessor/69664
      	* errors.c (cpp_diagnostic_with_line): Only call
      	rich_location::override_column if the column is non-zero.
      	* line-map.c (rich_location::override_column): Update columns
      	within m_ranges[0].  Add assertions to verify that doing so is
      	sane.
      
      From-SVN: r233223
      44714d8c
  17. Jan 04, 2016
  18. Nov 19, 2015
    • Jakub Jelinek's avatar
      re PR preprocessor/60736 (Crash in preprocessor including stdc-predef.h when... · 46ce03de
      Jakub Jelinek authored
      re PR preprocessor/60736 (Crash in preprocessor including stdc-predef.h when it does not exist on glibc-based systems)
      
      	PR preprocessor/60736
      	* include/cpplib.h (cpp_errno_filename): New prototype.
      	* errors.c (cpp_errno): Don't handle msgid "" specially, use
      	_(msgid) instead of msgid as argument to cpp_error.
      	(cpp_errno_filename): New function.
      	* files.c (read_file_guts): Use cpp_errno_filename instead of
      	cpp_errno.
      	(open_file_failed): Likewise.  Use file->name if file->path is NULL
      	in diagnostics.
      
      From-SVN: r230591
      46ce03de
  19. Nov 13, 2015
    • David Malcolm's avatar
      Source range tracking in libcpp and C FE, with bit-packing optimization · ebedc9a3
      David Malcolm authored
      This patch combines:
        [PATCH 05/10] Add ranges to libcpp tokens (via ad-hoc data, unoptimized)
        [PATCH 06/10] Track expression ranges in C frontend
        [PATCH 07/10] Add plugin to recursively dump the source-ranges in a tree (v2)
        [PATCH 08/10] Wire things up so that libcpp users get token underlines
        [PATCH 09/10] Delay some resolution of ad-hoc locations, preserving ranges
        [PATCH 10/10] Compress short ranges into source_location
        [PATCH] libcpp: add examples to source_location description
      along with fixes for the nits identified during review.
      
      gcc/ChangeLog:
      	* Makefile.in (OBJS): Add gcc-rich-location.o.
      	* diagnostic.c (diagnostic_append_note): Pass line_table to
      	rich_location ctor.
      	(emit_diagnostic): Likewise.
      	(inform): Likewise.
      	(inform_n): Likewise.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_n): Likewise.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(error): Likewise.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(sorry): Likewise.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(source_range::debug): Likewise.
      	* gcc-rich-location.c: New file.
      	* gcc-rich-location.h: New file.
      	* genmatch.c (fatal_at): Pass line_table to rich_location ctor.
      	(warning_at): Likewise.
      	* gimple.h (gimple_set_block): Use set_block function.
      	* input.c (dump_line_table_statistics): Dump stats on how many
      	ranges were optimized vs how many needed ad-hoc table.
      	(write_digit_row): Add "map" param; use its range_bits
      	to calculate the per-character offset.
      	(dump_location_info): Print the range and column bits for each
      	ordinary map.  Use the range bits to calculate the per-character
      	offset.  Pass the map as a new param to the various calls to
      	write_digit_row.  Eliminate uses of
      	ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
      	* print-tree.c (print_node): Print any source range information.
      	* rtl-error.c (diagnostic_for_asm): Likewise.
      	* toplev.c (general_init): Initialize line_table's
      	default_range_bits.
      	* tree-cfg.c (move_block_to_fn): Likewise.
      	(move_block_to_fn): Likewise.
      	* tree-inline.c (copy_phis_for_bb): Likewise.
      	* tree.c (tree_set_block): Likewise.
      	(get_pure_location): New function.
      	(set_source_range): New functions.
      	(set_block): New function.
      	(set_source_range): New functions.
      	* tree.h (CAN_HAVE_RANGE_P): New.
      	(EXPR_LOCATION_RANGE): New.
      	(EXPR_HAS_RANGE): New.
      	(get_expr_source_range): New inline function.
      	(DECL_LOCATION_RANGE): New.
      	(set_source_range): New decls.
      	(get_decl_source_range): New inline function.
      
      gcc/ada/ChangeLog:
      	* gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
      	calling linemap_position_for_line_and_column.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_fully_fold_internal): Capture existing souce_range,
      	and store it on the result.
      	* c-opts.c (c_common_init_options): Set
      	global_dc->colorize_source_p.
      
      gcc/c/ChangeLog:
      	* c-decl.c (warn_defaults_to): Pass line_table to
      	rich_location ctor.
      	* c-errors.c (pedwarn_c99): Likewise.
      	(pedwarn_c90): Likewise.
      	* c-parser.c (set_c_expr_source_range): New functions.
      	(c_token::get_range): New method.
      	(c_token::get_finish): New method.
      	(c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
      	based on the range from the start of the LHS to the end of the
      	RHS.
      	(c_parser_conditional_expression): Likewise, based on the range
      	from the start of the cond.value to the end of exp2.value.
      	(c_parser_binary_expression): Call set_c_expr_source_range on
      	the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
      	(c_parser_cast_expression): Call set_c_expr_source_range on ret
      	based on the cast_loc through to the end of the expr.
      	(c_parser_unary_expression): Likewise, based on the
      	op_loc through to the end of op.
      	(c_parser_sizeof_expression) Likewise, based on the start of the
      	sizeof token through to either the closing paren or the end of
      	expr.
      	(c_parser_postfix_expression): Likewise, using the token range,
      	or from the open paren through to the close paren for
      	parenthesized expressions.
      	(c_parser_postfix_expression_after_primary): Likewise, for
      	various kinds of expression.
      	* c-tree.h (struct c_expr): Add field "src_range".
      	(c_expr::get_start): New method.
      	(c_expr::get_finish): New method.
      	(set_c_expr_source_range): New decls.
      	* c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
      	on ret for prefix unary ops.
      	(parser_build_binary_op): Likewise, running from the start of
      	arg1.value through to the end of arg2.value.
      
      gcc/cp/ChangeLog:
      	* error.c (pedwarn_cxx98): Pass line_table to rich_location ctor.
      
      gcc/fortran/ChangeLog:
      	* error.c (gfc_warning): Pass line_table to rich_location ctor.
      	(gfc_warning_now_at): Likewise.
      	(gfc_warning_now): Likewise.
      	(gfc_error_now): Likewise.
      	(gfc_fatal_error): Likewise.
      	(gfc_error): Likewise.
      	(gfc_internal_error): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/diagnostic-token-ranges.c: New file.
      	* gcc.dg/diagnostic-tree-expr-ranges-2.c: New file.
      	* gcc.dg/plugin/diagnostic-test-expressions-1.c: New file.
      	* gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add
      	line_table param when calling
      	linemap_position_for_line_and_column.
      	(test_show_locus): Pass line_table to rich_location ctors.
      	(plugin_init): Remove setting of global_dc->colorize_source_p.
      	* gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c:
      	New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
      	diagnostic_plugin_test_tree_expression_range.c,
      	diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c,
      	and diagnostic-test-show-trees-1.c.
      
      libcpp/ChangeLog:
      	* errors.c (cpp_diagnostic): Pass pfile->line_table to
      	rich_location ctor.
      	(cpp_diagnostic_with_line): Likewise.
      	* include/cpplib.h (struct cpp_token): Update comment for src_loc
      	to indicate that the range of the token is "baked into" the
      	source_location.
      	* include/line-map.h (source_location): Update the descriptive
      	comment to reflect the packing scheme for short ranges, adding
      	worked examples of location encoding.
      	(struct line_map_ordinary): Drop field "column_bits" in favor
      	of field "m_column_and_range_bits"; add field "m_range_bits".
      	(ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
      	(location_adhoc_data): Add source_range field.
      	(struct line_maps): Add fields "default_range_bits",
      	"num_optimized_ranges" and "num_unoptimized_ranges".
      	(get_combined_adhoc_loc): Add source_range param.
      	(get_range_from_loc): New declaration.
      	(pure_location_p): New prototype.
      	(COMBINE_LOCATION_DATA):  Add source_range param.
      	(SOURCE_LINE): Update for renaming of column_bits.
      	(SOURCE_COLUMN): Likewise.  Shift the column right by the map's
      	range_bits.
      	(LAST_SOURCE_LINE_LOCATION): Update for renaming of column_bits.
      	(linemap_position_for_line_and_column): Add line_maps * params.
      	(rich_location::rich_location): Likewise.
      	* lex.c (_cpp_lex_direct): Capture the range of the token, baking
      	it into token->src_loc via a call to COMBINE_LOCATION_DATA.
      	* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER): Reduce from 1U << 17 to
      	1U << 12.
      	(location_adhoc_data_hash): Add the src_range into
      	the hash value.
      	(location_adhoc_data_eq): Require equality of the src_range
      	values.
      	(can_be_stored_compactly_p): New function.
      	(get_combined_adhoc_loc): Add src_range param, and store it,
      	via a bit-packing scheme for short ranges, otherwise within the
      	lookaside table.  Remove the requirement that data is non-NULL.
      	(get_range_from_adhoc_loc): New function.
      	(get_range_from_loc): New function.
      	(pure_location_p): New function.
      	(linemap_add): Ensure that start_location has zero for the
      	range_bits, unless we're past LINE_MAP_MAX_LOCATION_WITH_COLS.
      	Initialize range_bits to zero.  Assert that the start_location
      	is "pure".
      	(linemap_line_start): Assert that the
      	column_and_range_bits >= range_bits.
      	Update determinination of whether we need to start a new map
      	using the effective column bits, without the range bits.
      	Use the set's default_range_bits in new maps, apart from
      	those with column_bits == 0, which should also have 0 range_bits.
      	Increase the column bits for new maps by the range bits.
      	When adding lines to an existing map, use set->highest_line
      	directly rather than offsetting highest by SOURCE_COLUMN.
      	Add assertions to sanity-check the return value.
      	(linemap_position_for_column): Offset to_column by range_bits.
      	Update set->highest_location if necessary.
      	(linemap_position_for_line_and_column): Add line_maps * param.
      	Update the calculation to offset the column by range_bits, and
      	conditionalize it on being <= LINE_MAP_MAX_LOCATION_WITH_COLS.
      	Bound it by LINEMAPS_MACRO_LOWEST_LOCATION.  Update
      	set->highest_location if necessary.
      	(linemap_position_for_loc_and_offset): Handle ad-hoc locations;
      	pass "set" to linemap_position_for_line_and_column.
      	(linemap_macro_map_loc_unwind_toward_spelling): Add line_maps
      	param.  Handle ad-hoc locations.
      	(linemap_location_in_system_header_p): Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_macro_loc_to_spelling_point): Retain ad-hoc locations.
      	Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_resolve_location): Retain ad-hoc locations.  Pass on
      	"set" to call to linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_unwind_toward_expansion):  Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_expand_location): Extract the data pointer before
      	extracting the location.
      	(rich_location::rich_location): Add line_maps param; use it to
      	extract the range from the source_location.
      	* location-example.txt: Regenerate, showing new representation.
      
      From-SVN: r230331
      ebedc9a3
  20. Nov 06, 2015
    • David Malcolm's avatar
      Reimplement diagnostic_show_locus, introducing rich_location classes · 8a645150
      David Malcolm authored
      gcc/ChangeLog:
      	* diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
      	and "range2".
      	(parse_gcc_colors): Update comment to describe default GCC_COLORS.
      	* diagnostic-core.h (warning_at_rich_loc): New declaration.
      	(error_at_rich_loc): New declaration.
      	(permerror_at_rich_loc): New declaration.
      	(inform_at_rich_loc): New declaration.
      	* diagnostic-show-locus.c (adjust_line): Delete.
      	(struct point_state): New struct.
      	(class colorizer): New class.
      	(class layout_point): New class.
      	(class layout_range): New class.
      	(struct line_bounds): New.
      	(class layout): New class.
      	(colorizer::colorizer): New ctor.
      	(colorizer::~colorizer): New dtor.
      	(layout::layout): New ctor.
      	(layout::print_source_line): New method.
      	(layout::print_annotation_line): New method.
      	(layout::get_state_at_point): New method.
      	(layout::get_x_bound_for_row): New method.
      	(diagnostic_show_locus): Reimplement in terms of class layout.
      	(diagnostic_print_caret_line): Delete.
      	* diagnostic.c (diagnostic_initialize): Replace
      	MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
      	(diagnostic_set_info_translated): Convert param from location_t
      	to rich_location *.  Eliminate calls to set_location on the
      	message in favor of storing the rich_location ptr there.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_build_prefix): Break out array into...
      	(diagnostic_kind_color): New variable.
      	(diagnostic_get_color_for_kind): New function.
      	(diagnostic_report_diagnostic): Colorize the option_text
      	using the color for the severity.
      	(diagnostic_append_note): Update for change in signature of
      	diagnostic_set_info.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(emit_diagnostic): Update for change in signature of
      	diagnostic_set_info.
      	(inform): Likewise.
      	(inform_at_rich_loc): New function.
      	(inform_n): Update for change in signature of diagnostic_set_info.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_at_rich_loc): New function.
      	(warning_n): Update for change in signature of diagnostic_set_info.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(permerror_at_rich_loc): New function.
      	(error): Update for change in signature of diagnostic_set_info.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(error_at_rich_loc): New function.
      	(sorry): Update for change in signature of diagnostic_set_info.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(source_range::debug): New function.
      	* diagnostic.h (struct diagnostic_info): Eliminate field
      	"override_column".  Add field "richloc".
      	(struct diagnostic_context): Add field "colorize_source_p".
      	(diagnostic_override_column): Delete.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_set_info_translated): Likewise.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(diagnostic_num_locations): New function.
      	(diagnostic_expand_location): Get the location from the
      	rich_location.
      	(diagnostic_print_caret_line): Delete.
      	(diagnostic_get_color_for_kind): New declaration.
      	* genmatch.c (linemap_client_expand_location_to_spelling_point): New.
      	(error_cb): Update for change in signature of "error" callback.
      	(fatal_at): Likewise.
      	(warning_at): Likewise.
      	* input.c (linemap_client_expand_location_to_spelling_point): New.
      	* pretty-print.c (text_info::set_range): New method.
      	(text_info::get_location): New method.
      	* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
      	(struct text_info): Eliminate "locations" array in favor of
      	"m_richloc", a rich_location *.
      	(textinfo::set_location): Add a "caret_p" param, and reimplement
      	in terms of a call to set_range.
      	(textinfo::get_location): Eliminate inline implementation in favor of
      	an out-of-line reimplementation.
      	(textinfo::set_range): New method.
      	* rtl-error.c (diagnostic_for_asm): Update for change in signature
      	of diagnostic_set_info.
      	* tree-diagnostic.c (default_tree_printer): Update for new
      	"caret_p" param for textinfo::set_location.
      	* tree-pretty-print.c (percent_K_format): Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter and
      	the call to diagnostic_override_column.
      	Update the "done_lexing" clause to set range 0
      	on the rich_location, rather than overwriting a location_t.
      	* c-common.h (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      
      gcc/c/ChangeLog:
      	* c-decl.c (warn_defaults_to): Update for change in signature
      	of diagnostic_set_info.
      	* c-errors.c (pedwarn_c99): Likewise.
      	(pedwarn_c90): Likewise.
      	* c-objc-common.c (c_tree_printer): Update for new "caret_p" param
      	for textinfo::set_location.
      
      gcc/cp/ChangeLog:
      	* error.c (cp_printer): Update for new "caret_p" param for
      	textinfo::set_location.
      	(pedwarn_cxx98): Update for change in signature of
      	diagnostic_set_info.
      
      gcc/fortran/ChangeLog:
      	* cpp.c (cb_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      	* error.c (gfc_warning): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_format_decoder): Update handling of %C/%L for changes
      	to struct text_info.
      	(gfc_diagnostic_starter): Use richloc when determining whether to
      	print one locus or two.  When handling a location that will
      	involve a call to diagnostic_show_locus, only attempt to print the
      	locus for the primary location, and don't call into
      	diagnostic_print_caret_line.
      	(gfc_warning_now_at): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_warning_now): Likewise.
      	(gfc_error_now): Likewise.
      	(gfc_fatal_error): Likewise.
      	(gfc_error): Likewise.
      	(gfc_internal_error): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file.
      	* gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
      	* lib/gcc-dg.exp: Load multiline.exp.
      
      libcpp/ChangeLog:
      	* errors.c (cpp_diagnostic): Update for change in signature
      	of "error" callback.
      	(cpp_diagnostic_with_line): Likewise, calling override_column
      	on the rich_location.
      	* include/cpplib.h (struct cpp_callbacks): Within "error"
      	callback, convert param from source_location to rich_location *,
      	and drop column_override param.
      	* include/line-map.h (struct source_range): New struct.
      	(struct location_range): New struct.
      	(class rich_location): New class.
      	(linemap_client_expand_location_to_spelling_point): New declaration.
      	* line-map.c (rich_location::rich_location): New ctors.
      	(rich_location::lazily_expand_location): New method.
      	(rich_location::override_column): New method.
      	(rich_location::add_range): New methods.
      	(rich_location::set_range): New method.
      
      From-SVN: r229884
      8a645150
  21. Jan 05, 2015
  22. Sep 30, 2014
    • Bernd Edlinger's avatar
      re PR preprocessor/58893 (<command-line>:0:0: internal compiler error: Segmentation fault) · cc811a8a
      Bernd Edlinger authored
      2014-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	PR preprocessor/58893
      	* errors.c (cpp_diagnostic): Fix possible out of bounds access.
      	* files.c (_cpp_stack_include): Initialize src_loc for IT_CMDLINE.
      
      testsuite:
      2014-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	PR preprocessor/58893
      	* gcc.dg/pr58893.c: New test case.
      	* gcc.dg/pr58893-0.h: New include.
      
      From-SVN: r215730
      cc811a8a
  23. Jan 02, 2014
  24. Jan 14, 2013
  25. Jan 03, 2011
  26. Apr 07, 2010
    • Simon Baldwin's avatar
      diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index. · 87cf0651
      Simon Baldwin authored
      	* diagnostic.h (diagnostic_override_option_index): New macro to
      	set a diagnostic's option_index.
      	* c-tree.h (c_cpp_error): Add warning reason argument.
      	* opts.c (_warning_as_error_callback): New.
      	(register_warning_as_error_callback): Store callback for
      	warnings enabled via enable_warning_as_error.
      	(enable_warning_as_error): Call callback, minor code tidy.
      	* opts.h (register_warning_as_error_callback): Declare.
      	* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
      	response to -Werror=.
      	(c_common_init_options): Register warning_as_error_callback in opts.c.
      	* common.opt: Add -Wno-cpp option.
      	* c-common.c (struct reason_option_codes_t): Map cpp warning
      	reason codes to gcc option indexes.
      	* (c_option_controlling_cpp_error): New function, lookup the gcc
      	option index for a cpp warning reason code.
      	* (c_cpp_error): Add warning reason argument, call
      	c_option_controlling_cpp_error for diagnostic_override_option_index.
      	* doc/invoke.texi: Document -Wno-cpp.
      
      	* cpp.c (cb_cpp_error): Add warning reason argument, set a value
      	for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
      
      	* directives.c (do_diagnostic): Add warning reason argument,
      	call appropriate error reporting function for code.
      	(directive_diagnostics): Call specific warning functions with
      	warning reason where appropriate.
      	(do_error, do_warning, do_pragma_dependency): Add warning reason
      	argument to do_diagnostic calls.
      	* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
      	_cpp_create_definition): Call specific warning functions with
              warning reason where appropriate.
      	* Makefile.in: Add new diagnostic functions to gettext translations.
      	* include/cpplib.h (struct cpp_callbacks): Add warning reason code
      	to error callback.
      	(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
      	CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
      	(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
      	CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
      	CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
      	CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
      	CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
      	CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
      	CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
      	warning reason codes.
      	(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
      	cpp_warning_with_line, cpp_pedwarning_with_line,
      	cpp_warning_with_line_syshdr): New specific error reporting functions.
      	* pch.c (cpp_valid_state): Call specific warning functions with
              warning reason where appropriate.
      	* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
      	diagnostic handlers.
      	(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
      	cpp_warning_with_line, cpp_pedwarning_with_line,
      	cpp_warning_with_line_syshdr): New specific error reporting functions.
      	* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
      	specific warning functions with warning reason where appropriate.
      	* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
      	warn_about_normalization, lex_identifier_intern, lex_identifier,
      	_cpp_lex_direct): Ditto.
      	* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
      	narrow_str_to_charconst): Ditto.
      
      	* gcc.dg/cpp/warn-undef-2.c: New.
      	* gcc.dg/cpp/warn-traditional-2.c: New.
      	* gcc.dg/cpp/warn-comments-2.c: New.
      	* gcc.dg/cpp/warning-directive-1.c: New.
      	* gcc.dg/cpp/warn-long-long.c: New.
      	* gcc.dg/cpp/warn-traditional.c: New.
      	* gcc.dg/cpp/warn-variadic-2.c: New.
      	* gcc.dg/cpp/warn-undef.c: New.
      	* gcc.dg/cpp/warn-normalized-1.c: New.
      	* gcc.dg/cpp/warning-directive-2.c: New.
      	* gcc.dg/cpp/warn-long-long-2.c: New.
      	* gcc.dg/cpp/warn-variadic.c: New.
      	* gcc.dg/cpp/warn-normalized-2.c: New.
      	* gcc.dg/cpp/warning-directive-3.c: New.
      	* gcc.dg/cpp/warn-deprecated-2.c: New.
      	* gcc.dg/cpp/warn-trigraphs-1.c: New.
      	* gcc.dg/cpp/warn-multichar-2.c: New.
      	* gcc.dg/cpp/warn-normalized-3.c: New.
      	* gcc.dg/cpp/warning-directive-4.c: New.
      	* gcc.dg/cpp/warn-unused-macros.c: New.
      	* gcc.dg/cpp/warn-trigraphs-2.c: New.
      	* gcc.dg/cpp/warn-cxx-compat-2.c: New.
      	* gcc.dg/cpp/warn-cxx-compat.c: New.
      	* gcc.dg/cpp/warn-redefined.c: New.
      	* gcc.dg/cpp/warn-trigraphs-3.c: New.
      	* gcc.dg/cpp/warn-unused-macros-2.c: New.
      	* gcc.dg/cpp/warn-deprecated.c: New.
      	* gcc.dg/cpp/warn-trigraphs-4.c: New.
      	* gcc.dg/cpp/warn-redefined-2.c: New.
      	* gcc.dg/cpp/warn-comments.c: New.
      	* gcc.dg/cpp/warn-multichar.c: New.
      	* g++.dg/cpp/warning-directive-1.C: New.
      	* g++.dg/cpp/warning-directive-2.C: New.
      	* g++.dg/cpp/warning-directive-3.C: New.
      	* g++.dg/cpp/warning-directive-4.C: New.
      	* gfortran.dg/warning-directive-1.F90: New.
      	* gfortran.dg/warning-directive-3.F90: New.
      	* gfortran.dg/warning-directive-2.F90: New.
      	* gfortran.dg/warning-directive-4.F90: New.
      
      From-SVN: r158079
      87cf0651
  27. Apr 09, 2009
  28. Mar 29, 2009
    • Joseph Myers's avatar
      re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is silent) · 148e4216
      Joseph Myers authored
      	PR preprocessor/34695
      
      gcc:
      	* Makefile.in (c-opts.o): Depend on c-tree.h.
      	* c-common.c: Move down include of diagnostic.h.
      	(done_lexing, c_cpp_error): New.
      	* c-common.h (done_lexing): Declare.
      	* c-decl.c (c_write_global_declarations): Don't check cpp_errors
      	(parse_in).
      	* c-opts.c: Include c-tree.h.
      	(c_common_init_options): Set preprocessor error callback.
      	(c_common_handle_option): Do not set preprocessor
      	inhibit_warnings, warnings_are_errors, warn_system_headers,
      	pedantic_errors or inhibit_warnings flags.
      	(c_common_post_options): Do not check cpp_errors (parse_in).
      	(c_common_finish): Do not output dependencies if there were
      	errors.  Do not check return value of cpp_finish.
      	* c-ppoutput.c (pp_file_change): Set input_location.
      	* c-tree.h (c_cpp_error): Declare.
      	* diagnostic.c (diagnostic_set_info_translated): Also initialize
      	override_column.
      	(diagnostic_build_prefix): Check override_column.
      	* diagnostic.h (diagnostic_info): Add override_column field.
      	(diagnostic_override_column): Define.
      
      gcc/cp:
      	* cp-tree.h (cp_cpp_error): Remove.
      	* error.c (cp_cpp_error): Remove.
      	* parser.c (cp_lexer_new_main): Set done_lexing instead of
      	client_diagnostic and error callback.
      
      gcc/fortran:
      	* cpp.c (cb_cpp_error): New.
      	(gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
      	Don't check cpp_errors (cpp_in).
      	(gfc_cpp_init_0): Set cb->error.
      
      gcc/testsuite:
      	* gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
      	gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
      	instead of dg-warning for "previous definition" messages.
      	* gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
      	"warnings being treated as errors" message.
      	* gcc.dg/fltconst-1.c: Use -fshow-column.
      
      libcpp:
      	* makedepend.c: Remove.
      	* Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
      	(all, clean, TAGS_SOURCES, include): Remove makedepend handling.
      	* directives.c (cpp_errors): Remove.
      	* errors.c (print_location, _cpp_begin_message, v_message):
      	Remove.
      	(cpp_error, cpp_error_with_line): Always use error callback.
      	(cpp_error, cpp_error_with_line, cpp_errno): Return bool.
      	* include/cpplib.h (cpp_options): Remove pedantic_errors,
      	inhibit_warnings, warn_system_headers, inhibit_errors,
      	warnings_are_errors, client_diagnostic.
      	(cpp_callbacks): Add extra arguments to error callback; make it
      	return bool.
      	(cpp_finish): Return void.
      	(cpp_destroy): Remove inaccurate comment about return value.
      	(cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
      	(CPP_DL_NOTE): Define.
      	* include/line-map.h (linemap_print_containing_files): Remove.
      	* init.c (cpp_finish): Do not check for or return number of
      	errors.
      	* internal.h (cpp_reader): Remove errors field.
      	* line-map.c (linemap_print_containing_files): Remove.
      	* macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
      	about previous definition.  Only emit it if previous diagnostic
      	was emitted.
      
      From-SVN: r145263
      148e4216
  29. Jul 21, 2008
    • Manuel López-Ibáñez's avatar
      line-map.h (linenum_type): New typedef. · 1bb64668
      Manuel López-Ibáñez authored
      2008-07-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	* include/line-map.h (linenum_type): New typedef.
      	(struct line_map): Use it.
      	(SOURCE_LINE): Second arguments is a LOCATION not a LINE.
      	(SOURCE_COLUMN): Likewise.
      	* macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
      	source_location values in a variable of type linenum_type.
      	* directives.c (struct if_stack): Use linenum_type.
      	(strtoul_for_line): Rename as strtolinenum.
      	(do_line): Use linenum_type.
      	(do_linemarker): Use linenum_type and strtolinenum.
      	(_cpp_do_file_change): Use linenum_t.
      	* line-map.c (linemap_add): Likewise.
      	(linemap_line_start): Likewise.
      	* traditional.c (struct fun_macro): 'line' is a source_location.
      	* errors.c (print_location): Use linenum_type.
      	* directives-only.c (_cpp_preprocess_dir_only): Likewise.
      	* internal.h (CPP_INCREMENT_LINE): Likewise.
      	* lex.c (_cpp_skip_block_comment): Use source_location.
      
      From-SVN: r138026
      1bb64668
  30. May 21, 2008
    • Tom Tromey's avatar
      re PR preprocessor/27777 (Bad diagnostic emission when #error contains a trigraph) · 5d6342eb
      Tom Tromey authored
      gcc/testsuite
      	PR preprocessor/27777:
      	* gcc.dg/cpp/pr27777.c: New file.
      libcpp
      	PR preprocessor/27777:
      	* lex.c (cpp_output_line_to_string): New function.
      	* internal.h (_cpp_begin_message): Don't declare.
      	* errors.c (_cpp_begin_message): Now static.
      	* include/cpplib.h (cpp_output_line_to_string): Declare.
      	* directives.c (do_diagnostic): Rewrote.  Use
      	cpp_output_line_to_string.  Don't use _cpp_begin_message.
      
      From-SVN: r135740
      5d6342eb
  31. Apr 18, 2008
  32. Nov 04, 2005
    • Joseph Myers's avatar
      cp-tree.h (cp_cpp_error), [...]): Take va_list* parameter. · a63607ed
      Joseph Myers authored
      gcc/cp:
      	* cp-tree.h (cp_cpp_error), error.c (cp_cpp_error): Take va_list*
      	parameter.
      
      libcpp:
      	* include/cpplib.h (struct cpp_callbacks): Make error take
      	va_list* parameter.
      	* errors.c (cpp_error): Update call to callback.
      
      From-SVN: r106466
      a63607ed
  33. Nov 03, 2005
    • Joseph Myers's avatar
      re PR c++/17964 (cpp error messages contain wrong line in C++) · 178b58b5
      Joseph Myers authored
      gcc:
      	PR c++/17964
      	* diagnostic.c (diagnostic_set_info_translated): New function.
      	(diagnostic_set_info): Use it.  Add comment.
      	* diagnostic.h (diagnostic_set_info_translated): Declare.
      
      gcc/cp:
      	* error.c (cp_cpp_error): New function.
      	* cp-tree.h (cp_cpp_error): Declare.
      	* parser.c (cp_lexer_new_main): Set CPP option client_diagnostic
      	and error callback after lexing.
      
      gcc/testsuite:
      	* g++.dg/cpp/string-1.C: New test.
      
      libcpp:
      	* include/cpplib.h (struct cpp_options): Add client_diagnostic.
      	(struct cpp_callbacks): Add error.
      	* errors.c (cpp_error): If client_diagnostic, use error callback.
      	* charset.c (convert_escape): Don't use %03o in diagnostic.
      
      From-SVN: r106454
      178b58b5
  34. Jun 29, 2005
  35. Oct 14, 2004
  36. May 24, 2004
    • Paolo Bonzini's avatar
      Makefile.def (host_modules): add libcpp. · 4f4e53dd
      Paolo Bonzini authored
      ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.def (host_modules): add libcpp.
      	* Makefile.tpl: Add dependencies on and for libcpp.
      	* Makefile.in: Regenerate.
      	* configure.in: Add libcpp host module.
      	* configure: Regenerate.
      
      config/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* acx.m4 (ACX_HEADER_STDBOOL, ACX_HEADER_STRING):
      	From gcc.
      
      gcc/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Move libcpp to the toplevel.
      	* Makefile.in: Remove references to libcpp files,
      	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
      	and change hashtable.h to that.
      	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
      	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
      	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
      	* cppcharset.c: Removed.
      	* cpperror.c: Removed.
      	* cppexp.c: Removed.
      	* cppfiles.c: Removed.
      	* cpphash.c: Removed.
      	* cpphash.h: Removed.
      	* cppinit.c: Removed.
      	* cpplex.c: Removed.
      	* cpplib.c: Removed.
      	* cpplib.h: Removed.
      	* cppmacro.c: Removed.
      	* cpppch.c: Removed.
      	* cpptrad.c: Removed.
      	* cppucnid.h: Removed.
      	* cppucnid.pl: Removed.
      	* cppucnid.tab: Removed.
      	* hashtable.c: Removed.
      	* hashtable.h: Removed.
      	* line-map.c: Removed.
      	* line-map.h: Removed.
      	* mkdeps.c: Removed.
      	* mkdeps.h: Removed.
      	* stringpool.h: Include symtab.h instead of hashtable.h.
      	* tree.h: Include symtab.h instead of hashtable.h.
      	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
      
      gcc/cp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: No need to specify $(LIBCPP).
      
      gcc/java/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
      
      libcpp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Moved libcpp from the gcc subdirectory to the toplevel.
      	* Makefile.am: New file.
      	* Makefile.in: Regenerate.
      	* configure.ac: New file.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* charset.c: Moved from gcc/cppcharset.c.  Add note about
      	brokenness of input charset detection.  Adjust for change
      	in name of cppucnid.h.
      	* errors.c: Moved from gcc/cpperror.c.  Do not include intl.h.
      	* expr.c: Moved from gcc/cppexp.c.
      	* files.c: Moved from gcc/cppfiles.c.  Do not include intl.h.
      	Remove #define of O_BINARY, it is in system.h.
      	* identifiers.c: Moved from gcc/cpphash.c.
      	* internal.h: Moved from gcc/cpphash.h.  Change header
      	guard name.  All other files adjusted to match name change.
      	* init.c: Moved from gcc/cppinit.c.
      	(init_library) [ENABLE_NLS]: Call bindtextdomain.
      	* lex.c: Moved from gcc/cpplex.c.
      	* directives.c: Moved from gcc/cpplib.c.
      	* macro.c: Moved from gcc/cppmacro.c.
      	* pch.c: Moved from gcc/cpppch.c.  Do not include intl.h.
      	* traditional.c: Moved from gcc/cpptrad.c.
      	* ucnid.h: Moved from gcc/cppucnid.h.  Change header
      	guard name.
      	* ucnid.pl: Moved from gcc/cppucnid.pl.
      	* ucnid.tab: Moved from gcc/cppucnid.tab.  Change header
      	guard name.
      	* symtab.c: Moved from gcc/hashtable.c.
      	* line-map.c: Moved from gcc.  Do not include intl.h.
      	* mkdeps.c: Moved from gcc.
      	* system.h: New file.
      
      libcpp/include/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cpplib.h: Moved from gcc.  Change header guard name.
      	* line-map.h: Moved from gcc.  Change header guard name.
      	* mkdeps.h: Moved from gcc.  Change header guard name.
      	* symtab.h: Moved from gcc/hashtable.h.  Change header
      	guard name.
      
      libcpp/po/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* be.po: Extracted from gcc/po/be.po.
      	* ca.po: Extracted from gcc/po/ca.po.
      	* da.po: Extracted from gcc/po/da.po.
      	* de.po: Extracted from gcc/po/de.po.
      	* el.po: Extracted from gcc/po/el.po.
      	* es.po: Extracted from gcc/po/es.po.
      	* fr.po: Extracted from gcc/po/fr.po.
      	* ja.po: Extracted from gcc/po/ja.po.
      	* nl.po: Extracted from gcc/po/nl.po.
      	* sv.po: Extracted from gcc/po/sv.po.
      	* tr.po: Extracted from gcc/po/tr.po.
      
      From-SVN: r82199
      4f4e53dd
  37. Apr 23, 2004
    • Per Bothner's avatar
      line-map.h (struct line_maps): New field highest_line. · 500bee0a
      Per Bothner authored
      	* line-map.h (struct line_maps):  New field highest_line.
      	(linemap_position_for_column):  Make non-inline function.
      	(LINEMAP_POSITION_FOR_COLUMN):  New macro.
      	* line-map.c (linemap_init):  Clear highest_line field.
      	(linemap_add):  Set highest_line field.
      	(linemap_line_start):  Minor optimization - use highest_line field.
      	Reduce maximum column hint to 10000.  Update highest_line field.
      	(linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
      	* cpphash.h (struct cpp_reader):  Remove line field - instead use
      	line_table->highest_line.
      	(saved_line):  Remove unused field.
      	(CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
      	Use  line_table's highest_line field instead of cpp_reader's line.
      	* cpplib.c (start_directive):  Likewise use highest_line field.
      	(do_line, do_linemarker):  Likewise just use newest map.
      	(_cpp_do_file_change):  Don't need to set cpp_reader's line field.
      	* cpperror.c (cpp_error):  Likewise use highest_line field.
      	* cppfiles.c (open_file_failed:  Likewise.
      	(cpp_make_system_header):  Likewise use newest map and highest_line.
      	* cppinit.c (cpp_create_reader):  Don't initialize removed field.
      	* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
      	skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
      	_cpp_lex_direct):  Likewise use highest_line.
      	(_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
      	and use newest map.
      	* cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
      	* cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
      	(copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.
      
      From-SVN: r81074
      500bee0a
  38. Feb 11, 2004
    • Per Bothner's avatar
      Represent column numbers using line-map's source_location. · 12f9df4e
      Per Bothner authored
      	The "next available source_location" is now managed internally by
      	line-maps.c rather than by clients.
      	* line-map.h (struct line_map):  New field column_bits.
      	<from_line>:  Rename field to start_location.
      	(struct line_maps):  New fields highest_location and max_column_hint.
      	(linemap_check_files_exited):  New declaration.
      	(linemap_line_start):  New declaration.
      	(linemap_add):  Remove from_line parameter; use highest_location field.
      	(SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
      	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
      	(CURRENT_LINE_MAP):  Remove macro.
      	(linemap_position_for_column):  New inline function.
      	* line-map.c (linemap_init):  Clear new fields.
      	(linemap_check_files_exited):  New function, extracted from ...
      	(linemap_free):  Use linemap_check_files_exited.
      	(linemap_add):  Remove from_line parameter.  Various updates.
      	(linemap_line_start):  New function.
      	(linemap_lookeup):  Update for new field names.
      	* cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
      	linemap_position_for_column may unpredictably change the current map,
      	it is cleaner and simpler for us to not cache it in cpp_reader.
      	(struct cpp_buffer):  New sysp field.
      	Changed warned_cplusplus_comments and from_stage3 to bitfields.
      	* cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
      	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
      	current map using linemap_lookup.
      	(do_linemarker):  Also set buffer's sysp field.
      	(destringize_and_run):  No longer need to decrement current line.
      	* cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
      	(search_path_head, open_file_failed):  Use buffer's sysp.
      	(cpp_make_system_header):  Get current map using linemap_lookup.
      	Also set buffer's sysp flag.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
      	* cpphash.h (CPP_INCREMENT_LINE):  New macro.
      	(struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
      	(struct cpp_reader):  ... and adding saved_line_base field.
      	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
      	Update accordingly.  Don't adjust line.
      	(_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
      	* cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
      	(cpp_in_system_header):  ... new inline function, using buffer's sysp.
      	* cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
      	* cpplex.c (_cpp_lex_direct):  Likewise.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise.
      	* cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
      	* cpplib.h (struct cpp_token):  Rename line field to src_loc.
      	Remove col field as it is now subsumed by src_loc.
      	* cpperror.c:  Update various field, parameter, and macro names.
      	(print_location):  If col==0, try SOURCE_COLUMN of line.
      	(cpp_error):  Use cur_token's src_loc field, rather than line+col.
      	* cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
      	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
      	_cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
      	(_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
      	(_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
      	(_cpp_lex_direct):  Use linemap_position_for_column.
      	* c-ppoutput.c (maybe_print_line, print_line):  Don't take map
      	parameter.  Instead get it from the line_table global.  Adjust callers.
      	(print):  Remove map field.  Replace line field to src_line.
      	(init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
      	(cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
      	(pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
      	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
      	* cpptrad.c (copy_comment):  Rename variable.
      	* c-lex.c (map):  Remove static variable, for same reason we removed
      	cpp_reader's map field.
      	(cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
      	to call linemap_lookup.
      	(cb_line_change):  Token's line field replaced by src_loc.
      	(fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
      	Don't save new_map.
      
      	* cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
      	source_location.
      
      From-SVN: r77663
      12f9df4e
  39. Jan 22, 2004
  40. Jan 20, 2004
    • Per Bothner's avatar
      Move cpp_reader's line_maps field to a shared global. · 50f59cd7
      Per Bothner authored
      	* cpphash.h (cpp_reader):  Rename line_maps field to line_table
      	and change the type to a pointer rather than a struct.
      	* cppinit.c (cpp_push_main_field):  Adjust accordingly.
      	* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
      	Likewise.
      	* cppfiles.c (validate_pch):  Likewise.
      	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
      	Likewise.
      	* cpperror.c (print_location):  Likewise.
      	* cpplib.h (cpp_create_reader):  New line_maps pointer parameter.
      	* cppinit.c (cpp_create_reader):  Handle new parameter.
      	(cpp_destroy):  Don't free line_maps - that's no longer our job.
      	* input.h (line_table):  New variable.
      	* toplev.c (line_table):  Declare variable.
      	(general_init):  Initialize line_table.
      	* c-opts.c (c_common_init_options):  Pass line_table to
      	cpp_create_reader.
      	* fix-header.c (read_scan_file):  New local variable line_table.
      	Initialize, and pass it to cpp_create_reader.
      	* Makefile.in (LIBS, LIBDEPS):  Add libcpp.a.
      	(C_AND_OBJC_OBJS, fix-header):  Remove redundant libcpp.a.
      
      From-SVN: r76198
      50f59cd7
Loading