diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-10-25 09:41:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2024-10-25 10:00:29 +0200 |
commit | 50332a4fdd3243899c395712c43daaef82c8180b (patch) | |
tree | db02f5650107899a0730678df371502ee0b63e5f /gcc/cp | |
parent | 0b22f0585348335369298c7d39afd171758eebe9 (diff) | |
download | gcc-50332a4fdd3243899c395712c43daaef82c8180b.zip gcc-50332a4fdd3243899c395712c43daaef82c8180b.tar.gz gcc-50332a4fdd3243899c395712c43daaef82c8180b.tar.bz2 |
gcc: Remove trailing whitespace
I've tried to build stage3 with
-Wleading-whitespace=blanks -Wtrailing-whitespace=blank -Wno-error=leading-whitespace=blanks -Wno-error=trailing-whitespace=blank
added to STRICT_WARN and that expectably resulted in about
2744 unique trailing whitespace warnings and 124837 leading whitespace
warnings when excluding *.md files (which obviously is in big part a
generator issue). Others from that are generator related, I think those
need to be solved later.
The following patch just fixes up the easy case (trailing whitespace),
which could be easily automated:
for i in `find . -name \*.h -o -name \*.cc -o -name \*.c | xargs grep -l '[ ]$' | grep -v testsuite/`; do sed -i -e 's/[ ]*$//' $i; done
I've excluded files which I knew are obviously generated or go FE.
Is there anything else we'd want to avoid the changes?
Due to patch size, I've split it between gcc/ part (this patch)
and rest (include/, libiberty/, libgcc/, libcpp/, libstdc++-v3/).
2024-10-24 Jakub Jelinek <jakub@redhat.com>
gcc/
* lra-assigns.cc: Remove trailing whitespace.
* symtab.cc: Likewise.
* stmt.cc: Likewise.
* cgraphbuild.cc: Likewise.
* cfgcleanup.cc: Likewise.
* loop-init.cc: Likewise.
* df-problems.cc: Likewise.
* diagnostic-macro-unwinding.cc: Likewise.
* langhooks.h: Likewise.
* except.cc: Likewise.
* tree-vect-loop.cc: Likewise.
* coverage.cc: Likewise.
* hash-table.cc: Likewise.
* ggc-page.cc: Likewise.
* gimple-ssa-strength-reduction.cc: Likewise.
* tree-parloops.cc: Likewise.
* internal-fn.cc: Likewise.
* ipa-split.cc: Likewise.
* calls.cc: Likewise.
* reorg.cc: Likewise.
* sbitmap.h: Likewise.
* omp-offload.cc: Likewise.
* cfgrtl.cc: Likewise.
* reginfo.cc: Likewise.
* gengtype.h: Likewise.
* omp-general.h: Likewise.
* ipa-comdats.cc: Likewise.
* gimple-range-edge.h: Likewise.
* tree-ssa-structalias.cc: Likewise.
* target.def: Likewise.
* basic-block.h: Likewise.
* graphite-isl-ast-to-gimple.cc: Likewise.
* auto-profile.cc: Likewise.
* optabs.cc: Likewise.
* gengtype-lex.l: Likewise.
* optabs.def: Likewise.
* ira-build.cc: Likewise.
* ira.cc: Likewise.
* function.h: Likewise.
* tree-ssa-propagate.cc: Likewise.
* gcov-io.cc: Likewise.
* builtin-types.def: Likewise.
* ddg.cc: Likewise.
* lra-spills.cc: Likewise.
* cfg.cc: Likewise.
* bitmap.cc: Likewise.
* gimple-range-gori.h: Likewise.
* tree-ssa-loop-im.cc: Likewise.
* cfghooks.h: Likewise.
* genmatch.cc: Likewise.
* explow.cc: Likewise.
* lto-streamer-in.cc: Likewise.
* graphite-scop-detection.cc: Likewise.
* ipa-prop.cc: Likewise.
* gcc.cc: Likewise.
* vec.h: Likewise.
* cfgexpand.cc: Likewise.
* config/alpha/vms.h: Likewise.
* config/alpha/alpha.cc: Likewise.
* config/alpha/driver-alpha.cc: Likewise.
* config/alpha/elf.h: Likewise.
* config/iq2000/iq2000.h: Likewise.
* config/iq2000/iq2000.cc: Likewise.
* config/pa/pa-64.h: Likewise.
* config/pa/som.h: Likewise.
* config/pa/pa.cc: Likewise.
* config/pa/pa.h: Likewise.
* config/pa/pa32-regs.h: Likewise.
* config/c6x/c6x.cc: Likewise.
* config/openbsd-stdint.h: Likewise.
* config/elfos.h: Likewise.
* config/lm32/lm32.cc: Likewise.
* config/lm32/lm32.h: Likewise.
* config/lm32/lm32-protos.h: Likewise.
* config/darwin-c.cc: Likewise.
* config/rx/rx.cc: Likewise.
* config/host-darwin.h: Likewise.
* config/netbsd.h: Likewise.
* config/ia64/ia64.cc: Likewise.
* config/ia64/freebsd.h: Likewise.
* config/avr/avr-c.cc: Likewise.
* config/avr/avr.cc: Likewise.
* config/avr/avr-arch.h: Likewise.
* config/avr/avr.h: Likewise.
* config/avr/stdfix.h: Likewise.
* config/avr/gen-avr-mmcu-specs.cc: Likewise.
* config/avr/avr-log.cc: Likewise.
* config/avr/elf.h: Likewise.
* config/avr/gen-avr-mmcu-texi.cc: Likewise.
* config/avr/avr-devices.cc: Likewise.
* config/nvptx/nvptx.cc: Likewise.
* config/vx-common.h: Likewise.
* config/sol2.cc: Likewise.
* config/rl78/rl78.cc: Likewise.
* config/cris/cris.cc: Likewise.
* config/arm/symbian.h: Likewise.
* config/arm/unknown-elf.h: Likewise.
* config/arm/linux-eabi.h: Likewise.
* config/arm/arm.cc: Likewise.
* config/arm/arm-mve-builtins.h: Likewise.
* config/arm/bpabi.h: Likewise.
* config/arm/vxworks.h: Likewise.
* config/arm/arm.h: Likewise.
* config/arm/aout.h: Likewise.
* config/arm/elf.h: Likewise.
* config/host-linux.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sh/vxworks.h: Likewise.
* config/sh/elf.h: Likewise.
* config/sh/netbsd-elf.h: Likewise.
* config/sh/sh.cc: Likewise.
* config/sh/embed-elf.h: Likewise.
* config/sh/sh.h: Likewise.
* config/darwin-driver.cc: Likewise.
* config/m32c/m32c.cc: Likewise.
* config/frv/frv.cc: Likewise.
* config/openbsd.h: Likewise.
* config/aarch64/aarch64-protos.h: Likewise.
* config/aarch64/aarch64-builtins.cc: Likewise.
* config/aarch64/aarch64-cost-tables.h: Likewise.
* config/aarch64/aarch64.cc: Likewise.
* config/bfin/bfin.cc: Likewise.
* config/bfin/bfin.h: Likewise.
* config/bfin/bfin-protos.h: Likewise.
* config/i386/gmm_malloc.h: Likewise.
* config/i386/djgpp.h: Likewise.
* config/i386/sol2.h: Likewise.
* config/i386/stringop.def: Likewise.
* config/i386/i386-features.cc: Likewise.
* config/i386/openbsdelf.h: Likewise.
* config/i386/cpuid.h: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/smmintrin.h: Likewise.
* config/i386/avx10_2-512convertintrin.h: Likewise.
* config/i386/i386-options.cc: Likewise.
* config/i386/i386-opts.h: Likewise.
* config/i386/i386-expand.cc: Likewise.
* config/i386/avx512dqintrin.h: Likewise.
* config/i386/wmmintrin.h: Likewise.
* config/i386/gnu-user.h: Likewise.
* config/i386/host-mingw32.cc: Likewise.
* config/i386/avx10_2bf16intrin.h: Likewise.
* config/i386/cygwin.h: Likewise.
* config/i386/driver-i386.cc: Likewise.
* config/i386/biarch64.h: Likewise.
* config/i386/host-cygwin.cc: Likewise.
* config/i386/cygming.h: Likewise.
* config/i386/i386-builtins.cc: Likewise.
* config/i386/avx10_2convertintrin.h: Likewise.
* config/i386/i386.cc: Likewise.
* config/i386/gas.h: Likewise.
* config/i386/freebsd.h: Likewise.
* config/mingw/winnt-cxx.cc: Likewise.
* config/mingw/winnt.cc: Likewise.
* config/h8300/h8300.cc: Likewise.
* config/host-solaris.cc: Likewise.
* config/m32r/m32r.h: Likewise.
* config/m32r/m32r.cc: Likewise.
* config/darwin.h: Likewise.
* config/sparc/linux64.h: Likewise.
* config/sparc/sparc-protos.h: Likewise.
* config/sparc/sysv4.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/sparc/linux.h: Likewise.
* config/sparc/freebsd.h: Likewise.
* config/sparc/sparc.cc: Likewise.
* config/gcn/gcn-run.cc: Likewise.
* config/gcn/gcn.cc: Likewise.
* config/gcn/gcn-tree.cc: Likewise.
* config/kopensolaris-gnu.h: Likewise.
* config/nios2/nios2.h: Likewise.
* config/nios2/elf.h: Likewise.
* config/nios2/nios2.cc: Likewise.
* config/host-netbsd.cc: Likewise.
* config/rtems.h: Likewise.
* config/pdp11/pdp11.cc: Likewise.
* config/pdp11/pdp11.h: Likewise.
* config/mn10300/mn10300.cc: Likewise.
* config/mn10300/linux.h: Likewise.
* config/moxie/moxie.h: Likewise.
* config/moxie/moxie.cc: Likewise.
* config/rs6000/aix71.h: Likewise.
* config/rs6000/vec_types.h: Likewise.
* config/rs6000/xcoff.h: Likewise.
* config/rs6000/rs6000.cc: Likewise.
* config/rs6000/rs6000-internal.h: Likewise.
* config/rs6000/rs6000-p8swap.cc: Likewise.
* config/rs6000/rs6000-c.cc: Likewise.
* config/rs6000/aix.h: Likewise.
* config/rs6000/rs6000-logue.cc: Likewise.
* config/rs6000/rs6000-string.cc: Likewise.
* config/rs6000/rs6000-call.cc: Likewise.
* config/rs6000/ppu_intrinsics.h: Likewise.
* config/rs6000/altivec.h: Likewise.
* config/rs6000/darwin.h: Likewise.
* config/rs6000/host-darwin.cc: Likewise.
* config/rs6000/freebsd64.h: Likewise.
* config/rs6000/spu2vmx.h: Likewise.
* config/rs6000/linux.h: Likewise.
* config/rs6000/si2vmx.h: Likewise.
* config/rs6000/driver-rs6000.cc: Likewise.
* config/rs6000/freebsd.h: Likewise.
* config/vxworksae.h: Likewise.
* config/mips/frame-header-opt.cc: Likewise.
* config/mips/mips.h: Likewise.
* config/mips/mips.cc: Likewise.
* config/mips/sde.h: Likewise.
* config/darwin-protos.h: Likewise.
* config/mcore/mcore-elf.h: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mcore/mcore.cc: Likewise.
* config/epiphany/epiphany.cc: Likewise.
* config/fr30/fr30.h: Likewise.
* config/fr30/fr30.cc: Likewise.
* config/riscv/riscv-vector-builtins-shapes.cc: Likewise.
* config/riscv/riscv-vector-builtins-bases.cc: Likewise.
* config/visium/visium.h: Likewise.
* config/mmix/mmix.cc: Likewise.
* config/v850/v850.cc: Likewise.
* config/v850/v850-c.cc: Likewise.
* config/v850/v850.h: Likewise.
* config/stormy16/stormy16.cc: Likewise.
* config/stormy16/stormy16-protos.h: Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/arc/arc.cc: Likewise.
* config/vxworks.cc: Likewise.
* config/microblaze/microblaze-c.cc: Likewise.
* config/microblaze/microblaze-protos.h: Likewise.
* config/microblaze/microblaze.h: Likewise.
* config/microblaze/microblaze.cc: Likewise.
* config/freebsd-spec.h: Likewise.
* config/m68k/m68kelf.h: Likewise.
* config/m68k/m68k.cc: Likewise.
* config/m68k/netbsd-elf.h: Likewise.
* config/m68k/linux.h: Likewise.
* config/freebsd.h: Likewise.
* config/host-openbsd.cc: Likewise.
* regcprop.cc: Likewise.
* dumpfile.cc: Likewise.
* combine.cc: Likewise.
* tree-ssa-forwprop.cc: Likewise.
* ipa-profile.cc: Likewise.
* hw-doloop.cc: Likewise.
* opts.cc: Likewise.
* gcc-ar.cc: Likewise.
* tree-cfg.cc: Likewise.
* incpath.cc: Likewise.
* tree-ssa-sccvn.cc: Likewise.
* function.cc: Likewise.
* genattrtab.cc: Likewise.
* rtl.def: Likewise.
* genchecksum.cc: Likewise.
* profile.cc: Likewise.
* df-core.cc: Likewise.
* tree-pretty-print.cc: Likewise.
* tree.h: Likewise.
* plugin.cc: Likewise.
* tree-ssa-loop-ch.cc: Likewise.
* emit-rtl.cc: Likewise.
* haifa-sched.cc: Likewise.
* gimple-range-edge.cc: Likewise.
* range-op.cc: Likewise.
* tree-ssa-ccp.cc: Likewise.
* dwarf2cfi.cc: Likewise.
* recog.cc: Likewise.
* vtable-verify.cc: Likewise.
* system.h: Likewise.
* regrename.cc: Likewise.
* tree-ssa-dom.cc: Likewise.
* loop-unroll.cc: Likewise.
* lra-constraints.cc: Likewise.
* pretty-print.cc: Likewise.
* ifcvt.cc: Likewise.
* ipa.cc: Likewise.
* alloc-pool.h: Likewise.
* collect2.cc: Likewise.
* pointer-query.cc: Likewise.
* cfgloop.cc: Likewise.
* toplev.cc: Likewise.
* sese.cc: Likewise.
* gengtype.cc: Likewise.
* gimplify-me.cc: Likewise.
* double-int.cc: Likewise.
* bb-reorder.cc: Likewise.
* dwarf2out.cc: Likewise.
* tree-ssa-loop-ivcanon.cc: Likewise.
* tree-ssa-reassoc.cc: Likewise.
* cgraph.cc: Likewise.
* sel-sched.cc: Likewise.
* attribs.cc: Likewise.
* expr.cc: Likewise.
* tree-ssa-scopedtables.h: Likewise.
* gimple-range-cache.cc: Likewise.
* ipa-pure-const.cc: Likewise.
* tree-inline.cc: Likewise.
* genhooks.cc: Likewise.
* gimple-range-phi.h: Likewise.
* shrink-wrap.cc: Likewise.
* tree.cc: Likewise.
* gimple.cc: Likewise.
* backend.h: Likewise.
* opts-common.cc: Likewise.
* cfg-flags.def: Likewise.
* gcse-common.cc: Likewise.
* tree-ssa-scopedtables.cc: Likewise.
* ccmp.cc: Likewise.
* builtins.def: Likewise.
* builtin-attrs.def: Likewise.
* postreload.cc: Likewise.
* sched-deps.cc: Likewise.
* ipa-inline-transform.cc: Likewise.
* tree-vect-generic.cc: Likewise.
* ipa-polymorphic-call.cc: Likewise.
* builtins.cc: Likewise.
* sel-sched-ir.cc: Likewise.
* trans-mem.cc: Likewise.
* ipa-visibility.cc: Likewise.
* cgraph.h: Likewise.
* tree-ssa-phiopt.cc: Likewise.
* genopinit.cc: Likewise.
* ipa-inline.cc: Likewise.
* omp-low.cc: Likewise.
* ipa-utils.cc: Likewise.
* tree-ssa-math-opts.cc: Likewise.
* tree-ssa-ifcombine.cc: Likewise.
* gimple-range.cc: Likewise.
* ipa-fnsummary.cc: Likewise.
* ira-color.cc: Likewise.
* value-prof.cc: Likewise.
* varasm.cc: Likewise.
* ipa-icf.cc: Likewise.
* ira-emit.cc: Likewise.
* lto-streamer.h: Likewise.
* lto-wrapper.cc: Likewise.
* regs.h: Likewise.
* gengtype-parse.cc: Likewise.
* alias.cc: Likewise.
* lto-streamer.cc: Likewise.
* real.h: Likewise.
* wide-int.h: Likewise.
* targhooks.cc: Likewise.
* gimple-ssa-warn-access.cc: Likewise.
* real.cc: Likewise.
* ipa-reference.cc: Likewise.
* bitmap.h: Likewise.
* ginclude/float.h: Likewise.
* ginclude/stddef.h: Likewise.
* ginclude/stdarg.h: Likewise.
* ginclude/stdatomic.h: Likewise.
* optabs.h: Likewise.
* sel-sched-ir.h: Likewise.
* convert.cc: Likewise.
* cgraphunit.cc: Likewise.
* lra-remat.cc: Likewise.
* tree-if-conv.cc: Likewise.
* gcov-dump.cc: Likewise.
* tree-predcom.cc: Likewise.
* dominance.cc: Likewise.
* gimple-range-cache.h: Likewise.
* ipa-devirt.cc: Likewise.
* rtl.h: Likewise.
* ubsan.cc: Likewise.
* tree-ssa.cc: Likewise.
* ssa.h: Likewise.
* cse.cc: Likewise.
* jump.cc: Likewise.
* hwint.h: Likewise.
* caller-save.cc: Likewise.
* coretypes.h: Likewise.
* ipa-fnsummary.h: Likewise.
* tree-ssa-strlen.cc: Likewise.
* modulo-sched.cc: Likewise.
* cgraphclones.cc: Likewise.
* lto-cgraph.cc: Likewise.
* hw-doloop.h: Likewise.
* data-streamer.h: Likewise.
* compare-elim.cc: Likewise.
* profile-count.h: Likewise.
* tree-vect-loop-manip.cc: Likewise.
* ree.cc: Likewise.
* reload.cc: Likewise.
* tree-ssa-loop-split.cc: Likewise.
* tree-into-ssa.cc: Likewise.
* gcse.cc: Likewise.
* cfgloopmanip.cc: Likewise.
* df.h: Likewise.
* fold-const.cc: Likewise.
* wide-int.cc: Likewise.
* gengtype-state.cc: Likewise.
* sanitizer.def: Likewise.
* tree-ssa-sink.cc: Likewise.
* target-hooks-macros.h: Likewise.
* tree-ssa-pre.cc: Likewise.
* gimple-pretty-print.cc: Likewise.
* ipa-utils.h: Likewise.
* tree-outof-ssa.cc: Likewise.
* tree-ssa-coalesce.cc: Likewise.
* gimple-match.h: Likewise.
* tree-ssa-loop-niter.cc: Likewise.
* tree-loop-distribution.cc: Likewise.
* tree-emutls.cc: Likewise.
* tree-eh.cc: Likewise.
* varpool.cc: Likewise.
* ssa-iterators.h: Likewise.
* asan.cc: Likewise.
* reload1.cc: Likewise.
* cfgloopanal.cc: Likewise.
* tree-vectorizer.cc: Likewise.
* simplify-rtx.cc: Likewise.
* opts-global.cc: Likewise.
* gimple-ssa-store-merging.cc: Likewise.
* expmed.cc: Likewise.
* tree-ssa-loop-prefetch.cc: Likewise.
* tree-ssa-dse.h: Likewise.
* tree-vect-stmts.cc: Likewise.
* gimple-fold.cc: Likewise.
* lra-coalesce.cc: Likewise.
* data-streamer-out.cc: Likewise.
* diagnostic.cc: Likewise.
* tree-ssa-alias.cc: Likewise.
* tree-vect-patterns.cc: Likewise.
* common/common-target.def: Likewise.
* common/config/rx/rx-common.cc: Likewise.
* common/config/msp430/msp430-common.cc: Likewise.
* common/config/avr/avr-common.cc: Likewise.
* common/config/i386/i386-common.cc: Likewise.
* common/config/pdp11/pdp11-common.cc: Likewise.
* common/config/rs6000/rs6000-common.cc: Likewise.
* common/config/mcore/mcore-common.cc: Likewise.
* graphite.cc: Likewise.
* gimple-low.cc: Likewise.
* genmodes.cc: Likewise.
* gimple-loop-jam.cc: Likewise.
* lto-streamer-out.cc: Likewise.
* predict.cc: Likewise.
* omp-expand.cc: Likewise.
* gimple-array-bounds.cc: Likewise.
* predict.def: Likewise.
* opts.h: Likewise.
* tree-stdarg.cc: Likewise.
* gimplify.cc: Likewise.
* ira-lives.cc: Likewise.
* loop-doloop.cc: Likewise.
* lra.cc: Likewise.
* gimple-iterator.h: Likewise.
* tree-sra.cc: Likewise.
gcc/fortran/
* trans-openmp.cc: Remove trailing whitespace.
* trans-common.cc: Likewise.
* match.h: Likewise.
* scanner.cc: Likewise.
* gfortranspec.cc: Likewise.
* io.cc: Likewise.
* iso-c-binding.def: Likewise.
* iso-fortran-env.def: Likewise.
* types.def: Likewise.
* openmp.cc: Likewise.
* f95-lang.cc: Likewise.
gcc/analyzer/
* state-purge.cc: Remove trailing whitespace.
* region-model.h: Likewise.
* region-model.cc: Likewise.
* program-point.cc: Likewise.
* exploded-graph.h: Likewise.
* program-state.cc: Likewise.
* supergraph.cc: Likewise.
gcc/c-family/
* c-ubsan.cc: Remove trailing whitespace.
* stub-objc.cc: Likewise.
* c-pragma.cc: Likewise.
* c-ppoutput.cc: Likewise.
* c-indentation.cc: Likewise.
* c-ada-spec.cc: Likewise.
* c-opts.cc: Likewise.
* c-common.cc: Likewise.
* c-format.cc: Likewise.
* c-omp.cc: Likewise.
* c-objc.h: Likewise.
* c-cppbuiltin.cc: Likewise.
* c-attribs.cc: Likewise.
* c-target.def: Likewise.
* c-common.h: Likewise.
gcc/c/
* c-typeck.cc: Remove trailing whitespace.
* gimple-parser.cc: Likewise.
* c-parser.cc: Likewise.
* c-decl.cc: Likewise.
gcc/cp/
* vtable-class-hierarchy.cc: Remove trailing whitespace.
* typeck2.cc: Likewise.
* decl.cc: Likewise.
* init.cc: Likewise.
* semantics.cc: Likewise.
* module.cc: Likewise.
* rtti.cc: Likewise.
* cxx-pretty-print.cc: Likewise.
* cvt.cc: Likewise.
* mangle.cc: Likewise.
* name-lookup.h: Likewise.
* coroutines.cc: Likewise.
* error.cc: Likewise.
* lambda.cc: Likewise.
* tree.cc: Likewise.
* g++spec.cc: Likewise.
* decl2.cc: Likewise.
* cp-tree.h: Likewise.
* parser.cc: Likewise.
* pt.cc: Likewise.
* call.cc: Likewise.
* lex.cc: Likewise.
* cp-lang.cc: Likewise.
* cp-tree.def: Likewise.
* constexpr.cc: Likewise.
* typeck.cc: Likewise.
* name-lookup.cc: Likewise.
* optimize.cc: Likewise.
* search.cc: Likewise.
* mapper-client.cc: Likewise.
* ptree.cc: Likewise.
* class.cc: Likewise.
gcc/jit/
* docs/examples/tut04-toyvm/toyvm.cc: Remove trailing whitespace.
gcc/lto/
* lto-object.cc: Remove trailing whitespace.
* lto-symtab.cc: Likewise.
* lto-partition.cc: Likewise.
* lang-specs.h: Likewise.
* lto-lang.cc: Likewise.
gcc/objc/
* objc-encoding.cc: Remove trailing whitespace.
* objc-map.h: Likewise.
* objc-next-runtime-abi-01.cc: Likewise.
* objc-act.cc: Likewise.
* objc-map.cc: Likewise.
gcc/objcp/
* objcp-decl.cc: Remove trailing whitespace.
* objcp-lang.cc: Likewise.
* objcp-decl.h: Likewise.
gcc/rust/
* util/optional.h: Remove trailing whitespace.
* util/expected.h: Likewise.
* util/rust-unicode-data.h: Likewise.
gcc/m2/
* mc-boot/GFpuIO.cc: Remove trailing whitespace.
* mc-boot/GFIO.cc: Likewise.
* mc-boot/GFormatStrings.cc: Likewise.
* mc-boot/GCmdArgs.cc: Likewise.
* mc-boot/GDebug.h: Likewise.
* mc-boot/GM2Dependent.cc: Likewise.
* mc-boot/GRTint.cc: Likewise.
* mc-boot/GDebug.cc: Likewise.
* mc-boot/GmcError.cc: Likewise.
* mc-boot/Gmcp4.cc: Likewise.
* mc-boot/GM2RTS.cc: Likewise.
* mc-boot/GIO.cc: Likewise.
* mc-boot/Gmcp5.cc: Likewise.
* mc-boot/GDynamicStrings.cc: Likewise.
* mc-boot/Gmcp1.cc: Likewise.
* mc-boot/GFormatStrings.h: Likewise.
* mc-boot/Gmcp2.cc: Likewise.
* mc-boot/Gmcp3.cc: Likewise.
* pge-boot/GFIO.cc: Likewise.
* pge-boot/GDebug.h: Likewise.
* pge-boot/GM2Dependent.cc: Likewise.
* pge-boot/GDebug.cc: Likewise.
* pge-boot/GM2RTS.cc: Likewise.
* pge-boot/GSymbolKey.cc: Likewise.
* pge-boot/GIO.cc: Likewise.
* pge-boot/GIndexing.cc: Likewise.
* pge-boot/GDynamicStrings.cc: Likewise.
* pge-boot/GFormatStrings.h: Likewise.
gcc/go/
* go-gcc.cc: Remove trailing whitespace.
* gospec.cc: Likewise.
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/call.cc | 28 | ||||
-rw-r--r-- | gcc/cp/class.cc | 34 | ||||
-rw-r--r-- | gcc/cp/constexpr.cc | 12 | ||||
-rw-r--r-- | gcc/cp/coroutines.cc | 4 | ||||
-rw-r--r-- | gcc/cp/cp-lang.cc | 2 | ||||
-rw-r--r-- | gcc/cp/cp-tree.def | 8 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 4 | ||||
-rw-r--r-- | gcc/cp/cvt.cc | 4 | ||||
-rw-r--r-- | gcc/cp/cxx-pretty-print.cc | 12 | ||||
-rw-r--r-- | gcc/cp/decl.cc | 72 | ||||
-rw-r--r-- | gcc/cp/decl2.cc | 18 | ||||
-rw-r--r-- | gcc/cp/error.cc | 20 | ||||
-rw-r--r-- | gcc/cp/g++spec.cc | 2 | ||||
-rw-r--r-- | gcc/cp/init.cc | 6 | ||||
-rw-r--r-- | gcc/cp/lambda.cc | 8 | ||||
-rw-r--r-- | gcc/cp/lex.cc | 6 | ||||
-rw-r--r-- | gcc/cp/mangle.cc | 8 | ||||
-rw-r--r-- | gcc/cp/mapper-client.cc | 4 | ||||
-rw-r--r-- | gcc/cp/module.cc | 94 | ||||
-rw-r--r-- | gcc/cp/name-lookup.cc | 34 | ||||
-rw-r--r-- | gcc/cp/name-lookup.h | 6 | ||||
-rw-r--r-- | gcc/cp/optimize.cc | 2 | ||||
-rw-r--r-- | gcc/cp/parser.cc | 6 | ||||
-rw-r--r-- | gcc/cp/pt.cc | 22 | ||||
-rw-r--r-- | gcc/cp/ptree.cc | 2 | ||||
-rw-r--r-- | gcc/cp/rtti.cc | 4 | ||||
-rw-r--r-- | gcc/cp/search.cc | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.cc | 6 | ||||
-rw-r--r-- | gcc/cp/tree.cc | 16 | ||||
-rw-r--r-- | gcc/cp/typeck.cc | 90 | ||||
-rw-r--r-- | gcc/cp/typeck2.cc | 8 | ||||
-rw-r--r-- | gcc/cp/vtable-class-hierarchy.cc | 8 |
32 files changed, 278 insertions, 278 deletions
diff --git a/gcc/cp/call.cc b/gcc/cp/call.cc index cc25b48..220ac13 100644 --- a/gcc/cp/call.cc +++ b/gcc/cp/call.cc @@ -457,7 +457,7 @@ struct conversion_info { /* The location of the argument. */ location_t loc; }; - + struct rejection_reason { enum rejection_reason_code code; union { @@ -1872,7 +1872,7 @@ reference_binding (tree rto, tree rfrom, tree expr, bool c_cast_p, int flags, conv->rvaluedness_matches_p = (TYPE_REF_IS_RVALUE (rto) == TYPE_REF_IS_RVALUE (rfrom)); else - conv->rvaluedness_matches_p + conv->rvaluedness_matches_p = (TYPE_REF_IS_RVALUE (rto) == !is_lvalue); if ((gl_kind & clk_bitfield) != 0 @@ -3046,16 +3046,16 @@ add_builtin_candidate (struct z_candidate **candidates, enum tree_code code, break; if (TYPE_PTR_P (type1) && TYPE_PTR_P (type2)) break; - if (TREE_CODE (type1) == ENUMERAL_TYPE + if (TREE_CODE (type1) == ENUMERAL_TYPE && TREE_CODE (type2) == ENUMERAL_TYPE) break; - if (TYPE_PTR_P (type1) + if (TYPE_PTR_P (type1) && null_ptr_cst_p (args[1])) { type2 = type1; break; } - if (null_ptr_cst_p (args[0]) + if (null_ptr_cst_p (args[0]) && TYPE_PTR_P (type2)) { type1 = type2; @@ -3220,7 +3220,7 @@ add_builtin_candidate (struct z_candidate **candidates, enum tree_code code, if (ARITHMETIC_TYPE_P (type1)) break; return; - + default: gcc_unreachable (); } @@ -5419,7 +5419,7 @@ build_op_call (tree obj, vec<tree, va_gc> **args, tsubst_flags_t complain) if (complain & tf_error) { auto_diagnostic_group d; - error ("call of %<(%T) (%A)%> is ambiguous", + error ("call of %<(%T) (%A)%> is ambiguous", TREE_TYPE (obj), build_tree_list_vec (*args)); print_z_candidates (location_of (TREE_TYPE (obj)), candidates); } @@ -7233,7 +7233,7 @@ build_new_op (const op_location_t &loc, enum tree_code code, int flags, else { tree fnname = ovl_op_identifier (ismodop, ismodop ? code2 : code); - const char *msg = (flag_permissive) + const char *msg = (flag_permissive) ? G_("no %<%D(int)%> declared for postfix %qs," " trying prefix operator instead") : G_("no %<%D(int)%> declared for postfix %qs"); @@ -8963,7 +8963,7 @@ convert_like_internal (conversion *convs, tree expr, tree fn, int argnum, else if (complain & tf_warning) maybe_warn_array_conv (loc, convs, expr); - /* If necessary, create a temporary. + /* If necessary, create a temporary. VA_ARG_EXPR and CONSTRUCTOR expressions are special cases that need temporaries, even when their types are reference @@ -9453,7 +9453,7 @@ convert_for_arg_passing (tree type, tree val, tsubst_flags_t complain) tree bitfield_type; /* If VAL is a bitfield, then -- since it has already been converted - to TYPE -- it cannot have a precision greater than TYPE. + to TYPE -- it cannot have a precision greater than TYPE. If it has a smaller precision, we must widen it here. For example, passing "int f:3;" to a function expecting an "int" will @@ -9467,7 +9467,7 @@ convert_for_arg_passing (tree type, tree val, tsubst_flags_t complain) if we call convert_bitfield_to_declared_type, the bitfield will be converted to "long long". */ bitfield_type = is_bitfield_expr_with_lowered_type (val); - if (bitfield_type + if (bitfield_type && TYPE_PRECISION (TREE_TYPE (val)) < TYPE_PRECISION (type)) val = convert_to_integer_nofold (TYPE_MAIN_VARIANT (bitfield_type), val); @@ -9589,7 +9589,7 @@ get_function_version_dispatcher (tree fn) return dispatcher_decl; } -/* fn is a function version dispatcher that is marked used. Mark all the +/* fn is a function version dispatcher that is marked used. Mark all the semantically identical function versions it will dispatch as used. */ void @@ -13159,7 +13159,7 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn, auto_diagnostic_group d; if (warning (OPT_Wconversion, "choosing %qD over %qD", w->fn, l->fn) && warning (OPT_Wconversion, " for conversion from %qH to %qI", - source, w->second_conv->type)) + source, w->second_conv->type)) { inform (input_location, " because conversion sequence " "for the argument is better"); @@ -13416,7 +13416,7 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn, tree f2 = TREE_TYPE (cand2->fn); tree p1 = TYPE_ARG_TYPES (f1); tree p2 = TYPE_ARG_TYPES (f2); - + /* Check if cand1->fn and cand2->fn are versions of the same function. It is possible that cand1->fn and cand2->fn are function versions but of different functions. Check types to see if they are versions of the same diff --git a/gcc/cp/class.cc b/gcc/cp/class.cc index eed9df7..c11b91d 100644 --- a/gcc/cp/class.cc +++ b/gcc/cp/class.cc @@ -41,7 +41,7 @@ along with GCC; see the file COPYING3. If not see /* Id for dumping the class hierarchy. */ int class_dump_id; - + /* The number of nested classes being processed. If we are not in the scope of any class, this is zero. */ @@ -327,7 +327,7 @@ build_base_path (enum tree_code code, error ("cannot convert from base class %qT to derived " "class %qT because the base is virtual", BINFO_TYPE (binfo), BINFO_TYPE (d_binfo)); - } + } else { if (want_pointer) @@ -1322,7 +1322,7 @@ add_method (tree type, tree method, bool via_using) if ((DECL_CONV_FN_P (fn) || TREE_CODE (fn) == TEMPLATE_DECL) && !same_type_p (TREE_TYPE (fn_type), TREE_TYPE (method_type))) continue; - + /* For templates, the template parameters must be identical. */ if (TREE_CODE (fn) == TEMPLATE_DECL) { @@ -1411,7 +1411,7 @@ add_method (tree type, tree method, bool via_using) if (!DECL_INHERITED_CTOR (fn)) /* Defer to the other function. */ return false; - + tree basem = DECL_INHERITED_CTOR_BASE (method); tree basef = DECL_INHERITED_CTOR_BASE (fn); if (flag_new_inheriting_ctors) @@ -1987,7 +1987,7 @@ accessible_nvdtor_p (tree t) if (DECL_VINDEX (dtor)) return false; /* Virtual */ - + if (!TREE_PRIVATE (dtor) && !TREE_PROTECTED (dtor)) return true; /* Public */ @@ -2931,7 +2931,7 @@ update_vtable_entry_for_fn (tree t, tree binfo, tree fn, tree* virtuals, { /* We convert via virtual base. Adjust the fixed offset to be from there. */ - offset = + offset = size_diffop (offset, fold_convert (ssizetype, BINFO_OFFSET (virtual_offset))); @@ -3939,7 +3939,7 @@ check_field_decls (tree t, tree *access_decls, case CONST_DECL: DECL_NONLOCAL (field) = 1; break; - + case VAR_DECL: if (TREE_CODE (t) == UNION_TYPE && cxx_dialect < cxx11) @@ -3953,7 +3953,7 @@ check_field_decls (tree t, tree *access_decls, "a member of a union", field); } goto data_member; - + case FIELD_DECL: if (TREE_CODE (t) == UNION_TYPE) { @@ -5959,7 +5959,7 @@ classtype_has_move_assign_or_move_ctor_p (tree t, bool user_p) && DECL_CONTEXT (*iter) == t && move_fn_p (*iter)) return true; - + return false; } @@ -6384,7 +6384,7 @@ check_bases_and_members (tree t) /* [dcl.init.aggr] An aggregate is an array or a class with no user-provided - constructors ... and no virtual functions. + constructors ... and no virtual functions. Again, other conditions for being an aggregate are checked elsewhere. */ @@ -6430,7 +6430,7 @@ check_bases_and_members (tree t) vec<tree, va_gc> *accesses = BINFO_BASE_ACCESSES (binfo); tree base_binfo; unsigned i; - + for (i = 0; BINFO_BASE_ITERATE (binfo, i, base_binfo); i++) { tree basetype = TREE_TYPE (base_binfo); @@ -6443,7 +6443,7 @@ check_bases_and_members (tree t) basetype); } } - + /* If the class has no user-declared constructor, but does have non-static const or reference data members that can never be initialized, issue a warning. */ @@ -6582,7 +6582,7 @@ create_vtable_ptr (tree t, tree* virtuals_p) stores cannot alias stores to void*! */ tree field; - field = build_decl (input_location, + field = build_decl (input_location, FIELD_DECL, get_vfield_name (t), vtbl_ptr_type_node); DECL_VIRTUAL_P (field) = 1; DECL_ARTIFICIAL (field) = 1; @@ -8122,7 +8122,7 @@ finish_struct (tree t, tree attributes) /* COMPLETE_TYPE_P is now true. */ maybe_warn_about_overly_private_class (t); - + if (is_std_init_list (t)) { /* People keep complaining that the compiler crashes on an invalid @@ -8680,7 +8680,7 @@ pop_lang_context (void) control of FLAGS. Permit pointers to member function if FLAGS permits. If TEMPLATE_ONLY, the name of the overloaded function was a template-id, and EXPLICIT_TARGS are the explicitly provided - template arguments. + template arguments. If OVERLOAD is for one or more member functions, then ACCESS_PATH is the base path used to reference those member functions. If @@ -9242,7 +9242,7 @@ build_self_reference (void) DECL_ARTIFICIAL (decl) = 1; SET_DECL_SELF_REFERENCE_P (decl); set_underlying_type (decl); - set_instantiating_module (decl); + set_instantiating_module (decl); if (processing_template_decl) decl = push_template_decl (decl); @@ -10615,7 +10615,7 @@ build_vcall_offset_vtbl_entries (tree binfo, vtbl_init_data* vid) compute the indices -- but do not add to the vtable -- when building the main vtable for a class. */ if (binfo == TYPE_BINFO (vid->derived) - || (BINFO_VIRTUAL_P (binfo) + || (BINFO_VIRTUAL_P (binfo) /* If BINFO is RTTI_BINFO, then (since BINFO does not correspond to VID->DERIVED), we are building a primary construction virtual table. Since this is a primary diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc index ad68afe..c141c0a 100644 --- a/gcc/cp/constexpr.cc +++ b/gcc/cp/constexpr.cc @@ -484,7 +484,7 @@ build_data_member_initialization (tree t, vec<constructor_elt, va_gc> **vec) } /* Subroutine of check_constexpr_ctor_body_1 and constexpr_fn_retval. - In C++11 mode checks that the TYPE_DECLs in the BIND_EXPR_VARS of a + In C++11 mode checks that the TYPE_DECLs in the BIND_EXPR_VARS of a BIND_EXPR conform to 7.1.5/3/4 on typedef and alias declarations. */ static bool @@ -810,7 +810,7 @@ cx_check_missing_mem_inits (tree ctype, tree body, bool complain) return false; unsigned nelts = 0; - + if (body) { if (TREE_CODE (body) != CONSTRUCTOR) @@ -2015,7 +2015,7 @@ pop_cx_call_context (void) call_stack.pop (); } -vec<tree> +vec<tree> cx_error_context (void) { vec<tree> r = vNULL; @@ -2640,7 +2640,7 @@ cxx_eval_dynamic_cast_fn (const constexpr_ctx *ctx, tree call, (refers) to the C subobject of the most derived object. But it can also be an invalid case. */ - + /* Get the most derived object. */ obj = get_component_with_type (obj, mdtype, NULL_TREE); if (obj == error_mark_node) @@ -6445,7 +6445,7 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, vec_safe_reserve (CONSTRUCTOR_ELTS (ary_ctor), num_elts); for (unsigned ix = 0; ix != num_elts; ix++) { - constructor_elt elt = + constructor_elt elt = { build_int_cst (size_type_node, ix), extract_string_elt (string, chars_per_elt, ix) @@ -8028,7 +8028,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t, case COMPONENT_REF: if (is_overloaded_fn (t)) { - /* We can only get here in checking mode via + /* We can only get here in checking mode via build_non_dependent_expr, because any expression that calls or takes the address of the function will have pulled a FUNCTION_DECL out of the COMPONENT_REF. */ diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc index ef64a98..ba326bc 100644 --- a/gcc/cp/coroutines.cc +++ b/gcc/cp/coroutines.cc @@ -4176,7 +4176,7 @@ cp_coroutine_transform::wrap_original_function_body () for (tree b = BLOCK_SUBBLOCKS (replace_blk); b; b = BLOCK_CHAIN (b)) BLOCK_SUPERCONTEXT (b) = replace_blk; BIND_EXPR_BLOCK (first) = replace_blk; - /* The top block has one child, so far, and we have now got a + /* The top block has one child, so far, and we have now got a superblock. */ BLOCK_SUPERCONTEXT (replace_blk) = top_block; BLOCK_SUBBLOCKS (top_block) = replace_blk; @@ -5086,7 +5086,7 @@ cp_coroutine_transform::build_ramp_function () /* Before initial resume is called, the responsibility for cleanup on exception falls to the ramp. After that, the coroutine body code - should do the cleanup. This is signalled by the flag + should do the cleanup. This is signalled by the flag 'initial_await_resume_called'. */ tree not_iarc diff --git a/gcc/cp/cp-lang.cc b/gcc/cp/cp-lang.cc index 3959b31..faab86d 100644 --- a/gcc/cp/cp-lang.cc +++ b/gcc/cp/cp-lang.cc @@ -212,7 +212,7 @@ fold_cplus_constants (const_tree c) for (i = 0; i < vec_len; ++i) { tree elem = TREE_VEC_ELT (elems, i); - TREE_VEC_ELT (folded_elems, i) = + TREE_VEC_ELT (folded_elems, i) = (elem && !TYPE_P (elem)) ? cplus_expand_constant (elem) : elem; } diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def index 18f7510..3de6923 100644 --- a/gcc/cp/cp-tree.def +++ b/gcc/cp/cp-tree.def @@ -343,7 +343,7 @@ DEFTREECODE (STATIC_ASSERT, "static_assert", tcc_exceptional, 0) /* Represents an argument pack of types (or templates). An argument pack stores zero or more arguments that will be used to instantiate - a parameter pack. + a parameter pack. ARGUMENT_PACK_ARGS retrieves the arguments stored in the argument pack. @@ -361,7 +361,7 @@ DEFTREECODE (STATIC_ASSERT, "static_assert", tcc_exceptional, 0) DEFTREECODE (TYPE_ARGUMENT_PACK, "type_argument_pack", tcc_type, 0) /* Represents an argument pack of values, which can be used either for - non-type template arguments or function call arguments. + non-type template arguments or function call arguments. NONTYPE_ARGUMENT_PACK plays precisely the same role as TYPE_ARGUMENT_PACK, but will be used for packing non-type template @@ -381,7 +381,7 @@ DEFTREECODE (NONTYPE_ARGUMENT_PACK, "nontype_argument_pack", tcc_expression, 1) Example: template<typename... Values> - struct tied : tuple<Values&...> { + struct tied : tuple<Values&...> { // ... }; @@ -399,7 +399,7 @@ DEFTREECODE (EXPR_PACK_EXPANSION, "expr_pack_expansion", tcc_expression, 3) /* Selects the Ith parameter out of an argument pack. This node will be used when instantiating pack expansions; see - tsubst_pack_expansion. + tsubst_pack_expansion. ARGUMENT_PACK_SELECT_FROM_PACK contains the *_ARGUMENT_PACK node from which the argument will be selected. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index a44100a..f98a1de 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -7452,7 +7452,7 @@ extern void lazy_load_binding (unsigned mod, tree ns, tree id, binding_slot *bslot); extern void lazy_load_pendings (tree decl); extern module_state *preprocess_module (module_state *, location_t, - bool in_purview, + bool in_purview, bool is_import, bool export_p, cpp_reader *reader); extern void preprocessed_module (cpp_reader *reader); @@ -8835,7 +8835,7 @@ set_contract_semantic (tree t, contract_semantic semantic) } /* Inline bodies. */ - + inline tree ovl_first (tree node) { diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc index 54e700c..75e7f06 100644 --- a/gcc/cp/cvt.cc +++ b/gcc/cp/cvt.cc @@ -833,7 +833,7 @@ ocp_convert (tree type, tree expr, int convtype, int flags, && TREE_CODE (val) == INTEGER_CST && ENUM_UNDERLYING_TYPE (type) && !int_fits_type_p (val, ENUM_UNDERLYING_TYPE (type))) - warning_at (loc, OPT_Wconversion, + warning_at (loc, OPT_Wconversion, "the result of the conversion is unspecified because " "%qE is outside the range of type %qT", expr, type); @@ -2004,7 +2004,7 @@ type_promotes_to (tree type) whose underlying type is fixed (10.2) can be converted to a prvalue of its underlying type. Moreover, if integral promotion can be applied to its underlying type, a prvalue of an unscoped - enumeration type whose underlying type is fixed can also be + enumeration type whose underlying type is fixed can also be converted to a prvalue of the promoted underlying type. */ return type_promotes_to (prom); } diff --git a/gcc/cp/cxx-pretty-print.cc b/gcc/cp/cxx-pretty-print.cc index c0608ac..f420312 100644 --- a/gcc/cp/cxx-pretty-print.cc +++ b/gcc/cp/cxx-pretty-print.cc @@ -413,7 +413,7 @@ pp_cxx_userdef_literal (cxx_pretty_printer *pp, tree t) :: operator-function-id :: qualifier-id ( expression ) - id-expression + id-expression GNU Extensions: __builtin_va_arg ( assignment-expression , type-id ) @@ -422,15 +422,15 @@ pp_cxx_userdef_literal (cxx_pretty_printer *pp, tree t) __builtin_is_virtual_base_of ( type-id , type-id ) - __has_nothrow_assign ( type-id ) + __has_nothrow_assign ( type-id ) __has_nothrow_constructor ( type-id ) __has_nothrow_copy ( type-id ) - __has_trivial_assign ( type-id ) + __has_trivial_assign ( type-id ) __has_trivial_constructor ( type-id ) __has_trivial_copy ( type-id ) __has_unique_object_representations ( type-id ) __has_trivial_destructor ( type-id ) - __has_virtual_destructor ( type-id ) + __has_virtual_destructor ( type-id ) __is_abstract ( type-id ) __is_base_of ( type-id , type-id ) __is_class ( type-id ) @@ -877,7 +877,7 @@ cxx_pretty_printer::unary_expression (tree t) pp_cxx_left_paren (this); type_id (TREE_OPERAND (t, 0)); pp_cxx_right_paren (this); - break; + break; case NOEXCEPT_EXPR: pp_cxx_ws_string (this, "noexcept"); @@ -1692,7 +1692,7 @@ cxx_pretty_printer::direct_declarator (tree t) /* A function parameter pack or non-type template parameter pack. */ pp_cxx_ws_string (this, "..."); - + id_expression (DECL_NAME (t)); } abstract_declarator (TREE_TYPE (t)); diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc index 354b224..0bc320a 100644 --- a/gcc/cp/decl.cc +++ b/gcc/cp/decl.cc @@ -382,7 +382,7 @@ check_label_used (tree label) /* Avoid crashing later. */ define_label (location, DECL_NAME (label)); } - else + else warn_for_unused_label (label); } } @@ -1706,7 +1706,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool hiding, bool was_hidden) if (! TREE_PUBLIC (newdecl)) { warning_at (newdecl_loc, - OPT_Wshadow, + OPT_Wshadow, fndecl_built_in_p (olddecl) ? G_("shadowing built-in function %q#D") : G_("shadowing library function %q#D"), olddecl); @@ -1832,7 +1832,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool hiding, bool was_hidden) "new declaration %q#D ambiguates built-in " "declaration %q#D", newdecl, olddecl); else - warning (OPT_Wshadow, + warning (OPT_Wshadow, fndecl_built_in_p (olddecl) ? G_("shadowing built-in function %q#D") : G_("shadowing library function %q#D"), olddecl); @@ -1844,7 +1844,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool hiding, bool was_hidden) /* Replace the old RTL to avoid problems with inlining. */ COPY_DECL_RTL (newdecl, olddecl); } - else + else { /* Even if the types match, prefer the new declarations type for built-ins which have not been explicitly declared, @@ -2170,7 +2170,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool hiding, bool was_hidden) versions of G++ silently ignore the linkage-specification for this example: - namespace N { + namespace N { extern int i; extern "C" int i; } @@ -2607,7 +2607,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool hiding, bool was_hidden) = TYPE_NEXT_VARIANT (TYPE_NEXT_VARIANT (t)); break; } - } + } else for (tree t = TYPE_MAIN_VARIANT (remove); ; t = TYPE_NEXT_VARIANT (t)) @@ -3628,7 +3628,7 @@ lookup_label_1 (tree id, bool making_local_p) named_label_entry **slot = named_labels->find_slot_with_hash (id, hash, INSERT); named_label_entry *old = *slot; - + if (old && old->label_decl) { if (!making_local_p) @@ -4551,7 +4551,7 @@ make_typename_type (tree context, tree name, enum tag_types tag_type, return build_typename_type (context, name, fullname, tag_type); want_template = TREE_CODE (fullname) == TEMPLATE_ID_EXPR; - + if (!t) { if (complain & tf_error) @@ -4564,7 +4564,7 @@ make_typename_type (tree context, tree name, enum tag_types tag_type, } return error_mark_node; } - + /* Pull out the template from an injected-class-name (or multiple). */ if (want_template) t = maybe_get_template_decl_from_type_decl (t); @@ -4618,7 +4618,7 @@ make_typename_type (tree context, tree name, enum tag_types tag_type, return error_mark_node; t = TYPE_NAME (t); } - + if (DECL_ARTIFICIAL (t) || !(complain & tf_keep_type_decl)) t = TREE_TYPE (t); @@ -5282,7 +5282,7 @@ cp_make_fname_decl (location_t loc, tree id, int type_dep) name = "top level"; else if (type_dep == 0) { - /* __FUNCTION__ */ + /* __FUNCTION__ */ name = fname_as_string (type_dep); release_name = true; } @@ -5986,7 +5986,7 @@ start_decl (const cp_declarator *declarator, DECL_INITIAL (decl) = error_mark_node; } alias = lookup_attribute ("alias", DECL_ATTRIBUTES (decl)) != 0; - + if (alias && TREE_CODE (decl) == FUNCTION_DECL) record_key_method_defined (decl); @@ -6228,7 +6228,7 @@ start_decl_1 (tree decl, bool initialized) (Scalars are always complete types, so there is nothing to check.) This code just sets COMPLETE_P; errors (if necessary) are issued below. */ - if ((initialized || aggregate_definition_p) + if ((initialized || aggregate_definition_p) && !complete_p && COMPLETE_TYPE_P (complete_type (type))) { @@ -8250,7 +8250,7 @@ value_dependent_init_p (tree init) else /* It must be a simple expression, e.g., int i = 3; */ return value_dependent_expression_p (init); - + return false; } @@ -9711,7 +9711,7 @@ cp_finish_decomp (tree decl, cp_decomp *decomp, bool test_p) DECL_DECOMP_BASE (decl) = cond; } } - int save_read = DECL_READ_P (decl); + int save_read = DECL_READ_P (decl); for (unsigned i = 0; i < count; ++i) { location_t sloc = input_location; @@ -10163,7 +10163,7 @@ register_dtor_fn (tree decl) that any access checks will be done relative to the current scope, rather than the scope of the anonymous function. */ build_cleanup (decl); - + /* Now start the function. */ cleanup = start_cleanup_fn (ob_parm); @@ -10174,7 +10174,7 @@ register_dtor_fn (tree decl) push_deferring_access_checks (dk_no_check); fcall = build_cleanup (decl); pop_deferring_access_checks (); - + /* Create the body of the anonymous function. */ compound_stmt = begin_compound_stmt (BCS_FN_BODY); finish_expr_stmt (fcall); @@ -11530,7 +11530,7 @@ build_ptrmemfunc_type (tree type) DECL_NONADDRESSABLE_P (field) = 1; fields = field; - field = build_decl (input_location, FIELD_DECL, delta_identifier, + field = build_decl (input_location, FIELD_DECL, delta_identifier, delta_type_node); DECL_NONADDRESSABLE_P (field) = 1; DECL_CHAIN (field) = fields; @@ -11860,10 +11860,10 @@ compute_array_index_type_loc (location_t name_loc, tree name, tree size, else if (warn_vla > 0) { if (name) - warning_at (name_loc, OPT_Wvla, + warning_at (name_loc, OPT_Wvla, "variable length array %qD is used", name); else - warning (OPT_Wvla, + warning (OPT_Wvla, "variable length array is used"); } @@ -12502,10 +12502,10 @@ grokdeclarator (const cp_declarator *declarator, return error_mark_node; if (at_function_scope_p ()) { - /* [dcl.meaning] + /* [dcl.meaning] A declarator-id shall not be qualified except - for ... + for ... None of the cases are permitted in block scope. */ @@ -12515,7 +12515,7 @@ grokdeclarator (const cp_declarator *declarator, else if (TYPE_P (qualifying_scope)) error ("invalid use of qualified-name %<%T::%D%>", qualifying_scope, decl); - else + else error ("invalid use of qualified-name %<%D::%D%>", qualifying_scope, decl); return error_mark_node; @@ -14434,7 +14434,7 @@ grokdeclarator (const cp_declarator *declarator, if ((rqual || memfn_quals) && TREE_CODE (type) == FUNCTION_TYPE) { type = apply_memfn_quals (type, memfn_quals, rqual); - + /* We have now dealt with these qualifiers. */ memfn_quals = TYPE_UNQUALIFIED; rqual = REF_QUAL_NONE; @@ -15238,11 +15238,11 @@ grokdeclarator (const cp_declarator *declarator, && pedantic) { if (storage_class == sc_static) - pedwarn (declspecs->locations[ds_storage_class], OPT_Wpedantic, + pedwarn (declspecs->locations[ds_storage_class], OPT_Wpedantic, "%<static%> specifier invalid for function %qs " "declared out of global scope", name); else - pedwarn (declspecs->locations[ds_inline], OPT_Wpedantic, + pedwarn (declspecs->locations[ds_inline], OPT_Wpedantic, "%<inline%> specifier invalid for function %qs " "declared out of global scope", name); } @@ -15364,7 +15364,7 @@ grokdeclarator (const cp_declarator *declarator, } if (storage_class == sc_extern && pedantic) { - pedwarn (input_location, OPT_Wpedantic, + pedwarn (input_location, OPT_Wpedantic, "cannot explicitly declare member %q#D to have " "extern linkage", decl); storage_class = sc_none; @@ -16070,7 +16070,7 @@ grok_special_member_properties (tree decl) } else if (IDENTIFIER_CONV_OP_P (DECL_NAME (decl))) TYPE_HAS_CONVERSION (class_type) = true; - + /* Destructors are handled in check_methods. */ } @@ -16254,7 +16254,7 @@ grok_op_properties (tree decl, bool complain) "enumerated type", decl); return false; } - + tree type = non_reference (TREE_VALUE (arg)); if (type == error_mark_node) return false; @@ -16430,7 +16430,7 @@ grok_op_properties (tree decl, bool complain) || operator_code == COMPOUND_EXPR) warning_at (loc, OPT_Weffc__, "user-defined %qD always evaluates both arguments", decl); - + /* More Effective C++ rule 6. */ if (operator_code == POSTINCREMENT_EXPR || operator_code == POSTDECREMENT_EXPR @@ -16651,7 +16651,7 @@ lookup_and_check_tag (enum tag_types tag_code, tree name, if (TREE_CODE (decl) != TYPE_DECL) /* Found not-a-type. */ return NULL_TREE; - + /* Look for invalid nested type: class C { class C {}; @@ -17130,7 +17130,7 @@ copy_type_enum (tree dst, tree src) } /* Begin compiling the definition of an enumeration type. - NAME is its name, + NAME is its name, if ENUMTYPE is not NULL_TREE then the type has alredy been found. @@ -17289,7 +17289,7 @@ start_enum (tree name, tree enumtype, tree underlying_type, ENUM_UNDERLYING_TYPE (enumtype) = underlying_type; else { - error ("underlying type %qT of %qT must be an integral type", + error ("underlying type %qT of %qT must be an integral type", underlying_type, enumtype); ENUM_UNDERLYING_TYPE (enumtype) = integer_type_node; } @@ -17319,7 +17319,7 @@ finish_enum_value_list (tree enumtype) tree minnode, maxnode; tree t; - bool fixed_underlying_type_p + bool fixed_underlying_type_p = ENUM_UNDERLYING_TYPE (enumtype) != NULL_TREE; /* We built up the VALUES in reverse order. */ @@ -17747,7 +17747,7 @@ incremented enumerator value is too large for %<long%>")); type = value ? TREE_TYPE (value) : NULL_TREE; decl = build_decl (loc, CONST_DECL, name, type); - + DECL_CONTEXT (decl) = enumtype; TREE_CONSTANT (decl) = 1; TREE_READONLY (decl) = 1; @@ -19015,7 +19015,7 @@ finish_function (bool inline_p) /* Possibly warn about unused parameters. */ if (warn_unused_parameter - && !processing_template_decl + && !processing_template_decl && !DECL_CLONED_FUNCTION_P (fndecl)) do_warn_unused_parameter (fndecl); diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc index fa32ce3..fdcd67d 100644 --- a/gcc/cp/decl2.cc +++ b/gcc/cp/decl2.cc @@ -56,7 +56,7 @@ along with GCC; see the file COPYING3. If not see /* Id for dumping the raw trees. */ int raw_dump_id; - + extern cpp_reader *parse_in; static tree start_objects (bool, unsigned, bool, bool); @@ -2076,7 +2076,7 @@ coerce_new_type (tree type, location_t loc) if (TREE_PURPOSE (args)) { /* [basic.stc.dynamic.allocation] - + The first parameter shall not have an associated default argument. */ error_at (loc, "the first parameter of %<operator new%> cannot " @@ -2937,7 +2937,7 @@ determine_visibility (tree decl) if (DECL_VISIBILITY_SPECIFIED (fn)) { DECL_VISIBILITY (decl) = DECL_VISIBILITY (fn); - DECL_VISIBILITY_SPECIFIED (decl) = + DECL_VISIBILITY_SPECIFIED (decl) = DECL_VISIBILITY_SPECIFIED (fn); } else @@ -3017,7 +3017,7 @@ determine_visibility (tree decl) ? TYPE_ATTRIBUTES (TREE_TYPE (decl)) : DECL_ATTRIBUTES (decl)); tree attr = lookup_attribute ("visibility", attribs); - + if (args != error_mark_node) { tree pattern = DECL_TEMPLATE_RESULT (TI_TEMPLATE (tinfo)); @@ -4285,7 +4285,7 @@ finish_partial_init_fini_fn (tree body) to refer to a temporary variable that does not have its DECL_CONTEXT() properly set. */ -static tree +static tree fix_temporary_vars_context_r (tree *node, int * /*unused*/, void *ctx) @@ -4319,7 +4319,7 @@ one_static_initialization_or_destruction (bool initp, tree decl, tree init) /* Make sure temporary variables in the initialiser all have their DECL_CONTEXT() set to a value different from NULL_TREE. This can happen when global variables initializers are built. - In that case, the DECL_CONTEXT() of the global variables _AND_ of all + In that case, the DECL_CONTEXT() of the global variables _AND_ of all the temporary variables that might have been generated in the accompanying initializers is NULL_TREE, meaning the variables have been declared in the global namespace. @@ -4380,7 +4380,7 @@ one_static_initialization_or_destruction (bool initp, tree decl, tree init) guard, /*noconvert=*/true, tf_warning_or_error); - guard_cond = cp_build_binary_op (input_location, EQ_EXPR, guard_cond, + guard_cond = cp_build_binary_op (input_location, EQ_EXPR, guard_cond, integer_zero_node, tf_warning_or_error); } @@ -4721,8 +4721,8 @@ cpp_check (tree t, cpp_operation op) /* Collect source file references recursively, starting from NAMESPC. */ -static void -collect_source_refs (tree namespc) +static void +collect_source_refs (tree namespc) { /* Iterate over names in this name space. */ for (tree t = NAMESPACE_LEVEL (namespc)->names; t; t = TREE_CHAIN (t)) diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc index 65f70c5..8381f95 100644 --- a/gcc/cp/error.cc +++ b/gcc/cp/error.cc @@ -867,7 +867,7 @@ dump_typename (cxx_pretty_printer *pp, tree t, int flags) const char * class_key_or_enum_as_string (tree t) { - if (TREE_CODE (t) == ENUMERAL_TYPE) + if (TREE_CODE (t) == ENUMERAL_TYPE) { if (SCOPED_ENUM_P (t)) return "enum class"; @@ -929,7 +929,7 @@ dump_aggr_type (cxx_pretty_printer *pp, tree t, int flags) && TYPE_LANG_SPECIFIC (t) && CLASSTYPE_TEMPLATE_INFO (t) && (TREE_CODE (CLASSTYPE_TI_TEMPLATE (t)) != TEMPLATE_DECL || PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (t))); - + if (! (flags & TFF_UNQUALIFIED_NAME)) dump_scope (pp, CP_DECL_CONTEXT (decl), flags | TFF_SCOPE); flags &= ~TFF_UNQUALIFIED_NAME; @@ -1276,7 +1276,7 @@ dump_simple_decl (cxx_pretty_printer *pp, tree t, tree type, int flags) dump_scope (pp, CP_DECL_CONTEXT (t), flags); flags &= ~TFF_UNQUALIFIED_NAME; if ((flags & TFF_DECL_SPECIFIERS) - && DECL_TEMPLATE_PARM_P (t) + && DECL_TEMPLATE_PARM_P (t) && TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (t))) pp_string (pp, "..."); if (DECL_NAME (t)) @@ -2210,7 +2210,7 @@ dump_template_parms (cxx_pretty_printer *pp, tree info, && (!ARGUMENT_PACK_P (arg) || TREE_VEC_LENGTH (ARGUMENT_PACK_ARGS (arg)) > 0)) pp_separate_with_comma (pp); - + if (!arg) pp_string (pp, M_("<template parameter error>")); else @@ -2255,7 +2255,7 @@ dump_call_expr_args (cxx_pretty_printer *pp, tree t, int flags, bool skipfirst) { tree arg; call_expr_arg_iterator iter; - + pp_cxx_left_paren (pp); FOR_EACH_CALL_EXPR_ARG (arg, iter, t) { @@ -2281,7 +2281,7 @@ dump_aggr_init_expr_args (cxx_pretty_printer *pp, tree t, int flags, { tree arg; aggr_init_expr_arg_iterator iter; - + pp_cxx_left_paren (pp); FOR_EACH_AGGR_INIT_EXPR_ARG (arg, iter, t) { @@ -3937,7 +3937,7 @@ print_instantiation_partial_context (diagnostic_text_output_format &text_output, t = t0; if (template_backtrace_limit - && n_total > template_backtrace_limit) + && n_total > template_backtrace_limit) { int skip = n_total - template_backtrace_limit; int head = template_backtrace_limit / 2; @@ -3948,7 +3948,7 @@ print_instantiation_partial_context (diagnostic_text_output_format &text_output, skip = 2; head = (template_backtrace_limit - 1) / 2; } - + for (n = 0; n < head; n++) { gcc_assert (t != NULL); @@ -3975,14 +3975,14 @@ print_instantiation_partial_context (diagnostic_text_output_format &text_output, "contexts, use -ftemplate-backtrace-limit=0 to " "disable ]\n"), "locus", xloc.file, xloc.line, skip); - + do { loc = t->locus; t = t->next; } while (t != NULL && --skip > 0); } } - + while (t != NULL) { while (t->next != NULL && t->locus == t->next->locus) diff --git a/gcc/cp/g++spec.cc b/gcc/cp/g++spec.cc index ad5d0d6..cc7cc9b 100644 --- a/gcc/cp/g++spec.cc +++ b/gcc/cp/g++spec.cc @@ -200,7 +200,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, || strcmp (arg, "objective-c++") == 0 || strcmp (arg, "objective-c++-cpp-output") == 0)) library = 1; - + saw_speclang = 1; break; diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc index d72964d..0527f53 100644 --- a/gcc/cp/init.cc +++ b/gcc/cp/init.cc @@ -408,7 +408,7 @@ build_value_init_noctor (tree type, tsubst_flags_t complain) { gcc_assert (!TYPE_HAS_COMPLEX_DFLT (type) || errorcount != 0); - + if (TREE_CODE (type) != UNION_TYPE) { tree field; @@ -3031,7 +3031,7 @@ maybe_wrap_new_for_constexpr (tree alloc_call, tree elt_type, tree cookie_size) if (current_function_decl != NULL_TREE && !DECL_DECLARED_CONSTEXPR_P (current_function_decl)) return alloc_call; - + tree call_expr = extract_call_expr (alloc_call); if (call_expr == error_mark_node) return alloc_call; @@ -4162,7 +4162,7 @@ build_vec_delete_1 (location_t loc, tree base, tree maxindex, tree type, /* This size won't actually be used. */ size_exp = size_one_node; goto no_destructor; - } + } size_exp = size_in_bytes (type); diff --git a/gcc/cp/lambda.cc b/gcc/cp/lambda.cc index 1453bc5..b4b40e2 100644 --- a/gcc/cp/lambda.cc +++ b/gcc/cp/lambda.cc @@ -217,7 +217,7 @@ lambda_capture_field_type (tree expr, bool explicit_init_p, else if (explicit_init_p) { tree auto_node = make_auto (); - + type = auto_node; if (by_reference_p) /* Add the reference now, so deduction doesn't lose @@ -1564,7 +1564,7 @@ compare_lambda_template_head (tree tmpl_a, tree tmpl_b) // synthetic ones. int len_a = TREE_VEC_LENGTH (inner_a); int len_b = TREE_VEC_LENGTH (inner_b); - + for (int ix = 0, len = MAX (len_a, len_b); ix != len; ix++) { tree parm_a = NULL_TREE; @@ -1579,7 +1579,7 @@ compare_lambda_template_head (tree tmpl_a, tree tmpl_b) if (DECL_VIRTUAL_P (parm_a)) parm_a = NULL_TREE; } - + tree parm_b = NULL_TREE; if (ix < len_b) { @@ -1612,7 +1612,7 @@ compare_lambda_template_head (tree tmpl_a, tree tmpl_b) if (!same_type_p (TREE_TYPE (parm_a), TREE_TYPE (parm_b))) return false; } - else + else { if (TEMPLATE_TYPE_PARAMETER_PACK (TREE_TYPE (parm_a)) != TEMPLATE_TYPE_PARAMETER_PACK (TREE_TYPE (parm_b))) diff --git a/gcc/cp/lex.cc b/gcc/cp/lex.cc index 79d9490..bf63e1c 100644 --- a/gcc/cp/lex.cc +++ b/gcc/cp/lex.cc @@ -83,7 +83,7 @@ cxx_finish (void) c_common_finish (); } -ovl_op_info_t ovl_op_info[2][OVL_OP_MAX] = +ovl_op_info_t ovl_op_info[2][OVL_OP_MAX] = { { {NULL_TREE, NULL, NULL, ERROR_MARK, OVL_OP_ERROR_MARK, 0}, @@ -496,7 +496,7 @@ struct module_token_filter state = module_end; goto header_unit; } - + if (type == CPP_PADDING || type == CPP_COMMENT) break; @@ -1111,7 +1111,7 @@ maybe_add_lang_type_raw (tree t) { if (!RECORD_OR_UNION_CODE_P (TREE_CODE (t))) return false; - + auto *lt = (struct lang_type *) (ggc_internal_cleared_alloc (sizeof (struct lang_type))); TYPE_LANG_SPECIFIC (t) = lt; diff --git a/gcc/cp/mangle.cc b/gcc/cp/mangle.cc index 828e326..4d46c09 100644 --- a/gcc/cp/mangle.cc +++ b/gcc/cp/mangle.cc @@ -1478,7 +1478,7 @@ anon_aggr_naming_decl (tree type) ::= <special-name> ::= [<module-name>] <source-name> ::= [<module-name>] <unnamed-type-name> - ::= <local-source-name> + ::= <local-source-name> ::= F <source-name> # member-like constrained friend <local-source-name> ::= L <source-name> <discriminator> */ @@ -2379,7 +2379,7 @@ write_local_name (tree function, const tree local_entity, C++0x extensions <type> ::= RR <type> # rvalue reference-to - <type> ::= Dt <expression> # decltype of an id-expression or + <type> ::= Dt <expression> # decltype of an id-expression or # class member access <type> ::= DT <expression> # decltype of an expression <type> ::= Dn # decltype of nullptr @@ -3852,7 +3852,7 @@ write_expression (tree expr) return; } else - write_string (name); + write_string (name); switch (code) { @@ -3879,7 +3879,7 @@ write_expression (tree expr) case CAST_EXPR: write_type (TREE_TYPE (expr)); - if (list_length (TREE_OPERAND (expr, 0)) == 1) + if (list_length (TREE_OPERAND (expr, 0)) == 1) write_expression (TREE_VALUE (TREE_OPERAND (expr, 0))); else { diff --git a/gcc/cp/mapper-client.cc b/gcc/cp/mapper-client.cc index f76fc03..fbe5281 100644 --- a/gcc/cp/mapper-client.cc +++ b/gcc/cp/mapper-client.cc @@ -268,7 +268,7 @@ module_client::open_module_client (location_t loc, const char *o, c = new module_client (fd, fd); } } - + } break; } @@ -297,7 +297,7 @@ module_client::open_module_client (location_t loc, const char *o, line = l; errmsg = "reading"; } - + close (fd); } } diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index 297ef85bb..f72e015 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -585,7 +585,7 @@ class bytes_out : public data { public: allocator *memory; /* Obtainer of memory. */ - + public: bytes_out (allocator *memory) : parent (), memory (memory) @@ -616,7 +616,7 @@ public: if (unsigned pad = pos & (boundary - 1)) write (boundary - pad); } - + public: char *write (unsigned count, bool exact = false) { @@ -1235,7 +1235,7 @@ protected: uint32_t entry; /* 0 */ uint32_t phoff; /* 0 */ uint32_t shoff; /* Section Header Offset in file */ - uint32_t flags; + uint32_t flags; uint16_t ehsize; /* ELROND Header SIZE -- sizeof (header) */ uint16_t phentsize; /* 0 */ uint16_t phnum; /* 0 */ @@ -1709,7 +1709,7 @@ elf_in::read (data *data, unsigned pos, unsigned length) } #endif grow (*data, length); -#if MAPPED_READING +#if MAPPED_READING data->buffer = hdr.buffer + pos; #else if (::read (fd, data->buffer, data->size) != ssize_t (length)) @@ -2310,7 +2310,7 @@ public: EK_USING, /* A using declaration (at namespace scope). */ EK_NAMESPACE, /* A namespace. */ EK_REDIRECT, /* Redirect to a template_decl. */ - EK_EXPLICIT_HWM, + EK_EXPLICIT_HWM, EK_BINDING = EK_EXPLICIT_HWM, /* Implicitly encoded. */ EK_FOR_BINDING, /* A decl being inserted for a binding. */ EK_INNER_DECL, /* A decl defined outside of its imported @@ -2322,7 +2322,7 @@ public: private: /* Placement of bit fields in discriminator. */ - enum disc_bits + enum disc_bits { DB_ZERO_BIT, /* Set to disambiguate identifier from flags */ DB_SPECIAL_BIT, /* First dep slot is special. */ @@ -2386,7 +2386,7 @@ private: gcc_checking_assert (I < 2 || !is_binding ()); return bool ((discriminator >> I) & 1); } - + public: bool is_binding () const { @@ -2595,7 +2595,7 @@ public: private: void add_deduction_guides (tree decl); - public: + public: void find_dependencies (module_state *); bool finalize_dependencies (); vec<depset *> connect (); @@ -2613,7 +2613,7 @@ public: result.create (size); stack.create (50); } - ~tarjan () + ~tarjan () { gcc_assert (!stack.length ()); stack.release (); @@ -2641,7 +2641,7 @@ const char * depset::entity_kind_name () const { /* Same order as entity_kind. */ - static const char *const names[] = + static const char *const names[] = {"decl", "specialization", "partial", "using", "namespace", "redirect", "binding"}; entity_kind kind = get_entity_kind (); @@ -2810,7 +2810,7 @@ enum merge_kind MK_local_friend, /* Found by CTX, index. */ MK_indirect_lwm = MK_enum, - + /* Template specialization kinds below. These are all found via primary template and specialization args. */ MK_template_mask = 0x10, /* A template specialization. */ @@ -2949,7 +2949,7 @@ public: public: /* Serialize various definitions. */ bool read_definition (tree decl); - + private: bool is_matching_decl (tree existing, tree decl, bool is_typedef); static bool install_implicit_member (tree decl); @@ -3053,7 +3053,7 @@ public: void end (); public: - enum tags + enum tags { tag_backref = -1, /* Upper bound on the backrefs. */ tag_value = 0, /* Write by value. */ @@ -3341,7 +3341,7 @@ struct ord_loc_traits static bool is_deleted (value_type &) { return false; } static void mark_deleted (value_type &) { gcc_unreachable (); } - + static void remove (value_type &) {} }; /* Table keyed by ord_loc_info, used for noting. */ @@ -3399,7 +3399,7 @@ struct macro_loc_traits static bool is_deleted (value_type &) { return false; } static void mark_deleted (value_type &) { gcc_unreachable (); } - + static void remove (value_type &) {} }; /* Table keyed by line_map_macro, used for noting. */ @@ -4035,7 +4035,7 @@ get_clone_target (tree decl) if (TREE_CODE (decl) == TEMPLATE_DECL) { tree res_orig = DECL_CLONED_FUNCTION (DECL_TEMPLATE_RESULT (decl)); - + target = DECL_TI_TEMPLATE (res_orig); } else @@ -4722,7 +4722,7 @@ set_cmi_repo (const char *r) size_t len = strlen (r); cmi_repo = XNEWVEC (char, len + 1); memcpy (cmi_repo, r, len + 1); - + if (len > 1 && IS_DIR_SEPARATOR (cmi_repo[len-1])) len--; if (len == 1 && cmi_repo[0] == '.') @@ -5683,7 +5683,7 @@ trees_in::core_bools (tree t, bits_in& bits) RB (t->function_decl.disregard_inline_limits); RB (t->function_decl.pure_flag); RB (t->function_decl.looping_const_or_pure_flag); - + RB (t->function_decl.has_debug_args_flag); RB (t->function_decl.versioned_function); @@ -6425,7 +6425,7 @@ trees_out::core_vals (tree t) WT (((lang_tree_node *)t)->overload.function); WT (t->common.chain); break; - + case PTRMEM_CST: WT (((lang_tree_node *)t)->ptrmem.member); break; @@ -6485,7 +6485,7 @@ trees_out::core_vals (tree t) /* TEMPLATE_PARM_DESCENDANTS (AKA TREE_CHAIN) is an internal cache, do not stream. */ break; - + case TRAIT_EXPR: WT (((lang_tree_node *)t)->trait_expression.type1); WT (((lang_tree_node *)t)->trait_expression.type2); @@ -6771,7 +6771,7 @@ trees_in::core_vals (tree t) RU (t->label_decl.label_decl_uid); RU (t->label_decl.eh_landing_pad_nr); break; - + case FUNCTION_DECL: { unsigned bltin = u (); @@ -7537,7 +7537,7 @@ bool trees_in::add_indirects (tree decl) { unsigned count = 0; - + tree inner = decl; if (TREE_CODE (inner) == TEMPLATE_DECL) { @@ -7725,7 +7725,7 @@ void trees_out::install_entity (tree decl, depset *dep) { gcc_checking_assert (streaming_p ()); - + /* Write the entity index, so we can insert it as soon as we know this is new. */ u (dep ? dep->cluster + 1 : 0); @@ -8123,7 +8123,7 @@ trees_in::decl_value () unsigned saved_unused = unused; unused = 0; - + merge_kind mk = merge_kind (mk_u); tree decl = start (); @@ -8144,7 +8144,7 @@ trees_in::decl_value () if (!tree_node_bools (decl)) decl = NULL_TREE; } - + /* Insert into map. */ tag = insert (decl); if (decl) @@ -9403,7 +9403,7 @@ trees_out::tree_node (tree t) if (streaming_p ()) { /* We know the ordering of the 4 id tags. */ - static const char *const kinds[] = + static const char *const kinds[] = {"", "conv_op ", "anon ", "lambda "}; dump (dumper::TREE) && dump ("Written:%d %sidentifier:%N", tag, @@ -11392,7 +11392,7 @@ trees_in::key_mergeable (int tag, merge_kind mk, tree decl, tree inner, existing = check_mergeable_decl (mk, inner, existing, key); - + if (!existing && DECL_ALIAS_TEMPLATE_P (decl)) {} // FIXME: Insert into specialization // tables, we'll need the arguments for that! @@ -12011,7 +12011,7 @@ trees_in::read_function_def (tree decl, tree maybe_template) { // FIXME:QOI Check matching defn } - + return true; } @@ -12592,7 +12592,7 @@ trees_in::read_class_def (tree defn, tree maybe_template) friend_decls; friend_decls = TREE_CHAIN (friend_decls)) { tree f = TREE_VALUE (friend_decls); - + DECL_BEFRIENDING_CLASSES (f) = tree_cons (NULL_TREE, type, DECL_BEFRIENDING_CLASSES (f)); dump () && dump ("Class %N befriending %C:%N", @@ -12689,7 +12689,7 @@ trees_in::read_enum_def (tree defn, tree maybe_template) if (DECL_NAME (known_decl) != DECL_NAME (new_decl)) break; - + new_decl = maybe_duplicate (new_decl); if (!cp_tree_equal (DECL_INITIAL (known_decl), @@ -13863,7 +13863,7 @@ binding_cmp (const void *a_, const void *b_) a_export = DECL_MODULE_EXPORT_P (TREE_CODE (a_ent) == CONST_DECL ? TYPE_NAME (TREE_TYPE (a_ent)) : STRIP_TEMPLATE (a_ent)); - + bool b_using = b->get_entity_kind () == depset::EK_USING; bool b_export; if (b_using) @@ -14012,7 +14012,7 @@ depset_cmp (const void *a_, const void *b_) if (a_kind != b_kind) /* Different entity kinds, order by that. */ return a_kind < b_kind ? -1 : +1; - + tree a_decl = a->get_entity (); tree b_decl = b->get_entity (); if (a_kind == depset::EK_USING) @@ -14244,7 +14244,7 @@ loc_spans::init (const line_maps *lmaps, const line_map_ordinary *map) interval.ordinary.first, interval.ordinary.second, interval.macro.first, interval.macro.second); spans->quick_push (interval); - + /* Start an interval for the main file. */ interval.ordinary.first = interval.ordinary.second; interval.macro.second = interval.macro.first; @@ -14548,7 +14548,7 @@ module_state::mangle (bool include_partition) { if (parent) parent->mangle (include_partition); - if (include_partition || !is_partition ()) + if (include_partition || !is_partition ()) { // Partitions are significant for global initializer // functions @@ -15675,7 +15675,7 @@ module_state::write_namespaces (elf_out *to, vec<depset *> spaces, dump () && dump ("Writing namespace:%u %N%s%s%s%s", b->cluster, ns, - flags & 1 ? ", public" : "", + flags & 1 ? ", public" : "", flags & 2 ? ", inline" : "", flags & 4 ? ", purview" : "", flags & 8 ? ", export" : ""); @@ -15751,7 +15751,7 @@ module_state::read_namespaces (unsigned num) dump () && dump ("Read namespace:%u %P%s%s%s%s", entity_index, parent, id, - flags & 1 ? ", public" : "", + flags & 1 ? ", public" : "", flags & 2 ? ", inline" : "", flags & 4 ? ", purview" : "", flags & 8 ? ", export" : ""); @@ -16308,7 +16308,7 @@ module_state::note_location (location_t loc) } added = true; } - } + } } else if (IS_ORDINARY_LOC (loc)) { @@ -16663,7 +16663,7 @@ module_state::write_prepare_maps (module_state_config *cfg, bool has_partitions) unsigned offset = 0, range_bits = 0; ord_loc_info *base = nullptr; for (auto iter = begin; iter != end; ++iter) - { + { if (base && iter->src == base->src) { if (base->offset + base->span + @@ -17017,7 +17017,7 @@ module_state::read_ordinary_maps (unsigned num_ord_locs, unsigned range_bits) spans.close (); filenames.release (); - + dump.outdent (); if (!sec.end (from ())) return false; @@ -17948,7 +17948,7 @@ module_state::write_inits (elf_out *to, depset::hash &table, unsigned *crc_ptr) list = tls_aggregates; } - + sec.end (to, to->name (MOD_SNAME_PFX ".ini"), crc_ptr); dump.outdent (); @@ -18024,7 +18024,7 @@ module_state::read_inits (unsigned count) post_load_processing (); dump.outdent (); if (!sec.end (from ())) - return false; + return false; return true; } @@ -18639,7 +18639,7 @@ module_state::write_begin (elf_out *to, cpp_reader *reader, return true; } -// Finish module writing after we've emitted all dynamic initializers. +// Finish module writing after we've emitted all dynamic initializers. void module_state::write_end (elf_out *to, cpp_reader *reader, @@ -18889,7 +18889,7 @@ module_state::read_language (bool outermost) ok = false; function_depth--; - + announce (flag_module_lazy ? "lazy" : "imported"); loadedness = ML_LANGUAGE; @@ -18939,7 +18939,7 @@ module_state::load_section (unsigned snum, binding_slot *mslot) slurp->lru = ++lazy_lru; slurp->current = old_current; } - + if (mslot && mslot->is_lazy ()) { /* Oops, the section didn't set this slot. */ @@ -19723,7 +19723,7 @@ module_state::lazy_load (unsigned index, binding_slot *mslot) dump () && dump ("Loading entity %M[%u] section:%u", this, index, snum); bool ok = load_section (snum, mslot); - + dump.pop (n); return ok; @@ -20216,7 +20216,7 @@ maybe_translate_include (cpp_reader *reader, line_maps *lmaps, location_t loc, if (translate != xlate_kind::import) return nullptr; - + /* Create the translation text. */ loc = ordinary_loc_of (lmaps, loc); const line_map_ordinary *map @@ -21094,7 +21094,7 @@ module_preprocess_options (cpp_reader *reader) if (modules_p ()) { auto *cb = cpp_get_callbacks (reader); - + cb->translate_include = maybe_translate_include; cb->user_deferred_macro = module_state::deferred_macro; if (flag_header_unit) diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc index 609bd6e..72fd485 100644 --- a/gcc/cp/name-lookup.cc +++ b/gcc/cp/name-lookup.cc @@ -109,7 +109,7 @@ create_local_binding (cp_binding_level *level, tree name) binding->previous = IDENTIFIER_BINDING (name); IDENTIFIER_BINDING (name) = binding; - + return binding; } @@ -148,7 +148,7 @@ search_imported_binding_slot (tree *slot, unsigned ix) if (TREE_CODE (*slot) != BINDING_VECTOR) return NULL; - + unsigned clusters = BINDING_VECTOR_NUM_CLUSTERS (*slot); binding_cluster *cluster = BINDING_VECTOR_CLUSTER_BASE (*slot); @@ -497,7 +497,7 @@ protected: { return LOOKUP_FOUND_P (scope); } - + void mark_seen (tree scope); /* Mark and add to scope vector. */ static void mark_found (tree scope) { @@ -1079,7 +1079,7 @@ name_lookup::search_qualified (tree scope, bool usings) if (seen_p (scope)) found = found_p (scope); - else + else { found = search_namespace (scope); if (!found && usings) @@ -1597,7 +1597,7 @@ name_lookup::adl_template_arg (tree arg) { tree args = ARGUMENT_PACK_ARGS (arg); int i, len = TREE_VEC_LENGTH (args); - for (i = 0; i < len; ++i) + for (i = 0; i < len; ++i) adl_template_arg (TREE_VEC_ELT (args, i)); } /* It's not a template template argument, but it is a type template @@ -1613,7 +1613,7 @@ tree name_lookup::search_adl (tree fns, vec<tree, va_gc> *args) { gcc_checking_assert (!vec_safe_length (scopes)); - + /* Gather each associated entity onto the lookup's scope list. */ unsigned ix; tree arg; @@ -1653,7 +1653,7 @@ name_lookup::search_adl (tree fns, vec<tree, va_gc> *args) (10.2) is visible if there is an associated entity attached to M with the same innermost enclosing non-inline namespace as D. - [basic.lookup.argdep]/4.4 */ + [basic.lookup.argdep]/4.4 */ if (!inst_path) /* Not 2nd phase. */ @@ -1805,7 +1805,7 @@ fields_linear_search (tree klass, tree name, bool want_type) if (DECL_NAME (decl) != name) continue; - + if (TREE_CODE (decl) == USING_DECL) { decl = strip_using_decl (decl); @@ -2217,7 +2217,7 @@ member_name_cmp (const void *a_p, const void *b_p) some erroneous cases get though. */ gcc_assert (errorcount); } - + /* Using source location would be the best thing here, but we can get identically-located decls in the following circumstances: @@ -2711,7 +2711,7 @@ strip_using_decl (tree decl) /* We have found a type introduced by a using declaration at class scope that refers to a dependent type. - + using typename :: [opt] nested-name-specifier unqualified-id ; */ decl = make_typename_type (USING_DECL_SCOPE (decl), @@ -6393,7 +6393,7 @@ set_decl_namespace (tree decl, tree scope, bool friendp) return; } - + /* We handle these in check_explicit_instantiation_namespace. */ if (processing_explicit_instantiation) return; @@ -7588,7 +7588,7 @@ consider_binding_level (tree name, best_match <tree, const char *> &bm, order. So, iterate over the namespace hash, inserting visible names into a vector. Then sort the vector. Then determine spelling distance. */ - + tree ns = lvl->this_entity; auto_vec<tree> vec; @@ -7643,7 +7643,7 @@ consider_binding_level (tree name, best_match <tree, const char *> &bm, else maybe_add_fuzzy_binding (vec, binding, kind); } - + vec.qsort ([] (const void *a_, const void *b_) { return strcmp (IDENTIFIER_POINTER (*(const tree *)a_), @@ -7658,7 +7658,7 @@ consider_binding_level (tree name, best_match <tree, const char *> &bm, /* Ignore internal names with spaces in them. */ if (strchr (str, ' ')) continue; - + /* Don't suggest names that are reserved for use by the implementation, unless NAME began with an underscore. */ if (!consider_implementation_names @@ -8210,7 +8210,7 @@ lookup_elaborated_type (tree name, TAG_how how) if (how != TAG_how::HIDDEN_FRIEND) /* No longer hidden. */ STAT_TYPE_HIDDEN_P (*slot) = false; - + return type; } else if (tree decl = strip_using_decl (MAYBE_STAT_DECL (bind))) @@ -9293,7 +9293,7 @@ pop_namespace (void) create that namespace and add it to the container's binding-vector. */ tree -add_imported_namespace (tree ctx, tree name, location_t loc, unsigned import, +add_imported_namespace (tree ctx, tree name, location_t loc, unsigned import, bool inline_p, bool visible_p) { // FIXME: Something is not correct about the VISIBLE_P handling. We @@ -9397,7 +9397,7 @@ cp_emit_debug_info_for_using (tree t, tree context) if (TREE_CODE (fn) == TEMPLATE_DECL) /* FIXME: Handle TEMPLATE_DECLs. */ continue; - + /* Ignore this FUNCTION_DECL if it refers to a builtin declaration of a builtin function. */ if (TREE_CODE (fn) == FUNCTION_DECL diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h index f39f530..54edade 100644 --- a/gcc/cp/name-lookup.h +++ b/gcc/cp/name-lookup.h @@ -362,9 +362,9 @@ extern void poplevel_class (void); don't accidentally mix integers. */ enum class LOOK_where { - BLOCK = 1 << 0, /* Consider block scopes. */ - CLASS = 1 << 1, /* Consider class scopes. */ - NAMESPACE = 1 << 2, /* Consider namespace scopes. */ + BLOCK = 1 << 0, /* Consider block scopes. */ + CLASS = 1 << 1, /* Consider class scopes. */ + NAMESPACE = 1 << 2, /* Consider namespace scopes. */ ALL = BLOCK | CLASS | NAMESPACE, BLOCK_NAMESPACE = BLOCK | NAMESPACE, diff --git a/gcc/cp/optimize.cc b/gcc/cp/optimize.cc index f93e026..6fd6513 100644 --- a/gcc/cp/optimize.cc +++ b/gcc/cp/optimize.cc @@ -510,7 +510,7 @@ maybe_clone_body (tree fn) clone = fns[idx]; if (!clone) - continue; + continue; /* Update CLONE's source position information to match FN's. */ DECL_SOURCE_LOCATION (clone) = DECL_SOURCE_LOCATION (fn); diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc index 9d31a97..c1375ec 100644 --- a/gcc/cp/parser.cc +++ b/gcc/cp/parser.cc @@ -27975,7 +27975,7 @@ cp_parser_class_head (cp_parser* parser, /* If this type was already complete, and we see another definition, that's an error. Likewise if the type is already being defined: - this can happen, eg, when it's defined from within an expression + this can happen, eg, when it's defined from within an expression (c++/84605). */ if (type != error_mark_node && (COMPLETE_TYPE_P (type) || TYPE_BEING_DEFINED (type))) @@ -32974,7 +32974,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, cp_parser_flags flags, use a qualified name. Parse with an empty set of declaration specifiers since we're - trying to match a decl-specifier-seq of the first parameter. + trying to match a decl-specifier-seq of the first parameter. This must be non-null so that cp_parser_simple_type_specifier will recognize a constrained placeholder type such as: 'C<int> auto' where C is a type concept. */ @@ -33693,7 +33693,7 @@ cp_parser_functional_cast (cp_parser* parser, tree type) parser->lexer); cast = build_functional_cast (combined_loc, type, expression_list, tf_warning_or_error); - + /* [expr.const]/1: In an integral constant expression "only type conversions to integral or enumeration type can be used". */ if (TREE_CODE (type) == TYPE_DECL) diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index e20038a..15d6d82f 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -4139,7 +4139,7 @@ make_pack_expansion (tree arg, tsubst_flags_t complain) class initializer. In this case, the TREE_PURPOSE will be a _TYPE node (representing the base class expansion we're initializing) and the TREE_VALUE will be a TREE_LIST - containing the initialization arguments. + containing the initialization arguments. The resulting expansion looks somewhat different from most expansions. Rather than returning just one _EXPANSION, we @@ -4183,7 +4183,7 @@ make_pack_expansion (tree arg, tsubst_flags_t complain) { /* Determine which parameter packs will be expanded in this argument. */ - cp_walk_tree (&TREE_VALUE (value), &find_parameter_packs_r, + cp_walk_tree (&TREE_VALUE (value), &find_parameter_packs_r, &ppd, ppd.visited); } } @@ -12525,7 +12525,7 @@ instantiate_class_template (tree type) if (PACK_EXPANSION_P (BINFO_TYPE (pbase_binfo))) { - expanded_bases = + expanded_bases = tsubst_pack_expansion (BINFO_TYPE (pbase_binfo), args, tf_error, NULL_TREE); if (expanded_bases == error_mark_node) @@ -12541,7 +12541,7 @@ instantiate_class_template (tree type) base = TREE_VEC_ELT (expanded_bases, idx); else /* Substitute to figure out the base class. */ - base = tsubst (BINFO_TYPE (pbase_binfo), args, tf_error, + base = tsubst (BINFO_TYPE (pbase_binfo), args, tf_error, NULL_TREE); if (base == error_mark_node) @@ -12804,7 +12804,7 @@ instantiate_class_template (tree type) /* friend class C<T>; */ friend_type = tsubst (friend_type, args, tf_warning_or_error, NULL_TREE); - + /* Otherwise it's friend class C; @@ -13769,7 +13769,7 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain, if (arg_pack) { - int my_len = + int my_len = TREE_VEC_LENGTH (ARGUMENT_PACK_ARGS (arg_pack)); /* Don't bother trying to do a partial substitution with @@ -15251,7 +15251,7 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain, return the local specialization (which will be a single parm). */ tree spec = retrieve_local_specialization (t); - if (spec + if (spec && TREE_CODE (spec) == PARM_DECL && TREE_CODE (TREE_TYPE (spec)) != TYPE_PACK_EXPANSION) RETURN (spec); @@ -16129,7 +16129,7 @@ tsubst_exception_specification (tree fntype, spec = tsubst (TREE_VALUE (specs), args, complain, in_decl); if (spec == error_mark_node) return spec; - new_specs = add_exception_specifier (new_specs, spec, + new_specs = add_exception_specifier (new_specs, spec, complain); } @@ -18187,7 +18187,7 @@ tsubst_omp_for_iterator (tree t, int i, tree declv, tree &orig_declv, TREE_VEC_ELT (rhs, 1) = RECUR (TREE_VEC_ELT (rhs, 1)); TREE_VEC_ELT (rhs, 2) = RECUR (TREE_VEC_ELT (rhs, 2)); cond = build2 (TREE_CODE (cond), TREE_TYPE (cond), - lhs, rhs); + lhs, rhs); } else cond = RECUR (cond); @@ -24467,7 +24467,7 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms, int idx, level; template_parm_level_and_index (TREE_PURPOSE (pack), &level, &idx); - TREE_VEC_ELT (TREE_TYPE (pack), i - start) = + TREE_VEC_ELT (TREE_TYPE (pack), i - start) = TMPL_ARG (targs, level, idx); } } @@ -24526,7 +24526,7 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms, TMPL_ARG (targs, level, idx) = result; } else if (ARGUMENT_PACK_INCOMPLETE_P (old_pack) - && (ARGUMENT_PACK_ARGS (old_pack) + && (ARGUMENT_PACK_ARGS (old_pack) == ARGUMENT_PACK_EXPLICIT_ARGS (old_pack))) { /* We only had the explicitly-provided arguments before, but diff --git a/gcc/cp/ptree.cc b/gcc/cp/ptree.cc index 77bffa0..95c7a69 100644 --- a/gcc/cp/ptree.cc +++ b/gcc/cp/ptree.cc @@ -124,7 +124,7 @@ cxx_print_decl (FILE *file, tree node, int indent) (void *) DECL_PENDING_INLINE_INFO (node)); need_indent = false; } - + if ((VAR_OR_FUNCTION_DECL_P (node) || TREE_CODE (node) == FIELD_DECL || TREE_CODE (node) == TYPE_DECL diff --git a/gcc/cp/rtti.cc b/gcc/cp/rtti.cc index fff8985..412e1c8 100644 --- a/gcc/cp/rtti.cc +++ b/gcc/cp/rtti.cc @@ -1457,7 +1457,7 @@ get_tinfo_desc (unsigned ix) NULL_TREE, integer_type_node); DECL_CHAIN (fld_flg) = fields; fields = fld_flg; - + tree fld_cnt = build_decl (BUILTINS_LOCATION, FIELD_DECL, NULL_TREE, integer_type_node); DECL_CHAIN (fld_cnt) = fields; @@ -1571,7 +1571,7 @@ emit_support_tinfo_1 (tree bltn) comdat_linkage for details.) Since we want these objects to have external linkage so that copies do not have to be emitted in code outside the runtime library, we make them - non-COMDAT here. + non-COMDAT here. It might also not be necessary to follow this detail of the ABI. */ diff --git a/gcc/cp/search.cc b/gcc/cp/search.cc index 2f5df8a..def1cb9 100644 --- a/gcc/cp/search.cc +++ b/gcc/cp/search.cc @@ -1257,14 +1257,14 @@ lookup_member (tree xbasetype, tree name, int protect, bool want_type, /* [class.access] In the case of overloaded function names, access control is - applied to the function selected by overloaded resolution. + applied to the function selected by overloaded resolution. We cannot check here, even if RVAL is only a single non-static member function, since we do not know what the "this" pointer will be. For: class A { protected: void f(); }; - class B : public A { + class B : public A { void g(A *p) { f(); // OK p->f(); // Not OK. @@ -2669,7 +2669,7 @@ lookup_conversions (tree type) lookup_conversions_r (TYPE_BINFO (type), 0, 0, NULL_TREE, NULL_TREE, &convs); tree list = NULL_TREE; - + /* Flatten the list-of-lists */ for (; convs; convs = TREE_CHAIN (convs)) { diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc index 266fba1..ab8614e 100644 --- a/gcc/cp/semantics.cc +++ b/gcc/cp/semantics.cc @@ -3029,7 +3029,7 @@ perform_koenig_lookup (cp_expr fn_expr, vec<tree, va_gc> *args, if (fn && template_id && fn != error_mark_node) fn = build2 (TEMPLATE_ID_EXPR, unknown_type_node, fn, tmpl_args); - + return cp_expr (fn, loc); } @@ -9643,7 +9643,7 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort) && OMP_CLAUSE_CODE (c) != OMP_CLAUSE_SHARED && DECL_P (t)) bitmap_clear_bit (&aligned_head, DECL_UID (t)); - + if (VAR_P (t) && CP_DECL_THREAD_LOCAL_P (t)) share_name = "threadprivate"; else switch (cxx_omp_predetermined_sharing_1 (t)) @@ -12389,7 +12389,7 @@ pointer_interconvertible_base_of_p (tree base, tree derived) if (!NON_UNION_CLASS_TYPE_P (base) || !NON_UNION_CLASS_TYPE_P (derived)) return false; - + if (same_type_p (base, derived)) return true; diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc index 28c4a76..9112606 100644 --- a/gcc/cp/tree.cc +++ b/gcc/cp/tree.cc @@ -1108,14 +1108,14 @@ build_cplus_array_type (tree elt_type, tree index_type, int dependent) if (cplus_array_htab == NULL) cplus_array_htab = hash_table<cplus_array_hasher>::create_ggc (61); - + hash = TYPE_UID (elt_type); if (index_type) hash ^= TYPE_UID (index_type); cai.type = elt_type; cai.domain = index_type; - tree *e = cplus_array_htab->find_slot_with_hash (&cai, hash, INSERT); + tree *e = cplus_array_htab->find_slot_with_hash (&cai, hash, INSERT); if (*e) /* We have found the type: we're done. */ return (tree) *e; @@ -1305,7 +1305,7 @@ cp_build_reference_type_for_mode (tree to_type, machine_mode mode, bool rval) if (TYPE_STRUCTURAL_EQUALITY_P (to_type)) SET_TYPE_STRUCTURAL_EQUALITY (t); else if (TYPE_CANONICAL (to_type) != to_type) - TYPE_CANONICAL (t) + TYPE_CANONICAL (t) = cp_build_reference_type_for_mode (TYPE_CANONICAL (to_type), mode, rval); else TYPE_CANONICAL (t) = t; @@ -2445,7 +2445,7 @@ ovl_iterator::reveal_node (tree overload, tree node) return overload; } -/* NODE is on the overloads of OVL. Remove it. +/* NODE is on the overloads of OVL. Remove it. The removed node is unaltered and may continue to be iterated from (i.e. it is safe to remove a node from an overload one is currently iterating over). */ @@ -2561,7 +2561,7 @@ lookup_maybe_add (tree fns, tree lookup, bool deduping) overloaded functions. Returns 2 if the function is actually overloaded, i.e., if it is impossible to know the type of the function without performing overload resolution. */ - + int is_overloaded_fn (tree x) { @@ -5427,7 +5427,7 @@ cp_build_type_attribute_variant (tree type, tree attributes) /* Making a new main variant of a class type is broken. */ gcc_assert (!CLASS_TYPE_P (type) || new_type == type); - + return new_type; } @@ -5578,7 +5578,7 @@ cp_walk_subtrees (tree *tp, int *walk_subtrees_p, walk_tree_fn func, WALK_SUBTREE (PACK_EXPANSION_EXTRA_ARGS (t)); *walk_subtrees_p = 0; break; - + case EXPR_PACK_EXPANSION: WALK_SUBTREE (TREE_OPERAND (t, 0)); WALK_SUBTREE (PACK_EXPANSION_EXTRA_ARGS (t)); @@ -6062,7 +6062,7 @@ stabilize_aggr_init (tree call, tree *initp) *initp = inits; } -/* Like stabilize_expr, but for an initialization. +/* Like stabilize_expr, but for an initialization. If the initialization is for an object of class type, this function takes care not to introduce additional temporaries. diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc index 90da2fa..6ce1bb6 100644 --- a/gcc/cp/typeck.cc +++ b/gcc/cp/typeck.cc @@ -50,7 +50,7 @@ static tree convert_for_assignment (tree, tree, impl_conv_rhs, tree, int, tsubst_flags_t, int); static tree cp_pointer_int_sum (location_t, enum tree_code, tree, tree, tsubst_flags_t); -static tree rationalize_conditional_expr (enum tree_code, tree, +static tree rationalize_conditional_expr (enum tree_code, tree, tsubst_flags_t); static bool comp_ptr_ttypes_real (tree, tree, int); static bool comp_except_types (tree, tree, bool); @@ -132,7 +132,7 @@ complete_type (tree type) else if (CLASS_TYPE_P (type)) { if (modules_p ()) - /* TYPE could be a class member we've not loaded the definition of. */ + /* TYPE could be a class member we've not loaded the definition of. */ lazy_load_pendings (TYPE_NAME (TYPE_MAIN_VARIANT (type))); if (CLASSTYPE_TEMPLATE_INSTANTIATION (type)) @@ -744,7 +744,7 @@ composite_pointer_type_r (const op_location_t &location, tree composite_pointer_type (const op_location_t &location, tree t1, tree t2, tree arg1, tree arg2, - composite_pointer_operation operation, + composite_pointer_operation operation, tsubst_flags_t complain) { tree class1; @@ -785,7 +785,7 @@ composite_pointer_type (const op_location_t &location, switch (operation) { case CPO_COMPARISON: - pedwarn (location, OPT_Wpedantic, + pedwarn (location, OPT_Wpedantic, "ISO C++ forbids comparison between pointer " "of type %<void *%> and pointer-to-function"); break; @@ -1100,7 +1100,7 @@ strip_array_domain (tree type) } /* Wrapper around cp_common_type that is used by c-common.cc and other - front end optimizations that remove promotions. + front end optimizations that remove promotions. Return the common type for two arithmetic types T1 and T2 under the usual arithmetic conversions. The default conversions have already @@ -1122,7 +1122,7 @@ common_type (tree t1, tree t2) /* Return the common type of two pointer types T1 and T2. This is the type for the result of most arithmetic operations if the operands have the given two types. - + We assume that comp_target_types has already been done and returned nonzero; if that isn't so, this may crash. */ @@ -1716,22 +1716,22 @@ comptypes (tree t1, tree t2, int strict) if (flag_checking && param_use_canonical_types) { bool result = structural_comptypes (t1, t2, strict); - + if (result && TYPE_CANONICAL (t1) != TYPE_CANONICAL (t2)) /* The two types are structurally equivalent, but their canonical types were different. This is a failure of the canonical type propagation code.*/ - internal_error + internal_error ("canonical types differ for identical types %qT and %qT", t1, t2); else if (!result && TYPE_CANONICAL (t1) == TYPE_CANONICAL (t2)) /* Two types are structurally different, but the canonical types are the same. This means we were over-eager in assigning canonical types. */ - internal_error + internal_error ("same canonical type node for different types %qT and %qT", t1, t2); - + return result; } if (!flag_checking && param_use_canonical_types) @@ -2084,7 +2084,7 @@ cxx_sizeof_or_alignof_type (location_t loc, tree type, enum tree_code op, constant expression in that case. And, if we do try to compute the value, we'll likely end up with SAVE_EXPRs, which the template substitution machinery does not expect to see. */ - || (processing_template_decl + || (processing_template_decl && COMPLETE_TYPE_P (type) && TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)) { @@ -2105,7 +2105,7 @@ cxx_sizeof_or_alignof_type (location_t loc, tree type, enum tree_code op, types whose size cannot be taken. This routine should be used only in some other routine that has already produced a diagnostic about using the size of such a type. */ -tree +tree cxx_sizeof_nowarn (tree type) { if (TREE_CODE (type) == FUNCTION_TYPE @@ -2294,10 +2294,10 @@ cxx_alignas_expr (tree e) if (e == NULL_TREE || e == error_mark_node || (!TYPE_P (e) && !require_potential_rvalue_constant_expression (e))) return e; - + if (TYPE_P (e)) /* [dcl.align]/3: - + When the alignment-specifier is of the form alignas(type-id), it shall have the same effect as alignas(alignof(type-id)). */ @@ -2306,7 +2306,7 @@ cxx_alignas_expr (tree e) e, ALIGNOF_EXPR, /*std_alignof=*/true, /*complain=*/true); - + /* If we reach this point, it means the alignas expression if of the form "alignas(assignment-expression)", so we should follow what is stated by [dcl.align]/2. */ @@ -2328,7 +2328,7 @@ cxx_alignas_expr (tree e) error ("%<alignas%> argument has non-integral type %qT", TREE_TYPE (e)); return error_mark_node; } - + return cxx_constant_value (e); } @@ -2415,7 +2415,7 @@ is_bitfield_expr_with_lowered_type (const_tree exp) case COMPONENT_REF: { tree field; - + field = TREE_OPERAND (exp, 1); if (TREE_CODE (field) != FIELD_DECL || !DECL_BIT_FIELD_TYPE (field)) return NULL_TREE; @@ -3112,7 +3112,7 @@ lookup_destructor (tree object, tree scope, tree dtor_name, object_type, dtor_type); return error_mark_node; } - + } else if (!DERIVED_FROM_P (dtor_type, TYPE_MAIN_VARIANT (object_type))) { @@ -3394,7 +3394,7 @@ finish_class_member_access_expr (cp_expr object, tree name, bool template_p, && identifier_p (name) && (expr = objc_maybe_build_component_ref (object, name))) return expr; - + /* [expr.ref] The type of the first expression shall be "class object" (of a @@ -3447,7 +3447,7 @@ finish_class_member_access_expr (cp_expr object, tree name, bool template_p, return error_mark_node; } } - + if (TREE_CODE (name) == TEMPLATE_ID_EXPR) { is_template_id = true; @@ -3737,7 +3737,7 @@ build_dependent_operator_type (tree lookups, tree_code code, bool is_assign) Must also handle REFERENCE_TYPEs for C++. */ tree -build_x_indirect_ref (location_t loc, tree expr, ref_operator errorstring, +build_x_indirect_ref (location_t loc, tree expr, ref_operator errorstring, tree lookups, tsubst_flags_t complain) { tree orig_expr = expr; @@ -4322,7 +4322,7 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function, /* Used by the C-common bits. */ tree -build_function_call (location_t /*loc*/, +build_function_call (location_t /*loc*/, tree function, tree params) { return cp_build_function_call (function, params, tf_warning_or_error); @@ -4429,7 +4429,7 @@ cp_build_function_call_vec (tree function, vec<tree, va_gc> **params, if (DECL_MAIN_P (function)) { if (complain & tf_error) - pedwarn (input_location, OPT_Wpedantic, + pedwarn (input_location, OPT_Wpedantic, "ISO C++ forbids calling %<::main%> from within program"); else return error_mark_node; @@ -4472,7 +4472,7 @@ cp_build_function_call_vec (tree function, vec<tree, va_gc> **params, else if (DECL_P (original)) error_at (input_location, "%qD cannot be used as a function", original); - else + else error_at (input_location, "expression cannot be used as a function"); } @@ -4557,7 +4557,7 @@ error_args_num (location_t loc, tree fndecl, bool too_many_p) { if (c_dialect_objc () && objc_message_selector ()) error_at (loc, - too_many_p + too_many_p ? G_("too many arguments to method %q#D") : G_("too few arguments to method %q#D"), objc_message_selector ()); @@ -5423,15 +5423,15 @@ cp_build_binary_op (const op_location_t &location, if ((null_node_p (orig_op0) || null_node_p (orig_op1)) /* It's reasonable to use pointer values as operands of && and ||, so NULL is no exception. */ - && code != TRUTH_ANDIF_EXPR && code != TRUTH_ORIF_EXPR + && code != TRUTH_ANDIF_EXPR && code != TRUTH_ORIF_EXPR && ( /* Both are NULL (or 0) and the operation was not a comparison or a pointer subtraction. */ - (null_ptr_cst_p (orig_op0) && null_ptr_cst_p (orig_op1) - && code != EQ_EXPR && code != NE_EXPR && code != MINUS_EXPR) + (null_ptr_cst_p (orig_op0) && null_ptr_cst_p (orig_op1) + && code != EQ_EXPR && code != NE_EXPR && code != MINUS_EXPR) /* Or if one of OP0 or OP1 is neither a pointer nor NULL. */ || (!null_ptr_cst_p (orig_op0) && !TYPE_PTR_OR_PTRMEM_P (type0)) - || (!null_ptr_cst_p (orig_op1) + || (!null_ptr_cst_p (orig_op1) && !TYPE_PTR_OR_PTRMEM_P (type1))) && (complain & tf_warning)) { @@ -5955,7 +5955,7 @@ cp_build_binary_op (const op_location_t &location, complain); op1 = cp_convert (TREE_TYPE (op0), integer_one_node, complain); } - else + else { op0 = build_ptrmemfunc_access_expr (op0, pfn_identifier); op1 = cp_convert (TREE_TYPE (op0), op1, complain); @@ -5979,7 +5979,7 @@ cp_build_binary_op (const op_location_t &location, tree delta0; tree delta1; - type = composite_pointer_type (location, type0, type1, op0, op1, + type = composite_pointer_type (location, type0, type1, op0, op1, CPO_COMPARISON, complain); if (!same_type_p (TREE_TYPE (op0), type)) @@ -6011,7 +6011,7 @@ cp_build_binary_op (const op_location_t &location, (op0.pfn == op1.pfn && ((op0.delta == op1.delta) - || (!op0.pfn && op0.delta & 1 == 0 + || (!op0.pfn && op0.delta & 1 == 0 && op1.delta & 1 == 0)) The reason for the `!op0.pfn' bit is that a NULL @@ -6019,7 +6019,7 @@ cp_build_binary_op (const op_location_t &location, LSB of the DELTA field is 0. */ e1 = cp_build_binary_op (location, BIT_AND_EXPR, - delta0, + delta0, integer_one_node, complain); e1 = cp_build_binary_op (location, @@ -6056,7 +6056,7 @@ cp_build_binary_op (const op_location_t &location, The reason for the `!op0.pfn' bit is that a NULL pointer-to-member is any member with a zero PFN; the DELTA field is unspecified. */ - + e1 = cp_build_binary_op (location, EQ_EXPR, delta0, delta1, complain); e2 = cp_build_binary_op (location, @@ -7640,7 +7640,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, bool noconvert, /* Report something read-only. */ if (CP_TYPE_CONST_P (TREE_TYPE (arg)) - || TREE_READONLY (arg)) + || TREE_READONLY (arg)) { if (complain & tf_error) cxx_readonly_error (location, arg, @@ -7688,7 +7688,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, bool noconvert, else return error_mark_node; } - else if (!TYPE_PTROB_P (argtype)) + else if (!TYPE_PTROB_P (argtype)) { if (complain & tf_error) pedwarn (location, OPT_Wpointer_arith, @@ -7720,8 +7720,8 @@ cp_build_unary_op (enum tree_code code, tree xarg, bool noconvert, need to ask Objective-C to build the increment or decrement expression for it. */ if (objc_is_property_ref (arg)) - return objc_build_incr_expr_for_property_ref (input_location, code, - arg, inc); + return objc_build_incr_expr_for_property_ref (input_location, code, + arg, inc); /* Complain about anything else that is not a true lvalue. */ if (!lvalue_or_else (arg, ((code == PREINCREMENT_EXPR @@ -8010,7 +8010,7 @@ cxx_mark_addressable (tree exp, bool array_ref_p) /* Build and return a conditional expression IFEXP ? OP1 : OP2. */ tree -build_x_conditional_expr (location_t loc, tree ifexp, tree op1, tree op2, +build_x_conditional_expr (location_t loc, tree ifexp, tree op1, tree op2, tsubst_flags_t complain) { tree orig_ifexp = ifexp; @@ -8243,7 +8243,7 @@ check_for_casting_away_constness (location_t loc, tree src_type, WARN_CAST_QUAL, we still want to issue a warning. */ if (cast == CAST_EXPR && !warn_cast_qual) return false; - + if (!casts_away_constness (src_type, dest_type, complain)) return false; @@ -9350,7 +9350,7 @@ cp_build_c_cast (location_t loc, tree type, tree expr, && TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (value)) /* Don't warn about converting any constant. */ && !TREE_CONSTANT (value)) - warning_at (loc, OPT_Wint_to_pointer_cast, + warning_at (loc, OPT_Wint_to_pointer_cast, "cast to pointer from integer of different size"); /* A C-style cast can be a const_cast. */ @@ -9466,7 +9466,7 @@ maybe_warn_self_move (location_t loc, tree lhs, tree rhs) tree build_modify_expr (location_t location, tree lhs, tree /*lhs_origtype*/, - enum tree_code modifycode, + enum tree_code modifycode, location_t /*rhs_location*/, tree rhs, tree /*rhs_origtype*/) { @@ -9942,10 +9942,10 @@ build_x_modify_expr (location_t loc, tree lhs, enum tree_code modifycode, /* Helper function for get_delta_difference which assumes FROM is a base class of TO. Returns a delta for the conversion of pointer-to-member - of FROM to pointer-to-member of TO. If the conversion is invalid and + of FROM to pointer-to-member of TO. If the conversion is invalid and tf_error is not set in COMPLAIN returns error_mark_node, otherwise returns zero. If FROM is not a base class of TO, returns NULL_TREE. - If C_CAST_P is true, this conversion is taking place as part of a + If C_CAST_P is true, this conversion is taking place as part of a C-style cast. */ static tree @@ -11874,7 +11874,7 @@ casts_away_constness_r (tree *t1, tree *t2, tsubst_flags_t complain) } /* Returns nonzero if casting from TYPE1 to TYPE2 casts away - constness. + constness. ??? This function returns non-zero if casting away qualifiers not just const. We would like to return to the caller exactly which diff --git a/gcc/cp/typeck2.cc b/gcc/cp/typeck2.cc index 9f57020..f369cb8 100644 --- a/gcc/cp/typeck2.cc +++ b/gcc/cp/typeck2.cc @@ -72,11 +72,11 @@ binfo_or_else (tree base, tree type) void cxx_readonly_error (location_t loc, tree arg, enum lvalue_use errstring) { - + /* This macro is used to emit diagnostics to ensure that all format strings are complete sentences, visible to gettext and checked at compile time. */ - + #define ERROR_FOR_ASSIGNMENT(LOC, AS, ASM, IN, DE, ARG) \ do { \ switch (errstring) \ @@ -2215,7 +2215,7 @@ build_x_arrow (location_t loc, tree expr, tsubst_flags_t complain) /* This provides a better instantiation backtrace in case of error. */ if (fn && DECL_USE_TEMPLATE (fn)) - push_tinst_level_loc (fn, + push_tinst_level_loc (fn, (current_instantiation () != actual_inst) ? DECL_SOURCE_LOCATION (fn) : input_location); @@ -2574,7 +2574,7 @@ build_functional_cast (location_t loc, tree exp, tree parms, { tree result = build_functional_cast_1 (loc, exp, parms, complain); protected_set_expr_location (result, loc); - return result; + return result; } diff --git a/gcc/cp/vtable-class-hierarchy.cc b/gcc/cp/vtable-class-hierarchy.cc index 7e4f613..c34f970 100644 --- a/gcc/cp/vtable-class-hierarchy.cc +++ b/gcc/cp/vtable-class-hierarchy.cc @@ -763,7 +763,7 @@ insert_call_to_register_set (tree class_name, vec<constructor_elt, va_gc> *array_elements; vec_alloc (array_elements, num_args); - + tree initial = NULL_TREE; tree arg3 = NULL_TREE; @@ -822,7 +822,7 @@ insert_call_to_register_pair (vec<tree> *vtbl_ptr_array, tree arg1, else call_expr = build_call_expr (vlt_register_pairs_fndecl, 4, arg1, arg2, size_hint_arg, vtable_address); - + append_to_statement_list (call_expr, &body); num_calls_to_regpair++; } @@ -852,7 +852,7 @@ output_set_info (tree record_type, vec<tree> vtbl_ptr_array) { const char *vptr_name = "unknown"; int vptr_offset = 0; - + if (TREE_CODE (vtbl_ptr_array[i]) == POINTER_PLUS_EXPR) { tree arg0 = TREE_OPERAND (vtbl_ptr_array[i], 0); @@ -1125,7 +1125,7 @@ bool vtv_register_class_hierarchy_information (tree init_routine_body) { bool registered_something = false; - + init_functions (); if (num_vtable_map_nodes == 0) |